JP3933134B2 - Communications system - Google Patents
Communications system Download PDFInfo
- Publication number
- JP3933134B2 JP3933134B2 JP2004008539A JP2004008539A JP3933134B2 JP 3933134 B2 JP3933134 B2 JP 3933134B2 JP 2004008539 A JP2004008539 A JP 2004008539A JP 2004008539 A JP2004008539 A JP 2004008539A JP 3933134 B2 JP3933134 B2 JP 3933134B2
- Authority
- JP
- Japan
- Prior art keywords
- reception
- packet
- data
- transmission
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、パケット通信を行う通信システムに関する。 The present invention relates to a communication system that performs packet communication.
複数の電子計算機が交換網を介して通信する通信システムが知られている。前記通信システム(第1従来例の通信システム)は、交換網と、複数の電子計算機とを具備し、複数の電子計算機の各々は、交換網に接続された通信装置と、演算を行う演算装置と、送信バッファと、受信バッファとを備えている。第1従来例の通信システムは、通信処理として、演算装置が直接データ転送を行うのではなく、演算装置に備えられたプロセスからの命令により通信装置がデータ転送を行うため、演算装置による通信処理の負荷を軽減する。前記第1従来例の通信システムは並列計算機システムとして使用されている。 A communication system in which a plurality of electronic computers communicate via an exchange network is known. The communication system (the communication system of the first conventional example) includes an exchange network and a plurality of electronic computers, and each of the plurality of electronic computers includes a communication device connected to the exchange network and an arithmetic device that performs an operation. A transmission buffer and a reception buffer. In the communication system of the first conventional example, as the communication processing, the arithmetic device does not directly transfer data, but the communication device performs data transfer according to a command from a process provided in the arithmetic device. To reduce the load. The communication system of the first conventional example is used as a parallel computer system.
しかし、前記第1従来例の通信システムは以下のような問題点がある。
送信バッファと受信バッファとが単一である場合、通信装置が通信を行った結果、受信バッファのフルにより後続の受信データが破棄される。受信バッファのフルとは、相手の電子計算機からのパケット(受信パケット)に含まれるデータ(受信データ)の長さが、受信バッファ長(受信バッファが保持することができるデータの長さ)を超えることを表す。
演算装置に備えられた複数のプロセスが同時に同一の通信装置を利用して通信する場合、送信時に送信データを通信装置の送信バッファにコピーし、受信時には通信装置の受信バッファから受信データをプロセスの受信バッファにコピーするため、2度のコピーによるオーバヘッドが発生する。
However, the communication system of the first conventional example has the following problems.
When the transmission buffer and the reception buffer are single, as a result of communication performed by the communication device, subsequent reception data is discarded due to the reception buffer being full. The reception buffer full means that the length of data (reception data) included in the packet (reception packet) from the partner computer exceeds the reception buffer length (the length of data that the reception buffer can hold). Represents that.
When a plurality of processes provided in an arithmetic device simultaneously communicate using the same communication device, transmission data is copied to the transmission buffer of the communication device at the time of transmission, and received data is received from the reception buffer of the communication device at the time of reception. Since copying is performed to the reception buffer, overhead caused by copying twice occurs.
第1従来例の通信システムの問題を解決するため、プロセスがバッファのコピーなしに通信を行う、いわゆる、ゼロ・コピー通信を行う通信システム(第2従来例の通信システム)が知られている。前記第2従来例の通信システムは、オーバヘッドを低減する。第2従来例の通信システムでは、通信装置がプロセス毎に送信バッファおよび受信バッファを備えている。通信装置を利用するプロセスが送信データへのポインタを通信装置に通知し、通信装置はプロセスから通知されたポインタからデータを取りだし、コピーする事なく交換網にデータを送信する。データを交換網から受信した通信装置は、あらかじめプロセスから通知されている受信バッファにデータを書き込む。これにより、第2従来例の通信システムでは、受信時に通信装置専用の受信バッファからプロセスの受信バッファへのコピーにより発生するオーバヘッドを回避することができる。前記通信装置への受信バッファの登録(準備)を受信命令の発行と呼び、プロセスが新規にデータの受信待ちを実行するたびに、通信装置に受信命令が発行される。受信命令が発行されたときに、通信装置は、受信バッファを使用することができる。 In order to solve the problem of the communication system of the first conventional example, there is known a communication system that performs so-called zero copy communication (communication of the second conventional example) in which a process communicates without copying a buffer. The communication system of the second conventional example reduces overhead. In the communication system of the second conventional example, the communication device includes a transmission buffer and a reception buffer for each process. A process using the communication device notifies the communication device of a pointer to the transmission data, and the communication device extracts the data from the pointer notified from the process and transmits the data to the switching network without copying. The communication device that has received the data from the exchange network writes the data in the reception buffer that has been notified in advance by the process. Thereby, in the communication system of the second conventional example, it is possible to avoid the overhead caused by copying from the reception buffer dedicated to the communication device to the reception buffer of the process at the time of reception. Registration (preparation) of the reception buffer to the communication device is called issuance of a reception command, and a reception command is issued to the communication device each time a process newly waits for reception of data. When the reception command is issued, the communication device can use the reception buffer.
第1従来例の通信システム、第2従来例の通信システムを含む従来の通信システムに関連する技術が、特開平8−180001号公報(特許文献1)、特開2002−229963号公報(特許文献2)、特開平4−116747号公報(特許文献3)、特開2002−207676号公報(特許文献4)、特開2000−322309号公報(特許文献5)、特開2001−282707号公報(特許文献6)、特開平9−270821号公報(特許文献7)に開示されている。
特に、特許文献1に記載された通信方式(第3従来例の通信システム)では、プロセスが通信装置にデータ転送を指示し、プロセスの送信バッファから直接宛先のプロセスの受信バッファにデータを書き込む通信装置が開示されている。宛先のプロセスとは、相手先の電子計算機である宛先計算機のプロセスである。
特許文献1に示されるように、第3従来例の通信システムでは、ゼロコピー通信を行う。第3従来例の通信システムでは、送信側のプロセスが通信装置に送信バッファを登録し、受信側のプロセスが通信装置に受信バッファを登録し、通信装置が送信バッファから直接受信バッファにデータを転送することにより、通信時間を短縮する。
Techniques related to the conventional communication system including the communication system of the first conventional example and the communication system of the second conventional example are disclosed in JP-A-8-180001 (Patent Document 1) and JP-A-2002-229963 (Patent Document). 2), JP-A-4-116747 (Patent Document 3), JP-A 2002-207676 (Patent Document 4), JP-A 2000-322309 (Patent Document 5), JP-A-2001-282707 ( Patent Document 6) and Japanese Patent Laid-Open No. 9-270821 (Patent Document 7).
In particular, in the communication method described in Patent Document 1 (third conventional communication system), a process instructs a communication device to transfer data, and data is directly written from a process transmission buffer to a destination process reception buffer. An apparatus is disclosed. The destination process is a process of a destination computer that is a partner electronic computer.
As shown in
ただし、第3従来例の通信システムでは、データ転送の通信相手(宛先計算機)が必ず受信バッファあるいは、受信パケットの処理を定義していることが必要で、予め通信する相互のプロセス間で通信し、次のデータ転送により受信側での処理を準備しておく必要がある。
また、一般的なMPI(Message Passing Interface)ライブラリを使用し、直接通信相手のメモリに書き込むデータ転送機能を有する通信装置の動作は下記の様になる。
プロセス間で制御通信用回線を開く(ステップ1)。
送り元の電子計算機(送り元計算機)の送信側のプロセス(送信プロセス)は、前記通信装置から制御通信用回線を介して(経由して)、送信データを送信するための送信要求を宛先計算機の受信側のプロセス(受信プロセス)に通知する(ステップ2)。
宛先計算機の受信プロセスは、前記通信装置により受信された送信要求を確認し、前記受信バッファを前記通信装置に登録する(受信命令を発行する)(ステップ3)。
宛先計算機の受信プロセスは、前記通信装置から制御通信用回線を経由して、受信準備完了通知を送り元計算機の送信プロセスに通知する(ステップ4)。
送り元計算機の送信プロセスは、前記通信装置により受信された受信準備完了通知を確認し、データを転送する(ステップ5)。
ステップ1から5に示したように、第3従来例の通信システムでは、宛先計算機の受信バッファが未登録であるときにデータ転送が行われないように、宛先計算機の受信プロセスが前記受信バッファを準備するために、データ転送以外の通信(送信要求、受信準備完了通知)をした後に、実際のデータ転送が行われる。
However, in the communication system of the third conventional example, it is necessary that the communication partner (destination computer) of the data transfer always defines the processing of the reception buffer or the reception packet, and the communication is performed between the processes that communicate in advance. It is necessary to prepare the processing on the receiving side by the next data transfer.
In addition, the operation of a communication apparatus using a general MPI (Message Passing Interface) library and having a data transfer function for directly writing to a communication partner's memory is as follows.
A control communication line is opened between processes (step 1).
A transmission-side process (transmission process) of a transmission source electronic computer (transmission source computer) sends a transmission request for transmitting transmission data from the communication device via a control communication line (destination computer). To the process on the receiving side (reception process) (step 2).
The reception process of the destination computer confirms the transmission request received by the communication device, and registers the reception buffer in the communication device (issues a reception command) (step 3).
The reception process of the destination computer notifies the transmission process of the transmission source computer of the reception preparation completion notification from the communication device via the control communication line (step 4).
The transmission process of the transmission source computer confirms the reception preparation completion notification received by the communication device and transfers the data (step 5).
As shown in
従来の通信システム(第2従来例の通信システム、第3従来例の通信システム)において、送り元計算機がデータ転送を開始する以前に、宛先計算機の受信プロセスは、前記受信バッファを前記通信装置に登録しなければならない。宛先計算機の受信バッファを前記通信装置に事前に登録するために、宛先計算機の受信プロセスは前記通信装置に対して事前に受信命令を発行する。事前に受信命令を発行するためには、送り元計算機の送信プロセスと宛先計算機の受信プロセスとの間において、データ転送(データ通信)を行う前に、受信バッファを準備(登録)するための事前制御通信が行われなければならない。
事前制御通信としては、送り元計算機、宛先計算機に専用の制御バッファを設け、送り元計算機と宛先計算機とは制御バッファを介した通信により相互の同期をとり、送り元計算機がデータを送信する以前に、宛先計算機の受信プロセスが受信命令を発行しておくことが一般的である。すなわち、事前制御通信によって、送り元計算機が、宛先計算機の受信バッファを準備(登録)するための要求を宛先計算機に行い、宛先計算機の受信プロセスが、前記受信バッファを準備した後に、データ転送の要求を送り元計算機に行う。このように、従来の通信システムでは、データ転送(データ転送の開始から完了)を行う前に事前制御通信が行われるために、事前制御通信を開始してからデータ転送の完了までのレイテンシ(実行時間)データ転送の開始から完了までのレイテンシが大きくなる問題がある。
In the conventional communication system (the communication system of the second conventional example, the communication system of the third conventional example), before the transmission source computer starts data transfer, the reception process of the destination computer sets the reception buffer to the communication device. Must register. In order to register the reception buffer of the destination computer in the communication device in advance, the reception process of the destination computer issues a reception command to the communication device in advance. In order to issue a reception command in advance, it is necessary to prepare (register) a reception buffer before performing data transfer (data communication) between the transmission process of the source computer and the reception process of the destination computer. Control communication must take place.
As pre-control communication, a dedicated control buffer is provided in the source computer and destination computer, and the source computer and destination computer are synchronized with each other via communication via the control buffer, before the source computer sends data. In general, the reception process of the destination computer issues a reception command. That is, by the prior control communication, the source computer makes a request for preparing (registering) the reception buffer of the destination computer to the destination computer, and after the reception process of the destination computer prepares the reception buffer, Make a request to the sending computer. As described above, in the conventional communication system, since the prior control communication is performed before the data transfer (from the start of the data transfer to the completion), the latency from the start of the prior control communication to the completion of the data transfer (execution) Time) There is a problem that the latency from the start to the completion of data transfer increases.
計算機の演算性能が急激に向上しているにもかかわらず、計算機間の通信性能の向上は緩慢であるため、複数の計算機により構成され、計算機同士が相互に通信するシステムにおいて、計算機の演算性能よりも先に、通信速度がボトルネックとなり、システム性能を制限することが多くなっている。特に、演算処理を複数の計算機に分散し、相互に同期して動作している場合、データを相手に送信し、相手の計算機がデータを受信するまでは演算処理を実施できないため、演算処理性能が低下する。すなわち、通信が相手に届くまでの時間であるレイテンシがシステムの演算性能に大きな影響を与えている。
したがって、システム性能を向上させるためには、計算機がより長い時間演算処理を実行するため、通信のレイテンシを短縮することが必要である。
さらに、通信する複数の装置間における通信の確認のための事前通信、受信完了確認通信の時間が大きいため、データ通信以外の事前通信、受信完了確認等の通信を削除することが必要となる。
本発明の目的は、事前制御通信回数を削減、あるいは全く行わずにデータ転送を行うことができる通信システムを提供することにより、通信システムのレイテンシを低減することにある。
Despite the rapid improvement in computing performance of computers, the improvement in communication performance between computers is slow, so the computing performance of computers in a system consisting of multiple computers and communicating with each other. Prior to this, the communication speed becomes a bottleneck, which often limits system performance. In particular, when computation processing is distributed to multiple computers and operating in synchronization with each other, computation processing performance cannot be performed until data is transmitted to the other party and the other computer receives the data. Decreases. That is, the latency, which is the time until communication reaches the other party, has a great influence on the computing performance of the system.
Therefore, in order to improve the system performance, it is necessary to shorten the communication latency because the computer executes the arithmetic processing for a longer time.
Furthermore, since the time for prior communication for confirmation of communication between a plurality of communicating devices and reception completion confirmation communication is large, it is necessary to delete communication other than prior communication other than data communication, such as reception completion confirmation.
An object of the present invention is to reduce the latency of a communication system by providing a communication system that can reduce the number of times of prior control communication or perform data transfer without performing the control at all.
以下に、[発明を実施するための最良の形態]で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 Hereinafter, means for solving the problem will be described using the numbers and symbols used in [Best Mode for Carrying Out the Invention]. These numbers and symbols are added to clarify the correspondence between the description of [Claims] and the description of [Best Mode for Carrying Out the Invention]. It should not be used to interpret the technical scope of the invention described in “
本発明の通信システムは、ネットワークに接続された第1電子計算機と第2電子計算機とを具備する。ネットワークは、実施の形態で説明される交換網(400)に対応する。第1電子計算機は、例えば、実施の形態で説明される電子計算機(100−2)であり、第1電子計算機は、例えば、実施の形態で説明される電子計算機(100−1)である。
電子計算機(100−1)と電子計算機(100−2)は、通信装置(300)と、演算装置(110)と、受信命令保持部(212)と、受信バッファ(222)と、保持バッファとを備えている。保持バッファは、実施の形態で説明される遠隔命令FIFO(213)である。演算装置(110)は、受信プロセス(111)を備えている。受信命令保持部は、実施の形態で説明される受信命令FIFO(212)である。受信プロセス(111)は、受信命令(510)を発行して受信命令FIFO(212)に登録する。
電子計算機(100−2)の通信装置(300)は、第1受信処理部と、第2受信処理部と、送信処理部とを備えている。第1受信処理部と第2受信処理部と送信処理部とは、実施の形態で説明されるコンテキスト処理部(341)である。
電子計算機(100−1)は、電子計算機(100−2)の受信命令FIFO(212)に受信命令(510)が登録されているか否かに関わらず、データを含むパケットを電子計算機(100−2)に転送する。前記パケットは、実施の形態で説明されるデータ送信パケット(600)である。
The communication system of the present invention comprises a first electronic computer and a second electronic computer connected to a network. The network corresponds to the switching network (400) described in the embodiment. The first electronic computer is, for example, the electronic computer (100-2) described in the embodiment, and the first electronic computer is, for example, the electronic computer (100-1) described in the embodiment.
The electronic computer (100-1) and the electronic computer (100-2) include a communication device (300), an arithmetic device (110), a reception command holding unit (212), a reception buffer (222), a holding buffer, It has. The holding buffer is a remote command FIFO (213) described in the embodiment. The arithmetic unit (110) includes a reception process (111). The reception command holding unit is a reception command FIFO (212) described in the embodiment. The reception process (111) issues a reception command (510) and registers it in the reception command FIFO (212).
The communication device (300) of the electronic computer (100-2) includes a first reception processing unit, a second reception processing unit, and a transmission processing unit. The first reception processing unit, the second reception processing unit, and the transmission processing unit are a context processing unit (341) described in the embodiment.
The electronic computer (100-1) transmits a packet including data to the electronic computer (100-) regardless of whether or not the reception command (510) is registered in the reception command FIFO (212) of the electronic computer (100-2). Transfer to 2). The packet is a data transmission packet (600) described in the embodiment.
受信命令(510)が電子計算機(100−2)の受信命令FIFO(212)に登録されているときに、電子計算機(100−2)がデータ送信パケット(600)を受け取った場合、電子計算機(100−2)のコンテキスト処理部(341)は、データ送信パケット(600)のデータを受信バッファ(222)に書き込む。
このように、本発明の通信システムによれば、電子計算機(100−1)は、電子計算機(100−2)に対して、従来の技術で説明されたような事前制御通信を行わずに、データ送信パケット(600)を転送することができる(データ転送を行うことができる)。
本発明の通信システムによれば、電子計算機(100−1)が事前制御通信を行わずにデータ転送を行うため、受信命令(510)が電子計算機(100−2)の受信命令FIFO(212)に登録されている場合、データ転送の開始から完了までのレイテンシ(実行時間)は、従来の技術で説明されたような事前制御通信を開始してからデータ転送の完了までのレイテンシ(実行時間)よりも低減する。
When the reception command (510) is registered in the reception command FIFO (212) of the electronic computer (100-2) and the electronic computer (100-2) receives the data transmission packet (600), the electronic computer ( The context processing unit (341) of 100-2) writes the data of the data transmission packet (600) in the reception buffer (222).
As described above, according to the communication system of the present invention, the electronic computer (100-1) does not perform pre-control communication as described in the prior art on the electronic computer (100-2). The data transmission packet (600) can be transferred (data transfer can be performed).
According to the communication system of the present invention, since the electronic computer (100-1) performs data transfer without performing pre-control communication, the reception command (510) is the reception command FIFO (212) of the electronic computer (100-2). , The latency (execution time) from the start to the completion of the data transfer is the latency (execution time) from the start of the pre-control communication as described in the prior art to the completion of the data transfer. Less than.
受信命令(510)が電子計算機(100−2)の受信命令FIFO(212)に登録されていないときに、電子計算機(100−2)がデータ送信パケット(600)を受け取った場合、電子計算機(100−2)のコンテキスト処理部(341)は、データ送信パケット(600)の転送を中断するための中断要求(610)を電子計算機(100−1)に送信すると共に、データ送信パケット(600)に関する転送情報を遠隔命令FIFO(213)に登録する。転送情報とは、実施の形態で説明される遠隔命令(640)であり、遠隔命令(640)には、データ送信パケット(600)のヘッダの一部が記載される。中断要求とは、実施の形態で説明される中断要求パケット(610)である。中断要求を受け取った電子計算機(100−1)は、電子計算機(100−2)からの中断要求パケット(610)に応じて、データ送信パケット(600)の転送を中断する。
このように、本発明の通信システムによれば、電子計算機(100−2)が受け取れない無駄なデータ転送を早期に抑止し、交換網(400)を流れる無駄なデータを低減することができる。
If the electronic computer (100-2) receives the data transmission packet (600) when the reception command (510) is not registered in the reception command FIFO (212) of the electronic computer (100-2), the electronic computer ( The context processing unit (341) of 100-2) transmits an interruption request (610) for interrupting the transfer of the data transmission packet (600) to the electronic computer (100-1) and also transmits the data transmission packet (600). The transfer information regarding is registered in the remote command FIFO (213). The transfer information is a remote command (640) described in the embodiment, and the remote command (640) describes a part of the header of the data transmission packet (600). The interruption request is an interruption request packet (610) described in the embodiment. The computer (100-1) that has received the suspension request suspends the transfer of the data transmission packet (600) in response to the suspension request packet (610) from the computer (100-2).
As described above, according to the communication system of the present invention, useless data transfer that cannot be received by the electronic computer (100-2) can be prevented at an early stage, and useless data flowing through the exchange network (400) can be reduced.
電子計算機(100−2)の受信プロセス(111)によって次に発行された受信命令(510)が電子計算機(100−2)の受信命令FIFO(212)に登録されているときに、電子計算機(100−2)がデータ送信パケット(600)を受け取った場合、電子計算機(100−2)のコンテキスト処理部(341)は、遠隔命令FIFO(213)に登録された遠隔命令(640)を参照して、中断されたデータ送信パケット(600)の転送を再開するための再開要求を電子計算機(100−1)に送信する。再開要求とは、実施の形態で説明される再開要求パケット(630)である。再開要求パケットを受け取った電子計算機(100−1)は、電子計算機(100−2)からの再開要求パケット(630)に応じて、電子計算機(100−2)に対してデータ送信パケット(600)の転送を再開する(データ転送を行う)。
このように、本発明の通信システムによれば、電子計算機(100−1)は、電子計算機(100−2)が受け取れないデータのみを再度転送すればよいため、電子計算機(100−2)に対して、従来の技術で説明されたような事前制御通信を行わずに、データ送信パケット(600)を転送することができる(データ転送を行うことができる)。
When the reception command (510) issued next by the reception process (111) of the electronic computer (100-2) is registered in the reception command FIFO (212) of the electronic computer (100-2), the electronic computer ( 100-2) receives the data transmission packet (600), the context processing unit (341) of the electronic computer (100-2) refers to the remote command (640) registered in the remote command FIFO (213). Then, a restart request for restarting the transfer of the interrupted data transmission packet (600) is transmitted to the electronic computer (100-1). The restart request is a restart request packet (630) described in the embodiment. The computer (100-1) that has received the restart request packet sends a data transmission packet (600) to the electronic computer (100-2) in response to the restart request packet (630) from the computer (100-2). Transfer is resumed (data transfer is performed).
As described above, according to the communication system of the present invention, the electronic computer (100-1) only needs to transfer only data that cannot be received by the electronic computer (100-2) again. On the other hand, the data transmission packet (600) can be transferred (data transfer can be performed) without performing the prior control communication as described in the prior art.
電子計算機(100−2)の通信装置(300)は、第3受信処理部を更に備えている。第3受信処理部は、上記のコンテキスト処理部(341)である。
電子計算機(100−2)がデータ送信パケット(600)を受け取ったときに、受信バッファ(222)に書き込まれるデータ送信パケット(600)のデータのデータ長が、受信バッファ(222)が保持することができるデータのデータ長を超える場合、電子計算機(100−2)のコンテキスト処理部(341)は、中断要求パケット(610)を電子計算機(100−1)に送信すると共に、遠隔命令(640)を作成し、電子計算機(100−2)の遠隔命令FIFO(213)に登録する。
遠隔命令(640)と再開要求パケット(630)は、電子計算機(100−1)からのデータ送信パケット(600)のデータ中の、受信バッファ(222)に書き込まれたデータのデータ長(受信済みデータ長)を含ませた場合、再開要求パケット(630)は、電子計算機(100−1)からのデータ送信パケット(600)のデータのうち、受信バッファ(222)に書き込まれたデータ以外のデータの転送を要求するための情報(パケット)である。
本発明の通信システムによれば、電子計算機(100−1)は、再開要求パケット(630)に含まれる受信済みデータ長を参照して、先にデータ送信パケット(600)にて転送したデータのデータ長のうちの、受信済みデータ長以外のデータ長を有するデータ(残りデータ)を電子計算機(100−2)に転送する。未受信の残データのみを送信要求する本発明の通信システムによれば、全データを再送する場合に比べ、電子計算機(100−1)から電子計算機(100−2)へのデータ転送時間が短縮できる。
The communication device (300) of the electronic computer (100-2) further includes a third reception processing unit. The third reception processing unit is the context processing unit (341).
When the electronic computer (100-2) receives the data transmission packet (600), the reception buffer (222) holds the data length of the data transmission packet (600) written to the reception buffer (222). When the data length of the data that can be transmitted exceeds the data length, the context processing unit (341) of the electronic computer (100-2) transmits a suspend request packet (610) to the electronic computer (100-1), and at the same time a remote command (640). Is registered in the remote command FIFO (213) of the electronic computer (100-2).
The remote command (640) and the restart request packet (630) are the data length (received) of the data written in the reception buffer (222) in the data transmission packet (600) from the electronic computer (100-1). When the data length is included, the restart request packet (630) is data other than the data written in the reception buffer (222) among the data transmission packet (600) from the electronic computer (100-1). This is information (packet) for requesting the transfer.
According to the communication system of the present invention, the electronic computer (100-1) refers to the received data length included in the restart request packet (630), and stores the data previously transferred in the data transmission packet (600). Of the data length, data having a data length other than the received data length (remaining data) is transferred to the electronic computer (100-2). According to the communication system of the present invention that requests transmission of only unreceived remaining data, the data transfer time from the electronic computer (100-1) to the electronic computer (100-2) is shortened compared to the case where all data is retransmitted. it can.
本発明の通信システムでは、従来の技術で説明されたような事前制御通信を行わずに、パケットを転送することができるため、データ転送の開始から完了までのレイテンシ(実行時間)が、従来の技術で説明されたような事前制御通信を開始してからデータ転送の完了までのレイテンシ(実行時間)よりも低減する。 In the communication system of the present invention, packets can be transferred without performing prior control communication as described in the prior art, so that the latency (execution time) from the start to the completion of data transfer is This is less than the latency (execution time) from the start of pre-control communication as described in the technology to the completion of data transfer.
図1は、本発明の通信システムの構成を示すブロック図である。本発明の通信システムは、複数の電子計算機(コンピュータ)と、ネットワークである交換網400とを具備する。交換網400には、複数の電子計算機が接続されている。複数の電子計算機を電子計算機100−1、100−2、100−3とする。
電子計算機100−1、100−2、100−3は、演算を行う演算装置110と、制御装置120と、主記憶装置200と、通信装置300とを備えている。演算装置110としては、CPU(Central Processing Unit)が例示される。制御装置120は、演算装置110と主記憶装置200と通信装置300とを接続するためのインターフェースとして働く。主記憶装置200は、データ、命令、電子計算機を識別する計算機番号を保持する。通信装置300は、演算装置110からの指示により、交換網400を介して通信を行う。
電子計算機100−1、100−2、100−3の構成は同じである。
FIG. 1 is a block diagram showing a configuration of a communication system according to the present invention. The communication system of the present invention includes a plurality of electronic computers (computers) and an
The electronic computers 100-1, 100-2, and 100-3 include an
The configurations of the electronic computers 100-1, 100-2, and 100-3 are the same.
本発明の通信システムでは、送り元計算機(例えば電子計算機100−1)は、宛先計算機(例えば電子計算機100−2)に対して、従来の技術で説明されたような事前制御通信を行わずに、パケットを転送することができる(データ転送を行うことができる)。その結果、データ転送の開始から完了までのレイテンシ(実行時間)は、従来の技術で説明されたような事前制御通信を開始してからデータ転送の完了までのレイテンシ(実行時間)よりも低減する。添付図面を参照して、本発明による通信システムの実施の形態を以下に説明する。 In the communication system of the present invention, the transmission source computer (for example, the electronic computer 100-1) does not perform the prior control communication as described in the prior art with respect to the destination computer (for example, the electronic computer 100-2). , Packets can be transferred (data transfer can be performed). As a result, the latency (execution time) from the start to the completion of data transfer is lower than the latency (execution time) from the start of pre-control communication as described in the prior art to the completion of data transfer. . Embodiments of a communication system according to the present invention will be described below with reference to the accompanying drawings.
図2は、本発明の通信システムにおける電子計算機100−1、100−2、100−3の通信装置300の構成を示すブロック図である。
通信装置300は、送信部320と、受信部340と、メモリ制御部310とを備えている。メモリ制御部310は、送信部320と受信部340からのメモリアクセスを制御装置120に転送し、前記メモリアクセスの応答をそれぞれ前記送信部320、受信部340に返却し、制御装置120を経由する演算装置110からの通信装置300へのアクセスを仲介する。送信部320は、メモリ制御部310を経由した演算装置110からの通信命令実行指示により、パケットを生成し、交換網400へパケットを送信する。受信部340は、交換網400からのパケットを受信し、受信したパケットに応じて受信パケットを処理する。
FIG. 2 is a block diagram showing the configuration of the
The
通信装置300の送信部320について説明する。送信部320は、命令処理部322と、パケット送信部321とを備えている。命令処理部322はレジスタ322’(後述)を備えている。
命令処理部322は、主記憶装置200から送信命令を取り出して解析し、受信部340からの制御パケット(送信中断要求パケット、データ要求パケット、受付パケット)を受け取り、送信命令を処理する。
パケット送信部321は、命令処理部322からの指示とメモリ制御部310から受け取る送信データとに基づいてデータ送信パケットを生成して交換網400に送信する。
The
The
The
通信装置300の受信部340について説明する。受信部340は、パケット受信部342と、コンテキスト処理部341とを備えている。コンテキスト処理部341はレジスタ341’(後述)を備えている。
パケット受信部342は、交換網400から受信データを含む受信パケットを受信した場合、データパケットを受信した旨をコンテキスト処理部341に通知する。パケット受信部342は、受信パケット内の受信データをライトする指示をコンテキスト処理部341から受け取り、受信データを主記憶装置200にライトする。
パケット受信部342が交換網400から送信中断要求パケット、データ要求パケット、受付パケットのいずれかの制御パケットを受信した場合、受信パケットをコンテキスト処理部341に転送する。
コンテキスト処理部341は、パケット受信部342からデータパケット受信の通知を受けた後、受信パケットに対応するコンテキスト(後述)を主記憶装置200から読み出す。コンテキスト処理部341は、主記憶装置200から読み出したコンテキストに応じて、受信パケット内の受信データを主記憶装置200へライトすることをパケット受信部322に指示し、コンテキストの更新のために主記憶装置200へコンテキストを書き戻す処理を行う。
コンテキスト処理部341がパケット受信部342から制御パケットを受け付けた場合、コンテキスト処理部341は前記制御パケットを命令処理部322に転送する。
The receiving
When receiving a received packet including received data from the
When the
After receiving the data packet reception notification from the
When the
図3は、本発明の通信システムにおける電子計算機100−1、100−2、100−3の演算装置110の構成を示すブロック図である。
演算装置110は、演算装置110が実行するための複数のプロセスと、通信装置用のドライバソフトウェア113とを備えている。複数のプロセスは、データを送信あるいは受信するコンピュータプログラムである計算機毎に異なる任意の数であるN個のプロセスが存在する。通信装置300を経由してデータを送信している時、前記プロセスを送信プロセスと呼び、通信装置を経由してデータを受信している時、前記プロセスを受信プロセスと呼び、任意のプロセスが状況により送信プロセス、あるいは受信プロセスと呼ばれる場合がある。
ドライバソフトウェア113は、1〜N個の固有の接続番号を有する。1〜N個の接続番号は、プロセス111が通信するための識別番号であり、1〜N個の接続番号を接続番号“1”〜接続番号“N”と称する。
通信装置用のドライバソフトウェア113は、初期時に、接続番号“1”〜接続番号“N”をプロセス111に与える(設定する)。接続番号“1”のプロセス111〜接続番号“N”のプロセス111をそれぞれプロセス111−1、111−2、…、111−Nと称する。
FIG. 3 is a block diagram showing the configuration of the
The
The
The communication
送り元計算機の送信プロセス111−J(J=1、2、…、N)と宛先計算機の受信プロセス111−K(K=1、2、…、N)は、送り元計算機のプロセス111−Jが前記通信装置300を用いて送信データと共に宛先接続番号“K”に送信した時、宛先計算機の通信装置300(受信部340)は、送り元計算機からの宛先接続番号“K”により、宛先計算機の受信プロセス111−Kを特定する(後述)。送り元計算機は、電子計算機100−1、100−2、100−3のうちの1つの電子計算機であり、宛先計算機は、電子計算機100−1、100−2、100−3のうちの送り元計算機以外の1つの電子計算機である。
The sending process 111-J (J = 1, 2,..., N) of the source computer and the receiving process 111-K (K = 1, 2,..., N) of the destination computer are the process 111-J of the sending computer. Transmits to the destination connection number “K” together with the transmission data using the
図4は、本発明の通信システムにおける電子計算機100−1、100−2、100−3の主記憶装置200の構成を示すブロック図である。
主記憶装置200には、送信命令FIFO211と、受信命令FIFO212と、遠隔命令FIFO213と、コンテキストテーブル201と、送信バッファ221と、受信バッファ222と、転送長レジスタ231と、転送アドレスレジスタ232とが格納されている。
FIG. 4 is a block diagram showing the configuration of the
The
送信バッファ221は、それぞれのプロセス固有の送信バッファ221−1〜221−Nを含む。あるプロセス111−J(Jは任意)はプロセスのアドレス空間の任意のアドレスを送信バッファに使用可能であり、かつ複数の送信バッファを保持可能であるが、説明の簡素化のため、プロセス111−Jの送信バッファを221−Jとして以下を説明する。
受信バッファ222は、それぞれのプロセス固有の受信バッファ222−1〜222−Nを含む。あるプロセス111−J(Jは任意)はプロセスのアドレス空間の任意のアドレスを受信バッファに使用可能であり、かつ複数の受信バッファを保持可能であるが、説明の簡素化のため、プロセス111−Jの受信バッファを222−Jとして以下を説明する。
転送長レジスタ231は、固有の転送長レジスタ231−1〜231−Nを含む。
転送アドレスレジスタ232は、固有の転送アドレスレジスタ232−1〜232−Nを含む。
The
The
The
The
送信命令FIFO211は、それぞれのプロセス固有の送信命令FIFO211−1〜211−Nを含む。送信命令FIFO211−J(J=1、2、…、N)は、プロセス111−Jにより使用されるFIFO(First In First Out)構造の制御データである。プロセス111−Jは、通信装置300を使用して送信データを送信する。前記プロセス111−Jは、送信データを送信バッファ221−Jに登録し、前記送信データを通信装置300が送信するための送信命令を発行する(送信命令FIFO211−Jに登録する)。送信バッファ221−Jのアドレスは、プロセス111−Jが送信命令を発行した際に(送信命令を送信命令FIFO211−Jに登録した際に)指定される。
受信命令FIFO212は、それぞれのプロセス固有の受信命令FIFO212−1〜212−Nを含む。受信命令FIFO212−J(J=1、2、…、N)は、プロセス111−Jにより使用されるFIFO構造の制御データである。プロセス111−Jは、通信装置300を使用して受信データを受信する。前記プロセス111−Jは、受信データを通信装置300が受信するための受信命令を発行する(受信命令FIFO212−Jに登録する)。プロセス111−Jが受信命令を発行した際に、通信装置300への受信バッファ222−Jの登録(準備)が行われ、通信装置300は、受信バッファ222−Jを使用することができる。受信バッファ222−Jのアドレスは、プロセス111−Jが受信命令を発行した際に(受信命令を受信命令FIFO212−Jに登録した際に)指定される。
The
The
遠隔命令FIFO213は、遠隔命令FIFO213−1〜213−Nを含む。遠隔命令FIFO213−J(J=1、2、…、N)は、通信装置300内のコンテキスト処理部341により使用されるFIFO構造の制御データであり、交換網400を介した遠隔計算機(後述)からの通信を一時的に保持する保持バッファである。通信装置300は、接続番号毎に1つの遠隔命令FIFO213−Jを使用する。
コンテキストテーブル201は、それぞれのプロセス固有のコンテキストテーブル201−1〜201−Nを含む。コンテキストテーブル201−J(J=1、2、…、N)は、コンテキスト処理部341により使用され、交換網400を介した遠隔計算機との通信状態を保持する制御テーブルである。通信装置300は、接続番号毎に1つのコンテキスト(後述)を使用する。
The
The context table 201 includes context tables 201-1 to 201-N specific to each process. The context table 201-J (J = 1, 2,..., N) is a control table that is used by the
ここで、通信装置300は、図示しない通信装置専用メモリを更に備え、通信装置専用メモリにはデータ構造が格納される場合がある。データ構造は、制御データ(送信命令FIFO211、受信命令FIFO212)、バッファ{送信バッファ221、受信バッファ222、遠隔命令FIFO213(保持バッファ)}、コンテキストテーブル201、レジスタ(転送長レジスタ231、転送アドレスレジスタ232)の少なくとも1つを含む。通信装置300が通信装置専用メモリを備えているため、通信装置300は、通信装置専用メモリに高速アクセス可能である。上記のデータ構造を高速アクセス可能な通信装置専用メモリ上に設けることにより、データ転送のレイテンシおよび転送帯域を向上させる。ただし、演算装置110が通信装置専用メモリに直接アクセスすることを可能にするために、通信装置専用メモリを演算装置110が使用するアドレス空間の一部としてアクセス可能とする必要がある。
Here, the
図5は、本発明の通信システムにおける送信命令500を示す。演算装置110(プロセス111−J)が送信データを送信するために、プロセス111−Jが主記憶装置200(送信命令FIFO211−J)に送信命令500を書き込み、送信部320の命令処理部322が送信命令500を読み出す。
送信命令500は、送信命令であることを示す送信タイプ欄501と、宛先の計算機番号を示す宛先計算機番号欄502と、宛先接続番号を示す接続番号欄503と、送信バッファの開始アドレスを示す送信バッファ開始アドレス欄504と、送信するデータの長さを示す転送長欄505から構成される。
FIG. 5 shows a
The
プロセス111−Jが送信命令500を送信命令FIFO211−Jに登録する時、プロセス111−Jによって、送信タイプ欄501に、送信命令であることを示す送信タイプを書き込む。宛先計算機番号欄502に、宛先計算機を識別する計算機番号として宛先計算機番号を書き込む。接続番号欄503に、宛先計算機内の宛先プロセスを識別する接続番号を書き込む。送信バッファ開始アドレス欄504に、送信データを保持する送信バッファ221−Jの先頭のアドレスである送信バッファ開始アドレスを書き込む。転送長欄505に、送信データの長さを示すデータ長である転送長を書き込む。
When the process 111-J registers the
送信命令FIFO211−Jの管理について説明する。
通信装置300の命令処理部322内のレジスタ322’は、接続番号毎に、主記憶装置200上の送信命令FIFO211−1〜211−NはそれぞれM個の送信命令を登録することが可能であるリングバッファ構造のFIFOであり、各命令を0からM−1までの命令番号で識別する。前記Mは送信命令FIFO211−1〜211−Nそれぞれの最大命令数である。前記送信命令FIFO211−1〜211−Nのライト・ポインタは、プロセス111−1〜111−Nのそれぞれが次に送信命令を登録する命令番号を示し、前記プロセス111が送信命令500を1個登録する毎に+1加算する。ただし、前記ライト・ポインタへ+1加算時にライト・ポインタの値がMを超える場合にはライト・ポインタが回り込み“1”に設定される。送信命令FIFO211−1〜211−Nのリード・ポインタは、命令処理部322が次に実行する送信命令500の命令番号を示し、命令処理部322が前記送信命令FIFO211−1〜211−Nから命令を取り出す毎に+1だけ加算する。ただし、前記リード・ポインタへ+1加算時にリード・ポインタの値がMを超える場合にはリード・ポインタが回り込み“1”に設定される。
通信装置用のドライバソフトウェア113は、主記憶装置200上の送信命令FIFO211−1〜211−Nの先頭アドレスと、送信命令FIFO211内の最大命令数とを、初期設定時に命令処理部322内のレジスタ322’に予め設定する。
The management of the transmission command FIFO 211-J will be described.
The
The
送信プロセス111−1〜111−Nは、送信命令500を主記憶装置200(送信命令FIFO211−1〜211−N)に1個追加(登録)する毎に、命令処理部322内の送信命令FIFO211−1〜211−Nのライト・ポインタを1だけ加算する。
命令処理部322は、送信命令FIFO211−J(1、2、…、N)のライト・ポインタと送信命令FIFO211−Jのリード・ポインタとを比較する。命令処理部322は、比較の結果、差分があれば送信命令500が追加されたと判断し、送信命令FIFO211−Jの先頭アドレスから送信命令FIFO211−Jのリード・ポイントの示す命令番号の送信命令500を主記憶装置200上の送信命令FIFO211−Jから制御装置120、メモリ制御部310を経由して取り出して、前記送信命令500を実行する。
命令処理部322は、1つの送信命令500を実行する毎に、命令処理部322内の送信命令FIFO211−Jのリード・ポインタを1だけ加算する。命令処理部322は、送信命令FIFO211−Jのリード・ポインタを1だけ加算した後も送信命令FIFO211−Jのリード・ポインタと送信命令FIFO211−Jのライト・ポインタとの値が異なっていた場合、すなわち差分がある場合、送信命令FIFO211−Jのリード・ポイントにより、次の送信命令500を主記憶装置200上の送信命令FIFO211−Jから制御装置120、メモリ制御部310を経由して取り出して、前記送信命令500を実行する。前記送信命令取り出し、および実行は、送信命令FIFO211−Jのリード・ポインタと送信命令FIFOライト・ポインタとの差分がなくなるまで実行される。
Each time the transmission process 111-1 to 111 -N adds (registers) one
The
The
制御装置120は、演算装置110内のプロセス111−1〜111−Nからの主記憶装置200内へ送信命令500の書き込み、送信データの書き込み、および演算装置110上の各プロセスによる主記憶装置200への書き込みと読み込みと、送信部320からの送信命令の読み出し、送信データの読み出し、および受信部340からの主記憶装置200への書き込みおよび読み出しの要求を受付け、主記憶装置200への書き込みと読み出しを実行する。
The
図6は、本発明の通信システムにおけるデータ送信パケット600を示す。演算装置110内の送信プロセス111−Jが送信データを送信するために、送信部320のパケット送信部321が送信データを含むデータ送信パケット600を生成して交換網400に送信する。
命令処理部322は、主記憶装置200上の送信命令FIFO211−Jから送信命令500を取り出し、送信命令500の送信バッファ開始アドレス欄504に書き込まれた送信バッファ開始アドレスによって送信バッファ221−Jから送信データを読み出してパケット送信部321に転送する指示を、メモリ制御部310に発行する。前記指示を受けたメモリ制御部310は、制御装置120を介して主記憶装置200上の送信バッファ221−Jから送信データを取りだし、パケット送信部321に転送する。
パケット送信部321は、メモリ制御部310から受け取った送信データを予め決められたパケット(データ送信パケット600)の長さに分割し、データ送信パケット600のそれぞれに連続のパケット番号を付加する。前記パケット番号は、1つの送信命令の最初のパケットは0番のパケット番号、その後は1、2、3、…、N番の連続するパケット番号である。
FIG. 6 shows a
The
The
前記データ送信パケット600は、送信タイプ欄601と、宛先計算機番号欄602と、送り元計算機番号欄603と、接続番号欄604と、送信命令番号欄605と、パケット番号欄606と、データ長欄607と、データ欄607とを含む。
データ送信パケット600のデータ欄608以外の部分をパケット・ヘッダと呼び、パケットの制御に使用される。
The
A portion other than the
データ送信パケット600を生成するときに、パケット送信部321によって、送信タイプ欄601には、データ送信パケット600であることを示す送信タイプが書き込まれる。宛先計算機番号欄602には、宛先計算機を識別する宛先計算機番号が書き込まれる。送り元計算機番号欄603には、送り元計算機を識別する計算機番号として送り元計算機番号が書き込まれる。接続番号欄604には、宛先計算機内の宛先プロセスを識別する接続番号が書き込まれる。送信命令番号欄605には、同時に同一宛先計算機にパケットを送信している送信命令のそれぞれを識別する送信命令番号が書き込まれる。パケット番号欄606には、同一送信命令により生成された複数のパケットを識別するパケット番号が書き込まれる。データ長欄607には、データ送信パケット600に組み込まれたデータの長さを示すデータ長が書き込まれる。データ欄608には、送信バッファ221−Jから読み出された送信データが書き込まれる。
When the
ここで、送信命令番号は、受信命令FIFO212−1〜212−Nに登録されてから順に実行される送信命令500から、特定の送信命令500(データ送信パケット600が今生成されたときの送信命令500)を識別するための識別番号であり、命令処理部322が命令毎に付加する番号である。命令処理部322は、次命令の送信命令番号をレジスタ322’に保持し、新規に送信命令番号を取り出す時に、次命令の送信命令番号を1だけ加算することにより、送信命令毎に異なる送信命令番号を付加する。
パケット番号は、データ(送信データ)が予め決められたパケット(データ送信パケット600)の長さに分割されたときに、同一の送信命令500(上記の特定の送信命令500)で生成されたデータ送信パケット600のうちの何番目のデータ送信パケット600であるかを示す番号である。
パケット分割の例を以下に示す。
パケット送信部321が実施するパケット分割(データ送信パケット600の分割)において、最大パケット長が1000バイト、かつ送信命令500の転送長が3500バイトの場合、パケット送信部321は、3つの1000バイトのデータを持ったデータ送信パケット600と、1つの500バイトのデータを持ったデータ送信パケット600を生成し、交換網400に送信する。
Here, the transmission command number is a specific transmission command 500 (a transmission command when the
The packet number is data generated by the same transmission command 500 (the above-mentioned specific transmission command 500) when the data (transmission data) is divided into predetermined packet (data transmission packet 600) lengths. This is a number indicating which
An example of packet division is shown below.
In the packet division performed by the packet transmission unit 321 (division of the data transmission packet 600), when the maximum packet length is 1000 bytes and the transfer length of the
図7は、本発明の通信システムにおける受信命令510を示す。演算装置110(プロセス111−J)が受信データを受信するために、プロセス111−Jが主記憶装置200(受信命令FIFO212−J)に受信命令510を書き込み、受信部340のコンテキスト処理部341が受信命令510を読み出す。
受信命令510は、受信タイプ欄511と、送り元計算機番号欄512と、接続番号欄513と、受信バッファ開始アドレス欄514と、受信バッファ長欄515から構成される。
プロセス111―Jが、受信命令510を受信命令FIFOに登録するときに、受信タイプ欄511に、受信命令であることを示す受信タイプを書き込む。送り元計算機番号欄512には、送り元計算機を識別する送り元計算機番号を書き込む。接続番号欄513に、受信プロセス111−Jを識別する接続番号を書き込む。受信バッファ開始アドレス欄514に、受信された受信データを保持する受信バッファ222−Jの先頭のアドレス(受信バッファ開始アドレス)を書き込む。受信バッファ長欄515に、受信バッファ222−Jが保持することができるデータの長さを表す受信バッファ長を書き込む。
FIG. 7 shows a
The
When the process 111-J registers the
受信命令FIFO212−Jの管理について説明する。
通信装置300のコンテキスト処理部341内のレジスタ341’は、接続番号毎に、主記憶装置200上の受信命令FIFO212−1〜212−Nの先頭アドレスと、受信命令FIFO212−1〜212−Nのリード・ポインタと、受信命令FIFO212−1〜212−Nのライト・ポインタとを保持する。それぞれの受信命令FIFOに登録可能な命令数をMとし、受信命令FIFOの各エントリに、最初のエントリの命令を0番、次を1番、…、最後をM−1番とした番号命令を付加する。
受信命令FIFO212−1〜212−Nのライト・ポインタは、演算装置110(プロセス111−1〜111−N)が次に登録する命令番号を示す。受信命令FIFO212−1〜212−Nのリード・ポインタはコンテキスト処理部341が次に実行する命令番号を表す。
通信装置用のドライバソフトウェア113は、主記憶装置200上の受信命令FIFO212−1〜212−Nの先頭アドレスと、受信命令FIFO212内の最大命令数とを、初期設定時にコンテキスト処理部341内のレジスタ341’に予め設定する。受信命令FIFO212−1〜212−Nのリード・ポインタは、コンテキスト処理部341が受信命令を1個処理する毎に1ずつ加算し、受信命令FIFO212−1〜212−Nのライト・ポインタは、受信プロセス111−1〜111−Nが受信命令を1個登録する毎に1ずつ加算される。受信命令FIFO212−1〜212−Nのリード・ポインタ、ライト・ポインタは、1だけ加算された時に受信命令FIFOの最後の命令番号を越えた場合、“0”になる。
The management of the reception command FIFO 212-J will be described.
The
The write pointers of the reception instruction FIFOs 212-1 to 212-N indicate instruction numbers that the arithmetic device 110 (processes 111-1 to 111-N) registers next. The read pointers of the reception instruction FIFOs 212-1 to 212 -N indicate the instruction number to be executed next by the
The
コンテキスト処理部341は、受信命令FIFO212−J(1、2、…、N)のライト・ポインタと受信命令FIFO212−Jのリード・ポインタとを比較する。コンテキスト処理部341は、比較の結果、差分があれば受信命令510が追加されたと判断し、受信命令FIFO212−Jの先頭アドレスから受信命令FIFO212−Jのリード・ポイントの指し示す受信命令510を主記憶装置200上の受信命令FIFO212−Jから制御装置120、メモリ制御部310を経由して取り出し、前記受信命令510を実行する。
コンテキスト処理部341は、1つの受信命令510を実行する毎に、コンテキスト処理部241内の受信命令FIFO212−Jのリード・ポインタを1だけ加算する。コンテキスト処理部341は、受信命令FIFO212−Jのリード・ポインタを1だけ加算した後も受信命令FIFO212−Jのリード・ポインタと受信命令FIFO212−Jのライト・ポインタとの値が異なっていた場合(差分がある場合)、受信命令FIFO212−Jのリード・ポイントにより、次の受信命令510を主記憶装置200上の受信命令FIFO212−Jから制御装置120、メモリ制御部310を経由して取り出し、前記受信命令510を実行する。前記受信命令取り出し処理は、受信命令FIFO212−Jのリード・ポインタと受信命令FIFO212−Jのライト・ポインタとの差分がなくなるまで実行される。
The
Each time the
図8は、本発明の通信システムにおけるコンテキスト700を示す。受信部340が交換網400からパケットを受信した時に受信部340の動作を決定するための、コンテキスト処理部341が管理するコンテキスト700を詳細に説明する。
コンテキスト700は、接続番号毎に存在し、パケット受信部342によってデータ送信パケット600が受信された時にデータ送信パケット600内の接続番号欄604の値により参照され、コンテキスト処理部341に取り込まれる。コンテキスト700は、受信命令処理中フラグ欄701と、送信命令番号欄702と、最終受信パケット番号欄703と、処理中受信命令の受信済みデータ長欄704と、送信中断済みフラグ705と、処理中受信命令欄710とを含む。
処理中受信命令欄710は、受信部340が処理中の受信命令510の一部を保持し、処理中受信命令の受信タイプ欄711と、処理中受信命令の受信バッファ開始アドレス欄712と、処理中受信命令のバッファ長欄713とを含む。
FIG. 8 shows a
A
The in-process received
コンテキスト700は、コンテキストテーブル201−1〜201−Nに格納されている。コンテキストテーブル201−J(J=1、2、…、N)内のコンテキスト700は、接続番号“J”用のコンテキストである。
パケット受信部342がデータ送信パケット600を受信した時に、パケット受信部342は、コンテキスト処理部341にデータ送信パケット600のパケット・ヘッダを転送する。
パケットヘッダを受け取ったコンテキスト処理部341は、パケット・ヘッダ内の接続番号欄604に記載された接続番号“J”により、コンテキストテーブル201−Jを参照し、対応するコンテキスト700を取り込む。
The
When the
The
図16を用いて、パケット受信部342が交換網400からデータ送信パケット600を受信し、コンテキスト処理部341にパケット・ヘッダを送信し、コンテキスト処理部341がコンテキスト700を取り込んだ後の処理を詳細に説明する。
ここで、図中の“不問”とは、全く動作に影響を与えないことをいい、図中の“十分”とは、受信バッファ222−Jが受信したデータ送信パケット600の全データを書き込むに十分なだけの残受信バッファ長がある場合をいい、図中の“不十分”とは、受信バッファ222−Jが受信したデータ送信パケット600の全データを書き込むに十分なだけの残受信バッファ長がない場合をいい、受信バッファフル(あるいは受信バッファのフル)と表す場合もある。
Referring to FIG. 16, the
Here, “unquestioned” in the figure means that the operation is not affected at all, and “sufficient” in the figure means that all data of the
前記パケット・ヘッダを受け取ったコンテキスト処理部341は、コンテキスト700内のパケット処理中フラグ701(図中、処理中701)および中断済みフラグ705(図中、中断済み705)のコンテキストの状態と、前記パケットの接続番号604に対応する受信命令の有り・無し、および残受信バッファ長の十分・不十分の受信命令の状態とから、コンテキストおよびパケットの処理を決定する。前記状態としては、図中のケース名“ケースA1”、“ケースA2”、“ケースR1”、“ケースR2”、“ケースR3”、“ケースD1”が挙げられる。
Upon receiving the packet header, the
ケースA1においては、パケット処理中フラグ701の値が非処理中を示す“0”、前記パケットに対応する受信命令510が存在し、残受信バッファ長が十分である場合を示す。ケースA1の場合、前記コンテキストの処理は、“作成”を表し、前記パケットの処理は、“データ処理”を表す。
前記パケット処理中フラグ701の値が“0”の場合の残受信バッファ長は前記受信命令510内の受信バッファ長515である。前記パケット処理中フラグ701の値が“1”の場合の残受信バッファ長は前記受信命令510内の受信バッファ長515からコンテキスト700内の処理中命令の受信済みデータ長704を引いたものである。
前記パケット処理中フラグ701の値の初期値は“0”であり、通信装置300および通信装置用のドライバソフトウェア113の初期化後の前記パケット処理中フラグ701は“0”であり、また、送信命令の全パケットの処理が完了した後に前記パケット処理中フラグ701を“0”にクリアする。
ケースA1において、コンテキスト処理部341は、前記受信FIFO212から先頭の受信命令510を取り出し、コンテキスト700内の処理中受信命令710に登録し、前記受信命令処理フラグ701に処理中を示す“1”を書き込み、送信命令番号欄702に、前記パケット600の送信命令番号欄605に記載された送信命令番号を書き込み、最終受信パケット番号欄703に、前記パケット600のパケット番号欄606に記載されたパケット番号を書き込み、処理中受信命令の受信済みデータ長欄704に、前記パケット600のデータ長欄607に記載されたデータ長を書き込み、送信中断済みフラグ705に非中断を示す“0”を書き込む。
Case A1 indicates a case where the value of the
The remaining reception buffer length when the value of the
The initial value of the
In case A1, the
ケースA2においては、パケット処理中フラグ701の値が処理中を示す“1”、送信中断済みフラグ705の値が非中断を示す“0”、残受信バッファ長が十分である場合を示す。ケースA2の場合、前記コンテキストの処理は、“更新”を表し、前記パケットの処理は、“データ処理”を表す。
ケースA2において、コンテキスト処理部341は、受信命令処理フラグ701、送信命令番号欄702は更新せず、最終受信パケット番号欄703に、前記パケット600のパケット番号欄606に記載されたパケット番号を書き込み、送信中断済みフラグ705に非中断を示す“0”を書き込む。
Case A2 shows a case where the value of the
In case A2, the
ケースA1、A2において、前記パケット600のデータ長607が“0”でなかった場合、受信命令510ないの受信バッファ開始アドレス514にコンテキスト700内の処理中受信命令の受信済みデータ長704を加算したアドレスをパケット受信部342に転送し、前記パケット内のデータ608を主記憶装置200へライトすることを指示し、前記パケット600のデータ長607が“0”であった場合、送信命令の最終データであり、送信部320へ受付パケットを転送し、コンテキスト700内の受信命令処理中フラグ701を“0”にクリアする。
In cases A1 and A2, when the
ケースR1においては、パケット処理中フラグ701の値が非処理中を示す“0”、前記パケットに対応する受信命令510が存在し、残受信バッファ長が不十分(受信バッファフル)である場合を示す。ケースR1の場合、前記コンテキストの処理は、“作成し、中断”を表し、前記パケットの処理は、“遠隔命令作成”を表す。
ケースR1において、コンテキスト処理部341は、前記受信FIFO212から先頭の受信命令510を取り出し、コンテキスト700内の処置中受信命令710に登録し、前記受信命令処理フラグ701に処理中を示す“1”を書き込み、送信命令番号欄702に、前記パケット600の送信命令番号欄605に記載された送信命令番号を書き込み、最終受信パケット番号欄703にパケット未受信であることを示す“0”を書き込み、処理中受信命令の受信済みデータ長欄704に“0”を書き込み、送信中断済みフラグ705に中断済みである“1”を書き込み、送り元計算機の送信部320に受信を中断したことを通知するために、自計算機の送信部320へ中断要求パケットを転送する。
In case R1, the case where the value of the
In case R1, the
ケースR2においては、パケット処理中フラグ701の値が非処理中を示す“0”である場合を示す。ケースR2の場合、前記コンテキストの処理は、“作成し、中断”を表し、前記パケットの処理は、“遠隔命令作成”を表す。
ケースR2において、コンテキスト処理部341は、受信命令処理フラグ701に処理中を示す“1”を書き込み、送信命令番号欄702に、前記パケット600の送信命令番号欄605に記載された送信命令番号を書き込み、最終受信パケット番号欄703にパケット未受信であることを示す“0”を書き込み、処理中受信命令の受信済みデータ長欄704に“0”を書き込み、送信中断済みフラグ705に中断済みである“1”を書き込み、送り元計算機の送信部320に受信を中断したことを通知するために、自計算機の送信部320へ中断要求パケットを転送する。
Case R2 shows a case where the value of the
In case R2, the
ケースR3においては、パケット処理中フラグ701の値が処理中を示す“1”、送信中断済みフラグ705の値が非中断を示す“0”、残受信バッファ長が不十分(受信バッファフル)である場合を示す。ケースR3の場合、前記コンテキストの処理は、“中断”を表し、前記パケットの処理は、“遠隔命令作成”を表す。
ケースR3において、コンテキスト処理部341は、受信命令処理フラグ701と、送信命令番号欄702と、最終受信パケット番号欄703は更新せず、送信中断済みフラグ705に中断済みである“1”を書き込み、送り元計算機の送信部320に受信を中断したことを通知するために、自計算機の送信部320へ中断要求パケットを転送する。
In case R3, the value of the
In case R3, the
ケースR1、R2、R3において、コンテキスト処理部341は、遠隔命令(後述)を作成し、前記パケットの接続番号604用の遠隔命令FIFOに登録する。
In cases R1, R2, and R3, the
ケースD1においては、パケット処理中フラグ701の値が処理中を示す“1”、送信中断済みフラグ705の値が中断を示す“1”、である場合を示す。ケースD1の場合、前記コンテキストの処理は、“更新なし”を表し、前記パケットの処理は、“破棄”を表す。
ケースD1において、コンテキスト処理部341は、前記パケット600を破棄する。
Case D1 shows a case where the value of the
In case D1, the
次に、宛先計算機のコンテキスト処理部341がデータ送信パケット600に応じて、前記パケット600の送り元計算機に返信する返信パケットである、中断要求パケット、受付パケットを説明する。
Next, an interruption request packet and an acceptance packet, which are reply packets sent back to the sending computer of the
図9(a)は、本発明の通信システムにおける中断要求パケット610を示す。
中断要求パケット610は、中断要求タイプ欄611と、宛先計算機番号欄612と、送り元計算機番号欄613と、接続番号欄614と、送信命令番号欄615とから構成される。
コンテキスト処理部341が中断要求パケット610を生成するとき、中断要求タイプ欄611に、送信中断を要求することを示す中断要求タイプを書き込み、宛先計算機番号欄612に、データ送信パケット600の宛先計算機番号欄602に記載された宛先計算機番号を書き込み、送り元計算機番号欄613に、データ送信パケット600の送り元計算機番号欄603に記載された送り元計算機番号を書き込み、接続番号欄614に、データ送信パケット600の接続番号欄604に記載された接続番号を書き込み、送信命令番号欄615に、データ送信パケット600の送信命令番号欄605に記載された送信命令番号を書き込む。
FIG. 9A shows an
The
When the
また、前記中断要求パケットのもう一つの実施例として、前記中断要求パケット610に受信済みデータ長を追加し、後述する転送再開時に受信を中断したデータから再度送信する場合の中断要求パケットの生成方法を以下に示す。
前記中断要求パケット610は、前記中断要求タイプ欄611と、前記宛先計算機番号欄612と、前記送り元計算機番号欄613と、前記接続番号欄614と、前記送信命令番号欄615と、受信データ長欄616から構成される。コンテキスト処理部341は、前記コンテキスト700の処理中受信命令のバッファ長713から処理中受信命令の受信済みデータ長704を引いた値である残受信バッファ長を計算し、交換網400から受信したパケットのデータ長607が前記残受信バッファ長より大きい場合に受信バッファフルを検出し、中断要求パケット610の受信データ長欄616に、データ送信パケット600のデータ長欄607に記載されたデータ長を書き込み、受信バッファ222−Jに書き込まれたデータのデータ長を中断要求パケット610によって通知する。
Further, as another example of the interruption request packet, a method for generating an interruption request packet in the case where a received data length is added to the
The
図10は、本発明の通信システムにおける受付パケット620を示す。
コンテキスト処理部341は、データ送信パケット600を受信したパケット受信部342からパケット・ヘッダを受け取ったときに、主記憶装置200のコンテキストテーブル201−1〜201−Nから、パケット・ヘッダ内の接続番号欄604に記載された接続番号“J”に対応するコンテキスト700を取り出す。
前記コンテキスト700の受信命令処理中フラグ欄701には受信命令処理中フラグ、送信中断済みフラグ欄705には送信中断済みフラグの両方がセットされておらず(“0”であり)、パケット・ヘッダ内の接続番号欄604に記載された接続番号“J”に対応する受信命令FIFO212−Jには受信命令510が登録されている場合、コンテキスト処理部341は、データ送信パケット600に対する返信パケットとして受付パケット620を、送信部320を経由して送り元計算機に送信すると共に、受信命令書込指示をパケット受信部342に送信する。パケット受信部342は、受信命令書込指示に応じて、データ送信パケット600のデータ欄608に記載されたデータ(受信データ)を受信バッファ222−Jに書き込む。
FIG. 10 shows an
When the
In the
受付パケット620は、受付タイプ欄621と、宛先計算機番号欄621と、送り元計算機番号欄623と、接続番号欄624と、送信命令番号欄625とを含む。
コンテキスト処理部341は、受付タイプ欄621に受付パケットであることを示す受付タイプを書き込み、宛先計算機番号欄621にデータ送信パケット600の宛先計算機番号欄602に記載された宛先計算機番号を書き込み、送り元計算機番号欄623には、データ送信パケット600の送り元計算機番号欄603に記載された送り元計算機番号を書き込み、接続番号欄624には、データ送信パケット600の接続番号欄604に記載された接続番号を書き込み、送信命令番号欄625には、データ送信パケット600の送信命令番号欄605に記載された送信命令番号を書き込み、受付パケット620を生成する。
The
The
受信命令510をコンテキスト処理部341に発行するときの受信命令FIFO212−Jの管理について説明する。
演算装置110で動作中の受信プロセス111−Jが受信命令510をコンテキスト処理部341に発行する時、受信プロセス111−Jは、自身が使用している主記憶装置200上の受信命令FIFO212−Jに受信命令510を追加し、コンテキスト処理部341内の(レジスタ341’が保持する)受信命令FIFO212−Jのライト・ポインタに、追加した受信命令510の数だけ加算する。
コンテキスト処理部341は、受信命令FIFO212−Jのライト・ポインタと受信命令FIFO212−Jのリード・ポインタとを比較する。コンテキスト処理部341は、比較の結果、差分があれば受信命令510が追加されたと判断し、主記憶装置200のコンテキストテーブル201−1〜201−Nから、接続番号“J”に対応するコンテキスト700を取り出す。
前記コンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグが“1”であり、送信中断済みフラグ欄705の送信中断済みフラグが“0”である場合、コンテキスト処理部341は、前記受信命令510に対応するデータ送信パケット600を受け取るまで待つ。
一方、送信中断済みフラグ欄705の送信中断済みフラグが“1”である場合、コンテキスト処理部341は、接続番号“J”に対応する遠隔命令FIFO213−Jから遠隔命令(第1遠隔命令、第2遠隔命令)を取り出し、再開要求パケット(後述)を作成し、送信部320を経由して後述する再開要求パケットを交換網400に送信する。
The management of the reception command FIFO 212-J when the
When the reception process 111-J operating in the
The
When the received command processing flag in the received command
On the other hand, when the transmission interrupted flag in the transmission interrupted
図11(a)は、本発明の通信システムにおける遠隔命令640を示す。コンテキスト処理部341がパケット受信部342から受け取ったパケット・ヘッダに基づいて遠隔命令640を生成し、主記憶装置200上の遠隔命令FIFO213に登録する。
遠隔命令640は、遠隔命令タイプ欄641と、宛先計算機番号欄642と、送り元計算機番号欄643と、接続番号欄644と、送信命令番号欄645とから構成される。
コンテキスト処理部341が遠隔命令640を生成するとき、遠隔命令タイプ欄641に、遠隔命令であることを示す遠隔命令タイプを書き込み、宛先計算機番号欄642に、データ送信パケット600の宛先計算機番号欄602に記載された宛先計算機番号を書き込み、送り元計算機番号欄643に、データ送信パケット600の送り元計算機番号欄603に記載された送り元計算機番号を書き込み、接続番号欄644に、データ送信パケット600の接続番号欄604に記載された接続番号を書き込み、送信命令番号欄645に、データ送信パケット600の送信命令番号欄605に記載された送信命令番号を書き込む。
FIG. 11 (a) shows a
The
When the
コンテキスト処理部341が遠隔命令640を生成するときに、受信命令FIFO212−Jに受信命令510が登録されているが、受信バッファ222−Jのフルを検出した場合、コンテキスト処理部341は、図11(b)に示されるように、遠隔命令640に受信済みデータ長欄646を追加する。コンテキスト処理部341は、受信済みデータ長欄646に、データ送信パケット600のデータ長欄607に記載されたデータ長を受信済みデータ長として書き込む。
When the
上述したように、通信装置300は、接続番号毎に主記憶装置200上の遠隔命令FIFO213−J(保持バッファ)を使用する(図4参照)。
通信装置300のコンテキスト処理部341内のレジスタ341’は、接続番号毎に、主記憶装置200上の遠隔命令FIFO213−1〜213−Nの先頭アドレスへのポインタと、遠隔命令FIFO213−1〜213−Nのリード・ポインタと、遠隔命令FIFO213−1〜213−Nのライト・ポインタとを保持する。遠隔命令FIFO213−1〜213−Nのライト・ポインタは、コンテキスト処理部341が自身に命令する遠隔命令640の数(命令数;0、1、2、…)を表す。遠隔命令FIFO213−1〜213−Nのライト・ポインタは、コンテキスト処理部341が実行した遠隔命令640の数(命令数;0、1、2、…)を表す。
通信装置用のドライバソフトウェア113は、初期設定時に、主記憶装置200上の遠隔命令FIFO213−1〜213−Nの先頭アドレスへのポインタとして初期値をコンテキスト処理部341内のレジスタ341’に予めに設定し、遠隔命令FIFO213−1〜213−N内の最大命令数を前記レジスタ341’に予めに設定する。通信装置用のドライバソフトウェア113は、前記初期設定時に、遠隔命令FIFO213−1〜213−Nのリード・ポインタと、遠隔命令FIFO213−1〜213−Nのライト・ポインタとを“0”にする。遠隔命令FIFO213−1〜213−Nのリード・ポインタ、ライト・ポインタは、最大命令数を越えた場合、“0”になる。
As described above, the
The
The
コンテキスト処理部341は、遠隔命令640を主記憶装置200(遠隔命令FIFO213−1〜213−N)に1個追加(登録)する毎に、コンテキスト処理部341内の遠隔命令FIFO213−1〜213−Nのライト・ポインタを1だけ加算する。
コンテキスト処理部341は、遠隔命令FIFO213−J(1、2、…、N)のライト・ポインタと受信命令FIFO212−Jのリード・ポインタとを比較する。コンテキスト処理部341は、比較の結果、差分があれば遠隔命令640が追加されたと判断し、遠隔命令FIFO213−Jの先頭アドレスから遠隔命令FIFO213−Jのリード・ポイントの数だけ進んだ位置の遠隔命令640の次の遠隔命令640を主記憶装置200上の遠隔命令FIFO213−Jから制御装置120、メモリ制御部310を経由して取り出して、前記遠隔命令640を実行する。
コンテキスト処理部341は、1つの遠隔命令640を実行する毎に、コンテキスト処理部241内の遠隔命令FIFO213−Jのリード・ポインタを1だけ加算する。コンテキスト処理部341は、遠隔命令FIFO213−Jのリード・ポインタを1だけ加算した後も遠隔命令FIFO213−Jのリード・ポインタと遠隔命令FIFO213−Jのライト・ポインタとの値が異なっていた場合(差分がある場合)、遠隔命令FIFO213−Jのリード・ポイントにより、次の遠隔命令640を主記憶装置200上の遠隔命令FIFO213−Jから制御装置120、メモリ制御部310を経由して取り出して、前記遠隔命令640を実行する。前記処理は、遠隔命令FIFO213−Jのリード・ポインタと遠隔命令FIFO213−Jのライト・ポインタとの差分がなくなるまで実行される。
Each time the
The
Every time one
図12(a)は、本発明の通信システムにおける再開要求パケット630を示す。演算装置110上で動作している受信プロセス111−Jは、受信命令510をコンテキスト処理部341に発行し、コンテキスト処理部341は、主記憶装置200のコンテキストテーブル201−1〜201−Nから接続番号“J”に対応するコンテキスト700を取り出す。コンテキスト700の送信中断済みフラグ欄705の送信中断済みフラグが“1”である場合、コンテキスト処理部341は、遠隔命令FIFO213−Jから遠隔命令640を取り出し、遠隔命令640に基づいて再開要求パケット630を生成し、送信部320を経由して再開要求パケット630を交換網400に送信する。
FIG. 12A shows a
再開要求パケット630は、再開要求タイプ欄631と、宛先計算機番号632と、送り元計算機番号欄633と、接続番号欄634と、送信命令番号欄635とを含む。
コンテキスト処理部341は、再開要求パケット630を生成するとき、再開要求タイプ欄631に、再開要求を示す再開要求タイプを書き込み、宛先計算機番号632に、遠隔命令640の宛先計算機番号欄642に記載された宛先計算機番号を書き込み、送り元計算機番号欄633に、遠隔命令640の送り元計算機番号欄643に記載された送り元計算機番号を書き込み、接続番号欄634に、遠隔命令640の接続番号欄644に記載された接続番号を書き込み、送信命令番号欄635に、遠隔命令640の送信命令番号欄645に記載された送信命令番号を書き込む。
The
When the
コンテキスト処理部341は、受信バッファ222−Jのフルによって送信(転送)の中断を実施しているときに前記転送を再開する場合(再開要求パケット630を送信する場合)、図12(b)に示されるように、再開要求パケット630に受信済みデータ長欄636を追加する。コンテキスト処理部341は、受信済みデータ長欄636に、遠隔命令640の受信済みデータ長欄646に記載された受信済みデータ長を書き込む。
When the transfer is resumed when the transmission (transfer) is interrupted due to the reception buffer 222-J being full (when the
次に、本発明の通信システムの動作として、パケット送信実行処理、パケット受信実行処理、受信命令実行処理について説明する。ここで、送り元計算機を電子計算機100−1とし、宛先計算機を電子計算機100−2とする。 Next, packet transmission execution processing, packet reception execution processing, and reception command execution processing will be described as operations of the communication system of the present invention. Here, the transmission source computer is the electronic computer 100-1, and the destination computer is the electronic computer 100-2.
図13は、本発明の通信システムの動作であるパケット送信実行処理(ステップS1〜S13)を示すフローチャートである。
電子計算機100−1の演算装置110上の送信プロセス111−Jが、主記憶装置200(送信命令FIFO211−J)に送信命令500を書き込み(登録し)、電子計算機100−1の送信部320の命令処理部322内の(レジスタ322’が保持する)送信命令FIFO211−Jのライト・ポインタに前記送信命令500の数だけ加算したとき、電子計算機100−1の送信部320は、パケット送信実行処理を行う。
FIG. 13 is a flowchart showing packet transmission execution processing (steps S1 to S13) which is the operation of the communication system of the present invention.
The transmission process 111-J on the
まず、送信部320は、送信命令取り出し処理を行う(ステップS1)。
送信命令FIFO211−Jのライト・ポインタが更新されたことにより、送信命令FIFO211−Jのライト・ポインタと送信命令FIFO211−Jのリード・ポインタとに差分が発生するため、命令処理部322は、送信命令FIFO211−Jの先頭アドレスから送信命令FIFO211−Jのリード・ポイントの数だけ進んだ位置の送信命令500の次の送信命令500を主記憶装置200上の送信命令FIFO211−Jから制御装置120、メモリ制御部310を経由して取り出して、命令処理部322内の送信命令FIFO211−Jのリード・ポインタに送信命令500を取り出した数だけ加算する。
First, the
Since the write pointer of the transmission command FIFO 211-J is updated, a difference occurs between the write pointer of the transmission command FIFO 211-J and the read pointer of the transmission command FIFO 211-J. Therefore, the
次に、送信部320は、転送長・転送アドレス設定処理を行う(ステップS2)。
命令処理部322は、取り出した送信命令500により、主記憶装置200上の上記の転送長レジスタ231−Jに、送信命令500の転送長欄505に記載された転送長を設定し、主記憶装置200上の上記の転送アドレスレジスタ232−Jに、送信命令500の送信バッファ開始アドレス欄504に記載された送信バッファ開始アドレスを設定し、送信命令500に対応するACKフラグをクリアする。ACKフラグは、セットを示す“1”、又は、クリアを示す“0”で表され、命令処理部322のレジスタ322’に設定されている。
Next, the
The
次に、送信部320は、送信データ取り出し処理を行う(ステップS3)。
命令処理部322は、主記憶装置200上の転送アドレスレジスタ232−Jに設定された送信バッファ開始アドレスから、交換網400上で最大の1パケットのデータ長を越えず、転送長レジスタ231−Jに設定された転送長を超えない最大のデータ長のデータを送信データとして送信バッファ221−Jから取り出して(読み出して)パケット送信部321に転送するように、メモリ制御部310に指示する。すなわち、主記憶装置200から読み出されるデータ長は、Min(1パケットの最大データ長、転送長レジスタ231−Jに設定された転送長)となる。ただし、Min(a、b)は、a<=bの場合にa、a>bの場合にbの値となる関数である。例えば、転送長レジスタ231−Jに設定された転送長が100バイト、1パケットの最大データ長が256バイトの場合、主記憶装置200から取り出されるデータのデータ長はMin(100、256)バイト、すなわち100バイトとなる。
Next, the
The
次に、送信部320は、パケット生成処理を行う(ステップS4)。
パケット送信部321は、データ送信パケット600を生成するために、データ送信パケット600の各欄に必要事項を書き込む。パケット送信部321は、送信タイプを送信タイプ欄601に書き込み、宛先計算機(電子計算機100−2)を識別する宛先計算機番号を宛先計算機番号欄602に書き込み、送り元計算機(電子計算機100−1)を識別する送り元計算機番号を送り元計算機番号欄603に書き込む。更に、パケット送信部321は、宛先プロセス(宛先計算機の受信プロセス)を識別する接続番号を接続番号欄604に書き込み、特定の送信命令500(データ送信パケット600が今生成されたときの送信命令500)を識別するための送信命令番号を送信命令番号欄605に書き込む。更に、パケット送信部321は、送信データが予め決められたパケット(データ送信パケット600)の長さに分割されたときに、同一の送信命令500(上記の特定の送信命令500)で生成された前記データ送信パケット600が前記送信命令500の何番目のデータ送信パケット600であるかを示すパケット番号をパケット番号欄606に書き込む。更に、パケット送信部321は、データ送信パケット600に組み込まれた送信データの長さを示すデータ長をデータ長欄607に書き込み、送信バッファ221−Jから読み出された送信データをデータ欄608に書き込む。
Next, the
The
次に、送信部320は、パケット送信処理を行う(ステップS5)。
パケット送信部321は、生成されたデータ送信パケット600を交換網400に送信する。このように、電子計算機100−1(送り元計算機)は、電子計算機100−2(宛先計算機)の受信命令FIFO212−Jに受信命令510が登録されているか否かに関わらず、データ送信パケット600を電子計算機100−2に転送する。
このため、本発明の通信システムによれば、電子計算機100−1(送り元計算機)は、電子計算機100−2(宛先計算機)に対して、従来の技術で説明されたような事前制御通信を行わずに、データ送信パケット600を転送することができる(データ転送を行うことができる)。
Next, the
The
For this reason, according to the communication system of the present invention, the electronic computer 100-1 (source computer) performs pre-control communication as described in the prior art on the electronic computer 100-2 (destination computer). Without this, the
次に、送信部320は、転送長レジスタ、転送アドレスレジスタ更新処理を行う(ステップS6)。
命令処理部322は、転送長レジスタ231−Jに設定された転送長から、パケット送信部321によりデータ送信パケット600が送信(転送)されたときのデータ長を減算する。同時に、命令処理部322は、転送アドレスレジスタ232−Jに設定された送信バッファ開始アドレスに、データ送信パケット600が送信(転送)されたときのデータ長を加算する。
Next, the
The
次に、送信部320は、中断要求確認処理を行う(ステップS7)。
受信部340のパケット受信部342で受信されたデータ送信パケット600以外のパケットがコンテキスト処理部341を経由して命令処理部322に転送されたとき、命令処理部322は、パケット送信部321が送信(転送)したデータ送信パケット600の送信命令番号欄505に記載された送信命令番号と一致する送信命令番号を含む中断要求パケット610を受信部340(パケット受信部342)が受信したかを確認する。
受信部340(パケット受信部342)が中断要求パケット610を受信していない場合(ステップS7−NO)、送信部320は、受付パケット受信(ステップS10)を行う。
受信部340(パケット受信部342)が中断要求パケット610を受信した場合(ステップS7−YES)、命令処理部322は、電子計算機100−2(宛先計算機)からの中断要求パケット610に応じて、データ送信パケット600の転送を中断し、送信部320は、再開要求受信待ち処理(ステップS8)を行う。
このように、本発明の通信システムによれば、電子計算機100−2(宛先計算機)が受け取れない無駄なデータ転送を早期に抑止し、交換網400を流れる無駄なデータを低減することができる。
Next, the
When a packet other than the
When the reception unit 340 (packet reception unit 342) has not received the interruption request packet 610 (step S7—NO), the
When the reception unit 340 (packet reception unit 342) receives the interruption request packet 610 (step S7-YES), the
Thus, according to the communication system of the present invention, useless data transfer that cannot be received by the electronic computer 100-2 (destination computer) can be prevented at an early stage, and useless data flowing through the
再開要求受信待ち処理(ステップS8)を説明する。
命令処理部322は、パケット送信部321が送信(転送)したデータ送信パケット600の送信命令番号欄505に記載された送信命令番号と一致する送信命令番号を含む再開要求パケット630を受信部340(パケット受信部342)が受信するまで待つ。
The restart request reception waiting process (step S8) will be described.
The
再開要求パケット630を受信した場合(ステップS8−YES)、送信部320は、転送長・転送アドレス再設定処理(ステップS9)を行う。前記転送長・転送アドレス再設定処理には、第1転送長・転送アドレス再設定処理と、第2転送長・転送アドレス再設定処理とが含まれる。第1転送長・転送アドレス再設定処理とは、再開要求パケット630による再開要求時に送信データの全てを送信(転送)する処理である。第2転送長・転送アドレス再設定処理とは、再開要求パケット630による再開要求時に、送信データのうち、宛先計算機(電子計算機100−2)が既に受信したデータ以外のデータ(残りデータ)を送信(転送)する処理である。
When the
第1転送長・転送アドレス再設定処理では、命令処理部322は、先に取り出した送信命令500により、主記憶装置200上の転送長レジスタ231−Jに、送信命令500の転送長欄505に記載された転送長を設定し、主記憶装置200上の転送アドレスレジスタ232−Jに、送信命令500の送信バッファ開始アドレス欄504に記載された送信バッファ開始アドレスを設定する。
In the first transfer length / transfer address resetting process, the
第2転送長・転送アドレス再設定処理では、命令処理部322は、第1転送長・転送アドレス再設定処理を実行した後、転送長レジスタ231−Jに設定された転送長から、再開要求パケット630の受信済みデータ長欄636に記載された受信済みデータ長を減算する。同時に、命令処理部322は、転送アドレスレジスタ232−Jに設定された送信バッファ開始アドレスに、受信済みデータ長を加算する。
In the second transfer length / transfer address reset process, the
送信部320は、転送長・転送アドレス再設定処理(ステップS9)を行った後、再度、送信データ取り出し処理を行う(ステップS3)。
本発明の通信システムによれば、電子計算機100−1(送り元計算機)は、電子計算機100−2(宛先計算機)が受け取れないデータのみを再度転送すればよいため、電子計算機100−2(宛先計算機)に対して、従来の技術で説明されたような事前制御通信を行わずに、データ送信パケット600を転送することができる(データ転送を行うことができる)。
本発明の通信システムによれば、電子計算機100−1(送り元計算機)は、再開要求パケット630に含まれる受信済みデータ長を参照して、先にデータ送信パケット600にて転送したデータのデータ長のうちの、受信済みデータ長以外のデータ長を有するデータ(上記の残りデータ)を電子計算機100−2(宛先計算機)に転送すればよい。このため、本発明の通信システムによれば、前記残りデータを電子計算機100−1(送り元計算機)から電子計算機100−2(宛先計算機)に転送するときの転送時間は、例えば、先に転送したデータを電子計算機100−1(送り元計算機)から電子計算機100−2(宛先計算機)に始めから転送した場合の転送時間よりも短くなる。
After performing the transfer length / transfer address resetting process (step S9), the
According to the communication system of the present invention, the electronic computer 100-1 (source computer) only has to transfer again data that cannot be received by the electronic computer 100-2 (destination computer). The
According to the communication system of the present invention, the electronic computer 100-1 (sender computer) refers to the received data length included in the
受付パケット受信処理(ステップS10)を説明する。
命令処理部322は、パケット送信部321が送信(転送)したデータ送信パケット600の送信命令番号欄505に記載された送信命令番号と一致する送信命令番号を含む受付パケット620を受信部340(パケット受信部342)が受信したかを確認する。
受信部340(パケット受信部342)が受付パケット620を受信した場合(ステップS10−YES)、送信部320は、ACKフラグ・セット処理(ステップS11)を行う。
受信部340(パケット受信部342)が受付パケット620を受信していない場合(ステップS10−NO)、送信部320は、残転送長確認処理(ステップS12)を行う。
The received packet reception process (step S10) will be described.
The
When the reception unit 340 (packet reception unit 342) receives the reception packet 620 (step S10—YES), the
When the reception unit 340 (packet reception unit 342) has not received the reception packet 620 (step S10—NO), the
ACKフラグ・セット処理(ステップS11)を説明する。
命令処理部322は、受信部340からの受付パケット620により、送信命令500に対応するACKフラグ“1”をセットする。前記セットされたACKフラグは、送り元計算機(電子計算機100−1)からの送信命令500(データ送信パケット600)に対して、宛先計算機(電子計算機100−2)から受付パケット620を受信したことを示す。
The ACK flag setting process (step S11) will be described.
The
残転送長確認処理(ステップS12)を説明する。
命令処理部322は、主記憶装置200上の転送長レジスタ231−Jに設定された転送長が0以下であるか確認する。
転送長レジスタ231−Jに設定された転送長が0以下であれば、送信部320は、ACKフラグ確認処理(ステップS13)を行う。
転送長レジスタ231−Jに設定された転送長が0より大きければ、送信部320は、再度、送信データ取り出し処理を行う(ステップS3)を行う。
The remaining transfer length confirmation process (step S12) will be described.
The
If the transfer length set in the transfer length register 231-J is 0 or less, the
If the transfer length set in the transfer length register 231-J is larger than 0, the
ACKフラグ確認処理(ステップS13)を説明する。
命令処理部322は、送信命令500に対応するACKフラグがセットされているか(“1”であるか)確認する。
送信命令500に対応するACKフラグがセットされている場合、送信部320は、パケット送信実行処理を完了する。
送信命令500に対応するACKフラグがクリアである場合、送信部320は、再度、中断要求確認処理を行う(ステップS7)を行う。
The ACK flag confirmation process (step S13) will be described.
The
When the ACK flag corresponding to the
If the ACK flag corresponding to the
図14は、本発明の通信システムの動作であるパケット受信実行処理(ステップS21〜S33)を示すフローチャートである。
電子計算機100−2の受信部340のパケット受信部342が、交換網400を介して電子計算機100−1(送り元計算機)から送信されたパケットを受信したとき、電子計算機100−2(宛先計算機)の受信部340は、パケット受信実行処理を行う。
FIG. 14 is a flowchart showing packet reception execution processing (steps S21 to S33) which is the operation of the communication system of the present invention.
When the
まず、受信部340は、パケット判別処理を行う(ステップS21)。
受信部340のパケット受信部342は、受信した受信パケットがデータ送信パケット600であるか判別する。パケット受信部342は、受信パケットがデータ送信パケット600である場合、受信パケット(データ送信パケット600)の送信タイプ欄601に記載された送信タイプにより確認する。
受信パケットがデータ送信パケット600ではない場合、受信部340は、送信部通知処理(ステップS22)を実行する。
受信パケットがデータ送信パケット600である場合、受信部340は、コンテキストロード処理(ステップS23)を実行する。
First, the receiving
The
If the received packet is not the
When the received packet is the
送信部通知処理(ステップS22)を説明する。
パケット受信部342は、受信パケットがデータ送信パケット600ではないため、コンテキスト処理部341を経由して、送信部320の命令処理部322に前記パケットを転送する。受信部340は、送信部通知処理を行った後、パケット受信実行処理を完了する。
A transmission part notification process (step S22) is demonstrated.
Since the received packet is not the
コンテキストロード処理(ステップS23)を説明する。
受信パケット(データ送信パケット600)である場合、パケット受信部342は、前記受信パケット(受信パケット600とする)のパケット・ヘッダをコンテキスト処理部341に転送する。コンテキスト処理部341は、主記憶装置200のコンテキストテーブル201−1〜201−Nから、パケット・ヘッダの接続番号欄604に記載された接続番号“J”に対応するコンテキスト700を取り出す(ロードする)。
The context load process (step S23) will be described.
In the case of a received packet (data transmission packet 600), the
次に、受信部340は、受信命令確認処理(ステップS24)を行う。
Next, the
ケースA2の場合、即ち、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグが“1”であり、送信中断済みフラグ欄705の送信中断済みフラグが“0”であり、残受信バッファ長が十分である場合、コンテキスト処理部341は、前記受信命令510に対応する受信パケット(データ送信パケット600)を受け取るまで待つ。前記受信パケット600を受け取ったとき(ステップS24−NO)、コンテキスト処理部341は、第1パケット確認処理(ステップS25)を行う。
In case A2, that is, the received instruction processing flag in the received instruction
ケースA1の場合、即ち、前記ロードされたコンテキスト700の送信中断済みフラグ欄705の送信中断済みフラグが“0”であり、パケット・ヘッダ内の接続番号欄604に記載された接続番号“J”に対応する受信命令FIFO212−Jに受信命令510が登録され、残受信バッファ長が十分である場合(ステップS24−NO)、コンテキスト処理部341は、第1パケット確認処理(ステップS25)を行う。
In case A1, that is, the transmission interrupted flag in the transmission interrupted
ケースR2の場合、即ち、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグが“0”であり、前記コンテキスト700の送信中断済みフラグ欄705の送信中断済みフラグが“0”であり、パケット・ヘッダ内の接続番号欄604に記載された値“J”に対応する受信命令FIFO212−Jに受信命令510が登録されていない場合(ステップS24−YES)、コンテキスト処理部341は、遠隔命令ストア処理(ステップS32)を行う。
In case R2, that is, the received instruction processing flag in the received instruction
ケースR1の場合、即ち、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグが“0”であり、前記コンテキスト700の送信中断済みフラグ欄705の送信中断済みフラグが“0”であり、パケット・ヘッダ内の接続番号欄604に記載された値“J”に対応する受信命令FIFO212−Jに受信命令510が登録されているが、残受信バッファ長が不十分(受信バッファフル)である場合(ステップS24−YES)、コンテキスト処理部341は、遠隔命令ストア処理(ステップS32)を行う。
In the case of case R1, that is, the received instruction processing flag in the received instruction
ケースR3の場合、即ち、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグが“1”であり、前記コンテキスト700の送信中断済みフラグ欄705の送信中断済みフラグが“0”であり、残受信バッファ長が不十分(受信バッファフル)である場合(ステップS24−YES)、コンテキスト処理部341は、遠隔命令ストア処理(ステップS32)を行う。
In case R3, that is, the received instruction processing flag in the received instruction
なお、ケースD1の場合、即ち、前記ロードされたコンテキスト700の送信中断済みフラグ欄705の送信中断済みフラグが“1”であり、送信中断済みフラグ欄705の送信中断済みフラグが“1”である場合、受信部340のコンテキスト処理部341は、前記受信パケット600を破棄する。
In case D1, that is, the transmission interrupted flag in the transmission interrupted
第1パケット確認処理(ステップS25)を説明する。 The first packet confirmation process (step S25) will be described.
前記ケースA2では、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグが“1”であるため、同一の送信命令500(上述の特定の送信命令500)で生成された受信パケット600のうちの1番目の受信パケット(第1パケット)ではない(ステップS25−NO)。すなわち、パケット・ヘッダ内のパケット番号欄606に記載されたパケット番号が最初のパケット番号ではなく、受信部340は、後続の受信パケット600を待っている状態であり、受信部340は、受信データストア処理(ステップS28)を行う。
In the case A2, since the received command processing flag in the received command
前記ケースA1では、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグが“0”であるため、同一の送信命令500(上述の特定の送信命令500)で生成された受信パケット600のうちの1番目の受信パケット(第1パケット)である(ステップS25−YES)。すなわち、パケット・ヘッダ内のパケット番号欄606に記載されたパケット番号が最初のパケット番号を表し、受信部340は、受信命令取り出し処理(ステップS26)を行う。
In the case A1, since the received command processing flag in the received command
受信命令取り出し処理(ステップS26)を説明する。
受信部340のコンテキスト処理部341は、パケット・ヘッダ内の接続番号欄604に記載された接続番号“J”に一致する受信命令FIFO212−Jを参照し、前記受信命令FIFO212−Jに登録された受信命令510を取り出す。コンテキスト処理部341は、前記受信命令510の受信タイプ欄511、受信バッファ開始アドレス欄514、受信バッファ長欄515に、前記ロードされたコンテキスト700の処理中受信命令欄710の受信タイプ欄711、受信バッファ開始アドレス欄712、受信バッファ長欄713に記載された内容を書き込む(更新する)。コンテキスト処理部341は、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701に受信命令処理中フラグ“1”をセットする。コンテキスト処理部341は、前記ロードされたコンテキスト700の送信命令番号欄702に、パケット・ヘッダ内の送信命令番号欄605に記載された送信命令番号を書き込む(更新する)。コンテキスト処理部341は、前記ロードされたコンテキスト700の最終受信パケット番号欄703に、パケット・ヘッダ内のパケット番号欄606に記載されたパケット番号を書き込む(更新する)。コンテキスト処理部341は、前記ロードされたコンテキスト700の処理中受信命令の受信済みデータ長欄704に“0”を書き込む(設定する)。前記ステップでは、前記ロードされたコンテキスト700の送信中断済みフラグ欄705には、“0”が書き込まれているため(送信中断済みフラグがセットされていないため)、更新しない。
The received command extraction process (step S26) will be described.
The
次に、受信部340は、受付パケット送信処理(ステップS27)を行う。
受信部340のコンテキスト処理部341は、受信パケット600に対する返信パケットとして受付パケット620を生成したとき、受付タイプを受付タイプ欄621に書き込み、パケット・ヘッダ内の宛先計算機番号欄602に記載された宛先計算機番号を宛先計算機番号欄621に書き込み、パケット・ヘッダ内の送り元計算機番号欄603に記載された送り元計算機番号を送り元計算機番号欄623に書き込み、パケット・ヘッダ内の接続番号欄604に記載された接続番号を接続番号欄624に書き込み、パケット・ヘッダ内の送信命令番号欄605に記載された送信命令番号を送信命令番号欄625に書き込む。コンテキスト処理部341は、前記受付パケット620を、送信部320を経由して送り元計算機(電子計算機100−1)に送信する。その後、受信部340は、受信データストア処理(ステップS28)を行う。
Next, the receiving
When the
受信データストア処理(ステップS28)を説明する。
コンテキスト処理部341は、受信命令書込指示をパケット受信部342に送信する。パケット受信部342は、受信命令書込指示に応じて、受信パケット600のデータ欄608に記載されたデータ(受信データ)を受信バッファ222−Jにストアする(書き込む/登録する)。
コンテキスト700の処理中受信命令のバッファ長欄713に記載されたバッファ長をBLENとし、コンテキスト700の処理中受信命令の受信済みデータ長欄704に記載されたデータ長をRLENとし、受信パケット600のデータ長欄607に記載されたデータ長をPLENとした場合、主記憶装置200上の受信バッファ222−Jに書き込むデータサイズWLENは、数1により決定される。
The received data store process (step S28) will be described.
The
The buffer length described in the buffer length column 713 of the processing instruction received in the
パケット受信部342は、受信パケット600のデータ欄608に記載されたデータ(受信データ)を、コンテキスト700の処理中受信命令の受信バッファ開始アドレス712にRLENを加算したアドレスにWLENの指定する長さだけ書き込む。
The length of the
次に、受信部340は、最終パケット確認処理(ステップS29)を行う。
受信部340のコンテキスト処理部341は、受信パケット600のデータ長欄607に記載されたデータ長が0であるか確認する。
前記データ長が0である場合(ステップS29−YES)、前記受信パケット(データ送信パケット600)は、同一の送信命令500(上述の特定の送信命令500)で生成された受信パケット600のうちの最後の受信パケット(最終パケット)であるため、受信部340は、受信命令完了処理(ステップS30)を行う。
前記データ長が0ではない場合(ステップS29−NO)、前記受信パケット(データ送信パケット600)は、同一の送信命令500(上述の特定の送信命令500)で生成された受信パケット600のうちの最後の受信パケット(最終パケット)ではないため、受信部340は、コンテキスト書き戻し(ステップS31)を行う。
Next, the receiving
The
When the data length is 0 (step S29-YES), the received packet (data transmission packet 600) is the same as the received
When the data length is not 0 (step S29-NO), the received packet (data transmission packet 600) is the received
受信命令完了処理(ステップS30)を説明する。
コンテキスト処理部341は、前記ロードされたコンテキスト700の受信命令処理中フラグ欄701の受信命令処理中フラグをクリアにする。すなわち、受信命令処理中フラグ欄701に“0”を書き込む(設定する)。
The reception command completion process (step S30) will be described.
The
コンテキスト書き戻し(ステップS31)を説明する。
コンテキスト処理部341は、主記憶装置200のコンテキストテーブル201−Jに、前記ロードされたコンテキスト700を書き戻し、受信部340は、パケット受信実行処理を完了する。
The context write-back (step S31) will be described.
The
本発明の通信システムによれば、電子計算機100−1(送り元計算機)が事前制御通信を行わずにデータ転送を行うため、データ転送の開始から完了までのレイテンシ(実行時間)は、従来の技術で説明されたような事前制御通信を開始してからデータ転送の完了までのレイテンシ(実行時間)よりも低減する。 According to the communication system of the present invention, since the electronic computer 100-1 (source computer) performs data transfer without performing prior control communication, the latency (execution time) from the start to the completion of data transfer is the conventional one. This is less than the latency (execution time) from the start of pre-control communication as described in the technology to the completion of data transfer.
遠隔命令ストア処理(ステップS32)を説明する。
前記ケースR1、R2、R3において、コンテキスト処理部341は、遠隔命令640を生成するとき、遠隔命令タイプを遠隔命令タイプ欄641に書き込み、パケット・ヘッダ内の宛先計算機番号欄602に記載された宛先計算機番号を宛先計算機番号欄642に書き込み、パケット・ヘッダ内の送り元計算機番号欄603に記載された送り元計算機番号を送り元計算機番号欄643に書き込み、パケット・ヘッダ内の接続番号欄604に記載された接続番号を接続番号欄644に書き込み、パケット・ヘッダ内の送信命令番号欄605に記載された送信命令番号を送信命令番号欄645に書き込む。
受信命令FIFO212−Jに受信命令510が登録されているが、受信バッファ222−Jのフルを検出した場合、コンテキスト処理部341は、パケット・ヘッダ内のデータ長欄607に記載されたデータ長を受信済みデータ長として受信済みデータ長欄646に書き込む。
The remote instruction store process (step S32) will be described.
In the cases R1, R2, and R3, when generating the
When the
次に、受信部340は、中断要求パケット送信処理(ステップS33)を行う。
前記ケースR1、R2、R3において、コンテキスト処理部341は、受信パケット600に対する返信パケットとして中断要求パケット610を生成するとき、中断要求タイプを中断要求タイプ欄611に書き込み、パケット・ヘッダ内の宛先計算機番号欄602に記載された宛先計算機番号を宛先計算機番号欄612に書き込み、パケット・ヘッダ内の送り元計算機番号欄603に記載された送り元計算機番号を送り元計算機番号欄613に書き込み、パケット・ヘッダ内の接続番号欄604に記載された接続番号を接続番号欄614に書き込み、パケット・ヘッダ内の送信命令番号欄605に記載された送信命令番号を送信命令番号欄615に書き込む。
Next, the receiving
In the cases R1, R2, and R3, when generating the
前記ケースR1において、コンテキスト処理部341は、前記中断要求パケット610を、送信部320を経由して送り元計算機(電子計算機100−1)に送信すると同時に、受信FIFO212から先頭の受信命令510を取り出し、コンテキスト700の処置中受信命令欄710に登録し、受信命令処理フラグ欄701に受信命令処理フラグ“1”をセットし、送信命令番号欄702に、パケット・ヘッダ内の送信命令番号欄605に記載された送信命令番号を書き込み、最終受信パケット番号欄703にパケット未受信であることを示す“0”を書き込み、処理中受信命令の受信済みデータ長欄704に“0”を書き込み、送信中断済みフラグ欄705に送信中断済みフラグ“1”をセットし、パケット受信実行処理を完了する。
In the case R1, the
前記ケースR2において、コンテキスト処理部341は、前記中断要求パケット610を前記送り元計算機(電子計算機100−1)に送信すると同時に、受信命令処理フラグ欄701に受信命令処理フラグ“1”をセットし、送信命令番号欄702に、パケット・ヘッダ内の送信命令番号欄605に記載された送信命令番号を書き込み、最終受信パケット番号欄703にパケット未受信であることを示す“0”を書き込み、処理中受信命令の受信済みデータ長欄704に“0”を書き込み、送信中断済みフラグ欄705に送信中断済みフラグ“1”をセットし、パケット受信実行処理を完了する。
In the case R2, the
前記ケースR3において、コンテキスト処理部341は、前記中断要求パケット610を前記送り元計算機(電子計算機100−1)に送信すると同時に、受信命令処理フラグ欄701と送信命令番号欄702と最終受信パケット番号欄703とを更新せずに、送信中断済みフラグ欄705に送信中断済みフラグ“1”をセットし、パケット受信実行処理を完了する。
In the case R3, the
本発明の通信システムによれば、電子計算機100−2(宛先計算機)は、データ送信パケット600の転送を中断するための中断要求パケット610を送信するため、電子計算機100−2(宛先計算機)が受け取れない無駄なデータ転送を早期に抑止し、交換網400を流れる無駄なデータを低減することができる。
According to the communication system of the present invention, since the electronic computer 100-2 (destination computer) transmits the
図15は、本発明の通信システムの動作である受信命令実行処理(ステップS41〜S45)を示すフローチャートである。演算装置110上の受信プロセス111−Jが、主記憶装置200(受信命令FIFO212−J)に受信命令510を書き込み(登録し)、コンテキスト処理部341内の(レジスタ341’が保持する)受信命令FIFO212−Jのライト・ポインタに前記送信命令500の数だけ加算したとき、受信命令実行処理が受信部340(コンテキスト処理部341)により行われる。
FIG. 15 is a flowchart showing reception command execution processing (steps S41 to S45) which is the operation of the communication system of the present invention. The reception process 111-J on the
まず、コンテキスト処理部341は、コンテキストロード処理を行う(ステップS41)。
コンテキスト処理部341は、受信命令FIFO212−Jに登録された受信命令510により、コンテキストテーブル201−1〜201−Nを参照して、コンテキスト700−Jを取り出す(ロードする)。
First, the
The
次に、コンテキスト処理部341は、中断命令確認処理を行う(ステップS42)。
コンテキスト処理部341は、前記ロードされたコンテキスト700の送信中断済みフラグ欄705に送信中断済みフラグ“1”がセットされているか確認する。
送信中断済みフラグ“1”がセットされていた場合、コンテキスト処理部341は、遠隔命令取り出し処理(ステップS43)を行う。
送信中断済みフラグがセットされていなかった(“0”であった)場合、コンテキスト処理部341は、再開要求処理(ステップS45)を行う。
Next, the
The
When the transmission interrupted flag “1” is set, the
When the transmission interrupted flag is not set (it is “0”), the
遠隔命令取り出し処理(ステップS43)を説明する。
遠隔命令FIFO213−Jのライト・ポインタが更新されたことにより、遠隔命令FIFO213−Jのライト・ポインタと遠隔命令FIFO213−Jのリード・ポインタとに差分が発生するため、コンテキスト処理部341は、遠隔命令FIFO213−Jの先頭アドレスから遠隔命令FIFO213−Jのリード・ポイントの数だけ進んだ位置の遠隔命令640の次の遠隔命令640を主記憶装置200上の遠隔命令FIFO213−Jから制御装置120、メモリ制御部310を経由して取り出して、コンテキスト処理部341内の遠隔命令FIFO213−Jのリード・ポインタに遠隔命令640を取り出した数だけ加算する。
The remote command fetch process (step S43) will be described.
As the write pointer of the remote instruction FIFO 213-J is updated, a difference occurs between the write pointer of the remote instruction FIFO 213-J and the read pointer of the remote instruction FIFO 213-J. The
次に、コンテキスト処理部341は、コンテキスト書き出し処理を行う(ステップS44)。
コンテキスト処理部341は、前記ロードされたコンテキスト700の送信中断済みフラグ欄705の送信中断済みフラグをクリアにする。すなわち、送信中断済みフラグ欄705に“0”を書き込む(設定する)。コンテキスト処理部341は、主記憶装置200のコンテキストテーブル201−Jに、前記ロードされたコンテキスト700を書き戻す。
Next, the
The
再開要求処理(ステップS45)を説明する。
コンテキスト処理部341は、取り出した遠隔命令640により、再開要求パケット630を生成したとき、再開要求タイプを再開要求タイプ欄631に書き込み、遠隔命令640の宛先計算機番号欄642に記載された宛先計算機番号を宛先計算機番号632に書き込み、遠隔命令640の送り元計算機番号欄643に記載された送り元計算機番号を送り元計算機番号欄633に書き込み、遠隔命令640の接続番号欄644に記載された接続番号を接続番号欄634に書き込み、遠隔命令640の送信命令番号欄645に記載された送信命令番号を送信命令番号欄635に書き込む。
コンテキスト処理部341は、受信バッファ222−Jのフルによって送信(転送)の中断を実施しているときに前記転送を再開する場合、遠隔命令640の受信済みデータ長欄646に記載された受信済みデータ長を受信済みデータ長欄636に書き込む。
コンテキスト処理部341は、前記再開要求パケット630を、送信部320を経由して交換網400に送信する。
コンテキスト処理部341は、再開要求処理を行った後、受信命令実行処理を完了する。
The restart request process (step S45) will be described.
When the
When the
The
After performing the restart request process, the
このように、本発明の通信システムによれば、電子計算機100−2(宛先計算機)は、中断されたデータ送信パケット600の転送を再開するための再開要求パケット630を送信するため、電子計算機100−1(送り元計算機)は、電子計算機100−2(宛先計算機)が受け取れないデータのみを再度転送すればよい。このため、本発明の通信システムによれば、電子計算機100−2(宛先計算機)に対して、従来の技術で説明されたような事前制御通信を行わずに、データ送信パケット600を転送することができる(データ転送を行うことができる)。
As described above, according to the communication system of the present invention, the electronic computer 100-2 (destination computer) transmits the
再開要求パケット630に、電子計算機100−1(送り元計算機)からのデータ送信パケット600のデータのうちの、受信バッファ222−Jに書き込まれたデータのデータ長(受信済みデータ長)が含まれる場合、再開要求パケット630は、電子計算機100−1(送り元計算機)からのデータ送信パケット600のデータのうち、受信バッファ222に書き込まれたデータ以外のデータの転送を要求するための情報(パケット)である。このように、本発明の通信システムによれば、電子計算機100−1(送り元計算機)は、再開要求パケット630に含まれる受信済みデータ長を参照して、先にデータ送信パケット600にて転送したデータのデータ長のうちの、受信済みデータ長以外のデータ長を有するデータ(上記の残りデータ)を電子計算機100−2(宛先計算機)に転送すればよい。このため、本発明の通信システムによれば、前記残りデータを電子計算機100−1(送り元計算機)から電子計算機100−2(宛先計算機)に転送するときの転送時間は、例えば、先に転送したデータを電子計算機100−1(送り元計算機)から電子計算機100−2(宛先計算機)に始めから転送した場合の転送時間よりも短くなる。
The
以上の説明により、本発明の通信システムによれば、電子計算機100−1(送り元計算機)は、電子計算機100−2(宛先計算機)に対して、従来の技術で説明されたような事前制御通信を行わずに、データ送信パケット600を転送することができる(データ転送を行うことができる)。
As described above, according to the communication system of the present invention, the electronic computer 100-1 (source computer) controls the electronic computer 100-2 (destination computer) in advance as described in the prior art. The
本発明の通信システムによれば、電子計算機100−1(送り元計算機)が事前制御通信を行わずにデータ転送を行うため、データ転送の開始から完了までのレイテンシ(実行時間)は、従来の技術で説明されたような事前制御通信を開始してからデータ転送の完了までのレイテンシ(実行時間)よりも低減する。 According to the communication system of the present invention, since the electronic computer 100-1 (source computer) performs data transfer without performing prior control communication, the latency (execution time) from the start to the completion of data transfer is the conventional one. This is less than the latency (execution time) from the start of pre-control communication as described in the technology to the completion of data transfer.
本発明の通信システムによれば、電子計算機100−2(宛先計算機)は、データ送信パケット600の転送を中断するための中断要求パケット610を送信するため、電子計算機100−2(宛先計算機)が受け取れない無駄なデータ転送を早期に抑止し、交換網400を流れる無駄なデータを低減することができる。
According to the communication system of the present invention, since the electronic computer 100-2 (destination computer) transmits the
このように、本発明の通信システムによれば、電子計算機100−2(宛先計算機)は、中断されたデータ送信パケット600の転送を再開するための再開要求パケット630を送信するため、電子計算機100−1(送り元計算機)は、電子計算機100−2(宛先計算機)が受け取れないデータのみを再度転送すればよい。このため、本発明の通信システムによれば、電子計算機100−2(宛先計算機)に対して、従来の技術で説明されたような事前制御通信を行わずに、データ送信パケット600を転送することができる(データ転送を行うことができる)。
As described above, according to the communication system of the present invention, the electronic computer 100-2 (destination computer) transmits the
再開要求パケット630に、電子計算機100−1(送り元計算機)からのデータ送信パケット600のデータのうちの、受信バッファ222−Jに書き込まれたデータのデータ長(受信済みデータ長)が含まれる場合、再開要求パケット630は、電子計算機100−1(送り元計算機)からのデータ送信パケット600のデータのうち、受信バッファ222に書き込まれたデータ以外のデータの転送を要求するための情報(パケット)である。このように、本発明の通信システムによれば、電子計算機100−1(送り元計算機)は、再開要求パケット630に含まれる受信済みデータ長を参照して、先にデータ送信パケット600にて転送したデータのデータ長のうちの、受信済みデータ長以外のデータ長を有するデータ(上記の残りデータ)を電子計算機100−2(宛先計算機)に転送すればよい。このため、本発明の通信システムによれば、前記残りデータを電子計算機100−1(送り元計算機)から電子計算機100−2(宛先計算機)に転送するときの転送時間は、例えば、先に転送したデータを電子計算機100−1(送り元計算機)から電子計算機100−2(宛先計算機)に始めから転送した場合の転送時間よりも短くなる。
The
100−1 電子計算機
100−2 電子計算機
100−3 電子計算機
110 演算装置
111、111−1〜111−N プロセス
113 ドライバソフトウェア
120 制御装置
200 主記憶装置
201 コンテキストテーブル
211、211−1〜211−N 送信命令FIFO
212、212−1〜212−N 受信命令FIFO
213、213−1〜213−N 遠隔命令FIFO
221、221−1〜221−N 送信バッファ
222、222−1〜222−N 受信バッファ
231 転送長レジスタ
232 転送アドレスレジスタ
300 通信装置
310 メモリ制御部
320 送信部
321 パケット送信部
322 命令処理部
322’ レジスタ
340 受信部
341 コンテキスト処理部
341’ レジスタ
342 パケット受信部
400 交換網
500 送信命令
501 送信タイプ欄
502 宛先計算機番号欄
503 接続番号欄
504 送信バッファ開始アドレス欄
505 転送長欄
510 受信命令
511 受信タイプ欄
512 宛先計算機番号欄
513 接続番号欄
514 受信バッファ開始アドレス欄
515 受信バッファ長欄
600 データ送信パケット
601 送信タイプ欄
602 宛先計算機番号欄
603 送り元計算機番号欄
604 接続番号欄
605 送信命令番号欄
606 パケット番号欄
607 データ長欄
608 データ欄
610 中断要求パケット
611 中断要求タイプ欄
612 宛先計算機番号欄
613 送り元計算機番号欄
614 接続番号欄
615 送信命令番号欄
616 受信データ長欄
620 受付パケット
621 受付タイプ欄
622 宛先計算機番号欄
623 送り元計算機番号欄
624 接続番号欄
625 送信命令番号欄
630 再開要求パケット
631 再開要求タイプ欄
632 宛先計算機番号欄
633 送り元計算機番号欄
634 接続番号欄
635 送信命令番号欄
636 受信済みデータ長欄
640 遠隔命令
641 遠隔命令タイプ欄
642 宛先計算機番号欄
643 送り元計算機番号欄
644 接続番号欄
645 送信命令番号欄
646 受信済みデータ長欄
700 コンテキスト
701 受信命令処理中フラグ欄
702 送信命令番号欄
703 最終受信パケット番号欄
704 処理中受信命令の受信済みデータ長欄
705 送信中断済みフラグ欄
710 処理中受信命令欄
711 処理中受信命令の受信タイプ欄
712 処理中受信命令の受信バッファ開始アドレス欄
713 処理中受信命令のバッファ長欄
100-1 electronic computer 100-2 electronic computer 100-3
212, 212-1 to 212-N Receive command FIFO
213, 213-1 to 213-N Remote command FIFO
221, 221-1 to 221 -N transmission buffer 222, 222-1 to 222 -N reception buffer 231 transfer length register 232 transfer address register 300 communication device 310 memory control unit 320 transmission unit 321 packet transmission unit 322 instruction processing unit 322 ′ Register 340 Reception unit 341 Context processing unit 341 'Register 342 Packet reception unit 400 Switching network 500 Transmission command 501 Transmission type column 502 Destination computer number column 503 Connection number column 504 Transmission buffer start address column 505 Transfer length column 510 Reception command 511 Reception type Field 512 Destination computer number field 513 Connection number field 514 Reception buffer start address field 515 Reception buffer length field 600 Data transmission packet 601 Transmission type field 602 Destination computer number field 603 Source computer number field 604 Connection Number field 605 Transmission command number field 606 Packet number field 607 Data length field 608 Data field 610 Interrupt request packet 611 Interrupt request type field 612 Destination computer number field 613 Source computer number field 614 Connection number field 615 Transmission command number field 616 Received data Long field 620 Accepted packet 621 Accepted type field 622 Destination computer number field 623 Source computer number field 624 Connection number field 625 Transmission command number field 630 Resume request packet 631 Resume request type field 632 Destination computer number field 633 Source computer number field 634 Connection number column 635 Transmission command number column 636 Received data length column 640 Remote command 641 Remote command type column 642 Destination computer number column 643 Source computer number column 644 Connection number column 645 Transmission command number column 646 Received data length column 700 701 Receive command processing flag column 702 Transmission command number column 703 Last received packet number column 704 Received data length column 705 of processing received command Transmission interrupted flag column 710 Received command column 711 Processing type of received command Field 712 Receive buffer start address field for receive command being processed 713 Buffer length field for receive command being processed
Claims (3)
前記ネットワークに接続され、データを含むパケットを前記第1電子計算機に転送する第2電子計算機とを具備し、
前記第1電子計算機は、通信装置と、演算装置と、受信バッファと、保持バッファとを備え、
前記通信装置は、
前記演算装置によって受信命令が発行されたときに、前記パケットの前記データを前記受信バッファに書き込む第1受信処理部と、
前記演算装置によって前記受信命令が発行されていないときに、前記パケットの転送を中断するための中断要求を前記第2電子計算機に送信すると共に、前記パケットに関する転送情報を前記保持バッファに登録する第2受信処理部と、
前記演算装置によって次の受信命令が発行されたときに、前記保持バッファに登録された前記転送情報を参照して、前記中断されたパケットの転送を再開するための再開要求を前記第2電子計算機に送信する送信処理部と、
前記第1受信処理部によって前記受信バッファに書き込まれる前記データのデータ長が、前記受信バッファが保持することができるデータのデータ長を超えるときに、前記中断要求を前記第2電子計算機に送信すると共に、前記転送情報を前記保持バッファに登録する第3受信処理部とを備え、
前記転送情報と前記再開要求とは、前記データのうちの、前記第1受信処理部によって前記受信バッファに書き込まれたデータのデータ長を含み、
前記再開要求は、前記データのうち、前記受信バッファに書き込まれたデータ以外のデータの転送を要求するための情報である
通信システム。 A first computer connected to the network;
A second electronic computer connected to the network and transferring packets containing data to the first electronic computer;
The first electronic computer includes a communication device, an arithmetic device, a reception buffer, and a holding buffer.
The communication device
A first reception processing unit that writes the data of the packet into the reception buffer when a reception command is issued by the arithmetic unit;
When the reception instruction is not issued by the arithmetic unit, a suspension request for interrupting the transfer of the packet is transmitted to the second electronic computer, and transfer information regarding the packet is registered in the holding buffer. Two reception processing units;
When the next reception command is issued by the arithmetic device, the second electronic computer issues a restart request for restarting the transfer of the interrupted packet with reference to the transfer information registered in the holding buffer. A transmission processing unit to transmit to ,
When the data length of the data written to the reception buffer by the first reception processing unit exceeds the data length of data that can be held by the reception buffer, the interruption request is transmitted to the second electronic computer. And a third reception processing unit for registering the transfer information in the holding buffer,
The transfer information and the restart request include a data length of the data written in the reception buffer by the first reception processing unit of the data,
The resumption request is a communication system which is information for requesting transfer of data other than data written in the reception buffer among the data .
通信装置と、
受信命令保持部と、
受信命令を発行して前記受信命令保持部に登録する演算装置と、
受信バッファと、
保持バッファとを備え、
前記通信装置は、
前記受信命令が前記受信命令保持部に登録されているときに、前記パケットの前記データを前記受信バッファに書き込む第1受信処理部と、
前記受信命令が前記受信命令保持部に登録されていないときに、前記パケットの転送を中断するための中断要求を前記他の電子計算機に送信すると共に、前記パケットに関する転送情報を前記保持バッファに登録する第2受信処理部と、
前記演算装置によって次に発行された受信命令が前記受信命令保持部に登録されているときに、前記保持バッファに登録された前記転送情報を参照して、前記中断されたパケットの転送を再開するための再開要求を前記他の電子計算機に送信する送信処理部と、
前記第1受信処理部によって前記受信バッファに書き込まれる前記データのデータ長が、前記受信バッファが保持することができるデータのデータ長を超えるときに、前記中断要求を前記第2電子計算機に送信すると共に、前記転送情報を前記保持バッファに登録する第3受信処理部とを備え、
前記転送情報と前記再開要求とは、前記データのうちの、前記第1受信処理部によって前記受信バッファに書き込まれたデータのデータ長を含み、
前記再開要求は、前記データのうち、前記受信バッファに書き込まれたデータ以外のデータの転送を要求するための情報である
電子計算機。 An electronic computer connected via a network to another electronic computer that transfers packets containing data,
A communication device;
A reception command holding unit;
An arithmetic unit that issues a reception command and registers it in the reception command holding unit;
A receive buffer;
A holding buffer,
The communication device
A first reception processing unit that writes the data of the packet to the reception buffer when the reception command is registered in the reception command holding unit;
When the reception command is not registered in the reception command holding unit, a suspension request for interrupting the transfer of the packet is transmitted to the other electronic computer, and transfer information regarding the packet is registered in the holding buffer. A second reception processing unit,
When the next received command issued by the arithmetic unit is registered in the received command holding unit, the transfer of the interrupted packet is resumed with reference to the transfer information registered in the holding buffer. A transmission processing unit for transmitting a restart request for the other electronic computer ;
When the data length of the data written to the reception buffer by the first reception processing unit exceeds the data length of data that can be held by the reception buffer, the interruption request is transmitted to the second electronic computer. And a third reception processing unit for registering the transfer information in the holding buffer,
The transfer information and the restart request include a data length of the data written in the reception buffer by the first reception processing unit of the data,
The resuming request is an electronic computer that is information for requesting transfer of data other than data written in the reception buffer .
前記演算装置によって受信命令が発行されたときに、前記パケットの前記データを前記受信バッファに書き込むステップと、
前記演算装置によって前記受信命令が発行されていないときに、前記パケットの転送を中断するための中断要求を前記他の電子計算機に送信すると共に、前記パケットに関する転送情報を前記保持バッファに登録するステップと、
前記演算装置によって次の受信命令が発行されたときに、前記保持バッファに登録された前記転送情報を参照して、前記中断されたパケットの転送を再開するための再開要求を前記他の電子計算機に送信するステップと、
前記書き込むステップによって前記受信バッファに書き込まれる前記データのデータ長が、前記受信バッファが保持することができるデータのデータ長を超えるときに、前記中断要求を前記第2電子計算機に送信すると共に、前記転送情報を前記保持バッファに登録するステップとを具備し、
前記転送情報と前記再開要求とは、前記データのうちの、前記書き込むステップによって前記受信バッファに書き込まれたデータのデータ長を含み、
前記再開要求は、前記データのうち、前記受信バッファに書き込まれたデータ以外のデータの転送を要求するための情報である
通信方法。 A communication method using an electronic computer connected to another electronic computer for transferring a packet containing data via a network and having an arithmetic device, a reception buffer, and a holding buffer,
Writing the data of the packet into the reception buffer when a reception command is issued by the arithmetic unit;
A step of transmitting an interruption request for interrupting the transfer of the packet to the other electronic computer when the reception command is not issued by the arithmetic unit and registering transfer information relating to the packet in the holding buffer When,
When the next reception command is issued by the arithmetic unit, the transfer information registered in the holding buffer is referred to and a restart request for restarting the transfer of the interrupted packet is issued to the other electronic computer. and the step of transmitting to,
When the data length of the data written to the reception buffer by the writing step exceeds the data length of the data that can be held by the reception buffer, the interruption request is transmitted to the second electronic computer, and Registering transfer information in the holding buffer,
The transfer information and the restart request include a data length of the data written in the reception buffer by the writing step of the data,
The communication method , wherein the restart request is information for requesting transfer of data other than the data written in the reception buffer .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004008539A JP3933134B2 (en) | 2004-01-15 | 2004-01-15 | Communications system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004008539A JP3933134B2 (en) | 2004-01-15 | 2004-01-15 | Communications system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005204089A JP2005204089A (en) | 2005-07-28 |
JP3933134B2 true JP3933134B2 (en) | 2007-06-20 |
Family
ID=34821836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004008539A Expired - Fee Related JP3933134B2 (en) | 2004-01-15 | 2004-01-15 | Communications system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3933134B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868672B2 (en) * | 2012-05-14 | 2014-10-21 | Advanced Micro Devices, Inc. | Server node interconnect devices and methods |
-
2004
- 2004-01-15 JP JP2004008539A patent/JP3933134B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005204089A (en) | 2005-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180375782A1 (en) | Data buffering | |
US7320041B2 (en) | Controlling flow of data between data processing systems via a memory | |
US7908335B1 (en) | Methods and apparatus for bridging a USB connection | |
EP0889622B1 (en) | Apparatus and method for remote buffer allocation and management for message passing between network nodes | |
US20070041383A1 (en) | Third party node initiated remote direct memory access | |
US7647436B1 (en) | Method and apparatus to interface an offload engine network interface with a host machine | |
US20030051076A1 (en) | Methods and system for pre-fetching descriptors | |
US20080263171A1 (en) | Peripheral device that DMAS the same data to different locations in a computer | |
US20090157896A1 (en) | Tcp offload engine apparatus and method for system call processing for static file transmission | |
JP2015005097A (en) | Electronic equipment, control device, and program | |
US20060242258A1 (en) | File sharing system, file sharing program, management server and client terminal | |
US9565049B2 (en) | Communication apparatus, communication method, and computer product for sharing data | |
JP2014515195A (en) | Retransmission control system and retransmission control method | |
JP3933134B2 (en) | Communications system | |
JP7056870B2 (en) | Information processing equipment, information processing methods and programs | |
EP1936514B1 (en) | Apparatus and method for controlling issue of requests to another operation processing device | |
JPWO2010050092A1 (en) | Information processing system | |
US7676605B1 (en) | Methods and apparatus for bridging a bus controller | |
JP3189269B2 (en) | Network printer | |
JP5305754B2 (en) | Information processing apparatus, client, information processing method, and program | |
JP2005346164A (en) | Data processor and data transfer control method | |
JP2853607B2 (en) | Communication system between jobs | |
KR20010095103A (en) | An intelligent bus interconnect unit | |
JP6885635B1 (en) | Information processing device, information processing method and program for information processing device | |
WO2022024562A1 (en) | Parallel and distributed computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070312 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100330 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |