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
Application number
JP22355093A
Other languages
English (en)
Other versions
JPH0778112A (ja
Inventor
秀樹 村山
聡 吉沢
秀則 井内
毅 相本
林  剛久
博志 岩本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP22355093A priority Critical patent/JP3473975B2/ja
Priority to EP94113391A priority patent/EP0642246B1/en
Priority to DE1994633293 priority patent/DE69433293T2/de
Priority to EP02015254A priority patent/EP1289221A3/en
Priority to KR1019940022418A priority patent/KR100326864B1/ko
Publication of JPH0778112A publication Critical patent/JPH0778112A/ja
Priority to US08/529,762 priority patent/US5835492A/en
Priority to US08/642,666 priority patent/US5617424A/en
Priority to US08/964,712 priority patent/US5936955A/en
Priority to JP2000271165A priority patent/JP3623727B2/ja
Application granted granted Critical
Publication of JP3473975B2 publication Critical patent/JP3473975B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • 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

【発明の詳細な説明】
【0001】
【産業上の利用分野】計算機システム等の情報処理シス
テムを接続して構成したネットワークにおける、情報通
信性能の向上ための技術に関する。
【0002】特に、仮想メモリを有する計算機システム
等の情報処理システムを接続したネットワークにおけ
る、情報通信処理の高速化のための技術に関する。
【0003】
【従来の技術】従来のネットワークを構成する情報処理
システムの構成例を図2に示す。
【0004】ここでは、ネットワークを構成する情報処
理システムの一例として、ネットワーク内計算機200
の構成について説明する。
【0005】ネットワーク内計算機200は、プロセッ
サ230、メモリ250、ネットワークアダプタ210
を有して構成され、各々の構成要素は、システムバス2
80に接続された構成になっている。
【0006】ネットワークアダプタ210は、さらに、
DMA制御部220、送受信用バッファ221、ネットワ
ーク送受信部218、受信DMA制御情報保持手段21
1、送信DMA制御情報保持手段212、割込制御情報保
持手段213、アダプタ制御情報保持手段214、およ
びアダプタ制御手段215を備えており、これらは内部
バス222によって接続された構成になっている。
【0007】DMA制御部220は、受信DMA制御情報保持
手段211、送信DMA制御情報保持手段212、割込制
御情報保持手段213、アダプタ制御情報保持手段21
4に保持された情報に基づいて、送受信用バッファ22
1とメモリ250との間のデータ転送の制御を行う手段
であり、例えば、TTL、CMOS等の電子デバイスに
より実現することができる。
【0008】送受信用バッファ221は、ネットワーク
290を介して送信するパケット、および、ネットワー
ク290を介して受信したパケットを格納、保持する手
段であり、例えば、RAM等によって実現することがで
きる。
【0009】ネットワーク送受信部218は、ネットワ
ーク290と送受信用バッファ221との間でデータ通
信を行わせる手段であり、例えば、各種TTL、CMO
S等の電子デバイスによって実現できる。
【0010】受信DMA制御情報保持手段211は、送受
信用バッファ221からメモリ250にデータ転送を行
う際に行う制御に関する情報を保持する手段であり、例
えば、RAM、各種TTL、各種CMOS等の電子デバ
イスによって実現できる。
【0011】送信DMA制御情報保持手段212は、メモ
リ250から送受信用バッファ221にデータを転送を
行う際に行う制御に関する情報を保持する手段であり、
例えば、RAM、各種TTL、各種CMOS等の電子デ
バイスによって実現できる。
【0012】割込制御情報保持手段213は、送受信用
バッファ221とメモリ250との間でのデータ転送処
理の終了時、および、ある定められた動作の終了時等
に、割込を発行する場合に使用する情報を保持する手段
であり、例えば、RAM等の電子デバイスによって実現
できる。
【0013】アダプタ制御情報保持手段214は、ネッ
トワークアダプタ200が動作を行う際に使用する各種
の制御情報を保持する手段であり、例えば、RAM、各
種TTL、各種CMOS等の電子デバイスによって実現
できる。
【0014】アダプタ制御手段215は、プロセッサ2
30がネットワークアダプタ200の動作の起動、停止
等を行うように制御する手段であり、例えば、RAM、
各種TTL、各種CMOS等の電子デバイスによって実
現できる。
【0015】また、ネットワーク送受信部218は、内
部に自アドレス保持手段219を備えている。自アドレ
ス保持手段219は、ネットワーク送受信部218が、
ネットワーク290を介して通信されるパケットを監視
し、該パケットが自計算機宛のパケットか否かを判断す
るために、自アドレスを保持する手段であり、例えば、
RAM、各種TTL、各種CMOS等の電子デバイスに
よって実現できる。
【0016】以下、上記のような従来のシステムを使用
したデータ通信における受信処理の処理手順について説
明する。
【0017】まず、ネットワークアダプタ210は、ネ
ットワーク290を介して伝送されてくるパケットの転
送先が、自計算機であるか否かを判断する。
【0018】次に、パケットの転送先が、自計算機であ
ると判断した場合、ネットワークアダプタ210は、ネ
ットワークを介して伝送されてくるパケットを、送受信
バッファ221内に取り込む。
【0019】さらに、DMA制御部220は、受信DMA制御
情報保持手段211が保持する情報に基づき、DMA処理
(「Direct Memory Access」の略:直接、メモリにアク
セスして入出力処理を行うことを意味し、以下このよう
に記す)によって、取り込んだパケットを、OS(オペ
レーティング・システム)空間内に存在する受信パケッ
ト領域263に転送する。
【0020】次に、ネットワークアダプタ210は、DM
A処理によるデータ転送処理の終了後に、割込制御情報
保持手段213の保持する情報の内容にしたがって、プ
ロセッサ230に割り込みを指示する。
【0021】割り込みを指示されたプロセッサ230
は、OS空間内に存在する受信パケット領域263に存
在するパケット内の情報にもとづき、データを転送すべ
きユーザ空間内に存在するユーザデータ271等を調
べ、その後、データをコピーする処理を行うことによっ
て、アプリケーションにデータを引き渡す一連の処理を
行う。
【0022】また、高速通信機構の検討において、平成
5年5月の「並列処理シンポジウムJSPP'93」における
「メッセージ通信の分散メモリ型並列計算機性能への影
響−通信と演算のオーバラップと直接メッセージ受信の
効果」の発表において、直接メッセージ通信手段が提案
されており、メッセージへッダに、受信アドレスを付加
しておくことが考えられるが、この手段では、受信メッ
セージをユーザ領域に転送可能か否かをを調べる手段、
および、送信側で受信メッセージのアドレスを検出する
手段が必要である。
【0023】
【発明が解決しようとする課題】受信側のアドレスを直
接指定するためには、送信側にて、受信側のアドレスを
知っておくことが必須であるが、これを行うためには、
送受信に先だって、別途、所定の通知をおこなう必要が
ある。従来の方法では、予め通信をおこなうことによっ
てこれを実現するため、通信処理オーバヘッドの削減が
できない。
【0024】すなわち、ハードウエアによる、受信パケ
ットのメモリへの転送処理が完了するまでは、受信パケ
ットのデータの引き渡し先となる、アプリケーションお
よびそのデータ領域のアドレスが特定できないのであ
る。
【0025】このため、受信パケットは、必ず、一度
は、OS空間内に存在する受信バッファによって受信さ
れてから、データコピー処理等によって、データを目的
のアプリケーションに引き渡す処理が必要となる。
【0026】かかるデータコピー処理は、データ量に比
例して処理量が増加する。現在では、データ通信処理に
おいて、前記データコピー処理の占める割合が高いた
め、高速データ通信処理を行う上での大きな問題となっ
ている。
【0027】本発明の目的は、計算機システム等の情報
処理システムを接続して構成したネットワークにおけ
る、情報通信性能の向上ための技術を提供することにあ
【0028】
【0029】
【0030】
【課題を解決するための手段】本発明は、演算処理部
と、記憶部と、ネットワークインタフェースとを少なく
とも含む情報処理システムを、それぞれのネットワーク
インタフェースを介して、少なくとも2以上接続して構
成されるネットワークにおいて情報処理システム間の情
報の通信を行なう方法であって、 送信側となる情報処理
システムでは、送信されるデータが2以上に分割される
べきものであるとき、その分割位置を示す分割情報を、
前記送信されるデータの特定の領域に記述して該データ
を送信し、 受信側となる情報処理システムが接続される
ネットワークインタフェースでは、前記受信したデータ
について、前記分割情報に基づいて該データを分割し、
分割されたデータのそれぞれを当該情報処理システムの
記憶部に転送することを特徴とする。
【0031】すなわち、より具体的には、演算処理部
と、記憶部と、ネットワークインタフェースとを少なく
とも含む情報処理システムを、それぞれのネットワーク
インタフェースを介して、少なくとも2以上接続して構
成されるネットワークにおいて、ヘッダ部とデータ部と
を有するパケットを用いて、情報処理システム間の情報
の通信を行なう方法であって、送信側となる情報処理シ
ステムでは、データ部をヘッダ部から切り離すための第
1の分割情報と、データ部が2以上に分割されるべきも
のであるとき、その分割位置を示す第2の分割情報と
を、前記パケットのヘッダ部の特定の領域に記述して、
パケットを送信し、受信側となる情報処理システムが接
続されるネットワークインタフェースでは、受信したパ
ケットについて、そのヘッダ部の特定の領域に記述され
る第1の分割情報に基づいて、ヘッダ部とデータ部とを
分離し、さらに、ヘッダ部の特定の領域に記述されてい
る第2の情報に基づいて、データ部を分割して、分割さ
れたデータのそれぞれを当該情報処理システムの記憶部
に転送する通信方法が提供される。
【0032】さらに、送信側となる情報処理システムで
は、受信側の情報処理システム内での転送先を指示する
情報を、分割されるべきデータごとに、ヘッダ部の特定
の領域にさらに記述する、ネットワークにおける通信方
法も好ましい。
【0033】
【作用】本発明においては、送受信するパケット内に、
パケットを分割するための情報およびパケットが受信さ
れるべき領域を示す情報である受信領域指定情報を備え
た構成にする。
【0034】そして、ネットワークを構成する、受信側
の情報処理装置は、パケットを受信した後、パケットを
分割するための情報に基づいて、パケットを分割し、情
報処理装置が備えるメモリ上に存在する前記受信領域指
定情報に対応して、受信領域を指定するために、予め受
信側装置に備えられている変換テーブルを参照する。
【0035】かかる変換テーブルの参照によって、パケ
ット内のデータの受信領域を決定し、当該受信領域に、
パケット内のデータを、DMA処理等によって転送する。
【0036】以上のように、本発明によれば、ネットワ
ークを介して通信を行うアプリケーションプロセス間で
の通信を、受信側のプロセッサによるデータコピー処理
を不要として実現可能な高速なデータ通信機能を有する
手段を安価に提供することができる。
【0037】
【実施例】本発明の実施例について、以下、図面を参照
して説明する。
【0038】図1に、ネットワークを構成する、本発明
にかかる情報処理システムの一例である、ネットワーク
内計算機の構成例を示す。
【0039】ネットワーク内計算機100を備えて構成
されるネットワーク190は、通常、ネット内計算機1
00を、少なくとも2台以上備えた構成になっている。
【0040】以下、ネットワーク内計算機100の構成
を説明する。
【0041】ネットワーク内計算機100は、プロセッ
サ130と、メモリ150と、ネットワークアダプタ1
10とを有して構成され、これらの構成要素は、システ
ムバス180を介して接続されている。
【0042】また、ネットワーク内計算機100のシス
テムの構成によっては、少なくとも1以上のI/O装置1
40を設けて構成するのが好ましい。
【0043】また、上記ネットワークアダプタ110
は、マルチキューDMA制御部120と、送受信用バッフ
ァ121と、ネットワーク送受信部118と、受信DMA
制御情報保持手段111と、送信DMA制御情報保持手段
112と、割込制御情報保持手段113と、アダプタ制
御情報保持手段114と、アダプタ制御手段115と、
受信DMA制御情報選択手段116と、DMA分割情報保持手
段117とを有して構成され、各構成要素は、内部バス
122を介して接続されている。
【0044】マルチキューDMA制御部120は、受信DMA
制御情報保持手段111、アダプタ制御情報保持手段1
14、および受信DMA制御情報選択手段116に保持さ
れた情報と、ネットワークから受信したパケットに含ま
れる情報と、メモリ150に保持されている受信領域指
定情報選択情報167および受信領域指定情報(164
から165)の各情報に基づいて、送受信用バッファ1
21からメモリ150へのデータ転送処理(受信時の処
理)と、また、送信DMA制御情報保持手段112、割込制
御情報保持手段113、およびアダプタ制御情報保持手
段114に保持された情報と、メモリ150の送信領域
指定情報(166)とに基づいて、メモリ150から送受
信用バッファ121へのデータ転送処理(送信時の処理)
を行う手段であり、例えば、各種TTL、CMOS等の
電子デバイスによって実現することができる。
【0045】送受信用バッファ121は、ネットワーク
190を介して送信するパケット、および、ネットワー
ク190を介して受信したパケットを保持する手段であ
り、例えば、RAM等の電子デバイスによって実現する
ことができる。
【0046】ネットワーク送受信部118は、ネットワ
ーク190と送受信用バッファ121との間のデータ通
信を行わせる手段であり、例えば、各種TTL、CMO
S等の電子デバイスによって実現することができる。
【0047】受信DMA制御情報保持手段111は、送受信
用バッファ121からメモリ150へのデータ転送時に
行う制御に関する情報を保持する手段であり、例えば、
RAM、各種TTL、CMOS等の電子デバイスによっ
て実現することができる。
【0048】送信DMA制御情報保持手段112は、メモ
リ150から送受信用バッファ121へのデータ転送時
に行う制御に関する情報を保持する手段であり、例え
ば、RAM、各種TTL、CMOS等の電子デバイスに
よって実現することができる。
【0049】割込制御情報保持手段113は、送受信用
バッファ121とメモリ150との間でのデータ転送処
理の終了時、および、所定の動作の終了時等に、割込を
発行する際に使用する情報を保持する手段であり、例え
ば、RAM、各種TTL、CMOS等の電子デバイスに
よって実現することができる。
【0050】アダプタ制御情報保持手段114は、ネッ
トワークアダプタ110が動作を行う際に使用する、制
御情報を保持する手段であり、例えば、RAM、各種T
TL、CMOS等の電子デバイスによって実現すること
ができる。
【0051】アダプタ制御手段115は、送受信パケッ
トをDMA処理により、データ転送制御する際、制御情報
等をネットワークアダプタ110に、プロセッサ130
によって通知させるための手段であり、例えば、各種T
TL、CMOS等の電子デバイスによって実現すること
ができる。
【0052】ネットワーク送受信部118は、送受信用
バッファ121の内容を、ネットワーク190に出力す
る送信処理と、ネットワーク190上の通信パケットを
監視し、自アドレスを含むパケットを、送受信用バッフ
ァ121に取り込む処理(かかる処理は、次に示す自ア
ドレス保持手段119によって行われる)を行う手段で
あり、例えば、各種TTL、CMOS等の電子デバイス
によって実現することができる。また、ネットワーク送
受信部118に備えられた、自アドレス保持手段119
は、例えば、RAM等の電子デバイスによって実現でき
る。
【0053】また、送受信用バッファ121は、例え
ば、RAM等の電子デバイスによって実現できる。な
お、プロセッサ130は、例えば、CPU(中央処理装
置)によって実現可能であり、メモリ150は、例えば
RAMによって実現可能である。
【0054】次に、メモリ150に格納されるデータの
構造について説明する。
【0055】メモリ150に格納されるデータの構造
は、受信処理に関連するデータ構造と、送信処理に関連
するデータ構造を考慮している。
【0056】受信処理に関連するデータ構造としては、
受信領域指定情報選択情報167、受信領域指定情報
(164から165)、受信プロトコル情報(161から
162)、ユーサ゛テ゛ータ(171から172)がある。
【0057】ユーザデータ(171から172)は、受信
側がデータを受信する領域として確保した領域に格納さ
れた情報である。
【0058】受信プロトコル情報(161から162)
は、通信の際に必要なプロトコル情報を転送するための
領域に格納された情報である。
【0059】通信の際に必要なプロトコル情報とは、例
えば、受信すべきプロセスを特定するための情報等であ
る。
【0060】受信領域指定情報(164から165)は、
(受信の際に)パケットを転送する際の制御情報であ
り、例えば、ユーザデータ(171から172)、受信プ
ロトコル情報(161から162)のアドレス情報等であ
る。受信領域指定情報(164から165)では、複数の
ユーザデータを指し示す情報を保持してもよい。
【0061】図1のメモリ150内に存在する、受信領
域指定情報選択情報167は、後で示す、ネットワーク
パケットの受信領域指定情報312−bが示す情報にも
とづいて、複数存在する受信領域指定情報(164から
165)のいずれかを選択するための情報を保持し、そ
のデータ構造は、テーブル状になっている。
【0062】送信処理に関連するデータは、例えば、送
信領域指定情報(166)については、送信プロトコル情
報(163)、ユーザデータ(173)等である。
【0063】ユーザデータ(173)は、送信側が送信す
るデータ領域に格納されたデータである。送信プロトコ
ル情報(163)は、通信の際に必要なプロトコル情報を
転送するための領域に格納された情報である。通信の際
に必要なプロトコル情報とは、例えば、受信先のプロセ
スを特定するための情報等である。
【0064】送信領域指定情報(166)は、(送信の
際)パケットを転送する際に必要な制御情報であり、例
えば、ユーザデータ(173)、送信プロトコル情報(1
63)のアドレス情報およびサイズ情報である。送信領
域指定情報(166)は、複数のユーザデータを指し示す
情報を保持してもよい。
【0065】受信領域指定情報(164から165)
は、受信プロトコル情報(161から162)およびユ
ーザデータ(171から172)の転送先領域を指定する
情報であり、例えば、メモリ150内におけるアドレ
ス、データサイズ等を有する。
【0066】送信領域指定情報166は、送信プロトコ
ル情報163、および、ユーザデータ173を指定する
情報であり、例えば、メモリ150内におけるアドレ
ス、データサイズ等を有する。
【0067】ここで、送信プロトコル情報163、ユー
ザデータ173は、受信処理側と同様に、複数備えてお
くのも良い。
【0068】本実施例においては、ユーザデータ(17
1から172)、ユーザデータ(173)は、メモリ15
0内のユーザ空間170に存在する。一方、受信領域指
定情報選択情報167、受信プロトコル情報(161か
ら162)、受信領域指定情報(164から165)、送
信領域指定情報(166)、および、送信プロトコル情報
163は、OS空間160内に存在する。
【0069】次に、図3を参照して、ネットワーク上で
送受信されるパケットである、ネットワークパケットの
構成を示す。
【0070】従来のネットワークパケットは、例えば、
データ310−a、タイプ320−a、送信元アドレス3
21−a、受信先アドレス322−aを有して構成されて
いた。
【0071】データ310−aは、OS、ソフトウエア
が処理する対象となる情報である。
【0072】タイプ320−aは、ネットワークアダプ
タ110が所定の処理を行うために必要な情報であり、
例えば、データ全体の長さ等の情報である。
【0073】送信元アドレス321−aは、パケットを
送出したネットワーク内計算機を識別するための識別子
である。さらに、受信先アドレス322−aは、パケッ
トを受信すべきネットワーク内計算機を識別するための
識別子である。
【0074】本発明にかかるネットワークパケットは、
データ310−b、分割情報311−b、受信領域指定情
報312−b、タイプ320−b、送信元アドレス321
−b、受信先アドレス322−bを有して構成される。
【0075】データ310−b、タイプ320−b、送信
元アドレス321−b、受信先アドレス322−bは、そ
れぞれ、データ310−a、タイプ320−a、送信元ア
ドレス321−a、受信先アドレス322−aに対応して
いる。
【0076】ここで、データ310−bの部分は、受信
側としては、上記の受信プロトコル情報(161から1
62)から、受信領域指定情報312−b、タイプ320
−b、送信元アドレス321−b、受信先アドレス322
−bに相当する情報を除いた情報と、ユーザデータ(17
1から172)とを有して構成される情報である。
【0077】または、データ310−bの部分は、送信
側としては、上記の送信プロトコル情報(163)から、
受信領域指定情報312−b、タイプ320−b、送信元
アドレス321−b、受信先アドレス322−bに相当す
る情報を除いた情報と、ユーザデータ(173)とを有し
て構成される情報である。
【0078】分割情報311−bは、例えば、パケット
の分割数および分割する際の長さを示す情報である。ま
た、ここで、分割情報は、3つ以上に分割するための情
報を含んでもよいことは言うまでもない。また、パケッ
トを分割した場合、分割された部分の、どの分割部分
が、受信プロトコル情報(161から162)、送信プロ
トコル情報(163)に相当する部分で、どの分割部分
が、ユーザデータ(171から173)に相当する部分で
あるかを示す情報を備えていてもよい。また3つ以上
に、パケットを分割する場合には、分割された部分の、
どの分割部分が、ユーザデータの、どの部分に対応する
かを示す情報を備えておくのも好ましい。
【0079】受信領域指定情報312−bは、パケット
データをメモリ150に転送する際に、そのデータの転
送先を示す受信領域指定情報を選択するための情報であ
る。
【0080】以下、パケットの送信処理および受信処理
の概要を示す。
【0081】パケットの送信処理は、ユーザデータA1
73と、送信プロトコル情報163とを用いて、図3参
照の本発明にかかるネットワークパケットを作成して、
ネットワークにパケットを出力する処理である。
【0082】以下、送信時のソフトウエア処理、ネット
ワークアダプタ110の動作を説明する。
【0083】まず、パケット送信処理時に行われるソフ
トウエアによる処理を、図4を参照して説明する。
【0084】ユーザデータA173には、送信対象とな
るユーザデータが保持されている。
【0085】まず、ステップ410に示すように、送信
プロトコル情報163には、受信領域指定情報312−
b、タイプ320−b、送信元アドレス321−b、受信
先アドレス322−bを設定する。
【0086】ここで、前述のように、受信領域指定情報
312−bは、受信側での受信領域を指定するための識
別子である。タイプ320−bは、例えば、上位のプロ
トコルの種類等を示す情報である。送信元アドレス32
1−bは、自計算機のネットワークにおける識別子であ
り、受信先アドレス322−bは、受信先の計算機のネ
ットワークにおける識別子である。
【0087】次に、ステップ420に示すように、送信
領域指定情報166に、ユーザデータA173、送信プ
ロトコル情報領域163を指定する情報を設定する。
【0088】設定する情報としては、例えば、メモリ1
70内におけるアドレス、データ長等である。ここで、
送信領域指定情報166に設定する情報の中で、データ
長および領域指定の数を、分割情報311−bとして、
ネットワークパケットを構成する。
【0089】次に、ステップ430に示すように、送信
領域指定情報166の情報を、送信DMA制御情報保持手
段112に設定する。
【0090】送信DMA制御情報保持手段112に設定す
る情報は、メモリ170内における、当該領域のアドレ
ス等である。
【0091】最後に、ステップ440に示すように、ア
ダプタ制御手段115に対して、動作の起動通知を行
う。上記の一連の処理により送信処理が完了する。
【0092】次に、送信処理の際のネットワークアダプ
タ110の動作を、図4を参照して説明する。アダプタ
制御手段115に対する動作起動の通知によって、当該
手段が動作を開始した以降の動作について説明する。
【0093】まず、ステップ510に示すように、マル
チキューDMA制御部120は、送信DMA制御情報保持手段
112に保持されている情報に基づいて、送信領域指定
情報166の内容を読み出して、その内容を、DMA分割
情報保持手段117に設定する。
【0094】次に、ステップ520に示すように、マル
チキューDMA制御部120は、DMA分割情報保持手段11
7に保持されている、送信領域指定情報166の内容に
したがって、ユーザデータA173、送信プロトコル情
報163に保持されている情報を、送受信用バッファ1
21に読み込む処理を行う。
【0095】次に、ステップ530に示すように、マル
チキューDMA制御部120は、DMA分割情報保持手段11
7に保持されている送信領域指定情報166の内容か
ら、データ長、領域指定の数を、「分割情報311−
b」として利用するために取り出す。
【0096】次に、ステップ540に示すように、マル
チキューDMA制御部120は、ユーザデータA173
と、送信プロトコル情報163に保持されている受信領
域指定情報312−b、タイプ320−b、送信元アドレ
ス321−b、受信先アドレス322−b以外の情報とか
ら、データ310−bを構成し、さらに、送信プロトコ
ル情報163に保持されている受信領域指定情報312
−b、タイプ320−b、送信元アドレス321−b、受
信先アドレス322−bを用いて、本発明にかかるネッ
トワークパケットを送受信用バッファ121内に作成、
格納する。
【0097】最後に、ステップ550に示すように、内
部バス122を介して、ネットワーク送受信部118か
ら、作成したネットワークパケットを出力する。
【0098】さて、次に、パケットの受信処理について
示す。
【0099】受信処理は、ネットワーク190から取り
込んだネットワークパケットを用いて、ハードウエア処
理によって、パケットが備えるデータ部分のみを、ユー
ザ空間内に存在する所定のユーザデータ格納領域に、直
接転送することで、パケットデータのデータコピー処理
を行わずに、アプリケーションプログラムにデータを引
き渡すことを可能にするものである。
【0100】以下、受信処理の内容について説明する。
【0101】ところで、受信処理には、大きく分けて、
ソフトウエアがデータの到着に先だって行う処理である
受信ソフト前処理と、データ到着時にネットワークアダ
プタ110が行う処理と、ソフトウエアによる、データ
が到着した後に行う処理である受信ソフト後処理があ
る。
【0102】まず、受信ソフト前処理について示す。
【0103】受信ソフト前処理は、受信領域指定情報選
択情報167、受信領域指定情報(164から165)
に、情報を設定し、かかる設定処理をネットワークアダ
プタ110に通知する処理である。
【0104】まず、ステップ610に示すように、割込
制御情報保持手段113に、データ受信終了時にプロセ
ッサ130に発行する、割込に関する割込情報を設定す
る。
【0105】次に、ステップ620に示すように、受信
領域指定情報選択情報167内に、ネットワークパケッ
ト内の受信領域指定情報312−bと、受信領域指定情
報(164から165)とをどのように対応させるかを決
定し設定する処理を行う。
【0106】例えば、受信領域指定情報選択情報167
は、受信領域指定情報312−bに基づいて、受信領域
指定情報の有するアドレスを読み出すことができる、テ
ーブル状のデータ構造を有する構成を採用すれば良い。
【0107】次に、ステップ630に示すように、受信
領域指定情報(164から165)に、ユーザデータ(1
71から172)および受信プロトコル情報(161から
162)が有する情報を設定する。この情報は、例え
ば、ユーザデータ(171から172)および受信プロト
コル情報(161から162)のアドレスと、データサイ
ズ等である。
【0108】最後に、ステップ640に示すように、受
信DMA制御情報保持手段111に、受信領域指定情報選
択情報167が示す情報を設定する。
【0109】次に、ネットワークパケットを取り込んで
から、データを受信するまでのネットワークアダプタ1
10の動作について説明する。
【0110】まず、ステップ710に示すように、ネッ
トワークアダプタ110内のネットワーク送受信部11
8は、ネットワーク190を監視して、ネットワーク1
90上を通信されるネットワークパケットを取り込む。
【0111】次に、ステップ720に示すように、ネッ
トワークパケットの受信先アドレス322−bの内容
が、自アドレス保持手段119に予め保持されている内
容と等しい場合には、ステップ740にブランチし、等
しくない場合には、ステップ730にブランチする。
【0112】ステップ730では、取り込んだネットワ
ークパケットを棄却して処理を終了する。
【0113】一方、ステップ740では、ネットワーク
パケットを送受信用バッファ121に取り込む。
【0114】次に、ステップ750に示すように、マル
チキューDMA制御部120は、ネットワークパケット内
の受信領域指定情報312−bの内容を、受信DMA制御情
報選択手段116に設定する。
【0115】次に、ステップ760に示すように、マル
チキューDMA制御部120は、受信DMA制御情報保持手段
111の内容と、受信DMA制御情報選択手段116の内
容とから、複数存在する受信領域指定情報(164から
165)のいずれかを選択する処理を行う。
【0116】すなわち、これは、受信領域指定情報31
2−bの内容にしたがって、受信領域指定情報選択情報
167のテーブルを参照することで、受信領域指定情報
(164から165)のうちの一つを特定する処理であ
る。
【0117】次に、ステップ770に示すように、マル
チキューDMA制御部120は、選択した受信領域指定情
報(164から165)から、アドレス情報を取得する。
【0118】次に、ステップ780に示すように、マル
チキューDMA制御部120は、送受信用バッファ121
に取り込んだネットワークパケットを用いて、分割情報
311−bを取得する。
【0119】次に、ステップ785に示すように、マル
チキューDMA制御部120は、分割情報311−bに基づ
き、送受信用バッファ121に取り込んだネットワーク
パケットのデータ部を分割する処理を行う。
【0120】すなわち、分割情報に保持されている分割
数、分割長の情報と、パケットデータの分割部分のう
ち、どの分割部分が、受信プロトコル情報(161から
162)に相当する部分で、どの分割部分がユーザデー
タ(171から172)に相当する部分であるかを示す情
報とから、ネットワークパケットのデータ310−b
を、受信プロトコル情報と、ユーザデータとに分割する
処理を行う。
【0121】次に、ステップ790に示すように、ステ
ップ770にて特定された受信領域指定情報の情報(例
えば、メモリ150内のアドレス値)に基づいて、分割
したパケットを、ユーザデータおよび受信プロトコル情
報に分離して、各々の転送先領域に転送する。
【0122】最後に、ステップ795に示すように、割
込制御情報保持手段113の内容にしたがって、プロセ
ッサ130に対して割込を発行する。
【0123】さて、次に、データ到着後に行う受信ソフ
ト後処理について説明する。
【0124】受信ソフト後処理は、ネットワークパケッ
トが、ハードウエアによってユーザデータおよび受信プ
ロトコル情報に分割して転送された後に、発行した割込
によって起動される。
【0125】まず、ステップ810に示すように、割込
が発行されると、プロセッサ130は、受信プロトコル
制御情報が有する情報にしたがって、データを受信した
アプリケーションを特定する。
【0126】次に、ステップ820に示すように、デー
タを受信したアプリケーションが、データ受信要求を発
行後、待ち状態となっていた場合には、ステップ830
にブランチし、そうでない場合には、ステップ840に
ブランチする。
【0127】ステップ830では、受信要求をしてブロ
ックされていたアプリケーションの起動を行う。一方、
ステップ840では、データを受信したアプリケーショ
ンがデータ受信要求を発行後に、待ち状態となっていな
い場合には、受信要求が発行されたときに、即座にデー
タを引き渡せるように、状態を通知するためのフラグの
設定を行う。かかる場合には、受信アプリケーションか
ら受信要求が発行されたときにデータの引き渡し処理を
行う。
【0128】次に、上記受信処理の動作を明確にするた
めに、受信要求を発行したアプリケーションプログラム
からみた動作を、図9を参照して説明する。
【0129】まず、ステップ910に示すように、受信
バッファの割り当て処理を行う。これは、図6にて説明
した処理の起動を行うものである。
【0130】次に、ステップ920に示すように、受信
要求を発行する。受信要求の発行処理は、ステップ91
0の受信バッファ割り当て処理が先行して行われること
が必要条件であるが、受信バッファ割り当て処理の直後
に、受信要求を出すことは必要条件ではない。
【0131】ここでは、最も単純に受信処理の流れを説
明するために、受信関連処理のみの記述にとどめるが、
ステップ910とステップ920との間に、所定の処理
が存在してもかまわない。
【0132】次に、ステップ930にしたがって、受信
データの到着が受信要求に先行していれば、ステップ9
60にブランチし、そうでなれけば、ステップ940に
ブランチする。
【0133】ステップ960では、図8にて説明した、
データ到着を示すフラグが設定されているので、データ
を受け取るのみでよい。
【0134】ステップ950では、まだデータが到着し
ていないので、図8にて説明した受信要求プロセスの起
動まで待ち状態に入る。かかる状態からの復帰処理は、
図8にて説明した方法にて行われる。
【0135】以下、さらに詳細に本発明にかかる実施例
について図面を参照して説明する。
【0136】図10に、ネットワークシステムを構成す
る、本発明にかかる情報処理装置の一例である、ネット
ワーク内計算機ノード1101(複数存在する計算機の
一つずつを、以下「ノード」と称する)の構成例を示
す。
【0137】ネットワーク内計算機ノード1101を有
して構成されるネットワークは、図10に示す計算機ノ
ード1101を、ネットワーク1105に少なくとも2
台以上接続して構成する。
【0138】ネットワーク1105は、パケット等の情
報を伝送するための手段であり、例えば、電気ケーブ
ル、光ファイバ等を使用して構成すれば良い。
【0139】以下、ネットワークを構成する情報処理装
置の一例である、ネットワーク内計算機ノード1101
の構成について、図面を参照して説明する。
【0140】本実施例におけるネットワーク内計算機ノ
ード1101は、プロセッサ1102、メモリ110
3、ネットワークアダプタ1110を有して構成され、
各構成要素は、システムバス1104を介して接続され
ている。
【0141】また、前記ネットワークアダプタ1110
は、マルチキューDMA制御部1111、受信用バッファ
1112、送信用バッファ1113、ネットワーク受信
部1114、およびネットワーク送信部1115を備え
た構成としている。
【0142】なお、計算機ノード1101は、システム
の構成によっては、少なくとも1以上のI/O装置(図
示せず)を備える構成にするのが好ましい。
【0143】マルチキューDMA制御部1111および、
ネットワーク送信部1115、ネットワーク受信部11
14は、例えば、各種TTL、CMOS等の電子デバイ
スによって実現することができる。
【0144】また、送信用バッファ113、受信用バッ
ファ112は、例えば、RAM等の電子デバイスによっ
て実現できる。さらに、プロセッサ1102は、例えば
CPUによって、メモリ1103は、例えば、RAM等
の電子デバイスによって実現できる。
【0145】さて、図11に、前記マルチキューDMA制
御部の構成例を示す。
【0146】マルチキューDMA制御部は、マルチキュー
制御レジスタ群1201とDMA制御部1202とを有し
て構成されており、本マルチキューDMA制御部は、シス
テムバス、受信用バッファ、および送信用バッファに接
続されている。
【0147】マルチキュー制御レジスタ群1201は、
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の各レジスタを有して構成
される。
【0148】なお、マルチキュー制御レジスタ群120
1は、例えば、各種TTL、CMOS、RAM等の電子
デバイスによって実現できる。
【0149】DMA制御部1202は、DMA処理により、デ
ータ転送処理を行う機能を有するハードワイアードロジ
ックであり、例えば、各種TTL、CMOS等にて実現
される。
【0150】ADP_COMMAND1211は、ネットワークア
ダプタを制御するためのコマンドを格納するためのレジ
スタであり、ADP_STATUS1212は、ネットワークアダ
プタを制御するためのステータス情報を保持するための
レジスタである。
【0151】SEND_Q_ADR1221、SEND_Q_LEN122
2、SEND_Q_HEAD1223、SEND_Q_TAIL1224は、送
信用コマンドを処理するための、リスト構造(以下、こ
れを「コマンドキュー」と称する)を有する各種パラメ
ータの格納部であり、後に図15を参照して説明する。
【0152】RECV_Q_TBL_ADR1231は、コマンドキュ
ー選択テーブルのアドレスを示すポインタ、RECV_Q_TBL
_LEN1232は、コマンドキュー選択テーブルのサイズ
を示し、さらに、RECV_PORT_NO1233は、受信したパ
ケットのヘッダ内に存在するDMA_PORT_NOを一時的に保
存するためのレジスタである。
【0153】なお、コマンドキュー選択テーブルについ
ては、図13および図14を参照して説明する。また、
「DMA_PORT_NO」については、図12を参照して説明す
る。
【0154】RECV_Q_ADR1241、RECV_Q_LEN124
2、RECV_Q_HEAD1243、RECV_Q_TAIL1244は、受
信用コマンドキュー用のパラメータの格納部であり、後
に図15を参照して説明する。
【0155】次に、図12に、ネットワークを介して通
信されるパケットのデータフォーマットを示す。
【0156】パケットデータは、DATA_LENGTH130
1、HEADER_LENGTH1302、DMA_PORT_NO1303、SR
C_NODE_NO1304、DST_NODE_NO1305、MODE130
6、およびSOFT_HEADER1311とを備えて構成される
ハードヘッダ部1300と、SOFT_DATA1312を備え
るパケットデータ部1310を有して構成される。
【0157】ハードヘッダ部1300を構成する各要素
のデータ長は、固定長であることが好ましい。
【0158】DATA_LENGTH1301は、1301、13
02、1303、1304、1305、1306、13
11、1312から構成されるデータの長さを示す情報
が格納されている。
【0159】HEADER_LENGTH1302は、パケット内の
データを複数に分割し、DMA処理により記憶領域に転送
する際のデータの長さを示し、この長さは、1301、
1302、1303、1304、1305、1306、
1311から構成されるデータの長さである。
【0160】すなわち、HEADER_LENGTH1302は、ハ
ードヘッダ部の長さを示す情報である。
【0161】DMA_PORT_NO1303は、受信側の計算機
ノードが備える主記憶(もちろん、主記憶には限られな
い)に、DMA処理によってデータを転送する際のコマン
ドキューを選択するための、コマンドキュー選択テーブ
ル1401の選択処理を行うためのパラメータである。
【0162】前にも述べたとおり、コマンドキュー選択
テーブル1401については、後述する。
【0163】SRC_NODE_NO1304は、ネットワークを
介してデータを送信する送信側の計算機ノードを識別す
るための情報であり、予め計算機ノードに付加されたア
ドレス番号等を使用すればよい。また、DST_NODE_NO1
305は、ネットワークを介してデータを受信する受信
側の計算機ノードを識別するための情報であり、予め計
算機ノードに付加されたアドレス番号等を使用すればよ
い。
【0164】図10に示すネットワーク受信部1114
は、例えば、パケットが備えるDST_NODE_NO1305の
内容が、予め設定された自計算機ノードに割当てられた
アドレス番号と一致したときに、パケットの取り込み処
理を行うように構成しておけば良い。
【0165】MODE1306は、DMA処理を実行する際の
コマンドを決定するためのパラメータであり、その使用
法については、後に説明する処理フローの説明の際に述
べる。
【0166】また、SOFT_HEADER1311は、プロトコ
ル処理を行うソフトウエアが使用するための情報であ
り、SOFT_DATA1312は、ネットワークを介して、例
えば、アプリケーション間で送受信されるデータそのも
のである。
【0167】次に、図13に、受信されたデータをDMA
処理するためのデータ構造の一例を示す。これは、図1
0のメモリ1103の内に格納すればよい。
【0168】メモリ内の受信DMA処理用データ構造は、
コマンドキュー選択テーブル1401と、ポート別コマ
ンドキュー群1410とを有して構成される。
【0169】コマンドキュー選択テーブルの各エントリ
1401−1、1401−2、…、1401−Nは、ポ
ート別コマンドキュー1410−1、1410−2、
…、1410−Nに対応して、情報(以下で述べる、図
14に示すような情報)を保持している。
【0170】図14に、コマンドキュー選択テーブル1
401の構成を示す。これは、メモリ1103内に格納
しておけば良い。
【0171】テーブルの先頭アドレスは、図11にて示
した、マルチキュー制御レジスタ群1201を構成する
RECV_Q_TBL_ADR1231で指示され、テーブルのエント
リ数は、マルチキュー制御レジスタ群1201を構成す
るRECV_Q_TBL_LEN1232にて示される。
【0172】図14に示す、各エントリ1401−1、
1401−2、…、1401−Nは、「Q_ADR_M,Q_HEA
D_M,Q_TAIL_M,Q_LEN_M」(ただしM=1〜N:Nは、正の
整数)の4つのパラメータを有して構成されており、こ
れらは、各コマンドキューを制御するための情報であ
る。
【0173】これら各々のパラメータにより、所定の制
御を行う方法については、図15にて示す。
【0174】次に、図15に、コマンドキューの構成例
を示す。これは、図10のメモリ1103内に格納され
ている。
【0175】なお、コマンドキューの構成は、基本的
に、送信側、受信側のいずれも同様の構成である。
【0176】Q_ADR,Q_HEAD,Q_TAIL,Q_LENは、送信側
については、図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に、一対
一に対応している。
【0177】以下、各々について説明する。
【0178】Q_ADR,Q_HEAD,Q_TAIL,Q_LENは、コマン
ドキューを管理するための情報である。
【0179】Q_ADRは、コマンドキューの先頭のアドレ
スを示すポインタであり、Q_HEADは、次回のDMA処理を
行うためのコマンドを示すポインタであり、Q_TAILは、
ソフトウエアによって現在設定されている最後のコマン
ドを示すためのポインタである。
【0180】コマンドキューは、キューの最後尾に、キ
ューの先頭がつながっており、論理的なリング構造を有
している。
【0181】Q_LENは、コマンドキューの最後を認識
し、先頭に折り返す処理をするために、必要なコマンド
キューの長さ情報を保持する変数である。
【0182】次に、コマンドキュー内部に備えられたコ
マンドについて説明する。
【0183】各コマンド単位は、COMMAND1601、HEA
DER_POINTER1602、HEADER_LENGTH1603、DATA_P
OINTER1604、DATA_LENGTH1605、RESULT_STATUS
1606を有して構成される。
【0184】COMMAND1601のフィールドは、このコ
マンドによるDMA処理が終了した際に、割り込み命令を
発行するか否か等の情報を保持するフィールドである。
【0185】HEADER_POINTER1602のフィールドは、
ハードヘッダ1610を保存している領域の物理アドレ
スを保持するフィールドである。
【0186】HEADER_LENGTH1603のフィールドは、
ハードヘッダ1610のデータ長を示す情報を保持する
フィールドである。
【0187】なお、ハードヘッダ1610は、DATA_LEN
GTH1301、HEADER_LENGTH1302、DMA_PORT_NO1
303、SRC_NODE_NO1304、DST_NODE_NO1305、
MODE1306、SOFT_HEADER1311を有して構成され
る。
【0188】DATA_POINTER1604およびDATA_LENGTH
1605は、それぞれ、パケット内のソフトデータ領域
の物理アドレス(DATA_POINTER1604)、および、長さ
(DATA_LENGTH1605)を示す。
【0189】受信用のコマンドキューでは、HEADER_LEN
GTH1603およびDATA_LENGTH1605は、ヘッダ部分
およびデータ部分に対応して、受信用に確保した記憶領
域のサイズを示す。
【0190】コマンドに、パケット単位ごとに、HEADER
_POINTER1602およびDATA_POINTER1604に、物理
アドレスを設定する領域を持ち、受信時に、このアドレ
スに対応してデータ転送を行うことで、以下に示すよう
に、仮想アドレスを使用している場合に、仮想アドレス
での連続領域が、物理アドレスでは非連続領域となる、
データの転送処理を行うことが可能となる。
【0191】送受信対象となるデータ領域に対応する物
理アドレスの取得は、OSによって行われる。最も単純
な場合は、アプリケーションが物理アドレスに基づいて
動作している場合であり、かかる場合には、OSは該ア
プリケーションのデータ領域の物理アドレスを、上位物
理アドレスを設定すべきDATA_POINTER1604に設定す
ればよい。
【0192】次に、OSが仮想メモリ管理を行うシステ
ム例を示す。
【0193】メモリ1103は、OSおよびアプリケー
ションによって使用されており、仮想メモリ管理下のプ
ログラム(通常のアプリケーションプログラム)は、仮想
メモリによるアドレスを、アドレス変換を行うための
「プロセスページテーブル」に設定された情報にて物理
アドレスに変換して、メモリアクセスを行う。
【0194】この仮想メモリアドレスと物理アドレスの
変換のためのテーブルが、図16に示すプロセスページ
テーブルである。
【0195】以下、OSによって行われるアプリケーシ
ョンのデータ領域の論理アドレスから、物理アドレスを
取得する処理を、図16に示すプロセスページテーブル
を使用して説明する。
【0196】これは、図10のメモリ1103上に割り
付けられた物理アドレスの替わりに、仮想アドレスを使
用するための変換テーブルである。
【0197】具体的には、図16に示すように、プロセ
スページテーブルは、プロセスの仮想ページに対応する
物理ページを示すテーブルになっている。
【0198】ここで「ページ」とは、OSがメモリ管理
を行う基本単位である。ページのサイズは、2のべき乗
で表現され、現在のOSでは、2048,4096,81
92(バイト等)等のサイズを採用しているものが多
い。
【0199】物理アドレスと仮想アドレスは、前述のペ
ージ番号に、ページ内のオフセット値を加えた値とな
る。なお、物理アドレスと仮想アドレスにおいては、ペ
ージ内のオフセット値は同一の値である。
【0200】物理アドレスを設定する際には、このテー
ブルを参照することにより、論理アドレスに対応する物
理アドレスへの対応をとることができる。
【0201】例えば、あるアプリケーションのデータ領
域が論理ページ「M、M+1」であり、2領域にまたが
って存在するデータを受信する場合には、各々の物理ペ
ージ番号200、物理ページ番号358をページサイズ
倍して、ページ内のオフセット値を加えることにより物
理アドレスを算出して、これをコマンドキューの連続す
る2つのコマンドのDATA-POINTER1604に設定すれば
良い。このような処理によって、非連続的に存在する物
理アドレス領域から、連続的に存在する仮想アドレス領
域に、連続的にデータを転送することができるようにな
る。
【0202】次に、仮想空間アドレスと物理空間アドレ
スとコマンドキューとの関連を、図18を参照して説明
する。
【0203】図18に示す仮想メモリ空間の一部に、ア
プリケーションの空間が存在する。
【0204】アプリケーション空間内に存在するデータ
バッファ1910は、データA1901、データB190
2、データC1903、およびデータD1904とを有し
て構成される。
【0205】今、データA1901内の「3」は、仮想
空間内のページ番号であり、図18に示すように、領域
A1921に対応し、物理空間内でページ番号「52」
に対応する。
【0206】かかる対応は、図16にて説明したプロセ
ステーブルに設定されている情報であるので、プロセス
テーブルを参照することで、仮想空間内の「3」ページ
が、物理空間内のページ番号「52」に対応しているこ
とにより判断される。
【0207】以下、データB1902は、仮想空間内の
ページ番号「4」を有し、領域C1923に対応し、物
理空間内でページ番号「73」を有する。
【0208】また、データC1903は、仮想空間内の
ページ番号「5」を有し、領域B1922に対応し、物
理空間内でページ番号「60」を有する。
【0209】最後に、データD1904は、仮想空間内
のページ番号「6」を有し、領域D1924に対応し、
物理空間内でページ番号「81」を有する。
【0210】したがって、アプリケーション空間のデー
タバッファ1910内に存在するデータA1901、デ
ータB1902、データC1903、データD1904に
データを受信する際には、コマンドキュー1930内の
コマンドに対して設定する、物理アドレスを決定するた
めの物理ページは、コマンドA1931には、物理空間
内のページ番号「52」を使用する。また、コマンドB
1932には、物理空間内のページ番号「73」を使用
する。さらに、コマンドC1933には、物理空間内の
ページ番号「60」を使用する。最後に、コマンドD1
934には、物理空間内のページ番号「81」を使用す
るようにする。上述のようにして、コマンドキューに設
定する物理アドレスを算出すればよい。
【0211】上記のように、コマンドキューのネットワ
ークパケットに対応して各エントリを備え、各エントリ
ごとに物理アドレスを設定する領域を保持する構成にす
ることにより、非連続的に存在する物理アドレス領域か
ら、連続的に存在する仮想アドレス領域に、連続的にデ
ータを受信することができるようになる。
【0212】次に、本発明にかかる一連の処理を、初期
化処理、受信側処理、送出側処理の順に説明をする。
【0213】最初に、図20を参照して、初期化処理の
動作を説明する。
【0214】まず、ステップ2110において、コマン
ドキュー選択テーブル1401を作成し、メモリ110
3内に格納しておく。
【0215】次に、ステップ2120において、コマン
ドキューを作成し、メモリ1103内に格納しておく。
【0216】続いて、ステップ2130において、ステ
ップ2110において作成したコマンドキュー選択テー
ブル1401の管理情報を、ネットワークアダプタ11
10が備えるマルチキュー制御レジスタ群201内のRE
CV_Q_TBL_ADDR1231、RECV_Q_TBL_LEN1232に設
定する。
【0217】その後、ステップ2140において、ネッ
トワークアダプタ1110が備えるマルチキュー制御レ
ジスタ群1201内のADP_COMMAND1211に、起動コ
マンドを設定する。
【0218】次に、ステップ2150において、アプリ
ケーション間で使用するポートを通信処理に先立って決
定する処理を行なう。
【0219】初めは、通信相手が特定できないので、初
期化通信時には、例えば、ポート番号は、「1」を使用
することにしておき、また、使用できる最大のエントリ
数を、初期化時に静的に設定しておく。
【0220】初期化通信方式としては、カーネル内のプ
ロトコル処理を行うソフトウエア間での通信を、通常の
メッセージパッシングと同様の方式で行えばよい。
【0221】なお、通信に使用するバッファは、カーネ
ル内のプロトコルサーバ用のバッファである。
【0222】上述の初期化処理により、プロトコル処理
を行うソフトウエアは、通常のメッセージ通信(TCP/IP
等)と同様の通信が可能となる。
【0223】次に、アプリケーション間で使用するポー
トを通信処理に先立って決定する処理として、送出側お
よび受信側システムのポート番号の割り当て処理を行
う。
【0224】まず、ポート割り当てを行う処理を、以下
に示す。
【0225】ネットワーク内計算機を複数接続して構成
されたネットワークにおいて、各計算機に対して、ポー
ト番号が、静的に割り当てられているものとする。
【0226】すなわち、計算機1と計算機2の間の通信
では、例えば、ポート番号100〜200を使用するよ
うに、ポート番号を割り当て、同様に、ブロードキャス
ト通信用に使用するポートの番号の範囲も、例えば、ポ
ート番号1000〜2000を使用するように、使用す
るポートの番号の範囲を予め指定しておく。
【0227】各計算機間の通信に使用できるポートの番
号の範囲が定められているので、アプリケーション間で
使用するポート番号の決定は、前述のプロトコルサーバ
間の通信により、TCP/IP等のプロトコルと同様の方法に
より行われる。以上の処理により、初期化処理が完了す
る。
【0228】次に、図17に受信処理のフローを示す。
【0229】通信の際に、データコピー処理を省略する
ためには、データの受信バッファがデータの送出よりも
先に設定されていることが必要である。
【0230】そこでまず、ステップ1810において、
受信側のアプリケーションは、データの受信処理の起動
を行う前に、受信バッファの割り当て処理を行う。
【0231】次に、ステップ1820において、受信シ
ステムコールが、実際の受信データの到着よりも先に発
行されれば、ステップ1830にブランチし、そうでな
ければ、ステップ1850にブランチする。
【0232】ステップ1830では、データ到着終了ま
でブロック(所定時間、処理がウエイトされることを、
「ブロック」と称する)され、全データの到着時に、ス
テップ1840に示すように、受信発行プロセスの起動
を行ない、受信処理を完了する。
【0233】一方、ステップ1850においては、全デ
ータが到着したことを確認した後、受信処理を完了す
る。
【0234】次に、図19を参照して、受信マルチキュ
ーDMA処理を説明する。
【0235】まず、ステップ2010において、ネット
ワーク1105を介して到着した、パケットデータは、
ネットワーク受信部1114によって、取り込み動作が
行われ、受信用バッファ1112に格納される。
【0236】次に、ステップ2020においては、マル
チキューDMA制御部1111が、受信バッファ1112
を監視しており、パケットデータが到着すると、マルチ
キューDMA制御部が起動し、一連の処理を開始すること
になる。
【0237】具体的には、以下の処理が行われる。
【0238】まず、パケットのハードヘッダ部が備え
る、DMA_PORT_NO1303の内容にしたがって、実行す
べきコマンドキューを決定する。この処理は、マルチキ
ュー制御レジスタ群1201内のRECV_Q_TBL_ADR123
1の内容に、前記DMA_PORT_NO1303の内容をコマン
ドキュー選択テーブルの各エントリのサイズ倍(例え
ば、DMA_PORT_NOが「5」のとき、5エントリ分)した
数値を加えることによって、アドレスを算出することに
よって行われる。
【0239】ここで、セキュリティの向上のために、例
えば、DMA_PORT_NO1303に、セキュリティチェック
のための情報を備え、該情報が、予め設定された情報と
一致したときにのみデータ転送を行なうような構成する
ことが好ましい。
【0240】次に、ステップ2030において、メモリ
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に設定する。
【0241】なお、前回のDMA処理におけるDMA_PORT_NO
1303と、同一のDMA_PORT_NO1303を有するパケ
ットであれば、ステップ2030における処理は、省略
することができる。
【0242】また、RECV_Q_ADR1241、RECV_Q_LEN1
242、RECV_Q_HEAD1243、RECV_Q_TAIL1244を
複数個保持するためのメモリを、ネットワークアダプタ
1110内に設けた構成にすることで、高い確率で、ス
テップ2030のDMA処理による読み込み処理(メモリ
1103からの読みだし処理)を省略することができ
る。
【0243】次に、ステップ2040において、パケッ
トヘッダ部内のMODE1306の内容が「−1」であれ
ば、ステップ2070にブランチし、そうでけなれば、
ステップ2050にブランチする。
【0244】ステップ2070では、RECV_Q_ADRに、RE
DV_Q_HEADを加えた値が示す位置に存在するコマンドを
実行する。ステップ2070に続いて、ステップ208
0では、RECV_Q_HEADが示す内容を実行したコマンドが
存在するアドレスの、次のアドレスが選択されるよう
に、RECV_Q_HEADが存在するアドレスに、1コマンド分
のアドレスを加える処理を行い、ステップ2090へと
進む。
【0245】一方、ステップ2050では、「RECV_Q_A
DR+MODE」番目(コマンドキューMODE番目)のコマンドを
実行する。ステップ2050に続いて、ステップ206
0では、RECV_Q_HEAD内容を実行したコマンドが存在す
るアドレスの、次のアドレスが選択されるように、RECV
_Q_HEADが存在するアドレスに、(1+MODE)コマンド
分のアドレスを加える処理を行い、ステップ2090に
進む。
【0246】ステップ2090では、RECV_Q_ADR124
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と等しい)に書き戻し、処理を
完了する。
【0247】以上に示したマルチキューDMA処理を繰り
返すことにより、パケットデータは、アプリケーション
空間のデータバッファ内へと、直接、転送されることに
なる。
【0248】次に、図21を参照して送信側の処理につ
いて説明する。
【0249】まず、ステップ2210において、アプリ
ケーションが送信処理を発行する。
【0250】次に、ステップ2220において、送信処
理命令を発行したアプリケーション内の送信データバッ
ファの物理アドレスを、図18を参照して説明した方法
によって算出する。
【0251】次に、ステップ2230において、ステッ
プ2220において算出した物理アドレスをパラメータ
として持つコマンドを、送信用コマンドキューに設定す
る。
【0252】次に、ステップ2240において、送信処
理を発行したアプリケーションをブロックする。
【0253】続いて、ステップ2250において、ネッ
トワークアダプタ1110によって、データの送出、す
なわち、送信処理が行なわれる。ネットワークアダプタ
は、送信を終了すると、割り込みを発行する。
【0254】次に、ステップ2260において、割り込
みすべき旨の命令を受け取ったプロセッサ1102は、
送信処理を発行して、ブロックされたアプリケーション
の起動処理を行なう。以上で、送信処理は完了する。
【0255】以上のように、本発明にかかる一連の処
理、すなわち初期化処理、受信側処理、送出側処理が行
われ、ネットワークにおけるパケットの高速通信が可能
となる。
【0256】
【発明の効果】本発明によれば、複数の情報処理システ
ムを接続して構成したネットワークにおける、パケット
内のデータの送受信処理において、受信側情報処理シス
テムによる、データコピー、ページテーブル変更処理等
を行わずに、高速な情報通信が可能な手段を安価に提供
することができる。
【図面の簡単な説明】
【図1】計算機ネットワークシステム構成図である。
【図2】従来のネットワークシステムの構成図である。
【図3】ネットワークパケットの構成図である。
【図4】送信ソフト処理のフローチャートである。
【図5】ネットワークアダプタ送信動作の説明図であ
る。
【図6】受信ソフト前処理の説明図である。
【図7】ネットワークアダプタ受信動作の説明図であ
る。
【図8】受信ソフト後処理の説明図である。
【図9】受信アプリケーション処理の説明図である。
【図10】計算機ネットワークシステムの構成図であ
る。
【図11】マルチキューDMA制御部の構成図である。
【図12】パケットの構成図である。
【図13】DMA処理用データ構造の説明図である。
【図14】コマンドキュー選択テーブルの構成の説明図
である。
【図15】コマンドキュー構成図である。
【図16】プロセスページテーブルの説明図である。
【図17】受信側での処理フローの説明図である。
【図18】バッファコマンドキューの対応の説明図であ
る。
【図19】受信側のマルチキューDMA処理フローの説明
図である。
【図20】初期化処理フローの説明図である。
【図21】送信処理フローの説明図である。
【符号の説明】
100…ネットワーク内計算機、110…ネットワーク
アダプタ、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…パケットデータ部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 相本 毅 東京都国分寺市東恋ケ窪一丁目280番地 株式会社 日立製作所 中央研究所内 (72)発明者 林 剛久 東京都国分寺市東恋ケ窪一丁目280番地 株式会社 日立製作所 中央研究所内 (72)発明者 岩本 博志 神奈川県秦野市堀山下1番地 株式会社 日立製作所 汎用コンピュータ事業部 内 (56)参考文献 特開 平2−268046(JP,A) 特開 平2−311050(JP,A) 特開 平6−90256(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/00 H04L 12/00 H04L 29/00

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】演算処理部と、記憶部と、ネットワークイ
    ンタフェースとを少なくとも含む情報処理システムを、
    それぞれのネットワークインタフェースを介して、少な
    くとも2以上接続して構成されるネットワークにおいて
    情報処理システムのアプリケーション間で情報の通信を
    行なう通信方法であって、送信側情報処理システムの送信側アプリケーションと受
    信側情報処理システムの受信側アプリケーションとの間
    で通信を行なうための識別子をメッセージ通信により決
    定し、 前記送信側アプリケーションが送信処理を発行すると、
    送信側情報処理システム では、送信されるデータが2以
    上に分割されるべきものであるとき、その分割位置を示
    す分割情報と前記識別子とを、前記送信されるデータの
    特定の領域に記述して該データを送信し、前記受信側情報処理システムの ネットワークインタフェ
    ースでは、前記受信したデータについて、前記分割情報
    に基づいて該データを分割し、分割されたデータのそれ
    ぞれを前記識別子に基づいて前記受信側アプリケーショ
    ンが予め設定した当該情報処理システムの記憶部の格納
    領域に転送することを特徴とするネットワークにおける
    通信方法。
  2. 【請求項2】請求項1において、受信側情報処理システ
    ムのネットワークインタフェースでは、前記識別子と、
    これに対応する当該受信側情報処理システムの記憶部の
    格納領域を指定する情報とを、予め記憶しておき、前記
    受信したデータから読みだした前記識別子に基づいて、
    対応する格納領域を指定する情報を参照して、前記受信
    したデータをその格納領域に転送処理する、ネットワー
    クにおける通信方法。
  3. 【請求項3】請求項2において、前記識別子、および、
    これに対応する当該受信側情報処理システムの記憶部の
    格納領域を指定する情報は、データ転送テーブルの形式
    で、受信側情報処理システムのネットワークインタフェ
    ースに予め記憶しておき、 前記識別子は、データ転送テーブルの参照位置を示す情
    報である、ネットワー クにおける通信方法。
  4. 【請求項4】演算処理部と、記憶部と、ネットワークイ
    ンタフェースとを少なくとも含む情報処理システムを、
    それぞれのネットワークインタフェースを介して、少な
    くとも2以上接続して構成され、情報処理システムのア
    プリケーション間で通信を行なうネットワークシステム
    であって、 各情報処理システムは、 当該情報処理システムのアプリケーションと他情報処理
    システムのアプリケーションとの間で通信を行なうため
    の識別子をメッセージ通信により決定する手段と、 送信側アプリケーションから送信処理が発行されたと
    き、送信されるデータが2以上に分割されるべきもので
    ある場合、その分割位置を示す分割情報と前記識別子と
    を、前記送信されるデータの特定の領域に記述して該デ
    ータを送信する送信処理部とを備え、 各情報処理システムのネットワークインタフェースは、
    受信したデータについて、前記分割情報に基づいて当該
    データを分割し、分割されたデータのそれぞれを前記識
    別子に基づいて受信側アプリケーションが予め設定した
    情報処理システムの記憶部に転送する受信処理部を備え
    たことを特徴とするネットワークシステム。
JP22355093A 1993-09-08 1993-09-08 ネットワークシステムおよびネットワークにおける通信方法 Expired - Fee Related JP3473975B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP22355093A JP3473975B2 (ja) 1993-09-08 1993-09-08 ネットワークシステムおよびネットワークにおける通信方法
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
EP94113391A EP0642246B1 (en) 1993-09-08 1994-08-26 Network communication method for systems equipped with virtual memory
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) EP0642246B1 (ja)
JP (1) JP3473975B2 (ja)
KR (1) KR100326864B1 (ja)
DE (1) DE69433293T2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
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
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
US6256313B1 (en) 1995-01-11 2001-07-03 Sony Corporation Triplet architecture in a multi-port bridge for a local area network
US5940597A (en) * 1995-01-11 1999-08-17 Sony Corporation Method and apparatus for periodically updating entries in a content addressable memory
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
US5884040A (en) * 1995-01-11 1999-03-16 Sony Corporation Per-packet jamming in a multi-port bridge for a local area network
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 윤종용 통신시스템의 패킷 트래픽 채널의 초기화 방법
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
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
US6744728B1 (en) 1997-09-17 2004-06-01 Sony Corporation & Sony Electronics, Inc. Data pipeline timing optimization 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 日本電気株式会社 データ送受信システム、データ受信装置、及びデータ受信方法
AU3115600A (en) 1998-12-11 2000-06-26 Microsoft Corporation Accelerating a distributed component architecture over a network using a direct marshaling
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 엘지엔시스(주) 다수의 큐를 이용한 대외계업무 수행방법
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
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
US7099955B1 (en) 2000-10-19 2006-08-29 International Business Machines Corporation End node partitioning using LMC for 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
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
US6990528B1 (en) * 2000-10-19 2006-01-24 International Business Machines Corporation System area network of end-to-end context via reliable datagram domains
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0137804A4 (en) * 1983-02-07 1987-10-12 American Telephone & Telegraph NETWORK INTERFACE.
US4654654A (en) * 1983-02-07 1987-03-31 At&T Bell Laboratories Data network acknowledgement arrangement
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
WO1993009627A1 (en) * 1991-11-08 1993-05-13 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

Also Published As

Publication number Publication date
DE69433293D1 (de) 2003-12-11
KR100326864B1 (ko) 2002-06-22
EP0642246A2 (en) 1995-03-08
US5617424A (en) 1997-04-01
EP1289221A3 (en) 2005-07-13
KR950009452A (ko) 1995-04-24
EP0642246B1 (en) 2003-11-05
EP1289221A2 (en) 2003-03-05
JPH0778112A (ja) 1995-03-20
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
JP3863912B2 (ja) データ伝送の自動開始装置
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
EP1358562B1 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
US5884313A (en) System and method for efficient remote disk I/O
EP1421739B1 (en) Transmitting multicast data packets
US6631430B1 (en) Optimizations to receive packet status from fifo bus
EP0780768A1 (en) Direct programmed I/O device control method using virtual registers
JP4317365B2 (ja) 周辺デバイスからホスト・コンピュータ・システムに割込みを転送する方法および装置
JPH11134274A (ja) デバイス・ドライバ中の割込みオーバヘッドを低減させる機構
EP1159813A2 (en) Method and apparatus for dynamic packet batching with a high performance network interface
AU4786793A (en) Network interface
JP2014509427A (ja) Pciエクスプレス・マルチプル・ルートi/o仮想化環境における低待ち時間の優先順位付け
US11010165B2 (en) Buffer allocation with memory-based configuration
US9401879B1 (en) Systems and methods for sending and receiving information via a network device
US7292593B1 (en) Arrangement in a channel adapter for segregating transmit packet data in transmit buffers based on respective virtual lanes
JP2004094931A (ja) ネットワークシステムおよびネットワークにおける通信方法
JP3623727B2 (ja) 通信方法
CN115904488A (zh) 数据传输方法、系统、装置及设备
JP3328872B2 (ja) 計算機ネットワーク通信方法およびネットワーク計算機システム
JP2924783B2 (ja) リモートリード処理方法およびその装置
CN111817818A (zh) 一种传输数据包的方法和装置

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