JP3473975B2 - ネットワークシステムおよびネットワークにおける通信方法 - Google Patents
ネットワークシステムおよびネットワークにおける通信方法Info
- Publication number
- JP3473975B2 JP3473975B2 JP22355093A JP22355093A JP3473975B2 JP 3473975 B2 JP3473975 B2 JP 3473975B2 JP 22355093 A JP22355093 A JP 22355093A JP 22355093 A JP22355093 A JP 22355093A JP 3473975 B2 JP3473975 B2 JP 3473975B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- data
- network
- reception
- information processing
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/557—Error correction, e.g. fault recovery or fault tolerance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Description
テムを接続して構成したネットワークにおける、情報通
信性能の向上ための技術に関する。
等の情報処理システムを接続したネットワークにおけ
る、情報通信処理の高速化のための技術に関する。
システムの構成例を図2に示す。
理システムの一例として、ネットワーク内計算機200
の構成について説明する。
サ230、メモリ250、ネットワークアダプタ210
を有して構成され、各々の構成要素は、システムバス2
80に接続された構成になっている。
DMA制御部220、送受信用バッファ221、ネットワ
ーク送受信部218、受信DMA制御情報保持手段21
1、送信DMA制御情報保持手段212、割込制御情報保
持手段213、アダプタ制御情報保持手段214、およ
びアダプタ制御手段215を備えており、これらは内部
バス222によって接続された構成になっている。
手段211、送信DMA制御情報保持手段212、割込制
御情報保持手段213、アダプタ制御情報保持手段21
4に保持された情報に基づいて、送受信用バッファ22
1とメモリ250との間のデータ転送の制御を行う手段
であり、例えば、TTL、CMOS等の電子デバイスに
より実現することができる。
290を介して送信するパケット、および、ネットワー
ク290を介して受信したパケットを格納、保持する手
段であり、例えば、RAM等によって実現することがで
きる。
ーク290と送受信用バッファ221との間でデータ通
信を行わせる手段であり、例えば、各種TTL、CMO
S等の電子デバイスによって実現できる。
信用バッファ221からメモリ250にデータ転送を行
う際に行う制御に関する情報を保持する手段であり、例
えば、RAM、各種TTL、各種CMOS等の電子デバ
イスによって実現できる。
リ250から送受信用バッファ221にデータを転送を
行う際に行う制御に関する情報を保持する手段であり、
例えば、RAM、各種TTL、各種CMOS等の電子デ
バイスによって実現できる。
バッファ221とメモリ250との間でのデータ転送処
理の終了時、および、ある定められた動作の終了時等
に、割込を発行する場合に使用する情報を保持する手段
であり、例えば、RAM等の電子デバイスによって実現
できる。
トワークアダプタ200が動作を行う際に使用する各種
の制御情報を保持する手段であり、例えば、RAM、各
種TTL、各種CMOS等の電子デバイスによって実現
できる。
30がネットワークアダプタ200の動作の起動、停止
等を行うように制御する手段であり、例えば、RAM、
各種TTL、各種CMOS等の電子デバイスによって実
現できる。
部に自アドレス保持手段219を備えている。自アドレ
ス保持手段219は、ネットワーク送受信部218が、
ネットワーク290を介して通信されるパケットを監視
し、該パケットが自計算機宛のパケットか否かを判断す
るために、自アドレスを保持する手段であり、例えば、
RAM、各種TTL、各種CMOS等の電子デバイスに
よって実現できる。
したデータ通信における受信処理の処理手順について説
明する。
ットワーク290を介して伝送されてくるパケットの転
送先が、自計算機であるか否かを判断する。
ると判断した場合、ネットワークアダプタ210は、ネ
ットワークを介して伝送されてくるパケットを、送受信
バッファ221内に取り込む。
情報保持手段211が保持する情報に基づき、DMA処理
(「Direct Memory Access」の略:直接、メモリにアク
セスして入出力処理を行うことを意味し、以下このよう
に記す)によって、取り込んだパケットを、OS(オペ
レーティング・システム)空間内に存在する受信パケッ
ト領域263に転送する。
A処理によるデータ転送処理の終了後に、割込制御情報
保持手段213の保持する情報の内容にしたがって、プ
ロセッサ230に割り込みを指示する。
は、OS空間内に存在する受信パケット領域263に存
在するパケット内の情報にもとづき、データを転送すべ
きユーザ空間内に存在するユーザデータ271等を調
べ、その後、データをコピーする処理を行うことによっ
て、アプリケーションにデータを引き渡す一連の処理を
行う。
5年5月の「並列処理シンポジウムJSPP'93」における
「メッセージ通信の分散メモリ型並列計算機性能への影
響−通信と演算のオーバラップと直接メッセージ受信の
効果」の発表において、直接メッセージ通信手段が提案
されており、メッセージへッダに、受信アドレスを付加
しておくことが考えられるが、この手段では、受信メッ
セージをユーザ領域に転送可能か否かをを調べる手段、
および、送信側で受信メッセージのアドレスを検出する
手段が必要である。
接指定するためには、送信側にて、受信側のアドレスを
知っておくことが必須であるが、これを行うためには、
送受信に先だって、別途、所定の通知をおこなう必要が
ある。従来の方法では、予め通信をおこなうことによっ
てこれを実現するため、通信処理オーバヘッドの削減が
できない。
ットのメモリへの転送処理が完了するまでは、受信パケ
ットのデータの引き渡し先となる、アプリケーションお
よびそのデータ領域のアドレスが特定できないのであ
る。
は、OS空間内に存在する受信バッファによって受信さ
れてから、データコピー処理等によって、データを目的
のアプリケーションに引き渡す処理が必要となる。
例して処理量が増加する。現在では、データ通信処理に
おいて、前記データコピー処理の占める割合が高いた
め、高速データ通信処理を行う上での大きな問題となっ
ている。
処理システムを接続して構成したネットワークにおけ
る、情報通信性能の向上ための技術を提供することにあ
る。
と、記憶部と、ネットワークインタフェースとを少なく
とも含む情報処理システムを、それぞれのネットワーク
インタフェースを介して、少なくとも2以上接続して構
成されるネットワークにおいて情報処理システム間の情
報の通信を行なう方法であって、 送信側となる情報処理
システムでは、送信されるデータが2以上に分割される
べきものであるとき、その分割位置を示す分割情報を、
前記送信されるデータの特定の領域に記述して該データ
を送信し、 受信側となる情報処理システムが接続される
ネットワークインタフェースでは、前記受信したデータ
について、前記分割情報に基づいて該データを分割し、
分割されたデータのそれぞれを当該情報処理システムの
記憶部に転送することを特徴とする。
と、記憶部と、ネットワークインタフェースとを少なく
とも含む情報処理システムを、それぞれのネットワーク
インタフェースを介して、少なくとも2以上接続して構
成されるネットワークにおいて、ヘッダ部とデータ部と
を有するパケットを用いて、情報処理システム間の情報
の通信を行なう方法であって、送信側となる情報処理シ
ステムでは、データ部をヘッダ部から切り離すための第
1の分割情報と、データ部が2以上に分割されるべきも
のであるとき、その分割位置を示す第2の分割情報と
を、前記パケットのヘッダ部の特定の領域に記述して、
パケットを送信し、受信側となる情報処理システムが接
続されるネットワークインタフェースでは、受信したパ
ケットについて、そのヘッダ部の特定の領域に記述され
る第1の分割情報に基づいて、ヘッダ部とデータ部とを
分離し、さらに、ヘッダ部の特定の領域に記述されてい
る第2の情報に基づいて、データ部を分割して、分割さ
れたデータのそれぞれを当該情報処理システムの記憶部
に転送する通信方法が提供される。
は、受信側の情報処理システム内での転送先を指示する
情報を、分割されるべきデータごとに、ヘッダ部の特定
の領域にさらに記述する、ネットワークにおける通信方
法も好ましい。
パケットを分割するための情報およびパケットが受信さ
れるべき領域を示す情報である受信領域指定情報を備え
た構成にする。
の情報処理装置は、パケットを受信した後、パケットを
分割するための情報に基づいて、パケットを分割し、情
報処理装置が備えるメモリ上に存在する前記受信領域指
定情報に対応して、受信領域を指定するために、予め受
信側装置に備えられている変換テーブルを参照する。
ット内のデータの受信領域を決定し、当該受信領域に、
パケット内のデータを、DMA処理等によって転送する。
ークを介して通信を行うアプリケーションプロセス間で
の通信を、受信側のプロセッサによるデータコピー処理
を不要として実現可能な高速なデータ通信機能を有する
手段を安価に提供することができる。
して説明する。
にかかる情報処理システムの一例である、ネットワーク
内計算機の構成例を示す。
されるネットワーク190は、通常、ネット内計算機1
00を、少なくとも2台以上備えた構成になっている。
を説明する。
サ130と、メモリ150と、ネットワークアダプタ1
10とを有して構成され、これらの構成要素は、システ
ムバス180を介して接続されている。
テムの構成によっては、少なくとも1以上のI/O装置1
40を設けて構成するのが好ましい。
は、マルチキューDMA制御部120と、送受信用バッフ
ァ121と、ネットワーク送受信部118と、受信DMA
制御情報保持手段111と、送信DMA制御情報保持手段
112と、割込制御情報保持手段113と、アダプタ制
御情報保持手段114と、アダプタ制御手段115と、
受信DMA制御情報選択手段116と、DMA分割情報保持手
段117とを有して構成され、各構成要素は、内部バス
122を介して接続されている。
制御情報保持手段111、アダプタ制御情報保持手段1
14、および受信DMA制御情報選択手段116に保持さ
れた情報と、ネットワークから受信したパケットに含ま
れる情報と、メモリ150に保持されている受信領域指
定情報選択情報167および受信領域指定情報(164
から165)の各情報に基づいて、送受信用バッファ1
21からメモリ150へのデータ転送処理(受信時の処
理)と、また、送信DMA制御情報保持手段112、割込制
御情報保持手段113、およびアダプタ制御情報保持手
段114に保持された情報と、メモリ150の送信領域
指定情報(166)とに基づいて、メモリ150から送受
信用バッファ121へのデータ転送処理(送信時の処理)
を行う手段であり、例えば、各種TTL、CMOS等の
電子デバイスによって実現することができる。
190を介して送信するパケット、および、ネットワー
ク190を介して受信したパケットを保持する手段であ
り、例えば、RAM等の電子デバイスによって実現する
ことができる。
ーク190と送受信用バッファ121との間のデータ通
信を行わせる手段であり、例えば、各種TTL、CMO
S等の電子デバイスによって実現することができる。
用バッファ121からメモリ150へのデータ転送時に
行う制御に関する情報を保持する手段であり、例えば、
RAM、各種TTL、CMOS等の電子デバイスによっ
て実現することができる。
リ150から送受信用バッファ121へのデータ転送時
に行う制御に関する情報を保持する手段であり、例え
ば、RAM、各種TTL、CMOS等の電子デバイスに
よって実現することができる。
バッファ121とメモリ150との間でのデータ転送処
理の終了時、および、所定の動作の終了時等に、割込を
発行する際に使用する情報を保持する手段であり、例え
ば、RAM、各種TTL、CMOS等の電子デバイスに
よって実現することができる。
トワークアダプタ110が動作を行う際に使用する、制
御情報を保持する手段であり、例えば、RAM、各種T
TL、CMOS等の電子デバイスによって実現すること
ができる。
トをDMA処理により、データ転送制御する際、制御情報
等をネットワークアダプタ110に、プロセッサ130
によって通知させるための手段であり、例えば、各種T
TL、CMOS等の電子デバイスによって実現すること
ができる。
バッファ121の内容を、ネットワーク190に出力す
る送信処理と、ネットワーク190上の通信パケットを
監視し、自アドレスを含むパケットを、送受信用バッフ
ァ121に取り込む処理(かかる処理は、次に示す自ア
ドレス保持手段119によって行われる)を行う手段で
あり、例えば、各種TTL、CMOS等の電子デバイス
によって実現することができる。また、ネットワーク送
受信部118に備えられた、自アドレス保持手段119
は、例えば、RAM等の電子デバイスによって実現でき
る。
ば、RAM等の電子デバイスによって実現できる。な
お、プロセッサ130は、例えば、CPU(中央処理装
置)によって実現可能であり、メモリ150は、例えば
RAMによって実現可能である。
構造について説明する。
は、受信処理に関連するデータ構造と、送信処理に関連
するデータ構造を考慮している。
受信領域指定情報選択情報167、受信領域指定情報
(164から165)、受信プロトコル情報(161から
162)、ユーサ゛テ゛ータ(171から172)がある。
側がデータを受信する領域として確保した領域に格納さ
れた情報である。
は、通信の際に必要なプロトコル情報を転送するための
領域に格納された情報である。
えば、受信すべきプロセスを特定するための情報等であ
る。
(受信の際に)パケットを転送する際の制御情報であ
り、例えば、ユーザデータ(171から172)、受信プ
ロトコル情報(161から162)のアドレス情報等であ
る。受信領域指定情報(164から165)では、複数の
ユーザデータを指し示す情報を保持してもよい。
域指定情報選択情報167は、後で示す、ネットワーク
パケットの受信領域指定情報312−bが示す情報にも
とづいて、複数存在する受信領域指定情報(164から
165)のいずれかを選択するための情報を保持し、そ
のデータ構造は、テーブル状になっている。
信領域指定情報(166)については、送信プロトコル情
報(163)、ユーザデータ(173)等である。
るデータ領域に格納されたデータである。送信プロトコ
ル情報(163)は、通信の際に必要なプロトコル情報を
転送するための領域に格納された情報である。通信の際
に必要なプロトコル情報とは、例えば、受信先のプロセ
スを特定するための情報等である。
際)パケットを転送する際に必要な制御情報であり、例
えば、ユーザデータ(173)、送信プロトコル情報(1
63)のアドレス情報およびサイズ情報である。送信領
域指定情報(166)は、複数のユーザデータを指し示す
情報を保持してもよい。
は、受信プロトコル情報(161から162)およびユ
ーザデータ(171から172)の転送先領域を指定する
情報であり、例えば、メモリ150内におけるアドレ
ス、データサイズ等を有する。
ル情報163、および、ユーザデータ173を指定する
情報であり、例えば、メモリ150内におけるアドレ
ス、データサイズ等を有する。
ザデータ173は、受信処理側と同様に、複数備えてお
くのも良い。
1から172)、ユーザデータ(173)は、メモリ15
0内のユーザ空間170に存在する。一方、受信領域指
定情報選択情報167、受信プロトコル情報(161か
ら162)、受信領域指定情報(164から165)、送
信領域指定情報(166)、および、送信プロトコル情報
163は、OS空間160内に存在する。
送受信されるパケットである、ネットワークパケットの
構成を示す。
データ310−a、タイプ320−a、送信元アドレス3
21−a、受信先アドレス322−aを有して構成されて
いた。
が処理する対象となる情報である。
タ110が所定の処理を行うために必要な情報であり、
例えば、データ全体の長さ等の情報である。
送出したネットワーク内計算機を識別するための識別子
である。さらに、受信先アドレス322−aは、パケッ
トを受信すべきネットワーク内計算機を識別するための
識別子である。
データ310−b、分割情報311−b、受信領域指定情
報312−b、タイプ320−b、送信元アドレス321
−b、受信先アドレス322−bを有して構成される。
元アドレス321−b、受信先アドレス322−bは、そ
れぞれ、データ310−a、タイプ320−a、送信元ア
ドレス321−a、受信先アドレス322−aに対応して
いる。
側としては、上記の受信プロトコル情報(161から1
62)から、受信領域指定情報312−b、タイプ320
−b、送信元アドレス321−b、受信先アドレス322
−bに相当する情報を除いた情報と、ユーザデータ(17
1から172)とを有して構成される情報である。
側としては、上記の送信プロトコル情報(163)から、
受信領域指定情報312−b、タイプ320−b、送信元
アドレス321−b、受信先アドレス322−bに相当す
る情報を除いた情報と、ユーザデータ(173)とを有し
て構成される情報である。
の分割数および分割する際の長さを示す情報である。ま
た、ここで、分割情報は、3つ以上に分割するための情
報を含んでもよいことは言うまでもない。また、パケッ
トを分割した場合、分割された部分の、どの分割部分
が、受信プロトコル情報(161から162)、送信プロ
トコル情報(163)に相当する部分で、どの分割部分
が、ユーザデータ(171から173)に相当する部分で
あるかを示す情報を備えていてもよい。また3つ以上
に、パケットを分割する場合には、分割された部分の、
どの分割部分が、ユーザデータの、どの部分に対応する
かを示す情報を備えておくのも好ましい。
データをメモリ150に転送する際に、そのデータの転
送先を示す受信領域指定情報を選択するための情報であ
る。
の概要を示す。
73と、送信プロトコル情報163とを用いて、図3参
照の本発明にかかるネットワークパケットを作成して、
ネットワークにパケットを出力する処理である。
ワークアダプタ110の動作を説明する。
トウエアによる処理を、図4を参照して説明する。
るユーザデータが保持されている。
プロトコル情報163には、受信領域指定情報312−
b、タイプ320−b、送信元アドレス321−b、受信
先アドレス322−bを設定する。
312−bは、受信側での受信領域を指定するための識
別子である。タイプ320−bは、例えば、上位のプロ
トコルの種類等を示す情報である。送信元アドレス32
1−bは、自計算機のネットワークにおける識別子であ
り、受信先アドレス322−bは、受信先の計算機のネ
ットワークにおける識別子である。
領域指定情報166に、ユーザデータA173、送信プ
ロトコル情報領域163を指定する情報を設定する。
70内におけるアドレス、データ長等である。ここで、
送信領域指定情報166に設定する情報の中で、データ
長および領域指定の数を、分割情報311−bとして、
ネットワークパケットを構成する。
領域指定情報166の情報を、送信DMA制御情報保持手
段112に設定する。
る情報は、メモリ170内における、当該領域のアドレ
ス等である。
ダプタ制御手段115に対して、動作の起動通知を行
う。上記の一連の処理により送信処理が完了する。
タ110の動作を、図4を参照して説明する。アダプタ
制御手段115に対する動作起動の通知によって、当該
手段が動作を開始した以降の動作について説明する。
チキューDMA制御部120は、送信DMA制御情報保持手段
112に保持されている情報に基づいて、送信領域指定
情報166の内容を読み出して、その内容を、DMA分割
情報保持手段117に設定する。
チキューDMA制御部120は、DMA分割情報保持手段11
7に保持されている、送信領域指定情報166の内容に
したがって、ユーザデータA173、送信プロトコル情
報163に保持されている情報を、送受信用バッファ1
21に読み込む処理を行う。
チキューDMA制御部120は、DMA分割情報保持手段11
7に保持されている送信領域指定情報166の内容か
ら、データ長、領域指定の数を、「分割情報311−
b」として利用するために取り出す。
チキューDMA制御部120は、ユーザデータA173
と、送信プロトコル情報163に保持されている受信領
域指定情報312−b、タイプ320−b、送信元アドレ
ス321−b、受信先アドレス322−b以外の情報とか
ら、データ310−bを構成し、さらに、送信プロトコ
ル情報163に保持されている受信領域指定情報312
−b、タイプ320−b、送信元アドレス321−b、受
信先アドレス322−bを用いて、本発明にかかるネッ
トワークパケットを送受信用バッファ121内に作成、
格納する。
部バス122を介して、ネットワーク送受信部118か
ら、作成したネットワークパケットを出力する。
示す。
込んだネットワークパケットを用いて、ハードウエア処
理によって、パケットが備えるデータ部分のみを、ユー
ザ空間内に存在する所定のユーザデータ格納領域に、直
接転送することで、パケットデータのデータコピー処理
を行わずに、アプリケーションプログラムにデータを引
き渡すことを可能にするものである。
ソフトウエアがデータの到着に先だって行う処理である
受信ソフト前処理と、データ到着時にネットワークアダ
プタ110が行う処理と、ソフトウエアによる、データ
が到着した後に行う処理である受信ソフト後処理があ
る。
択情報167、受信領域指定情報(164から165)
に、情報を設定し、かかる設定処理をネットワークアダ
プタ110に通知する処理である。
制御情報保持手段113に、データ受信終了時にプロセ
ッサ130に発行する、割込に関する割込情報を設定す
る。
領域指定情報選択情報167内に、ネットワークパケッ
ト内の受信領域指定情報312−bと、受信領域指定情
報(164から165)とをどのように対応させるかを決
定し設定する処理を行う。
は、受信領域指定情報312−bに基づいて、受信領域
指定情報の有するアドレスを読み出すことができる、テ
ーブル状のデータ構造を有する構成を採用すれば良い。
領域指定情報(164から165)に、ユーザデータ(1
71から172)および受信プロトコル情報(161から
162)が有する情報を設定する。この情報は、例え
ば、ユーザデータ(171から172)および受信プロト
コル情報(161から162)のアドレスと、データサイ
ズ等である。
信DMA制御情報保持手段111に、受信領域指定情報選
択情報167が示す情報を設定する。
から、データを受信するまでのネットワークアダプタ1
10の動作について説明する。
トワークアダプタ110内のネットワーク送受信部11
8は、ネットワーク190を監視して、ネットワーク1
90上を通信されるネットワークパケットを取り込む。
トワークパケットの受信先アドレス322−bの内容
が、自アドレス保持手段119に予め保持されている内
容と等しい場合には、ステップ740にブランチし、等
しくない場合には、ステップ730にブランチする。
ークパケットを棄却して処理を終了する。
パケットを送受信用バッファ121に取り込む。
チキューDMA制御部120は、ネットワークパケット内
の受信領域指定情報312−bの内容を、受信DMA制御情
報選択手段116に設定する。
チキューDMA制御部120は、受信DMA制御情報保持手段
111の内容と、受信DMA制御情報選択手段116の内
容とから、複数存在する受信領域指定情報(164から
165)のいずれかを選択する処理を行う。
2−bの内容にしたがって、受信領域指定情報選択情報
167のテーブルを参照することで、受信領域指定情報
(164から165)のうちの一つを特定する処理であ
る。
チキューDMA制御部120は、選択した受信領域指定情
報(164から165)から、アドレス情報を取得する。
チキューDMA制御部120は、送受信用バッファ121
に取り込んだネットワークパケットを用いて、分割情報
311−bを取得する。
チキューDMA制御部120は、分割情報311−bに基づ
き、送受信用バッファ121に取り込んだネットワーク
パケットのデータ部を分割する処理を行う。
数、分割長の情報と、パケットデータの分割部分のう
ち、どの分割部分が、受信プロトコル情報(161から
162)に相当する部分で、どの分割部分がユーザデー
タ(171から172)に相当する部分であるかを示す情
報とから、ネットワークパケットのデータ310−b
を、受信プロトコル情報と、ユーザデータとに分割する
処理を行う。
ップ770にて特定された受信領域指定情報の情報(例
えば、メモリ150内のアドレス値)に基づいて、分割
したパケットを、ユーザデータおよび受信プロトコル情
報に分離して、各々の転送先領域に転送する。
込制御情報保持手段113の内容にしたがって、プロセ
ッサ130に対して割込を発行する。
ト後処理について説明する。
トが、ハードウエアによってユーザデータおよび受信プ
ロトコル情報に分割して転送された後に、発行した割込
によって起動される。
が発行されると、プロセッサ130は、受信プロトコル
制御情報が有する情報にしたがって、データを受信した
アプリケーションを特定する。
タを受信したアプリケーションが、データ受信要求を発
行後、待ち状態となっていた場合には、ステップ830
にブランチし、そうでない場合には、ステップ840に
ブランチする。
ックされていたアプリケーションの起動を行う。一方、
ステップ840では、データを受信したアプリケーショ
ンがデータ受信要求を発行後に、待ち状態となっていな
い場合には、受信要求が発行されたときに、即座にデー
タを引き渡せるように、状態を通知するためのフラグの
設定を行う。かかる場合には、受信アプリケーションか
ら受信要求が発行されたときにデータの引き渡し処理を
行う。
めに、受信要求を発行したアプリケーションプログラム
からみた動作を、図9を参照して説明する。
バッファの割り当て処理を行う。これは、図6にて説明
した処理の起動を行うものである。
要求を発行する。受信要求の発行処理は、ステップ91
0の受信バッファ割り当て処理が先行して行われること
が必要条件であるが、受信バッファ割り当て処理の直後
に、受信要求を出すことは必要条件ではない。
明するために、受信関連処理のみの記述にとどめるが、
ステップ910とステップ920との間に、所定の処理
が存在してもかまわない。
データの到着が受信要求に先行していれば、ステップ9
60にブランチし、そうでなれけば、ステップ940に
ブランチする。
データ到着を示すフラグが設定されているので、データ
を受け取るのみでよい。
ていないので、図8にて説明した受信要求プロセスの起
動まで待ち状態に入る。かかる状態からの復帰処理は、
図8にて説明した方法にて行われる。
について図面を参照して説明する。
る、本発明にかかる情報処理装置の一例である、ネット
ワーク内計算機ノード1101(複数存在する計算機の
一つずつを、以下「ノード」と称する)の構成例を示
す。
して構成されるネットワークは、図10に示す計算機ノ
ード1101を、ネットワーク1105に少なくとも2
台以上接続して構成する。
報を伝送するための手段であり、例えば、電気ケーブ
ル、光ファイバ等を使用して構成すれば良い。
置の一例である、ネットワーク内計算機ノード1101
の構成について、図面を参照して説明する。
ード1101は、プロセッサ1102、メモリ110
3、ネットワークアダプタ1110を有して構成され、
各構成要素は、システムバス1104を介して接続され
ている。
は、マルチキューDMA制御部1111、受信用バッファ
1112、送信用バッファ1113、ネットワーク受信
部1114、およびネットワーク送信部1115を備え
た構成としている。
の構成によっては、少なくとも1以上のI/O装置(図
示せず)を備える構成にするのが好ましい。
ネットワーク送信部1115、ネットワーク受信部11
14は、例えば、各種TTL、CMOS等の電子デバイ
スによって実現することができる。
ファ112は、例えば、RAM等の電子デバイスによっ
て実現できる。さらに、プロセッサ1102は、例えば
CPUによって、メモリ1103は、例えば、RAM等
の電子デバイスによって実現できる。
御部の構成例を示す。
制御レジスタ群1201とDMA制御部1202とを有し
て構成されており、本マルチキューDMA制御部は、シス
テムバス、受信用バッファ、および送信用バッファに接
続されている。
ADP_COMMAND1211、ADP_STATUS1212、SEND_Q_AD
R1221、SEND_Q_LEN1222、SEND_Q_HEAD122
3、SEND_Q_TAIL1224、RECV_Q_TBL_ADR1231、R
ECV_Q_TBL_LEN1232、RECV_PORT_NO1233、RECV_
Q_ADR1241、RECV_Q_LEN1242、RECV_Q_HEAD12
43、RECV_Q_TAIL1244の各レジスタを有して構成
される。
1は、例えば、各種TTL、CMOS、RAM等の電子
デバイスによって実現できる。
ータ転送処理を行う機能を有するハードワイアードロジ
ックであり、例えば、各種TTL、CMOS等にて実現
される。
ダプタを制御するためのコマンドを格納するためのレジ
スタであり、ADP_STATUS1212は、ネットワークアダ
プタを制御するためのステータス情報を保持するための
レジスタである。
2、SEND_Q_HEAD1223、SEND_Q_TAIL1224は、送
信用コマンドを処理するための、リスト構造(以下、こ
れを「コマンドキュー」と称する)を有する各種パラメ
ータの格納部であり、後に図15を参照して説明する。
ー選択テーブルのアドレスを示すポインタ、RECV_Q_TBL
_LEN1232は、コマンドキュー選択テーブルのサイズ
を示し、さらに、RECV_PORT_NO1233は、受信したパ
ケットのヘッダ内に存在するDMA_PORT_NOを一時的に保
存するためのレジスタである。
ては、図13および図14を参照して説明する。また、
「DMA_PORT_NO」については、図12を参照して説明す
る。
2、RECV_Q_HEAD1243、RECV_Q_TAIL1244は、受
信用コマンドキュー用のパラメータの格納部であり、後
に図15を参照して説明する。
信されるパケットのデータフォーマットを示す。
1、HEADER_LENGTH1302、DMA_PORT_NO1303、SR
C_NODE_NO1304、DST_NODE_NO1305、MODE130
6、およびSOFT_HEADER1311とを備えて構成される
ハードヘッダ部1300と、SOFT_DATA1312を備え
るパケットデータ部1310を有して構成される。
のデータ長は、固定長であることが好ましい。
02、1303、1304、1305、1306、13
11、1312から構成されるデータの長さを示す情報
が格納されている。
データを複数に分割し、DMA処理により記憶領域に転送
する際のデータの長さを示し、この長さは、1301、
1302、1303、1304、1305、1306、
1311から構成されるデータの長さである。
ードヘッダ部の長さを示す情報である。
ノードが備える主記憶(もちろん、主記憶には限られな
い)に、DMA処理によってデータを転送する際のコマン
ドキューを選択するための、コマンドキュー選択テーブ
ル1401の選択処理を行うためのパラメータである。
テーブル1401については、後述する。
介してデータを送信する送信側の計算機ノードを識別す
るための情報であり、予め計算機ノードに付加されたア
ドレス番号等を使用すればよい。また、DST_NODE_NO1
305は、ネットワークを介してデータを受信する受信
側の計算機ノードを識別するための情報であり、予め計
算機ノードに付加されたアドレス番号等を使用すればよ
い。
は、例えば、パケットが備えるDST_NODE_NO1305の
内容が、予め設定された自計算機ノードに割当てられた
アドレス番号と一致したときに、パケットの取り込み処
理を行うように構成しておけば良い。
コマンドを決定するためのパラメータであり、その使用
法については、後に説明する処理フローの説明の際に述
べる。
ル処理を行うソフトウエアが使用するための情報であ
り、SOFT_DATA1312は、ネットワークを介して、例
えば、アプリケーション間で送受信されるデータそのも
のである。
処理するためのデータ構造の一例を示す。これは、図1
0のメモリ1103の内に格納すればよい。
コマンドキュー選択テーブル1401と、ポート別コマ
ンドキュー群1410とを有して構成される。
1401−1、1401−2、…、1401−Nは、ポ
ート別コマンドキュー1410−1、1410−2、
…、1410−Nに対応して、情報(以下で述べる、図
14に示すような情報)を保持している。
401の構成を示す。これは、メモリ1103内に格納
しておけば良い。
した、マルチキュー制御レジスタ群1201を構成する
RECV_Q_TBL_ADR1231で指示され、テーブルのエント
リ数は、マルチキュー制御レジスタ群1201を構成す
るRECV_Q_TBL_LEN1232にて示される。
1401−2、…、1401−Nは、「Q_ADR_M,Q_HEA
D_M,Q_TAIL_M,Q_LEN_M」(ただしM=1〜N:Nは、正の
整数)の4つのパラメータを有して構成されており、こ
れらは、各コマンドキューを制御するための情報であ
る。
御を行う方法については、図15にて示す。
を示す。これは、図10のメモリ1103内に格納され
ている。
に、送信側、受信側のいずれも同様の構成である。
については、図11にて示した、SEND_Q_ADR221、SE
ND_Q_LEN222、SEND_Q_HEAD223、SEND_Q_TAIL22
4に、一対一に対応しており、同様に、受信側について
は、図11に示した、RECV_Q_ADR241、RECV_Q_LEN2
42、RECV_Q_HEAD243、RECV_Q_TAIL244に、一対
一に対応している。
ドキューを管理するための情報である。
スを示すポインタであり、Q_HEADは、次回のDMA処理を
行うためのコマンドを示すポインタであり、Q_TAILは、
ソフトウエアによって現在設定されている最後のコマン
ドを示すためのポインタである。
ューの先頭がつながっており、論理的なリング構造を有
している。
し、先頭に折り返す処理をするために、必要なコマンド
キューの長さ情報を保持する変数である。
マンドについて説明する。
DER_POINTER1602、HEADER_LENGTH1603、DATA_P
OINTER1604、DATA_LENGTH1605、RESULT_STATUS
1606を有して構成される。
マンドによるDMA処理が終了した際に、割り込み命令を
発行するか否か等の情報を保持するフィールドである。
ハードヘッダ1610を保存している領域の物理アドレ
スを保持するフィールドである。
ハードヘッダ1610のデータ長を示す情報を保持する
フィールドである。
GTH1301、HEADER_LENGTH1302、DMA_PORT_NO1
303、SRC_NODE_NO1304、DST_NODE_NO1305、
MODE1306、SOFT_HEADER1311を有して構成され
る。
1605は、それぞれ、パケット内のソフトデータ領域
の物理アドレス(DATA_POINTER1604)、および、長さ
(DATA_LENGTH1605)を示す。
GTH1603およびDATA_LENGTH1605は、ヘッダ部分
およびデータ部分に対応して、受信用に確保した記憶領
域のサイズを示す。
_POINTER1602およびDATA_POINTER1604に、物理
アドレスを設定する領域を持ち、受信時に、このアドレ
スに対応してデータ転送を行うことで、以下に示すよう
に、仮想アドレスを使用している場合に、仮想アドレス
での連続領域が、物理アドレスでは非連続領域となる、
データの転送処理を行うことが可能となる。
理アドレスの取得は、OSによって行われる。最も単純
な場合は、アプリケーションが物理アドレスに基づいて
動作している場合であり、かかる場合には、OSは該ア
プリケーションのデータ領域の物理アドレスを、上位物
理アドレスを設定すべきDATA_POINTER1604に設定す
ればよい。
ム例を示す。
ションによって使用されており、仮想メモリ管理下のプ
ログラム(通常のアプリケーションプログラム)は、仮想
メモリによるアドレスを、アドレス変換を行うための
「プロセスページテーブル」に設定された情報にて物理
アドレスに変換して、メモリアクセスを行う。
変換のためのテーブルが、図16に示すプロセスページ
テーブルである。
ョンのデータ領域の論理アドレスから、物理アドレスを
取得する処理を、図16に示すプロセスページテーブル
を使用して説明する。
付けられた物理アドレスの替わりに、仮想アドレスを使
用するための変換テーブルである。
スページテーブルは、プロセスの仮想ページに対応する
物理ページを示すテーブルになっている。
を行う基本単位である。ページのサイズは、2のべき乗
で表現され、現在のOSでは、2048,4096,81
92(バイト等)等のサイズを採用しているものが多
い。
ージ番号に、ページ内のオフセット値を加えた値とな
る。なお、物理アドレスと仮想アドレスにおいては、ペ
ージ内のオフセット値は同一の値である。
ブルを参照することにより、論理アドレスに対応する物
理アドレスへの対応をとることができる。
域が論理ページ「M、M+1」であり、2領域にまたが
って存在するデータを受信する場合には、各々の物理ペ
ージ番号200、物理ページ番号358をページサイズ
倍して、ページ内のオフセット値を加えることにより物
理アドレスを算出して、これをコマンドキューの連続す
る2つのコマンドのDATA-POINTER1604に設定すれば
良い。このような処理によって、非連続的に存在する物
理アドレス領域から、連続的に存在する仮想アドレス領
域に、連続的にデータを転送することができるようにな
る。
スとコマンドキューとの関連を、図18を参照して説明
する。
プリケーションの空間が存在する。
バッファ1910は、データA1901、データB190
2、データC1903、およびデータD1904とを有し
て構成される。
空間内のページ番号であり、図18に示すように、領域
A1921に対応し、物理空間内でページ番号「52」
に対応する。
ステーブルに設定されている情報であるので、プロセス
テーブルを参照することで、仮想空間内の「3」ページ
が、物理空間内のページ番号「52」に対応しているこ
とにより判断される。
ページ番号「4」を有し、領域C1923に対応し、物
理空間内でページ番号「73」を有する。
ページ番号「5」を有し、領域B1922に対応し、物
理空間内でページ番号「60」を有する。
のページ番号「6」を有し、領域D1924に対応し、
物理空間内でページ番号「81」を有する。
タバッファ1910内に存在するデータA1901、デ
ータB1902、データC1903、データD1904に
データを受信する際には、コマンドキュー1930内の
コマンドに対して設定する、物理アドレスを決定するた
めの物理ページは、コマンドA1931には、物理空間
内のページ番号「52」を使用する。また、コマンドB
1932には、物理空間内のページ番号「73」を使用
する。さらに、コマンドC1933には、物理空間内の
ページ番号「60」を使用する。最後に、コマンドD1
934には、物理空間内のページ番号「81」を使用す
るようにする。上述のようにして、コマンドキューに設
定する物理アドレスを算出すればよい。
ークパケットに対応して各エントリを備え、各エントリ
ごとに物理アドレスを設定する領域を保持する構成にす
ることにより、非連続的に存在する物理アドレス領域か
ら、連続的に存在する仮想アドレス領域に、連続的にデ
ータを受信することができるようになる。
化処理、受信側処理、送出側処理の順に説明をする。
動作を説明する。
ドキュー選択テーブル1401を作成し、メモリ110
3内に格納しておく。
ドキューを作成し、メモリ1103内に格納しておく。
ップ2110において作成したコマンドキュー選択テー
ブル1401の管理情報を、ネットワークアダプタ11
10が備えるマルチキュー制御レジスタ群201内のRE
CV_Q_TBL_ADDR1231、RECV_Q_TBL_LEN1232に設
定する。
トワークアダプタ1110が備えるマルチキュー制御レ
ジスタ群1201内のADP_COMMAND1211に、起動コ
マンドを設定する。
ケーション間で使用するポートを通信処理に先立って決
定する処理を行なう。
期化通信時には、例えば、ポート番号は、「1」を使用
することにしておき、また、使用できる最大のエントリ
数を、初期化時に静的に設定しておく。
ロトコル処理を行うソフトウエア間での通信を、通常の
メッセージパッシングと同様の方式で行えばよい。
ル内のプロトコルサーバ用のバッファである。
を行うソフトウエアは、通常のメッセージ通信(TCP/IP
等)と同様の通信が可能となる。
トを通信処理に先立って決定する処理として、送出側お
よび受信側システムのポート番号の割り当て処理を行
う。
に示す。
されたネットワークにおいて、各計算機に対して、ポー
ト番号が、静的に割り当てられているものとする。
では、例えば、ポート番号100〜200を使用するよ
うに、ポート番号を割り当て、同様に、ブロードキャス
ト通信用に使用するポートの番号の範囲も、例えば、ポ
ート番号1000〜2000を使用するように、使用す
るポートの番号の範囲を予め指定しておく。
号の範囲が定められているので、アプリケーション間で
使用するポート番号の決定は、前述のプロトコルサーバ
間の通信により、TCP/IP等のプロトコルと同様の方法に
より行われる。以上の処理により、初期化処理が完了す
る。
ためには、データの受信バッファがデータの送出よりも
先に設定されていることが必要である。
受信側のアプリケーションは、データの受信処理の起動
を行う前に、受信バッファの割り当て処理を行う。
ステムコールが、実際の受信データの到着よりも先に発
行されれば、ステップ1830にブランチし、そうでな
ければ、ステップ1850にブランチする。
でブロック(所定時間、処理がウエイトされることを、
「ブロック」と称する)され、全データの到着時に、ス
テップ1840に示すように、受信発行プロセスの起動
を行ない、受信処理を完了する。
ータが到着したことを確認した後、受信処理を完了す
る。
ーDMA処理を説明する。
ワーク1105を介して到着した、パケットデータは、
ネットワーク受信部1114によって、取り込み動作が
行われ、受信用バッファ1112に格納される。
チキューDMA制御部1111が、受信バッファ1112
を監視しており、パケットデータが到着すると、マルチ
キューDMA制御部が起動し、一連の処理を開始すること
になる。
る、DMA_PORT_NO1303の内容にしたがって、実行す
べきコマンドキューを決定する。この処理は、マルチキ
ュー制御レジスタ群1201内のRECV_Q_TBL_ADR123
1の内容に、前記DMA_PORT_NO1303の内容をコマン
ドキュー選択テーブルの各エントリのサイズ倍(例え
ば、DMA_PORT_NOが「5」のとき、5エントリ分)した
数値を加えることによって、アドレスを算出することに
よって行われる。
えば、DMA_PORT_NO1303に、セキュリティチェック
のための情報を備え、該情報が、予め設定された情報と
一致したときにのみデータ転送を行なうような構成する
ことが好ましい。
1103から、DMA処理によって、Q_ADR_O, Q_HEAD_O,
Q_TAIL_O, Q_LEN_O(Oは、DMA_PORT_NO1303と等し
い)を読み出し、各々、RECV_Q_ADR1241、RECV_Q_LE
N1242、RECV_Q_HEAD1243、RECV_Q_TAIL124
4に設定する。
1303と、同一のDMA_PORT_NO1303を有するパケ
ットであれば、ステップ2030における処理は、省略
することができる。
242、RECV_Q_HEAD1243、RECV_Q_TAIL1244を
複数個保持するためのメモリを、ネットワークアダプタ
1110内に設けた構成にすることで、高い確率で、ス
テップ2030のDMA処理による読み込み処理(メモリ
1103からの読みだし処理)を省略することができ
る。
トヘッダ部内のMODE1306の内容が「−1」であれ
ば、ステップ2070にブランチし、そうでけなれば、
ステップ2050にブランチする。
DV_Q_HEADを加えた値が示す位置に存在するコマンドを
実行する。ステップ2070に続いて、ステップ208
0では、RECV_Q_HEADが示す内容を実行したコマンドが
存在するアドレスの、次のアドレスが選択されるよう
に、RECV_Q_HEADが存在するアドレスに、1コマンド分
のアドレスを加える処理を行い、ステップ2090へと
進む。
DR+MODE」番目(コマンドキューMODE番目)のコマンドを
実行する。ステップ2050に続いて、ステップ206
0では、RECV_Q_HEAD内容を実行したコマンドが存在す
るアドレスの、次のアドレスが選択されるように、RECV
_Q_HEADが存在するアドレスに、(1+MODE)コマンド
分のアドレスを加える処理を行い、ステップ2090に
進む。
1、RECV_Q_LEN1242、RECV_Q_HEAD1243、RECV_
Q_TAIL1244の内容を、コマンドキュー選択テーブル
内のエントリQ_ADR_O,Q_HEAD_O,Q_TAIL_O,Q_LEN_O(O
は、DMA_PORT_NO1303と等しい)に書き戻し、処理を
完了する。
返すことにより、パケットデータは、アプリケーション
空間のデータバッファ内へと、直接、転送されることに
なる。
いて説明する。
ケーションが送信処理を発行する。
理命令を発行したアプリケーション内の送信データバッ
ファの物理アドレスを、図18を参照して説明した方法
によって算出する。
プ2220において算出した物理アドレスをパラメータ
として持つコマンドを、送信用コマンドキューに設定す
る。
理を発行したアプリケーションをブロックする。
トワークアダプタ1110によって、データの送出、す
なわち、送信処理が行なわれる。ネットワークアダプタ
は、送信を終了すると、割り込みを発行する。
みすべき旨の命令を受け取ったプロセッサ1102は、
送信処理を発行して、ブロックされたアプリケーション
の起動処理を行なう。以上で、送信処理は完了する。
理、すなわち初期化処理、受信側処理、送出側処理が行
われ、ネットワークにおけるパケットの高速通信が可能
となる。
ムを接続して構成したネットワークにおける、パケット
内のデータの送受信処理において、受信側情報処理シス
テムによる、データコピー、ページテーブル変更処理等
を行わずに、高速な情報通信が可能な手段を安価に提供
することができる。
る。
る。
る。
である。
る。
図である。
アダプタ、111…受信DMA制御情報保持手段、112
…送信DMA制御情報保持手段、113…割込制御情報保
持手段、114…アダプタ制御情報保持手段、115…
アダプタ制御手段、116…受信DMA制御情報選択手
段、117…DMA分割情報保持手段、118…ネットワ
ーク送受信部、119…自アドレス保持手段、120…
マルチキューDMA制御部、121…送受信用バッファ、
122…内部バス、130…プロセッサ、140…I/O
装置、150…メモリ、160…OS空間、170…ユ
ーザ空間、161…受信プロトコル情報、162…受信
プロトコル情報、163…送信プロトコル情報、164
…受信領域指定情報、165…受信領域指定情報、16
7…受信領域指定情報選択情報、171…ユーザデー
タ、172…ユーザデータ、173…ユーザデータ、2
00…ネットワーク内計算機、230…プロセッサ、2
50…メモリ、210…ネットワークアダプタ、211
…受信DMA制御情報保持手段、212…送信DMA制御情報
保持手段、213…割込制御情報保持手段、214…ア
ダプタ制御情報保持手段、215…アダプタ制御手段、
218…ネットワーク送受信部、219…自アドレス保
持手段、220…DMA制御部、221…送受信用バッフ
ァ、222…内部バス、280…システムバス、110
1…計算機ノード、1102…プロセッサ、1103…
メモリ、1104…システムバス、1110…ネットワ
ークアダプタ、1111…マルチキューDMA制御部、1
112…受信用バッファ、1113…送信用バッファ、
1114…ネットワーク受信部、1115…ネットワー
ク送信部、1201…マルチキュー制御レジスタ群、1
202…DMA制御部、1300…ハードヘッダ部、13
10…パケットデータ部
Claims (4)
- 【請求項1】演算処理部と、記憶部と、ネットワークイ
ンタフェースとを少なくとも含む情報処理システムを、
それぞれのネットワークインタフェースを介して、少な
くとも2以上接続して構成されるネットワークにおいて
情報処理システムのアプリケーション間で情報の通信を
行なう通信方法であって、送信側情報処理システムの送信側アプリケーションと受
信側情報処理システムの受信側アプリケーションとの間
で通信を行なうための識別子をメッセージ通信により決
定し、 前記送信側アプリケーションが送信処理を発行すると、
送信側情報処理システム では、送信されるデータが2以
上に分割されるべきものであるとき、その分割位置を示
す分割情報と前記識別子とを、前記送信されるデータの
特定の領域に記述して該データを送信し、前記受信側情報処理システムの ネットワークインタフェ
ースでは、前記受信したデータについて、前記分割情報
に基づいて該データを分割し、分割されたデータのそれ
ぞれを前記識別子に基づいて前記受信側アプリケーショ
ンが予め設定した当該情報処理システムの記憶部の格納
領域に転送することを特徴とするネットワークにおける
通信方法。 - 【請求項2】請求項1において、受信側情報処理システ
ムのネットワークインタフェースでは、前記識別子と、
これに対応する当該受信側情報処理システムの記憶部の
格納領域を指定する情報とを、予め記憶しておき、前記
受信したデータから読みだした前記識別子に基づいて、
対応する格納領域を指定する情報を参照して、前記受信
したデータをその格納領域に転送処理する、ネットワー
クにおける通信方法。 - 【請求項3】請求項2において、前記識別子、および、
これに対応する当該受信側情報処理システムの記憶部の
格納領域を指定する情報は、データ転送テーブルの形式
で、受信側情報処理システムのネットワークインタフェ
ースに予め記憶しておき、 前記識別子は、データ転送テーブルの参照位置を示す情
報である、ネットワー クにおける通信方法。 - 【請求項4】演算処理部と、記憶部と、ネットワークイ
ンタフェースとを少なくとも含む情報処理システムを、
それぞれのネットワークインタフェースを介して、少な
くとも2以上接続して構成され、情報処理システムのア
プリケーション間で通信を行なうネットワークシステム
であって、 各情報処理システムは、 当該情報処理システムのアプリケーションと他情報処理
システムのアプリケーションとの間で通信を行なうため
の識別子をメッセージ通信により決定する手段と、 送信側アプリケーションから送信処理が発行されたと
き、送信されるデータが2以上に分割されるべきもので
ある場合、その分割位置を示す分割情報と前記識別子と
を、前記送信されるデータの特定の領域に記述して該デ
ータを送信する送信処理部とを備え、 各情報処理システムのネットワークインタフェースは、
受信したデータについて、前記分割情報に基づいて当該
データを分割し、分割されたデータのそれぞれを前記識
別子に基づいて受信側アプリケーションが予め設定した
情報処理システムの記憶部に転送する受信処理部を備え
たことを特徴とするネットワークシステム。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22355093A JP3473975B2 (ja) | 1993-09-08 | 1993-09-08 | ネットワークシステムおよびネットワークにおける通信方法 |
EP94113391A EP0642246B1 (en) | 1993-09-08 | 1994-08-26 | Network communication method for systems equipped with virtual memory |
DE1994633293 DE69433293T2 (de) | 1993-09-08 | 1994-08-26 | Netzwerkübertragungsverfahren für Systeme mit virtuellem Speicher |
EP02015254A EP1289221A3 (en) | 1993-09-08 | 1994-08-26 | Network communication method and system |
KR1019940022418A KR100326864B1 (ko) | 1993-09-08 | 1994-09-07 | 네트워크통신방법및네트워크시스템 |
US08/529,762 US5835492A (en) | 1993-09-08 | 1995-09-18 | Network for mutually connecting computers and communicating method using such network |
US08/642,666 US5617424A (en) | 1993-09-08 | 1996-05-03 | Method of communication between network computers by dividing packet data into parts for transfer to respective regions |
US08/964,712 US5936955A (en) | 1993-09-08 | 1997-11-05 | Network for mutually connecting computers and communicating method using such network |
JP2000271165A JP3623727B2 (ja) | 1993-09-08 | 2000-09-07 | 通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22355093A JP3473975B2 (ja) | 1993-09-08 | 1993-09-08 | ネットワークシステムおよびネットワークにおける通信方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000271165A Division JP3623727B2 (ja) | 1993-09-08 | 2000-09-07 | 通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0778112A JPH0778112A (ja) | 1995-03-20 |
JP3473975B2 true JP3473975B2 (ja) | 2003-12-08 |
Family
ID=16799920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22355093A Expired - Fee Related JP3473975B2 (ja) | 1993-09-08 | 1993-09-08 | ネットワークシステムおよびネットワークにおける通信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5617424A (ja) |
EP (2) | EP1289221A3 (ja) |
JP (1) | JP3473975B2 (ja) |
KR (1) | KR100326864B1 (ja) |
DE (1) | DE69433293T2 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835492A (en) * | 1993-09-08 | 1998-11-10 | Hitachi, Ltd. | Network for mutually connecting computers and communicating method using such network |
US5884040A (en) * | 1995-01-11 | 1999-03-16 | Sony Corporation | Per-packet jamming in a multi-port bridge for a local area network |
US6256313B1 (en) | 1995-01-11 | 2001-07-03 | Sony Corporation | Triplet architecture in a multi-port bridge for a local area network |
US5857075A (en) * | 1995-01-11 | 1999-01-05 | Sony Corporation | Method and integrated circuit for high-bandwidth network server interfacing to a local area network |
US5764895A (en) * | 1995-01-11 | 1998-06-09 | Sony Corporation | Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus |
US5940597A (en) * | 1995-01-11 | 1999-08-17 | Sony Corporation | Method and apparatus for periodically updating entries in a content addressable memory |
US6470391B2 (en) | 1995-09-08 | 2002-10-22 | Hitachi, Ltd. | Method for transmitting data via a network in a form of divided sub-packets |
JP4160642B2 (ja) | 1995-09-08 | 2008-10-01 | 株式会社日立製作所 | ネットワークデータ転送方法 |
US6510145B1 (en) | 1997-07-25 | 2003-01-21 | Samsung Electronics, Co., Ltd. | Method and apparatus for providing packet data service in a communication system |
KR100258221B1 (ko) | 1997-07-25 | 2000-06-01 | 윤종용 | 통신시스템의 패킷 트래픽 채널의 초기화 방법 |
US6442168B1 (en) | 1997-09-17 | 2002-08-27 | Sony Corporation | High speed bus structure in a multi-port bridge for a local area network |
US6617879B1 (en) | 1997-09-17 | 2003-09-09 | Sony Corporation | Transparently partitioned communication bus for multi-port bridge for a local area network |
US6157951A (en) * | 1997-09-17 | 2000-12-05 | Sony Corporation | Dual priority chains for data-communication ports in a multi-port bridge for a local area network |
US6363067B1 (en) | 1997-09-17 | 2002-03-26 | Sony Corporation | Staged partitioned communication bus for a multi-port bridge for a local area network |
US6816490B1 (en) | 1997-09-17 | 2004-11-09 | Sony Corporation | Statistical learning technique in a multi-port bridge for a local area network |
KR100286334B1 (ko) * | 1998-03-10 | 2001-04-16 | 김영환 | 디엠에이씨를이용한유에스비인터페이스장치및방법 |
JP3250532B2 (ja) * | 1998-11-24 | 2002-01-28 | 日本電気株式会社 | データ送受信システム、データ受信装置、及びデータ受信方法 |
WO2000034883A2 (en) | 1998-12-11 | 2000-06-15 | Microsoft Corporation | Accelerating a distributed component architecture over a network using an implicit flow control |
US7031904B1 (en) * | 1999-01-26 | 2006-04-18 | Adaptec, Inc. | Methods for implementing an ethernet storage protocol in computer networks |
KR100618739B1 (ko) * | 1999-10-11 | 2006-08-31 | 엘지엔시스(주) | 다수의 큐를 이용한 대외계업무 수행방법 |
US7113995B1 (en) | 2000-10-19 | 2006-09-26 | International Business Machines Corporation | Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system |
US6990528B1 (en) * | 2000-10-19 | 2006-01-24 | International Business Machines Corporation | System area network of end-to-end context via reliable datagram domains |
US7099955B1 (en) | 2000-10-19 | 2006-08-29 | International Business Machines Corporation | End node partitioning using LMC for a system area network |
US6941350B1 (en) | 2000-10-19 | 2005-09-06 | International Business Machines Corporation | Method and apparatus for reliably choosing a master network manager during initialization of a network computing system |
US6981025B1 (en) | 2000-10-19 | 2005-12-27 | International Business Machines Corporation | Method and apparatus for ensuring scalable mastership during initialization of a system area network |
US7636772B1 (en) | 2000-10-19 | 2009-12-22 | International Business Machines Corporation | Method and apparatus for dynamic retention of system area network management information in non-volatile store |
US20020073257A1 (en) * | 2000-12-07 | 2002-06-13 | Ibm Corporation | Transferring foreign protocols across a system area network |
KR20030000378A (ko) * | 2001-06-23 | 2003-01-06 | 정우협 | 마우스에 의한 컴퓨터 볼륨(음량)조절에 대한 방법 |
US20030220987A1 (en) * | 2002-05-21 | 2003-11-27 | Aviation Communication & Surveillance Systems, Llc | System and method with environment memory for input/output configuration |
DE10248672B4 (de) * | 2002-10-18 | 2016-02-11 | Robert Bosch Gmbh | Verfahren zur Übertragung von Daten auf einem Bus |
KR100442372B1 (ko) * | 2002-10-28 | 2004-07-30 | 엘지전자 주식회사 | 데이터 전송 장치 및 방법 |
US20050135612A1 (en) * | 2003-12-19 | 2005-06-23 | Evans Alan F. | Secure digital communication |
US7783769B2 (en) | 2004-03-31 | 2010-08-24 | Intel Corporation | Accelerated TCP (Transport Control Protocol) stack processing |
JP4568021B2 (ja) * | 2004-04-05 | 2010-10-27 | 株式会社日立製作所 | コマンド多重数監視制御方式を運用するコンピュータシステム |
US7634584B2 (en) * | 2005-04-27 | 2009-12-15 | Solarflare Communications, Inc. | Packet validation in virtual network interface architecture |
JP5120765B2 (ja) * | 2006-12-26 | 2013-01-16 | 日本電気株式会社 | 並列計算機システム |
JP5880551B2 (ja) * | 2011-03-28 | 2016-03-09 | 日本電気株式会社 | 再送制御システム及び再送制御方法 |
CN110943941B (zh) * | 2019-12-06 | 2022-03-11 | 北京天融信网络安全技术有限公司 | 一种报文接收方法、网卡及电子设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654654A (en) * | 1983-02-07 | 1987-03-31 | At&T Bell Laboratories | Data network acknowledgement arrangement |
EP0137804A4 (en) * | 1983-02-07 | 1987-10-12 | American Telephone & Telegraph | Data network interface. |
US5365519A (en) * | 1991-03-05 | 1994-11-15 | Hitachi, Ltd. | ATM switch1ng system connectable to I/O links having different transmission rates |
JPH0329048A (ja) * | 1989-06-27 | 1991-02-07 | Fujitsu Ltd | データ転送方式 |
JPH0418652A (ja) * | 1990-05-11 | 1992-01-22 | Seiko Epson Corp | データ通信システム |
US5210749A (en) * | 1990-05-29 | 1993-05-11 | Advanced Micro Devices, Inc. | Configuration of srams as logical fifos for transmit and receive of packet data |
US5379295A (en) * | 1990-07-31 | 1995-01-03 | Nec Corporation | Cross-connect system for asynchronous transfer mode |
US5371868A (en) * | 1990-08-20 | 1994-12-06 | Digital Equipment Corporation | Method and apparatus for deriving addresses from stored address information for use in identifying devices during communication |
US5164938A (en) * | 1991-03-28 | 1992-11-17 | Sprint International Communications Corp. | Bandwidth seizing in integrated services networks |
US5321695A (en) * | 1991-05-01 | 1994-06-14 | Hewlett-Packard Company | Port arrival identification for computer network packets |
US5398245A (en) * | 1991-10-04 | 1995-03-14 | Bay Networks, Inc. | Packet processing method and apparatus |
FI88841C (fi) * | 1991-10-30 | 1993-07-12 | Nokia Telecommunications Oy | Foerfarande foer att behandla dataoeverfoeringsramar av vaexlande laengd med en kanalstyrenhet och foer att placera desamma till ett cykliskt buffertminne |
AU2912692A (en) * | 1991-11-08 | 1993-06-07 | Ernest Stewart Lee | Cryptographic apparatus and method for a data communication network |
US5347514A (en) * | 1993-03-26 | 1994-09-13 | International Business Machines Corporation | Processor-based smart packet memory interface |
-
1993
- 1993-09-08 JP JP22355093A patent/JP3473975B2/ja not_active Expired - Fee Related
-
1994
- 1994-08-26 DE DE1994633293 patent/DE69433293T2/de not_active Expired - Fee Related
- 1994-08-26 EP EP02015254A patent/EP1289221A3/en not_active Withdrawn
- 1994-08-26 EP EP94113391A patent/EP0642246B1/en not_active Expired - Lifetime
- 1994-09-07 KR KR1019940022418A patent/KR100326864B1/ko not_active IP Right Cessation
-
1996
- 1996-05-03 US US08/642,666 patent/US5617424A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR100326864B1 (ko) | 2002-06-22 |
EP0642246B1 (en) | 2003-11-05 |
US5617424A (en) | 1997-04-01 |
KR950009452A (ko) | 1995-04-24 |
EP1289221A3 (en) | 2005-07-13 |
DE69433293D1 (de) | 2003-12-11 |
EP1289221A2 (en) | 2003-03-05 |
JPH0778112A (ja) | 1995-03-20 |
EP0642246A2 (en) | 1995-03-08 |
DE69433293T2 (de) | 2004-09-09 |
EP0642246A3 (en) | 1995-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3473975B2 (ja) | ネットワークシステムおよびネットワークにおける通信方法 | |
JP3336816B2 (ja) | マルチメディア通信装置及び方法 | |
KR100647949B1 (ko) | 네트워크 패킷 전달 방법 및 패킷 캡슐화 - 캡슐 해제 방법과 컴퓨터 판독 가능한 매체 및 프로세서 | |
US4174536A (en) | Digital communications controller with firmware control | |
US7292593B1 (en) | Arrangement in a channel adapter for segregating transmit packet data in transmit buffers based on respective virtual lanes | |
US5752078A (en) | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory | |
US5884313A (en) | System and method for efficient remote disk I/O | |
US6631430B1 (en) | Optimizations to receive packet status from fifo bus | |
EP1358562B1 (en) | Method and apparatus for controlling flow of data between data processing systems via a memory | |
EP1421739B1 (en) | Transmitting multicast data packets | |
EP0780768A1 (en) | Direct programmed I/O device control method using virtual registers | |
JP4317365B2 (ja) | 周辺デバイスからホスト・コンピュータ・システムに割込みを転送する方法および装置 | |
JPH11134274A (ja) | デバイス・ドライバ中の割込みオーバヘッドを低減させる機構 | |
WO2000052883A2 (en) | Method and apparatus for dynamic packet batching with a high perfromance network interface | |
EP0606462A1 (en) | Network interface with host independent buffer management | |
JP2014509427A (ja) | Pciエクスプレス・マルチプル・ルートi/o仮想化環境における低待ち時間の優先順位付け | |
US11010165B2 (en) | Buffer allocation with memory-based configuration | |
CA2432390A1 (en) | Method and apparatus for controlling flow of data between data processing systems via a memory | |
CN109729022B (zh) | 一种基于软件定义网络的数据发送方法、装置及系统 | |
US9401879B1 (en) | Systems and methods for sending and receiving information via a network device | |
JP2004094931A (ja) | ネットワークシステムおよびネットワークにおける通信方法 | |
JP3623727B2 (ja) | 通信方法 | |
JP3328872B2 (ja) | 計算機ネットワーク通信方法およびネットワーク計算機システム | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
JPH09186713A (ja) | Lan集線装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080919 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080919 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090919 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090919 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100919 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |