JPH06309251A - 高速の通信アダプタを実装した計算機 - Google Patents

高速の通信アダプタを実装した計算機

Info

Publication number
JPH06309251A
JPH06309251A JP5098252A JP9825293A JPH06309251A JP H06309251 A JPH06309251 A JP H06309251A JP 5098252 A JP5098252 A JP 5098252A JP 9825293 A JP9825293 A JP 9825293A JP H06309251 A JPH06309251 A JP H06309251A
Authority
JP
Japan
Prior art keywords
communication
computer
communication protocol
communication adapter
adapter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5098252A
Other languages
English (en)
Inventor
Mika Mizutani
美加 水谷
Tetsuhiko Hirata
哲彦 平田
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 JP5098252A priority Critical patent/JPH06309251A/ja
Publication of JPH06309251A publication Critical patent/JPH06309251A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】ネットワークに接続する計算機において、高速
なデータ転送スループットを得る。 【構成】ネットワーク伝送路の制御に関する下位レイヤ
の通信プロトコル処理だけを実行する低速の通信アダプ
タ204と、上位レイヤも含めた通信プロトコル処理を
高速に実行する高速の通信アダプタ205を実装する。
さらに、アプリケーションプログラム102,104、
カーネル埋め込みの通信プロトコル処理412、及び高
速の通信アダプタ205とのインタフェースの機能と、
使用する通信アダプタを識別する機能とを持つAPイン
タフェース部400を計算機201に設ける。これによ
り、計算機201と通信アダプタ204,205間のデ
ータ授受を、低速の通信アダプタを使用するときには間
接的に、高速の通信アダプタを使用するときには直接的
に行う。 【効果】高速の通信アダプタが提供する高速なデータ転
送性能をエンド・ツー・エンドで得ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、通信プロトコル処理を
高速に実行する高速の通信アダプタを実装する計算機に
関するものである。
【0002】
【従来の技術】計算機が他の計算機、あるいは端末装置
と通信する場合、計算機は通信アダプタを介してネット
ワーク伝送路と接続される。
【0003】従来の通信アダプタ以下、低速の通信アダ
プタは、ネットワーク伝送路を制御する機能、LAN環
境においてはOSI(Open Systems Interconnection)
の7階層の通信プロトコルモデルのデータリンク層下位
副層に位置付けられるMAC(Media Access Control)
以下(以下、下位レイヤ)の機能を持つ。
【0004】このような通信アダプタを実装した場合、
データリンク層上位副層以上(以下、上位レイヤ)の上
位通信プロトコル処理は計算機の主プロセッサによって
実行される。通信プロトコル処理の中でアプリケーショ
ンプログラムへの依存が少なく、主にデータ転送に係る
通信プロトコル処理、具体的にはOSIにおけるトラン
スポート層以下の通信プロトコル処理、あるいはTCP
/IPの通信プロトコル処理は、カーネル埋込の処理に
なっている。従ってデータ転送に係る通信プロトコル処
理を実行するため、メモリのカーネル空間に送受信デー
タが退避されるので、計算機と通信アダプタ間のデータ
授受は、メモリのユーザ空間と通信アダプタ間で直接的
に行われない。
【0005】従来1つの計算機が複数のネットワーク伝
送路に接続する場合、計算機は、上記のような上位レイ
ヤの通信プロトコル処理の機能を持たない低速の異なる
通信アダプタを複数実装していた。
【0006】低速の通信アダプタを介して通信を行う場
合には、計算機側の主プロセッサで実行する上位レイヤ
の通信プロトコル処理がネックとなり、100Mbp
s、さらには1Gbpsへと著しく高速化しているネッ
トワーク伝送速度に見合ったエンド・ツー・エンドのデ
ータ転送スループットを得ることができないという問題
がある。
【0007】そこで、高速化の著しいネットワーク伝送
速度を活かすため、上位レイヤ処理機能の全てあるいは
一部を、通信アダプタ側に持たせようとするものがあ
る。高速なプロトコル処理を実現するため、通信アダプ
タ上の送受信バッファを分割/組立処理によるデータコ
ピーを行う必要が無い構成としたり、通信アダプタ内で
送受信データをストアせず、計算機からネットワーク伝
送路方向へデータ送信をしながら、あるいは逆方向にデ
ータ受信をしながらプロトコル処理を実行できるように
するため、通信アダプタ上にバッファを設ける代わりに
ハードウエアFIFO(first in first out)を設ける
ものがある。
【0008】尚、このような通信プロトコル処理機能を
持った通信アダプタの構成方法に関して、例えば、 Bo
b Beach : "UltraNet:An architecture for Gigabit N
etworking," Local Computer Networks, pp.232−248,
(1990.10) のような文献がある。
【0009】
【発明が解決しようとする課題】上位レイヤの通信プロ
トコル処理機能を持たない低速の通信アダプタを備えた
計算機における通信処理では、純粋な通信プロトコル処
理が占める割合が大きいことに加えて、計算機と通信ア
ダプタ間のデータ授受すなわち、メモリのユーザ空間と
カーネル空間、カーネル空間と高速通信アダプタ間のメ
モリ領域確保等の管理処理を含んだデータコピー処理、
が占める割合が非常に大きい。
【0010】例えば、上記文献に示された公知例のよう
に、上位レイヤの通信プロトコル処理機能を通信アダプ
タ側で持ち、通信プロトコル処理を高速化しようとして
も、通信アダプタと計算機間のデータ授受が性能のネッ
クとなり、高精細画像や大容量ファイルの転送を行なう
際に要求されるエンド・ツー・エンドの高速なデータ転
送スループットを得ることができない。
【0011】さらに、既存の計算機に上位レイヤの通信
プロトコル処理機能も備えた通信アダプタ(以下、高速
の通信アダプタ)を追加実装することを考えた場合、既
存の計算機には予め上位レイヤの通信プロトコル処理機
能を持たない低速の通信アダプタが実装されているため
に、既存の計算機の通信プロトコル処理部を利用するア
プリケーションプログラムが、アプリケーションプログ
ラムを変更すること無くそのまま、追加実装された高速
の通信アダプタを利用できるのが望ましい。
【0012】本発明の目的は、計算機における高速のデ
ータ転送スループットを可能にすることにある。
【0013】本発明の他の目的は、低速の通信アダプタ
と高速の通信アダプタとを実装した計算機において、高
速の通信アダプタを使用して通信を行う場合、高速の通
信アダプタが提供する高速なデータ転送スループットを
活かすデータ授受方式を実現することにある。
【0014】本発明の他の目的は、既存計算機の通信プ
ロトコル処理部を利用するアプリケーションプログラム
が、追加実装された高速の通信アダプタも利用できるよ
うにすることにある。
【0015】本発明の他の目的は、上記計算機により構
成されるネットワークシステムにおいて、低速、高速2
種の通信アダプタを使い分け、ネットワークシステムを
有効利用することにある。
【0016】
【課題を解決するための手段】本発明の特徴は、上位レ
イヤの通信プロトコル処理機能を持たず下位レイヤの通
信プロトコル処理機能のみを有する低速の通信アダプタ
に加えて、通信プロトコル処理の全レイヤ、あるいは下
位レイヤに加えて上位レイヤの一部までの処理を高速に
実行する高速の通信アダプタを計算機に実装することに
ある。
【0017】本発明の他の特徴は、低速の通信アダプタ
を使用する際には、計算機側でプロトコル処理を実行す
るためユーザデータをカーネル空間に一時退避させる間
接的なデータ授受を行ない、高速の通信アダプタを使用
する際には、ユーザデータを退避しない直接的なデータ
授受を行うように、計算機と通信アダプタ間のデータ授
受方式を選択する手段を設けたことにある。
【0018】さらに他の特徴は、低速の通信アダプタだ
けを実装している既存計算機に高速の通信アダプタを追
加実装する場合、計算機側の通信プロトコル処理部とこ
の通信プロトコル処理部を利用するアプリケーションプ
ログラムの間に、両者間のインタフェースと同一のイン
タフェースを前記アプリケーションプログラムに提供す
る機能と通信プロトコル処理部とのインタフェース、高
速の通信アダプタとのインタフェース、及び使用する通
信アダプタの種類を識別する機能を持つアプリケーショ
ンインタフェース部を配置するものである。
【0019】さらに、アプリケーションプログラムによ
り与えられる送信先のアドレスによって、使用する通信
アダプタの種類を識別し、計算機と通信アダプタ間のデ
ータ授受方式を選択する。あるいはまた、送信要求が高
速性を要求されているものであるかを判定することによ
り、計算機と通信アダプタ間のデータ授受方式を選択す
ることも特徴の1つである。
【0020】
【作用】本発明によれば、計算機において、低速の通信
アダプタと、高速の通信アダプタとを実装し、さらに、
使用する通信アダプタにより計算機と通信アダプタ間の
データ授受方式を使い分けるようにしているため、高速
の通信アダプタを使用する場合、高速なデータ転送性能
をエンド・ツー・エンドで得ることができる。
【0021】また、計算機側の通信プロトコル処理部と
上記通信プロトコル処理部を利用するアプリケーション
プログラムの間に、両者間のインタフェースと同一のイ
ンタフェースをアプリケーションプログラムに提供する
アプリケーションインタフェース部を設けているので、
既存のアプリケーションプログラムを変更すること無
く、そのまま高速の通信アダプタも使用することができ
る。
【0022】また、アプリケーションプログラムにより
必ず与えられる送信先のアドレスにより、使用する通信
アダプタの種類とそれに合った計算機と通信アダプタの
データ授受方式を選択するので、アプリケーションプロ
グラムが自ら使用する通信アダプタを指定する必要が無
い。
【0023】
【実施例】
〔実施例1〕本発明の第1の実施例を図1から図15を
参照して説明する。図1は、本発明を適用するデータ通
信システムの一構成例を示す。このシステムは、複数の
計算機201(201A〜201C)と、高速のネット
ワーク伝送路206及び低速のネットワーク伝送路20
7から構成される。計算機201は、主プロセッサ20
2と主メモリ203とからなり、計算機システムバス3
12により低速の通信アダプタ204、及び高速の通信
アダプタ205に接続されている。計算機201Aは、
低速の通信アダプタ204Aと高速の通信アダプタ20
5Aを介して低速のネットワーク伝送路と接続されてい
る。計算機201Bと計算機201Cとは、低速の通信
アダプタ204B,204Cを介して低速のネットワー
ク伝送路207と、高速の通信アダプタ205B,20
5Cを介して高速のネットワーク伝送路206と接続さ
れている。
【0024】図2は、通信アダプタ204,205のハ
ード構成例を示す図である。低速の通信アダプタ204
は、低速のネットワーク207に接続され、上位レイヤ
のプロトコル処理機能は持たない。高速の通信アダプタ
205は、高速のネットワーク206に接続され、上
位、下位両レイヤの通信プロトコル処理機能を持つ。こ
れらのアダプタを計算機システムバス312に各々接続
することにより、計算機204は対応するネットワーク
伝送路206,207との接続が可能になる。
【0025】低速の通信アダプタ204は、計算機シス
テムバス312に接続するために必要なバスインタフェ
ース301A、送受信データを格納するバッファメモリ
302B、バッファメモリのアクセス制御を司る2ポー
ト制御回路304A、低速のネットワーク伝送路207
に接続されるネットワーク制御回路303Aから構成さ
れる。
【0026】高速の通信アダプタ205は、バスインタ
フェース回路301B、バッファメモリ302B、2ポ
ート制御回路304B、ネットワーク制御回路303B
を備えている。さらに、通信プロトコル処理を実行する
ローカルメモリ306、ローカルプロセッサのプログラ
ム格納するエリアとワークエリアに相当するプログラム
・ワークメモリ307、送受信データを主メモリ203
とバッファメモリ302B間で高速に転送するDMAC
(direct memory access controller)308、主プロ
セッサ202とローカルプロセッサ306間の交信に使
用するI/Fメモリ305(インタフェースメモリ)、
I/Fメモリ305のアクセス制御を司る2ポート制御
回路310、及びこれらを接続するローカルバス309
により構成される。尚、プロセッサ202,306、あ
るいはDMAC308によるバス使用の競合を避けるた
め、計算機システムバス312とローカルバス309に
それぞれアービタ311(311A,311B)が設け
てある。
【0027】図3、図4は、図1の計算機間の通信に適
用される階層化通信プロトコルの構成例を示す。図3は
OSI(open systems interconnection)の階層化通信
プロトコルの構成を、図4はTCP/IPプロトコルの
階層構成を示す図である。低速の通信アダプタ204
は、データリンク下位副層(下位レイヤ)までの処理を
ネットワーク制御回路303Aにより実行する。データ
リンク上位副層からアプリケーション迄(上位レイヤ)
の通信プロトコル処理は、計算機側の主プロセッサ20
2で実行する。従来の計算機では、OSIの通信プロト
コル、あるいはTCP/IP通信プロトコルのどちらか
一方をサポートしている。高速の通信アダプタ205
は、上位レイヤの一部すなわちOSIのトランスポート
層以下の通信プロトコル処理と、OSIのトランスポー
ト層の処理に相当するTCP、UDP以下のプロトコル
処理を実行する。
【0028】なお、高速の通信アダプタ205が処理す
る領域は、図3に示したような、トランスポート層以下
と限定する必要はない。例えば、ネットワーク層以下と
したり逆に、セション層までカバーするようにしてもよ
い。
【0029】図5は、本発明の計算機の機能を示すブロ
ック構成図である。本発明の計算機では、低速の通信ア
ダプタ204すなわち、ネットワーク伝送路の制御に関
する通信プロトコル処理だけを実行し、それより上位レ
ベルの通信プロトコル処理605を計算機で実行する必
要がある低速の通信アダプタと、高速の通信アダプタ2
05すなわち、ネットワーク伝送路の制御に関する通信
プロトコル処理に加えて、計算機で実行していた通信プ
ロトコル処理と同一の通信プロトコル処理の全て、ある
いは一部を高速に実行する高速の通信アダプタ205と
の双方の機能を実装する。
【0030】計算機の主メモリ203は、ユーザが自由
に使用できるユーザ空間と、ユーザのアクセスをプロテ
クトするカーネル空間から構成される。主メモリ203
上のユーザ空間には、通信を行う複数のアプリケーショ
ンプログラム(第1AP102,第2AP104)と送
受信データを設定するユーザ送受信バッファ106が配
置される。ここで、本実施例におけるアプリケーション
プログラム(以下、AP)とは、図3、図4に示す通信
プロトコル階層のトランスポート層より上の部分と定義
する。
【0031】なお、第1AP102は、データ量が数K
バイト程度の比較的小容量のアプリケーションプログラ
ム1、例えば、テキストデータのみを扱うような小容量
のファイルを対象とする。一方、第2AP104は、画
像データを含む、大容量(数Mバイト〜数百Mバイト)
のデータを対象とするアプリケーションプログラムであ
る。
【0032】主メモリ203上のカーネル空間には、A
Pインタフェース部400と、低速の通信プロトコル処
理を実行するためのプログラム410と、通信プロトコ
ル処理を実行するために送受信データを一時退避させる
カーネル送受信バッファ420及び、高速の通信アダプ
タドライバ430のプログラムが配置される。低速の通
信プロトコル処理を実行するためのプログラム410
は、第1AP102とのインタフェース処理を司るトラ
ンスポートサービスインタフェース部412、通信プロ
トコル処理部414、低速の通信アダプタ204上のネ
ットワーク制御回路303Aを制御する低速の通信アダ
プタドライバ416から構成される。
【0033】APインタフェース部400は、AP(1
02,104)、トランスポートサービスインタフェー
ス部412、高速の通信アダプタ430とのインタフェ
ース機能と、送信に使用する通信アダプタを識別する機
能を持つ。なお、APインタフェース部400のAPと
のインタフェースと、トランスポートサービスインタフ
ェース部412とのインタフェースは、第1のAP10
2とトランスポートサービスインタフェース部412に
変更を加えないため、両者間のインタフェースと同一に
する。
【0034】高速の通信アダプタ205のプログラム・
ワークメモリ307上には、計算機側で行っていた通信
プロトコル処理を通信アダプタ側で実行するためのプロ
グラム500が配置される。このプログラム500は、
計算機とのインタフェース処理を司る計算機I/F部5
02、通信プロトコル処理部504、ネットワーク制御
回路ドライバ506から構成される。
【0035】次に、データ送受信の処理動作を図6〜1
5の処理フローにより説明する。図6の処理フローは、
AP102,104からの送信要求を受付けた時のAP
インタフェース部400の処理600を示す。AP10
2または104からの送信要求を受け付けると、送信に
使用する通信アダプタを識別する(602)。高速の通
信アダプタ205で送信すべき送信要求である場合、高
速の通信アダプタドライバ430を起動する(60
6)。低速の通信アダプタ204で送信すべき送信要求
であれば、トランスポートサービスインタフェース部4
12を起動する(608)。
【0036】図7の処理フローは、第1のAP102か
らのデータ送信要求を受け付けたトランスポートサービ
スインタフェース部412の処理700を示す。第1A
P102からの送信要求を受け付けると、プロトコル処
理を実行するために送信データを退避するカーネル送信
バッファ420を獲得する(702)。獲得後、第1A
P102がユーザ送信バッファ106に設定した送信デ
ータを、獲得した送信バッファ420にコピーする(7
04)。コピー終了後、通信プロトコル処理414を起
動する(706)。
【0037】図8の処理フローは、送信のための通信プ
ロトコル処理終了を受けて起動された低速の通信アダプ
タドライバ416の処理800を示す。低速の通信アダ
プタ204上のバッファメモリ302Aにカーネル送信
バッファ420に格納されている通信プロトコルヘッダ
を付けた送信データをコピーする(802)。コピー終
了後ネットワーク制御回路303Aのレジスタを設定
し、ネットワーク伝送路207への送信を依頼する(8
04)。その後、不要になったカーネル送信バッファ4
20を解放する(806)。
【0038】図9の処理フローは、高速の通信アダプタ
ドライバ430における通信アダプタ205の送信処理
900を示すものであり、通信アダプタのI/Fメモリ
305に、制御情報として、送信データが格納されてい
るユーザ送信バッファのアドレス、送信データ長、アド
レス情報を設定し(902)、通信アダプタを起動する
(904)。
【0039】図10の処理フローは、計算機の主プロセ
ッサ202から送信要求を受けて起動された計算機I/
F部502の処理1000を示す。まず、計算機201
の主プロセッサ202によって設定された制御情報を解
析する(1002)。送信要求がデータ送信要求であれ
ば(1004)、バッファメモリ302B上の送信バッ
ファを獲得する(1006)。データ送信要求でなけれ
ば、コネクション設定/解放を行うため、通信プロトコ
ル処理504を起動する(1008)。DMAC308
を起動し、ユーザ送信バッファ106上に格納されてい
る送信データを獲得した送信バッファに転送する(10
10)。転送終了後、通信プロトコル処理504を起動
し(1012)、さらに、主プロセッサ202へユーザ
送信バッファ106の解放を依頼する(1014)。
【0040】次に、図11の処理フローは、ネットワー
ク制御回路303Aからの受信報告を受けて起動された
低速の通信アダプタドライバ416の処理1100を示
す。まず、カーネル受信バッファ420を獲得し(11
02)、バッファメモリ302A上の受信データを獲得
した受信バッファへコピーする(1104)。コピー終
了後、通信プロトコル処理414を起動する(110
6)。
【0041】図12の処理フローは、受信のための通信
プロトコル処理414の終了を受けて起動されたトラン
スポートサービスインタフェース部412の処理120
0を示す。予めAPから指定されているユーザ受信バッ
ファ106に受信データをコピーする(1202)。コ
ピー終了後、不要になったカーネル受信バッファ420
を解放し(1204)、APインタフェース部400を
起動する(1206)。
【0042】図13の処理フローは、受信のための通信
プロトコル処理終了を受けて起動された計算機I/F部
502の処理1300を示す。予め計算機の主プロセッ
サ202から通知されているユーザ受信バッファ106
に、DMAC308によりバッファメモリ302B上の
受信データを転送する(1304)。転送終了後、I/
Fメモリ305にユーザ受信バッファのアドレス、受信
データ長、アドレス情報等の制御情報を設定し(130
6)、高速の通信アダプタドライバ430を起動する
(1308)。バッファメモリ302B上の受信データ
が格納されていた受信バッファを解放する(131
0)。
【0043】図14の処理フローは、高速の通信アダプ
タ205から受信報告を受けた高速の通信アダプタドラ
イバ430の処理1400を示す。I/Fメモリ305
上の制御情報解析後(1402)、APインタフェース
部400を起動する(1404)。
【0044】図15の処理フローは、トランスポートサ
ービスインタフェース部412、高速の通信アダプタド
ライバ430から起動されるAPインタフェース部40
0における、AP102,104への受信報告処理15
00を示す。データ受信を報告するAP102,104
を識別し(1502)、該当するAP102,104に
データ受信を通知する(1504)。
【0045】このようにAPインタフェース部400に
おいて、使用する通信アダプタ204,205を識別す
るので、使用する通信アダプタにより計算機201と通
信アダプタ204,205間のデータ授受方式を使い分
けることが可能となる。
【0046】次に、図6の通信アダプタ識別処理(60
2)の具体的な実施例を図16〜図18を参照して説明
する。図16は、APインタフェース部400で使用す
る通信アダプタ204,205を識別するために使用す
るアドレス検索テーブル1600である。このアドレス
検索テーブル1600は、AP102,104からの送
信要求時に必ずAPから通知される送信先アドレス16
02と、上記送信先アドレスに対して送信を行うために
使用する通信アダプタを識別するための通信アダプタ番
号1603から構成されている。
【0047】図16の例は、図1に示すデータ通信シス
テム構成において、計算機201Bの低速の通信アダプ
タ番号1603を「NA1」、高速の通信アダプタ番号
1603を「NA2」とする。また、計算機201Aの
低速の通信アダプタ204を介して接続する低速のネッ
トワーク伝送路207上のアドレスを「Adr1」、高
速の通信アダプタ205を介して接続する高速のネット
ワーク伝送路207上のアドレスを「Adr2」とす
る。さらに、計算機201Cの低速の通信アダプタ20
4を介して接続する低速のネットワーク伝送路207上
のアドレスを「Adr3」、高速の通信アダプタ205
を介して接続する高速のネットワーク伝送路206上の
アドレスを「Adr4」とする。
【0048】図17は、コネクション検索テーブル17
00の一例であり、トランスポートコネクション識別子
1702と、トランスポートコネクション設定時に、ア
ドレス検索テーブル1601により得た、使用する通信
アダプタ番号1603とから構成される。トランスポー
トコネクション設定後は、送信先アドレスより長さの短
いコネクション識別子により、使用する通信アダプタを
識別することが可能である。
【0049】図18の処理フローは、アドレス検索テー
ブル1600とコネクション検索テーブル1700を用
いて使用する通信アダプタを識別する処理1800を示
す。APインタフェース部400が、APからの送信要
求を受け付けるとまずコネクション型のデータ送信要求
かを調べる(1802)。コネクション型のデータ送信
要求の場合、送信要求時のAPが与えるコネクション識
別子を、コネクション検索テーブル1700により検索
する(1804)。コネクション識別子1702が「c
n3」であれば、通信アダプタ番号1603は「NA
2」なので、送信に使用する通信アダプタは、高速の通
信アダプタ205である(1808)。
【0050】コネクションレス型のデータ送信、あるい
はコネクション設定のための送信の場合、コネクション
検索テーブル1600でAPが与える送信先アドレス1
602から、使用する通信アダプタを識別する(180
6)。送信先アドレス1602が「Adr4」であれ
ば、通信アダプタ番号1603は「NA2」なので送信
に使用する通信アダプタは、高速の通信アダプタ205
である(1808)。
【0051】コネクション設定のための送信の場合、ア
ドレス検索テーブル1600により通信アダプタ番号1
603を得た時点で、コネクション識別子1702と通
信アダプタ番号1603の対をコネクション検索テーブ
ル1700に登録する。
【0052】このようにして、APが使用する通信アダ
プタを指定しなくても、送信要求時に必ずAPから与え
られる送信先アドレス1602、あるいはコネクション
識別子により、通信アダプタを識別できるので、使用す
る通信アダプタによって、計算機と通信アダプタ間のデ
ータ授受方式を選択できる。
【0053】〔実施例2〕本発明の第2の実施例を図1
9と図20を参照して説明する。図1に示すようなデー
タ転送システムの使用法の一つとして、分散共有メモリ
がある。分散共有メモリとは、複数のプロセッサ202
がそれぞれの主メモリ203上にネットワークレベルの
共有メモリ空間の一部を持ち、プロセッサ間で共有情報
を送受信することによりメモリの共有を実現するもので
ある。分散共有メモリ1900のシステムの構成例を図
19に示す。共有メモリ空間の一部を管理する主メモリ
203上のエリアを、本実施例ではネットワークキャッ
シュ1902(1902A〜1902C)と呼ぶ。
【0054】図19においては、分散共有メモリ190
0には、A、B、Cという共有情報が、各々入ったペー
ジが3つ存在する。共有情報Aは計算機201Aの主メ
モリ203A上のネットワークキャッシュ1902A
に、共有情報Bは計算機201Bの主メモリ203B上
のネットワークキャッシュ1902Bに、共有情報Cは
計算機201Cの主メモリ203C上のネットワークキ
ャッシュ1902Cに格納されている。
【0055】このような分散共有メモリシステムでは、
分散共有メモリ1900上の情報を自分の主メモリ20
3上に全て持っているかのごとくアクセスできることが
必要である。このためには、計算機201の主プロセッ
サ202間で情報の共有を実現するために行われる共有
情報の移動を高速に実現しなくてはならない。
【0056】そこで、図19に示す分散共有メモリシス
テム1900は、高速のネットワーク伝送路206と低
速のネットワーク伝送路207に接続している計算機2
01から構成されている点に着目し、共有情報の移動に
2種類のネットワーク伝送路を使いわける。
【0057】例えば、データ量の少ない制御情報を転送
する場合には、低速のネットワーク伝送路207を利用
しても、高速のネットワーク伝送路206を利用しても
性能差が少ないので、この場合低速のネットワーク伝送
路207を利用し、データ量の多い共有情報を転送する
場合には、高速なデータ転送性能が要求されるので、高
速のネットワーク伝送路206を利用する。
【0058】図20は、主プロセッサ202が自分のネ
ットワークキャッシュ1902に共有情報をリードした
場合に、共有情報がネットワークキャッシュ1902に
共有情報が存在せず、ミスリードになった場合の処理を
示す図である。処理の説明を簡単にするため、各計算機
201の主プロセッサ202において、共有情報が、ど
の計算機201のネットワークキャッシュ1902に格
納されているかを知っていることとする。
【0059】計算機201Cの主プロセッサ202C
が、共有情報Bをリードするため、主メモリ203C上
のネットワークキャッシュ1902Cをアクセスすると
ミスリードとなるので、計算機201Cは「共有情報B
の転送要求」を計算機201Bに対して送信する(図2
0の(1))。この「共有情報Bの転送要求」は、低速の
ネットワーク伝送路207を利用して計算機201Bへ
送信する。
【0060】「共有情報Bの転送要求」を受けた計算機
201Bは、ネットワークキャッシュ2002C上にあ
る情報Bを計算機201Cに対して、高速のネットワー
ク伝送路206を利用して送信する(図20の(2))。
送信された情報Bは、計算機201Cのネットワークキ
ャッシュ1902Cに格納され、主プロセッサ202C
は情報Bをリードすることができる。
【0061】このようにして、共有分散メモリシステム
における共有情報の移動を、高速性が必要な場合に高速
のネットワーク伝送路206を、高速性が必要でない場
合に低速のネットワーク伝送路207を利用するように
して実現する。
【0062】
【発明の効果】本発明によれば、ネットワークに接続す
る計算機において、上位レイヤの通信プロトコル処理機
能を持たない低速の通信アダプタに加えて、上位レイヤ
の通信プロトコル処理を高速に実行する高速の通信アダ
プタを実装し、さらに、アプリケーションからの送信要
求を受けて使用する通信アダプタを選択することによ
り、高速の通信アダプタを利用する場合は、直接的なデ
ータ授受を行うことが可能となり、高速なデータ転送性
能をエンド・ツー・エンドで得ることができる。
【0063】さらに、送信要求が高速性を要求されてい
るものであるかを判定することにより、高速のネットワ
ーク伝送路と低速のネットワーク伝送路とを使いわける
ことができるので、ネットワークシステムを有効利用で
きる。
【図面の簡単な説明】
【図1】本発明を適用したデータ通信システムの一構成
例を示す図。
【図2】図1の通信アダプタの具体的な構成例を示す
図。
【図3】OSIの階層化通信プロトコルの階層構成と、
本発明における通信アダプタの処理の関係を示す図。
【図4】TCP/IPプロトコルの階層構成と、本発明
における通信アダプタの処理の関係を示す図。
【図5】本発明のデータ通信システムにおける計算機シ
ステムの処理機能を示すブロック図。
【図6】図5おいて、APからの送信要求を受け付けた
APインタフェース部の処理を示すフローチャート。
【図7】図5おいて、APからのデータ送信要求を受け
付けたトランスポートサービスインタフェース部の処理
を示すフローチャート。
【図8】低速の通信アダプタドライバにおける通信アダ
プタの送信起動処理を示すフローチャート。
【図9】高速通信アダプタドライバにおける通信アダプ
タ送信起動処理を示すフローチャート。
【図10】高速の通信アダプタの計算機I/F部におけ
る計算機からの要求受付処理を示すフローチャート。
【図11】通信アダプタからの受信報告を受け付けた低
速の通信アダプタドライバの処理を示すフローチャー
ト。
【図12】トランスポートサービスインタフェース部の
受信報告処理を示すフローチャート。
【図13】高速の通信アダプタの計算機I/F部におけ
る計算機への受信報告処理を示すフローチャート。
【図14】高速の通信アダプタから受信報告を受け付け
た高速の通信アダプタドライバの処理を示すフローチャ
ート。
【図15】APインタフェース部のAPへの受信報告処
理を示すフローチャート。
【図16】アドレス検索テーブルの構成を示す図。
【図17】コネクション検索テーブルの構成を示す図。
【図18】APインタフェース部のAPからの送信要求
受付の処理を示すフローチャート。
【図19】本発明の第2の実施例における分散共有メモ
リシステムの構成例を示す図。
【図20】図19における共有情報リード時の処理を示
す図。
【符号の説明】
102…第1AP、104…第2AP、106…ユーザ
送受信バッファ、201…計算機、202…主プロセッ
サ、203…主メモリ、204…低速の通信アダプタ、
205…高速の通信アダプタ、206…高速のネットワ
ーク伝送路、207…低速のネットワーク伝送路、30
2…バッファメモリ、303…ネットワーク制御回路、
306…ローカルプロセッサ、308…DMAC、40
0…APインタフェース部、412…トランスポートサ
ービスI/F部、414…通信プロトコル処理、416
…低速の通信アダプタドライバ、420…カーネル送受
信バッファ、430…高速の通信アダプタドライバ、5
02…計算機I/F部、504…通信プロトコル処理、
1600…アドレス検索テーブル、1602…送信先ア
ドレス、1603…通信アダプタ番号、1700…コネ
クション検索テーブル、1702…コネクション識別
子、1900…分散共有メモリ、1902…ネットワー
クキャッシュ

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】ネットワーク伝送路に接続された計算機に
    おいて、 通信プロトコルモデルの下位レイヤのネットワーク伝送
    路制御に関する通信プロトコル処理だけを実行し、それ
    より上位レイヤの通信プロトコル処理は計算機の主プロ
    セッサの処理に依存する第一の通信アダプタと、 前記通信プロトコルモデルの下位レイヤ及び上位レイヤ
    の双方の通信プロトコル処理を実行できる第二の通信ア
    ダプタとを実装したことを特徴とする計算機。
  2. 【請求項2】ネットワーク伝送路を制御する通信アダプ
    タを介してネットワーク伝送路に接続された計算機にお
    いて、 通信プロトコルモデルの下位レイヤのネットワーク伝送
    路制御に関する通信プロトコル処理だけを実行し、それ
    より上位レイヤの通信プロトコル処理は計算機の主プロ
    セッサの処理に依存する第一の通信アダプタと、 前記通信プロトコルモデルの下位レイヤ及び上位レイヤ
    の双方の通信プロトコル処理を実行できる第二の通信ア
    ダプタと、 前記第一の通信アダプタと前記第二の通信アダプタとを
    選択して使用するアプリケーションインタフェース部と
    を実装したことを特徴とする計算機。
  3. 【請求項3】前記第一の通信アダプタは、OSIの通信
    プロトコルモデルのデータリンク層下位副層以下の通信
    プロトコル処理の機能を備え、 前記第二の通信アダプタは、トランスポート層以下の通
    信プロトコル処理の機能を備えていることを特徴とする
    請求項1もしくは2記載の計算機。
  4. 【請求項4】前記第一の通信アダプタは、OSIの通信
    プロトコルモデルにおけるデータリンク層以下の通信プ
    ロトコル処理の機能を備え、 前記第二の通信アダプタは、前記通信プロトコルモデル
    におけるセション層以下の通信プロトコル処理の機能を
    備えていることを特徴とする請求項1もしくは2記載の
    計算機。
  5. 【請求項5】前記第一の通信アダプタは、TCP/IP
    の通信プロトコルモデルにおけるデータリンク層以下の
    通信プロトコル処理の機能を備え、 前記第二の通信アダプタは、前記通信プロトコルモデル
    におけるTCP,UDP,ICMP層以下の通信プロト
    コル処理の機能を備えていることを特徴とする請求項1
    もしくは2記載の計算機。
  6. 【請求項6】請求項1もしくは2記載の計算機の主メモ
    リでネットワークレベルの共有メモリ空間の一部を持つ
    ことにより実現する分散共有メモリシステムにおいて、 計算機の主プロセッサ間で共有情報を送受信するとき、
    前記第一の通信アダプタと前記第二の通信アダプタの双
    方を使用してメモリを共有することを特徴とする分散共
    有メモリシステム。
  7. 【請求項7】通信プロトコル処理部と、該通信プロトコ
    ル処理部を利用するアプリケーションプログラムとを備
    え、通信アダプタを介してネットワーク伝送路に接続さ
    れる計算機において、 通信プロトコルモデルの下位レイヤのネットワーク伝送
    路制御に関する通信プロトコル処理だけを実行し、それ
    より上位レイヤの通信プロトコル処理は計算機の主プロ
    セッサの処理に依存する第一の通信アダプタと、 前記通信プロトコルモデルの下位レイヤ及び上位レイヤ
    の双方の通信プロトコル処理を実行できる第二の通信ア
    ダプタと、 前記通信プロトコル処理部と前記アプリケーションプロ
    グラム間に、両者間のインタフェースと同一のインタフ
    ェースを前記アプリケーションプログラムに提供する機
    能と、前記通信プロトコル処理部とのインタフェース
    と、前記第二の通信アダプタとのインタフェースと、ア
    プリケーションプログラム毎に前記第一の通信アダプタ
    と前記第二の通信アダプタを選択する機能を有するアプ
    リケーションインタフェース部を備えたことを特徴とす
    る計算機。
  8. 【請求項8】通信アダプタを介してネットワーク伝送路
    に接続される計算機であって、通信プロトコルモデルの
    下位レイヤのネットワーク伝送路制御に関する通信プロ
    トコル処理だけを実行しそれより上位レイヤの通信プロ
    トコル処理は計算機の主プロセッサの処理に依存する第
    一の通信アダプタと、前記通信プロトコルモデルの下位
    レイヤ及び上位レイヤの双方の通信プロトコル処理を実
    行できる第二の通信アダプタとを備え、前記ネットワー
    ク伝送路を介して他の計算機との間でデータ送受信を行
    なうものにおいて、 前記データ送受信の際に前記第一、第二の通信アダプタ
    のいずれかを選択し、 前記第一の通信アダプタを使用する際には、前記計算機
    側でプロトコル処理を実行するためにデータを前記計算
    機主メモリのカーネル空間に一時退避させてから、該第
    一の通信アダプタと前記計算機主メモリのユーザ空間と
    の間でデータを授受し、 前記第二の通信アダプタを使用する際には、前記計算機
    主メモリのユーザ空間と該第二の通信アダプタ間で直接
    データの授受を行なうことを特徴とする通信アダプタ選
    択方法。
  9. 【請求項9】請求項8記載の通信アダプタの選択におい
    て、通信を行うアプリケーションプログラムが指定する
    送信先アドレスにより使用する通信アダプタを選択する
    ことを特徴とする通信アダプタ選択方法。
  10. 【請求項10】請求項8記載の通信アダプタ選択におい
    て、コネクション型のデータ転送を行う場合、コネクシ
    ョン設定要求時に選択した通信アダプタをコネクション
    対応に保持し、 データ送信時の通信アダプタの選択を前記コネクション
    対応付けにより行うことを特徴とする通信アダプタ選択
    方法。
  11. 【請求項11】請求項8記載の通信アダプタの選択にお
    いて、アプリケーションプログラムによる送信要求が高
    速性を要求しているものであるか否かを判定し、 該送信要求が高速性を要求している場合には、前記第二
    の通信アダプタを選択し、 該送信要求が高速性を要求していない場合には、前記第
    一の通信アダプタを選択することを特徴とする通信アダ
    プタ選択方法。
  12. 【請求項12】通信プロトコル処理部と、該通信プロト
    コル処理部を利用するアプリケーションプログラムとを
    備え、通信アダプタを介してネットワーク伝送路に接続
    される計算機であって、前記通信プロトコル処理部とア
    プリケーションプログラムの間に、通信プロトコルモデ
    ルの下位レイヤのネットワーク伝送路制御に関する通信
    プロトコル処理だけを実行し、それより上位レイヤの通
    信プロトコル処理は計算機の主プロセッサの処理に依存
    する第一の通信アダプタと、前記通信プロトコルモデル
    の下位レイヤ及び上位レイヤの双方の通信プロトコル処
    理を実行する第二の通信アダプタと、前記第一の通信ア
    ダプタと第二の通信アダプタとを選択して使用するアプ
    リケーションインタフェース部とを備えた計算機におい
    て、 前記アプリケーションインタフェース部において、前記
    アプリケーションプログラムによる送信要求が高速性を
    要求しているものであるか否かを判定し、 前記送信要求が高速性を要求している場合には、前記第
    二の通信アダプタを選択し、高速性を要求していない場
    合には、前記第一の通信アダプタを選択して通信を行な
    うことを特徴とする通信方法。
  13. 【請求項13】ネットワーク伝送路に接続された計算機
    において、 通信プロトコルモデルの下位レイヤのネットワーク伝送
    路制御に関する通信プロトコル処理だけを実行し、それ
    より上位レイヤの通信プロトコル処理は計算機の主プロ
    セッサに処理を依存する第一の通信アダプタと、 前記通信プロトコルモデルの下位レイヤ及び上位レイヤ
    の双方の通信プロトコル処理を実行でき、加えて前記通
    信プロトコルモデルとは異なる通信プロトコルモデルの
    上位レイヤの通信プロトコル処理を実行できる第二の通
    信アダプタとの双方を実装することを特徴とする計算
    機。
  14. 【請求項14】請求項1、あるいは請求項13記載の計
    算機において、低速の通信アダプタと高速の通信アダプ
    タの各々を介して同一のネットワーク伝送路と接続する
    ことを特徴とする計算機。
  15. 【請求項15】請求項1、あるいは請求項13記載の計
    算機において、低速の通信アダプタを介して低速のネッ
    トワーク伝送路と、高速の通信アダプタを介して高速の
    ネットワーク伝送路と、異なったネットワーク伝送路に
    接続することを特徴とする計算機。
JP5098252A 1993-04-26 1993-04-26 高速の通信アダプタを実装した計算機 Pending JPH06309251A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5098252A JPH06309251A (ja) 1993-04-26 1993-04-26 高速の通信アダプタを実装した計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5098252A JPH06309251A (ja) 1993-04-26 1993-04-26 高速の通信アダプタを実装した計算機

Publications (1)

Publication Number Publication Date
JPH06309251A true JPH06309251A (ja) 1994-11-04

Family

ID=14214774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5098252A Pending JPH06309251A (ja) 1993-04-26 1993-04-26 高速の通信アダプタを実装した計算機

Country Status (1)

Country Link
JP (1) JPH06309251A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006515443A (ja) * 2002-10-29 2006-05-25 オアシス.シリコンシステムズ.アーゲー インテリジェント・ネットワーク・コントローラ
JP2007183738A (ja) * 2006-01-05 2007-07-19 Sony Corp 情報処理装置および方法、並びにプログラム
JP2008020977A (ja) * 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
JP2008259238A (ja) * 2001-04-24 2008-10-23 Nvidia Corp ギガビット・イーサネット・アダプタ
US7856648B2 (en) 2004-01-17 2010-12-21 Samsung Electronics Co., Ltd. Method for processing VOD data in mobile station
JP2011018383A (ja) * 2000-02-29 2011-01-27 Partec Ag コンピュータネットワーク内で単一コンピュータの通信を制御するための方法
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US8218555B2 (en) 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
WO2013057963A1 (ja) * 2011-10-21 2013-04-25 三菱電機株式会社 家電機器及び通信制御方法
US9525739B2 (en) 2013-05-09 2016-12-20 Mitsubishi Electric Corporation FA network LSI and communication device

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011018383A (ja) * 2000-02-29 2011-01-27 Partec Ag コンピュータネットワーク内で単一コンピュータの通信を制御するための方法
JP2008259238A (ja) * 2001-04-24 2008-10-23 Nvidia Corp ギガビット・イーサネット・アダプタ
US8218555B2 (en) 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
US8972609B2 (en) 2002-10-29 2015-03-03 Smsc Europe Gmbh Intelligent network interface controller
JP2006515443A (ja) * 2002-10-29 2006-05-25 オアシス.シリコンシステムズ.アーゲー インテリジェント・ネットワーク・コントローラ
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US7856648B2 (en) 2004-01-17 2010-12-21 Samsung Electronics Co., Ltd. Method for processing VOD data in mobile station
JP4506676B2 (ja) * 2006-01-05 2010-07-21 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP2007183738A (ja) * 2006-01-05 2007-07-19 Sony Corp 情報処理装置および方法、並びにプログラム
JP2008020977A (ja) * 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
WO2013057963A1 (ja) * 2011-10-21 2013-04-25 三菱電機株式会社 家電機器及び通信制御方法
CN103890742A (zh) * 2011-10-21 2014-06-25 三菱电机株式会社 家电设备以及通信控制方法
GB2510283A (en) * 2011-10-21 2014-07-30 Mitsubishi Electric Corp Household appliance and communication control method
JPWO2013057963A1 (ja) * 2011-10-21 2015-04-02 三菱電機株式会社 家電機器及び通信制御方法
US9473320B2 (en) 2011-10-21 2016-10-18 Mitsubishi Electric Corporation Household appliance and communication control method
US9525739B2 (en) 2013-05-09 2016-12-20 Mitsubishi Electric Corporation FA network LSI and communication device

Similar Documents

Publication Publication Date Title
US7222150B1 (en) Network server card and method for handling requests received via a network interface
US6081833A (en) Memory space management method, data transfer method, and computer device for distributed computer system
US6910101B2 (en) Storage subsystem with management site changing function
JPS6118053A (ja) デ−タ処理システム
US5590328A (en) Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
JP3364587B2 (ja) 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法
US6185607B1 (en) Method for managing network data transfers with minimal host processor involvement
US7130954B2 (en) Data migration method, protocol converter and switching apparatus using it
US8374175B2 (en) System and method for remote direct memory access over a network switch fabric
US4768150A (en) Application program interface to networking functions
JP2003514302A (ja) 独立した接続およびデータバッファを備えた、クライアントとサーバとの接続を管理するためのシステムおよび方法。
JP2004506980A (ja) コンピュータネットワークを介してブロックレベルストレージアクセスを提供するためのアーキテクチャ
JPH0816536A (ja) マルチプロセッサシステム
JPH10301871A (ja) 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法
JP2002149592A (ja) ネットワーク上でのpciブリッジ
JP2007510978A (ja) ストレージサーバーのボトムアップキャッシュ構造
JPH06309251A (ja) 高速の通信アダプタを実装した計算機
JP3776496B2 (ja) データ記憶システム
KR101197294B1 (ko) QoS 및 전송 효율 개선을 위한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법
JPH11149387A (ja) 共有装置制御方法及びその実施装置
JPH11149455A (ja) メモリディスク共有方法及びその実施装置
JP2664827B2 (ja) 実時間情報転送制御方法
JPH0642238B2 (ja) デ−タ処理システム
JP3650878B2 (ja) ネットワーク装置