JPH11249978A - データ転送方法および装置 - Google Patents
データ転送方法および装置Info
- Publication number
- JPH11249978A JPH11249978A JP10051829A JP5182998A JPH11249978A JP H11249978 A JPH11249978 A JP H11249978A JP 10051829 A JP10051829 A JP 10051829A JP 5182998 A JP5182998 A JP 5182998A JP H11249978 A JPH11249978 A JP H11249978A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- memory
- data transfer
- data
- packet
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
Abstract
(57)【要約】
【課題】高速一括転送法の特徴を損ねることなく、コネ
クションレスネットワークに適用することができるよう
にする。また、上位レイヤ処理に律速されることなく、
高速LANを構築可能にする。 【解決手段】トランスポートレイヤにおいて、データ転
送に関する計算機のメモリ空間のデータ格納領域15を
示すプログラミングオブジェクト(Region番号1
4,18)を通知するとともに、プロセス毎に1つずつ
存在し、転送を実現するプロトコルの出入口を示すプロ
グラミングオブジェクト(Port番号17,20)を
通知する。これにより、メモリ空間上の同サイズのメモ
リ領域のペアと、転送プロセスに対応した論理的通信路
を確保することができ、複数の計算機どうしで非同期的
にデータ転送することが可能となる。
クションレスネットワークに適用することができるよう
にする。また、上位レイヤ処理に律速されることなく、
高速LANを構築可能にする。 【解決手段】トランスポートレイヤにおいて、データ転
送に関する計算機のメモリ空間のデータ格納領域15を
示すプログラミングオブジェクト(Region番号1
4,18)を通知するとともに、プロセス毎に1つずつ
存在し、転送を実現するプロトコルの出入口を示すプロ
グラミングオブジェクト(Port番号17,20)を
通知する。これにより、メモリ空間上の同サイズのメモ
リ領域のペアと、転送プロセスに対応した論理的通信路
を確保することができ、複数の計算機どうしで非同期的
にデータ転送することが可能となる。
Description
【0001】
【発明の属する技術分野】本発明は、パーソナルコンピ
ュータやワークステーション等の計算機間の通信に関
し、特に高速一括ファイルの転送方法およびその装置に
関する。
ュータやワークステーション等の計算機間の通信に関
し、特に高速一括ファイルの転送方法およびその装置に
関する。
【0002】
【従来の技術】マルチメディア通信の発展により、画像
等の大容量バルクデータをサーバからクライアントに配
送するサービスが益々重要となってきている。例えば、
CD−ROMの全内容や映画1本に相当する内容等の大
容量バルクデータを数秒ないし数10秒でサーバからク
ライアント端末の蓄積メディアに転送し、直ちにネット
ワークを解放して他の転送に使用する等の経済性、効率
性が考えられている。図2は、従来における送信側およ
び受信側計算機間のデータ転送のシーケンスチャートで
ある。以下、図2により、メモリアドレスとパケット長
を用いて、高速データ転送とエラーパケットの高速再送
を行う従来のデータ転送方法(特願平9ー531658
号明細書および図面(高速一括転送法と略記)参照)の
手順について説明する。送信側および受信側の計算機1
1,12は、それぞれ送信すべきデータを蓄積する送信
側メモリと、受信したデータを蓄積する受信側メモリ
と、受信時刻を計時するタイマを備えている。図2で
は、一例として、シーケンス番号SEQ=40のパケッ
トが欠落し、SEQ=60のデータにエラーが発生して
いる場合を仮定している。送信側計算機11は、送信側
メモリからデータを読み出し、そのときの通信プロトコ
ルに応じて読み出したデータをパケットに分割してネッ
トワークに送信する。送信するパケットには、そのパケ
ットの送信側メモリにおける先頭アドレスとパケット長
を記録しておく。送信側11は受信側12からの応答確
認を待つことなく、通信路の帯域と受信側のバッファ容
量に応じた転送先度でデータ(SEQ=10,20,・
・・110)を送る。パケットを受信した受信側計算機
は、パケットの欠落やエラーがなければ、送信側にAC
Kを返送することなく受信データをメモリに順次蓄積し
ていく。
等の大容量バルクデータをサーバからクライアントに配
送するサービスが益々重要となってきている。例えば、
CD−ROMの全内容や映画1本に相当する内容等の大
容量バルクデータを数秒ないし数10秒でサーバからク
ライアント端末の蓄積メディアに転送し、直ちにネット
ワークを解放して他の転送に使用する等の経済性、効率
性が考えられている。図2は、従来における送信側およ
び受信側計算機間のデータ転送のシーケンスチャートで
ある。以下、図2により、メモリアドレスとパケット長
を用いて、高速データ転送とエラーパケットの高速再送
を行う従来のデータ転送方法(特願平9ー531658
号明細書および図面(高速一括転送法と略記)参照)の
手順について説明する。送信側および受信側の計算機1
1,12は、それぞれ送信すべきデータを蓄積する送信
側メモリと、受信したデータを蓄積する受信側メモリ
と、受信時刻を計時するタイマを備えている。図2で
は、一例として、シーケンス番号SEQ=40のパケッ
トが欠落し、SEQ=60のデータにエラーが発生して
いる場合を仮定している。送信側計算機11は、送信側
メモリからデータを読み出し、そのときの通信プロトコ
ルに応じて読み出したデータをパケットに分割してネッ
トワークに送信する。送信するパケットには、そのパケ
ットの送信側メモリにおける先頭アドレスとパケット長
を記録しておく。送信側11は受信側12からの応答確
認を待つことなく、通信路の帯域と受信側のバッファ容
量に応じた転送先度でデータ(SEQ=10,20,・
・・110)を送る。パケットを受信した受信側計算機
は、パケットの欠落やエラーがなければ、送信側にAC
Kを返送することなく受信データをメモリに順次蓄積し
ていく。
【0003】受信側計算機12は、パケットの欠落が発
生した場合には(SEQ=40のパケット)、所定の時
間が経過した後に、そのパケットの送信側先頭アドレス
とパケット長を付与して送信側に再送を要求する(NA
K=40)。また、受信したパケットにエラーがあった
場合には(SEQ=60のパケット)、そのパケットを
直ちに廃棄するとともに、そのパケットの送信側先頭ア
ドレスとパケット長を付与して送信側に再送要求する
(NAK=60)。受信側計算機12は、欠落あるいは
エラーがあった場合には、欠落あるいは廃棄したパケッ
トが格納されるべき受信側メモリ領域はそのまま空白に
しておき、それ以降に受信するエラーのないパケットを
この空白領域以降の領域に蓄積していく。なお、上記の
例では、受信側パケットの欠落が発生した場合には、所
定時間経過後に送信側に再送要求をすることにしている
が、勿論、欠落が発生した場合に、直ちに送信側に再送
要求することも可能である。また、欠落あるいはエラー
によりパケット長を得ることができなかったパケットの
格納されるべき受信側メモリ領域の容量は、次に正しく
受信したパケット(ここでは、SEQ=50のパケッ
ト)に付与されている送信側メモリの先頭アドレスの値
により決定することができる。再送要求を受けた送信側
は、通知されたシーケンス番号(SEQ=40,SEQ
=60)の先頭アドレスとパケット長を用いて再送パケ
ットを容易に再構成し、受信側に再送する。再送パケッ
トを受け取った受信側は、その再送パケットを必要に応
じて再構成し、空白のまま残しておいた対応する受信側
メモリ領域に蓄積する。受信側12からの再送要求に
は、再送すべき送信側先頭アドレスとパケット長が付与
されているため、送信側11では容易に再送パケットを
再構成することが可能である。また、再送要求のあった
先頭アドレスとパケット長の値をスタックしておけば、
途中で送信を止めずに全データの送信した後に、最後に
まとめて再送を行うことができる。
生した場合には(SEQ=40のパケット)、所定の時
間が経過した後に、そのパケットの送信側先頭アドレス
とパケット長を付与して送信側に再送を要求する(NA
K=40)。また、受信したパケットにエラーがあった
場合には(SEQ=60のパケット)、そのパケットを
直ちに廃棄するとともに、そのパケットの送信側先頭ア
ドレスとパケット長を付与して送信側に再送要求する
(NAK=60)。受信側計算機12は、欠落あるいは
エラーがあった場合には、欠落あるいは廃棄したパケッ
トが格納されるべき受信側メモリ領域はそのまま空白に
しておき、それ以降に受信するエラーのないパケットを
この空白領域以降の領域に蓄積していく。なお、上記の
例では、受信側パケットの欠落が発生した場合には、所
定時間経過後に送信側に再送要求をすることにしている
が、勿論、欠落が発生した場合に、直ちに送信側に再送
要求することも可能である。また、欠落あるいはエラー
によりパケット長を得ることができなかったパケットの
格納されるべき受信側メモリ領域の容量は、次に正しく
受信したパケット(ここでは、SEQ=50のパケッ
ト)に付与されている送信側メモリの先頭アドレスの値
により決定することができる。再送要求を受けた送信側
は、通知されたシーケンス番号(SEQ=40,SEQ
=60)の先頭アドレスとパケット長を用いて再送パケ
ットを容易に再構成し、受信側に再送する。再送パケッ
トを受け取った受信側は、その再送パケットを必要に応
じて再構成し、空白のまま残しておいた対応する受信側
メモリ領域に蓄積する。受信側12からの再送要求に
は、再送すべき送信側先頭アドレスとパケット長が付与
されているため、送信側11では容易に再送パケットを
再構成することが可能である。また、再送要求のあった
先頭アドレスとパケット長の値をスタックしておけば、
途中で送信を止めずに全データの送信した後に、最後に
まとめて再送を行うことができる。
【0004】このように、従来の高速一括転送法では、
再送開始のために送信側タイマの終了を待つことがな
く、かつ余分なパケットを再送することもなくなる。ま
た、再送パケットを送信側で再構成する時のソフト処理
とメモリ管理を最小限に抑えることができるので、従来
より広くインターネットで採用されているTCP(Tr
ansmission Control Protoc
ol)等に比べて極めて簡単で効率的な再送処理が実現
できる。しかしながら、高速一括転送法は、本来、コネ
クション指向型であり、また1対1のサーバとクライア
ントシステムを基本としているものであるため、複数の
計算機が互いに接続されたLAN(Local Are
a Network)環境に適用する場合、中間にスイ
ッチ等を設置する等することで、下位レイヤで一旦コネ
クションの確立を行う必要がある。複数計算機間でLA
Nを構築する場合、従来より広く用いられているNFS
(Network File System)では、ク
ライアント側の1回のファイル操作(read( )
等)をセッションレイヤプロトコルRPC(Remot
e Procedure Call)手続き、つまりサ
ーバ・クライアント間の双方向通信に変換して実行して
いる。このために、サーバ・クライアント間では、頻繁
な通信が発生している。
再送開始のために送信側タイマの終了を待つことがな
く、かつ余分なパケットを再送することもなくなる。ま
た、再送パケットを送信側で再構成する時のソフト処理
とメモリ管理を最小限に抑えることができるので、従来
より広くインターネットで採用されているTCP(Tr
ansmission Control Protoc
ol)等に比べて極めて簡単で効率的な再送処理が実現
できる。しかしながら、高速一括転送法は、本来、コネ
クション指向型であり、また1対1のサーバとクライア
ントシステムを基本としているものであるため、複数の
計算機が互いに接続されたLAN(Local Are
a Network)環境に適用する場合、中間にスイ
ッチ等を設置する等することで、下位レイヤで一旦コネ
クションの確立を行う必要がある。複数計算機間でLA
Nを構築する場合、従来より広く用いられているNFS
(Network File System)では、ク
ライアント側の1回のファイル操作(read( )
等)をセッションレイヤプロトコルRPC(Remot
e Procedure Call)手続き、つまりサ
ーバ・クライアント間の双方向通信に変換して実行して
いる。このために、サーバ・クライアント間では、頻繁
な通信が発生している。
【0005】
【発明が解決しようとする課題】前述のように、高速一
括転送法では、転送されるデータパケットに付与されて
通信されるメモリに関する情報は、送信側メモリの先頭
アドレスとパケット長に限定されている。このため、確
保すべきメモリ容量等の情報を1対1の計算機間でハン
ドシェイク手続きによりやりとりする必要がある。具体
的には、このハンドシェイクは、通信に先立つシグナリ
ングや、データ転送とは別の制御用の通信機構を設ける
こと等により行う。高速一括転送法をコネクションレス
ネットワークに適用した場合、上記ハンドシェイク手続
きがオーバヘッドとなって、スループットの低下を招く
ことになる。また、コネクションレスネットワークにお
ける汎用的なルータの他に、ハンドシェイク手続きを解
決するための専用の通信装置を設ける必要があるため、
コストアップを招いてしまう。
括転送法では、転送されるデータパケットに付与されて
通信されるメモリに関する情報は、送信側メモリの先頭
アドレスとパケット長に限定されている。このため、確
保すべきメモリ容量等の情報を1対1の計算機間でハン
ドシェイク手続きによりやりとりする必要がある。具体
的には、このハンドシェイクは、通信に先立つシグナリ
ングや、データ転送とは別の制御用の通信機構を設ける
こと等により行う。高速一括転送法をコネクションレス
ネットワークに適用した場合、上記ハンドシェイク手続
きがオーバヘッドとなって、スループットの低下を招く
ことになる。また、コネクションレスネットワークにお
ける汎用的なルータの他に、ハンドシェイク手続きを解
決するための専用の通信装置を設ける必要があるため、
コストアップを招いてしまう。
【0006】従来の高速一括転送法は、コネクション指
向型であり、上述したようなハンドシェイク手続きに基
づき確立されるため、複数計算機が互いに接続されたL
ANに適用した場合でも、実際に行える通信は1対1の
同期的通信に限定される。つまり、インターネットに代
表されるコネクションレスネットワークで可能な1つの
計算機のメモリ領域を分割して複数の計算機間で非同期
的にデータ転送を行う、というような柔軟な使用方法は
不可能であった。LANにおいては、ファイルシステム
を構築することが必須の条件であるが、従来のNFSで
はセッションレイヤプロトコルRPC手続きを経て実行
しているため、繁雑なサーバ・クライアント間通信が生
じてしまう。このために、下位レイヤに高速の機構を設
けた場合でも、ファイルシステムにおけるスループット
の低下が高速LANを実現するための大きな障害となっ
ている。そこで、本発明の目的は、このような従来の課
題を解決し、高速一括転送法の高速性を損うことなく、
コネクションレスネットワークでの透過性を確保すると
ともに、複数の計算機間で非同期的にデータ転送を行う
等の柔軟性のある通信も可能であり、また高速のファイ
ルシステムを構築することも可能なデータ転送方法およ
び装置を提供することにある。
向型であり、上述したようなハンドシェイク手続きに基
づき確立されるため、複数計算機が互いに接続されたL
ANに適用した場合でも、実際に行える通信は1対1の
同期的通信に限定される。つまり、インターネットに代
表されるコネクションレスネットワークで可能な1つの
計算機のメモリ領域を分割して複数の計算機間で非同期
的にデータ転送を行う、というような柔軟な使用方法は
不可能であった。LANにおいては、ファイルシステム
を構築することが必須の条件であるが、従来のNFSで
はセッションレイヤプロトコルRPC手続きを経て実行
しているため、繁雑なサーバ・クライアント間通信が生
じてしまう。このために、下位レイヤに高速の機構を設
けた場合でも、ファイルシステムにおけるスループット
の低下が高速LANを実現するための大きな障害となっ
ている。そこで、本発明の目的は、このような従来の課
題を解決し、高速一括転送法の高速性を損うことなく、
コネクションレスネットワークでの透過性を確保すると
ともに、複数の計算機間で非同期的にデータ転送を行う
等の柔軟性のある通信も可能であり、また高速のファイ
ルシステムを構築することも可能なデータ転送方法およ
び装置を提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するた
め、本発明のデータ転送方法では、2つのオブジェク
トを計算機間で通信/処理することにより、高速一括転
送法を1対1の同期的通信から多対多の非同期的通信に
拡張する。この場合のオブジェクトとは、一般にOS
(Operating System)が提供するシス
テムサービスと規定しているものである。その第1のオ
ブジェクトは、計算機のメモリ空間における任意の連続
メモリ領域を表現するもので、新たに定義するものであ
る。ここでは、このオブジェクトをRegionと呼ぶ
ことにする。Regionは実メモリ空間で定義される
物理メモリアドレスの領域でも、UNIXのようなOS
の管理する仮想メモリ空間でもよい。高速一括転送法に
おいて計算機間で通信される物理メモリアドレス情報に
加えて、ここで定義したRegionを付与することに
より、1つの計算機のメモリ領域を分割して、複数の計
算機間でデータ転送を行うことが可能となる。第2のオ
ブジェクトは、データ転送のプロセス毎に1つずつ存在
して転送を実現するプロトコルの出入口を示すものであ
って、通常Portと呼ばれる。データ転送に関する計
算機間でPortを通信することにより、転送のセッシ
ョンを明確に定義することができるので、低位レイヤに
おいてシグナリングを解決する等のコネクション確立を
行うことなく、複数計算機間の非同期的な通信が可能と
なる。図1には、RegionとPortを用いた高速
一括転送法の概念が示されている。
め、本発明のデータ転送方法では、2つのオブジェク
トを計算機間で通信/処理することにより、高速一括転
送法を1対1の同期的通信から多対多の非同期的通信に
拡張する。この場合のオブジェクトとは、一般にOS
(Operating System)が提供するシス
テムサービスと規定しているものである。その第1のオ
ブジェクトは、計算機のメモリ空間における任意の連続
メモリ領域を表現するもので、新たに定義するものであ
る。ここでは、このオブジェクトをRegionと呼ぶ
ことにする。Regionは実メモリ空間で定義される
物理メモリアドレスの領域でも、UNIXのようなOS
の管理する仮想メモリ空間でもよい。高速一括転送法に
おいて計算機間で通信される物理メモリアドレス情報に
加えて、ここで定義したRegionを付与することに
より、1つの計算機のメモリ領域を分割して、複数の計
算機間でデータ転送を行うことが可能となる。第2のオ
ブジェクトは、データ転送のプロセス毎に1つずつ存在
して転送を実現するプロトコルの出入口を示すものであ
って、通常Portと呼ばれる。データ転送に関する計
算機間でPortを通信することにより、転送のセッシ
ョンを明確に定義することができるので、低位レイヤに
おいてシグナリングを解決する等のコネクション確立を
行うことなく、複数計算機間の非同期的な通信が可能と
なる。図1には、RegionとPortを用いた高速
一括転送法の概念が示されている。
【0008】次に、本発明のデータ転送装置は、上述
の転送方法を実装した装置である。計算機に接続されて
通信のインタフェースを実現する装置は、一般にNIC
(Network Interface Card)の
形態で実現される。本発明のNICでは、高速一括転送
法を実現するために再送制御やセッション確立等の処理
を全てNICローカルのCPUとハードウェアにより行
う。これにより、プロトコルの処理に伴う計算機本体の
ホストCPUの負荷を最小限に抑えることが可能であ
る。また、OSカーネルがサポートするIPC(Int
erprocess Communication)機
構を使用しないデータ転送を行うことにより、ソフトウ
ェアのオーバーヘッドを最低限に抑える。例えば、UN
IXのIPC機構はsocketインタフェースである
が、本発明ではこれを使用しない。次に、本発明の高速
ファイルシステムでは、セッションの定義された高速
一括転送法を用いた高速ファイルシステムである。図3
に、この高速ファイルシステムの概念が示されている。
このファイルシステムでは、ファイルセッションの開始
(open( ))時に対象ファイル自身を高速一括転
送法を使用してクライアントに高速にダウンロードす
る。従って、個々のファイル操作はクライアント内部の
キャッシュディスクに対して直接実行され、RPC手続
きに伴う頻繁なサーバ・クライアント間通信は行われな
い。ファイルセッションの終了時(close( ))
に対象ファイルがクライアント側からサーバ側へNet
warpによりアップロードされる。
の転送方法を実装した装置である。計算機に接続されて
通信のインタフェースを実現する装置は、一般にNIC
(Network Interface Card)の
形態で実現される。本発明のNICでは、高速一括転送
法を実現するために再送制御やセッション確立等の処理
を全てNICローカルのCPUとハードウェアにより行
う。これにより、プロトコルの処理に伴う計算機本体の
ホストCPUの負荷を最小限に抑えることが可能であ
る。また、OSカーネルがサポートするIPC(Int
erprocess Communication)機
構を使用しないデータ転送を行うことにより、ソフトウ
ェアのオーバーヘッドを最低限に抑える。例えば、UN
IXのIPC機構はsocketインタフェースである
が、本発明ではこれを使用しない。次に、本発明の高速
ファイルシステムでは、セッションの定義された高速
一括転送法を用いた高速ファイルシステムである。図3
に、この高速ファイルシステムの概念が示されている。
このファイルシステムでは、ファイルセッションの開始
(open( ))時に対象ファイル自身を高速一括転
送法を使用してクライアントに高速にダウンロードす
る。従って、個々のファイル操作はクライアント内部の
キャッシュディスクに対して直接実行され、RPC手続
きに伴う頻繁なサーバ・クライアント間通信は行われな
い。ファイルセッションの終了時(close( ))
に対象ファイルがクライアント側からサーバ側へNet
warpによりアップロードされる。
【0009】
【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。先ず、本発明の第1の特徴である
データ転送装置の原理を、図1により説明する。図1の
高速ファイル転送装置は、ネットワークを介して計算機
間のメモリコピーを行うものであって、Port−Re
gionモデルに基づくネットワークDMAにより実現
する。ネットワークDMAは、パケット10,10aに
メモリアドレス16,19を格納して送信することによ
り高速転送を実現する。これをLANのような複数プロ
セス間の非同期な通信に適用するためには、物理メモリ
アドレス16,19を通知するだけでなく、サーバ・ク
ライアント間でコピーを行うメモリ領域のペアを設定/
通知することが必要となる。ここでは、この抽象化した
メモリ領域のペアをRegion#1あるいは#2とし
て定義する。
より詳細に説明する。先ず、本発明の第1の特徴である
データ転送装置の原理を、図1により説明する。図1の
高速ファイル転送装置は、ネットワークを介して計算機
間のメモリコピーを行うものであって、Port−Re
gionモデルに基づくネットワークDMAにより実現
する。ネットワークDMAは、パケット10,10aに
メモリアドレス16,19を格納して送信することによ
り高速転送を実現する。これをLANのような複数プロ
セス間の非同期な通信に適用するためには、物理メモリ
アドレス16,19を通知するだけでなく、サーバ・ク
ライアント間でコピーを行うメモリ領域のペアを設定/
通知することが必要となる。ここでは、この抽象化した
メモリ領域のペアをRegion#1あるいは#2とし
て定義する。
【0010】図1に示すように、サーバ/クライアント
・プログラムのポート番号17,20とRegion番
号14,18を組み合わせることにより、任意のプロセ
ス間での双方向のネットワークDMAが可能となる。す
なわち、送信側計算機11(ここでは、サーバとする)
のメモリアドレス空間において、Region#1にお
けるパケットに相当するメモリブロック15の先頭メモ
リアドレス16と転送を行うプロトコルの出入口のPo
rt番号17を用いてパケット10を構成する。パケッ
ト10には、Region番号14、送信側先頭メモリ
アドレス16、Port番号17に続いて、転送すべき
データが格納されている。このパケットが受信側計算機
(1)12のメモリアドレス空間に転送されて、Reg
ion#1に直接、蓄積される。Region#2につ
いても、パケット10aに格納されて全く同じようにし
て転送される。TCPに起因するスループットの低下を
避けるために、ネットワークDMAのIPネットワーク
への適用は、UDP/IPを基本としている。通信の信
頼性は、メモリアドレス通知に基づく高速再送メカニズ
ムにより確保されるが、このために新たにトランスポー
トプロトコル『Netwarp TP』を定義する。す
なわち、パケットヘッダを設けることである。ネットワ
ークDMAには、同時にRegionを識別するための
ネゴシェーションまで含めてネットワークDMAを用い
て行うことにより、エンド・ツー・エンドの高スループ
ットを実現する。
・プログラムのポート番号17,20とRegion番
号14,18を組み合わせることにより、任意のプロセ
ス間での双方向のネットワークDMAが可能となる。す
なわち、送信側計算機11(ここでは、サーバとする)
のメモリアドレス空間において、Region#1にお
けるパケットに相当するメモリブロック15の先頭メモ
リアドレス16と転送を行うプロトコルの出入口のPo
rt番号17を用いてパケット10を構成する。パケッ
ト10には、Region番号14、送信側先頭メモリ
アドレス16、Port番号17に続いて、転送すべき
データが格納されている。このパケットが受信側計算機
(1)12のメモリアドレス空間に転送されて、Reg
ion#1に直接、蓄積される。Region#2につ
いても、パケット10aに格納されて全く同じようにし
て転送される。TCPに起因するスループットの低下を
避けるために、ネットワークDMAのIPネットワーク
への適用は、UDP/IPを基本としている。通信の信
頼性は、メモリアドレス通知に基づく高速再送メカニズ
ムにより確保されるが、このために新たにトランスポー
トプロトコル『Netwarp TP』を定義する。す
なわち、パケットヘッダを設けることである。ネットワ
ークDMAには、同時にRegionを識別するための
ネゴシェーションまで含めてネットワークDMAを用い
て行うことにより、エンド・ツー・エンドの高スループ
ットを実現する。
【0011】次に、本発明の第2の特徴である高速ファ
イルシステムの原理を、図3により説明する。図3に示
す高速一括転送サービス(Netwarp)は、画像デ
ータやデータベース等、大容量データを瞬時にダウンロ
ード可能な高速ネットワークサービスである。高速ファ
イル転送プロトコル(ネットワークDMA)に加えて、
100MB/sの高速ディスクアクセスを実現する。こ
れらを高速LANに適用した場合の有用なサービスアプ
リケーションとして、ファイルセッションに基づく分散
ファイルシステムである。従来より、広く用いられてい
るネットワークファイルシステムNFSでは、クライア
ント側の1回のファイル操作(read( )等)をセ
ッションレイヤプロトコルRPC手続き、つまりサーバ
・クライアント間の双方向通信に変換して実行してい
た。それに対して、図3の本発明のファイルセッション
に基づく分散ファイルシステムDFSでは、ファイルセ
ッションの開始(open( ))時に対象ファイル自
身26をNetwarp24を使用してクライアント2
2に高速にダウンロードする(28)。従って、個々の
ファイル操作はクライアント22内部のキャッシュディ
スクに対して直接実行され、RPC手続きに伴う頻繁な
サーバ・クライアント間通信は行われない。ファイルセ
ッションの終了時(close( ))時に、対象ファ
イル28がクライアント22側からサーバ21側へNe
tworp24によりアップロードされる(27)。
イルシステムの原理を、図3により説明する。図3に示
す高速一括転送サービス(Netwarp)は、画像デ
ータやデータベース等、大容量データを瞬時にダウンロ
ード可能な高速ネットワークサービスである。高速ファ
イル転送プロトコル(ネットワークDMA)に加えて、
100MB/sの高速ディスクアクセスを実現する。こ
れらを高速LANに適用した場合の有用なサービスアプ
リケーションとして、ファイルセッションに基づく分散
ファイルシステムである。従来より、広く用いられてい
るネットワークファイルシステムNFSでは、クライア
ント側の1回のファイル操作(read( )等)をセ
ッションレイヤプロトコルRPC手続き、つまりサーバ
・クライアント間の双方向通信に変換して実行してい
た。それに対して、図3の本発明のファイルセッション
に基づく分散ファイルシステムDFSでは、ファイルセ
ッションの開始(open( ))時に対象ファイル自
身26をNetwarp24を使用してクライアント2
2に高速にダウンロードする(28)。従って、個々の
ファイル操作はクライアント22内部のキャッシュディ
スクに対して直接実行され、RPC手続きに伴う頻繁な
サーバ・クライアント間通信は行われない。ファイルセ
ッションの終了時(close( ))時に、対象ファ
イル28がクライアント22側からサーバ21側へNe
tworp24によりアップロードされる(27)。
【0012】図4は、本発明の第1の実施例を示すUD
P/IPを用いた計算機間データ転送方法のデータフォ
ーマット図である。IP(Internet Prot
ocol)は、コネクションレス通信のネットワーク層
プロトコルとして広く普及しているが、高い信頼性が要
求されるデータ通信の場合、上位のトランスポート層プ
ロトコルには前述のTCPを用いるのが一般的である。
しかし、ACKのみで応答確認を行うTCPでは、再送
を受けるためには常に送信側のタイマ終了を待たなけれ
ばならない。また、エラーの生じたセグメントが1個だ
けである場合でも、それ以降のセグメントは全て再送し
なければならない。このために、一旦エラーが発生する
と、再送セグメントが累積的に増加してしまう。これら
の要因によって、特に大容量のバルクデータを多くのセ
グメントに分割して転送するようなアプリケーションの
場合、受信側からNAK(Negative Ackn
owlegement:否定応答)を返送して特定セグ
メントの強制的な再送を行う方法に対して、転送効率が
著しく低下してしまう。
P/IPを用いた計算機間データ転送方法のデータフォ
ーマット図である。IP(Internet Prot
ocol)は、コネクションレス通信のネットワーク層
プロトコルとして広く普及しているが、高い信頼性が要
求されるデータ通信の場合、上位のトランスポート層プ
ロトコルには前述のTCPを用いるのが一般的である。
しかし、ACKのみで応答確認を行うTCPでは、再送
を受けるためには常に送信側のタイマ終了を待たなけれ
ばならない。また、エラーの生じたセグメントが1個だ
けである場合でも、それ以降のセグメントは全て再送し
なければならない。このために、一旦エラーが発生する
と、再送セグメントが累積的に増加してしまう。これら
の要因によって、特に大容量のバルクデータを多くのセ
グメントに分割して転送するようなアプリケーションの
場合、受信側からNAK(Negative Ackn
owlegement:否定応答)を返送して特定セグ
メントの強制的な再送を行う方法に対して、転送効率が
著しく低下してしまう。
【0013】そこで、本実施例では、インターネットの
標準のトランポートレイヤプロトコルとしてUDPを用
い、UDP/IPの上位にさらに新たなトランスポート
プロトコルを定義して、誤り制御やセッションの確立等
の処理をこの新しいトランスポートレイヤにおいて行
う。図4に示す新TPヘッダ33が、ここで新たに定義
したトランスポートプロトコルのパラメータを格納する
ヘッダである。新TPヘッダには、プロトコル識別3
9、Region40、Sequence Numbe
r41、送信側先頭メモリアドレス42、およびパケッ
ト長43の各フィールドを有している。プロトコル識別
39は、本発明による転送を行うか、他のアプリケーシ
ョンであるかを識別するためのフィールドである。Re
gion40は、本発明で定義したRegionオブジ
ェクトの内容を格納するためのフィールドである。Se
quence Number41は、各パケットを識別
するために付与される番号(Sequence Num
ber)を格納するフィールドである。送信側先頭メモ
リアドレス42,およびパケット長43は、それぞれ高
速一括転送の再送制御に使用される。一方、Portオ
ブジェクトは、新TPヘッダ33の前部のUDPヘッダ
32に格納されており、送信元(SourcePor
t)35、宛先(Destination Port)
36の各Port番号が格納される。
標準のトランポートレイヤプロトコルとしてUDPを用
い、UDP/IPの上位にさらに新たなトランスポート
プロトコルを定義して、誤り制御やセッションの確立等
の処理をこの新しいトランスポートレイヤにおいて行
う。図4に示す新TPヘッダ33が、ここで新たに定義
したトランスポートプロトコルのパラメータを格納する
ヘッダである。新TPヘッダには、プロトコル識別3
9、Region40、Sequence Numbe
r41、送信側先頭メモリアドレス42、およびパケッ
ト長43の各フィールドを有している。プロトコル識別
39は、本発明による転送を行うか、他のアプリケーシ
ョンであるかを識別するためのフィールドである。Re
gion40は、本発明で定義したRegionオブジ
ェクトの内容を格納するためのフィールドである。Se
quence Number41は、各パケットを識別
するために付与される番号(Sequence Num
ber)を格納するフィールドである。送信側先頭メモ
リアドレス42,およびパケット長43は、それぞれ高
速一括転送の再送制御に使用される。一方、Portオ
ブジェクトは、新TPヘッダ33の前部のUDPヘッダ
32に格納されており、送信元(SourcePor
t)35、宛先(Destination Port)
36の各Port番号が格納される。
【0014】第1の実施例において、ネットワークに複
数の計算機が接続されており、それぞれの計算機同志が
互いに非同期的にデータ転送を行う場合、(イ)通信す
る計算機のペアが、それぞれのメモリ空間上で同サイズ
のメモリ領域のペアを通知すること、(ロ)通信する計
算機のペアが、データ転送プロセスに対応した論理的な
通信路を確保すること、の2つが必須である。第1の実
施例では、プログラミングオブジェクト〔Regio
n〕と〔Port〕をそれぞれ用いることにより、上記
(イ)および(ロ)を満足することができる。
数の計算機が接続されており、それぞれの計算機同志が
互いに非同期的にデータ転送を行う場合、(イ)通信す
る計算機のペアが、それぞれのメモリ空間上で同サイズ
のメモリ領域のペアを通知すること、(ロ)通信する計
算機のペアが、データ転送プロセスに対応した論理的な
通信路を確保すること、の2つが必須である。第1の実
施例では、プログラミングオブジェクト〔Regio
n〕と〔Port〕をそれぞれ用いることにより、上記
(イ)および(ロ)を満足することができる。
【0015】図5は、本発明のファイル転送を行った場
合の手順を示すシーケンスチャートである。ここでは、
送信側および受信側計算機がそれぞれ接続されたネット
ワークにおけるデータ転送手順を示している。図5にお
いて、アプリケーションは、送信側のファイル転送のア
プリケーションレイヤ処理部51、TCPおよびIPレ
イヤ処理部(通常のインターネットプロトコル)52、
および新TPとして前述のように新たに定義したトラン
スポートレイヤの処理部55である。受信側も同じよう
に、54,53および56が存在する。通信に先立ち、
送信側/受信側がそれぞれ相手のPort番号を獲得す
るために、アプリケーション間で1往復のTCP/IP
通信を行う(破線矢印)。次に、受信側アプリケーショ
ンは、送信側アプリケーションに対して対象ファイルを
Regionにセットし(set region)、フ
ァイルを獲得せよ(get file)という内容のコ
マンドを発行する。このとき、受信側の新TPは、送信
側新TPに対して自身のRegion番号を通知する。
送信側アプリケーションは、set regionとg
et fileのコマンドを受け付けると、ファイルを
対象Regionにセットし、その結果を受信側アプリ
ケーションに通知する(set region O
K)。次に、受信側アプリケーションは、ファイル転送
の開始を送信側アプリケーションに命令する(Go D
MA)。Go DMAを受け付けた送信側アプリケーシ
ョンは、送信側新TPに対して送信要求を指示し、デー
タ転送モードに移る。データ転送時の再送制御等は、新
TPレイヤで処理し、その方法は高速一括転送法のもの
に従う。再送まで含めて全てのデータ転送が正常に完了
すると、受信側新TPは、送信側新TPに対してall
OKのコマンドを発行し、この後、送信側アプリケー
ションがファイル転送の終了を受信側アプリケーション
に通知する(DMA OK)。
合の手順を示すシーケンスチャートである。ここでは、
送信側および受信側計算機がそれぞれ接続されたネット
ワークにおけるデータ転送手順を示している。図5にお
いて、アプリケーションは、送信側のファイル転送のア
プリケーションレイヤ処理部51、TCPおよびIPレ
イヤ処理部(通常のインターネットプロトコル)52、
および新TPとして前述のように新たに定義したトラン
スポートレイヤの処理部55である。受信側も同じよう
に、54,53および56が存在する。通信に先立ち、
送信側/受信側がそれぞれ相手のPort番号を獲得す
るために、アプリケーション間で1往復のTCP/IP
通信を行う(破線矢印)。次に、受信側アプリケーショ
ンは、送信側アプリケーションに対して対象ファイルを
Regionにセットし(set region)、フ
ァイルを獲得せよ(get file)という内容のコ
マンドを発行する。このとき、受信側の新TPは、送信
側新TPに対して自身のRegion番号を通知する。
送信側アプリケーションは、set regionとg
et fileのコマンドを受け付けると、ファイルを
対象Regionにセットし、その結果を受信側アプリ
ケーションに通知する(set region O
K)。次に、受信側アプリケーションは、ファイル転送
の開始を送信側アプリケーションに命令する(Go D
MA)。Go DMAを受け付けた送信側アプリケーシ
ョンは、送信側新TPに対して送信要求を指示し、デー
タ転送モードに移る。データ転送時の再送制御等は、新
TPレイヤで処理し、その方法は高速一括転送法のもの
に従う。再送まで含めて全てのデータ転送が正常に完了
すると、受信側新TPは、送信側新TPに対してall
OKのコマンドを発行し、この後、送信側アプリケー
ションがファイル転送の終了を受信側アプリケーション
に通知する(DMA OK)。
【0016】図6は、本発明の第2の実施例を示すAT
MベースインテリジェントNICの構成図である。ここ
では、NIC上にローカルプロセッサ62を配置すると
ともに、PCIローカルバス75、送信SARバス7
6、受信SARバス77ならびに各ブロック63〜69
を接続している。各ブロックとしては、ローカルCPU
メモリ63、送信SARメモリ64、送信SAR65、
受信SARメモリ66、受信SAR67、TC68およ
び入出力インタフェース69がある。NIC上のバスの
閉塞によりNICとしてのデータ転送効率が低下するこ
とを避けるために、各バスは切替回路70〜74を介し
ての接続となっている。例えば、ホストメモリから送信
SARメモリ64に送信データを転送する間に、ローカ
ルCPU62が受信SAR67や受信SARメモリ66
にアクセスして、プロトコル処理を行うことが可能であ
る。なお、従来の装置では、バス同志が直接接続され、
論理的に全てのバスが1本であるような構造であった。
このような構造であると、全てのバス上を複数種類の信
号が通るため、バスの閉塞によるNICの転送効率の低
下が避けられなかった。すなわち、従来の方法によるデ
ータ転送では、プログラムの処理をNIC上で行うこと
は不可能であり、全てホストCPUが行っていた。本実
施例では、各バス75〜78を切替回路70〜74を介
して接続することにより、バスの閉塞という問題を解消
することができる。例えば、ホストメモリから送信SA
Rメモリ64に送信データを転送する間に、ローカルC
PU62が受信SAR67や受信SARメモリ66にア
クセスして、プロトコル処理を行うことが可能である。
本実施例では、プログラミングオブジェクトに基づいて
データ転送を行う場合、トランスポートレイヤ以下の処
理を全てNICで行うことができる。この場合、従来の
方法と比べて多種類の制御信号がバスを通るため、何等
かの方法でバスの閉塞を防がないと転送効率が低下する
ので、本実施例ではこの問題を解決するために切替回路
を用いている。
MベースインテリジェントNICの構成図である。ここ
では、NIC上にローカルプロセッサ62を配置すると
ともに、PCIローカルバス75、送信SARバス7
6、受信SARバス77ならびに各ブロック63〜69
を接続している。各ブロックとしては、ローカルCPU
メモリ63、送信SARメモリ64、送信SAR65、
受信SARメモリ66、受信SAR67、TC68およ
び入出力インタフェース69がある。NIC上のバスの
閉塞によりNICとしてのデータ転送効率が低下するこ
とを避けるために、各バスは切替回路70〜74を介し
ての接続となっている。例えば、ホストメモリから送信
SARメモリ64に送信データを転送する間に、ローカ
ルCPU62が受信SAR67や受信SARメモリ66
にアクセスして、プロトコル処理を行うことが可能であ
る。なお、従来の装置では、バス同志が直接接続され、
論理的に全てのバスが1本であるような構造であった。
このような構造であると、全てのバス上を複数種類の信
号が通るため、バスの閉塞によるNICの転送効率の低
下が避けられなかった。すなわち、従来の方法によるデ
ータ転送では、プログラムの処理をNIC上で行うこと
は不可能であり、全てホストCPUが行っていた。本実
施例では、各バス75〜78を切替回路70〜74を介
して接続することにより、バスの閉塞という問題を解消
することができる。例えば、ホストメモリから送信SA
Rメモリ64に送信データを転送する間に、ローカルC
PU62が受信SAR67や受信SARメモリ66にア
クセスして、プロトコル処理を行うことが可能である。
本実施例では、プログラミングオブジェクトに基づいて
データ転送を行う場合、トランスポートレイヤ以下の処
理を全てNICで行うことができる。この場合、従来の
方法と比べて多種類の制御信号がバスを通るため、何等
かの方法でバスの閉塞を防がないと転送効率が低下する
ので、本実施例ではこの問題を解決するために切替回路
を用いている。
【0017】図7は、本発明の第3の実施例を示す高速
一括転送を用いた分散ファイルシステム(以下、DF
S)の構成図であり、図8は、本発明と比較のために示
した従来のファイルシステムの構成図である。図7のD
FSのプロトコルスタックにおいて、DFS81,85
は、第1の実施例で述べた新TP(ここでは、ネットワ
ークDMAと呼ぶ)上の複数の独立したバックグラアン
ドアプリケーションプログラムとして実現される。サー
バ側に実装されるDFSサーバ81は、ターゲットファ
イルの属性、状態を管理し、排他制御を司るファイル共
有管理プログラムである。一方、DFSクライアント8
5は、クライアント側にキャッシュされる対象ファイル
のコピーを管理する。また、高速一括転送ユーティリテ
ィであるnwftp82,nwftpd86は、それぞ
れ上位プログラムからの要求に応じて対象ファイルを転
送するサーバ/クライアント側プログラムである。ネッ
トワークDMA83,87は、UDP上のセッションレ
イヤプロトコルであり、Netwarpファイル転送ユ
ーティリティ(nwftp,nwftpd)に対して、
クライアント、サーバのアドレス空間上の同サイズのメ
モリ領域のペア(region)の高速一括転送を実現
する。
一括転送を用いた分散ファイルシステム(以下、DF
S)の構成図であり、図8は、本発明と比較のために示
した従来のファイルシステムの構成図である。図7のD
FSのプロトコルスタックにおいて、DFS81,85
は、第1の実施例で述べた新TP(ここでは、ネットワ
ークDMAと呼ぶ)上の複数の独立したバックグラアン
ドアプリケーションプログラムとして実現される。サー
バ側に実装されるDFSサーバ81は、ターゲットファ
イルの属性、状態を管理し、排他制御を司るファイル共
有管理プログラムである。一方、DFSクライアント8
5は、クライアント側にキャッシュされる対象ファイル
のコピーを管理する。また、高速一括転送ユーティリテ
ィであるnwftp82,nwftpd86は、それぞ
れ上位プログラムからの要求に応じて対象ファイルを転
送するサーバ/クライアント側プログラムである。ネッ
トワークDMA83,87は、UDP上のセッションレ
イヤプロトコルであり、Netwarpファイル転送ユ
ーティリティ(nwftp,nwftpd)に対して、
クライアント、サーバのアドレス空間上の同サイズのメ
モリ領域のペア(region)の高速一括転送を実現
する。
【0018】これに対して、NFS等の従来のファイル
システムでは、図8に示すように、ファイルシステムア
プリケーションプログラムと通信を直接司るプログラム
(TPC/IPカーネル)とは、Socketインタフ
ェースを境にして完全に切り離されていた。このため
に、サーバとクライアントに分散されたアプリケーショ
ンプログラムを起動して一連のファイル転送を完了する
ためには、RPC手続きによりサーバ、クライアント間
で頻繁な通信を行う必要があった。このことが、ファイ
ルシステムレベルでのスループット低下の原因となって
いた。一方、本発明では、第1の実施例で述べた2つの
プログラミングオブジェクト(RegionとPor
t)を用いて、アプリケーションプログラムとデータ転
送(ネットワークDMA)とが連動し、サーバ・クライ
アント間の頻繁な通信を介することなく、直接大容量の
データを転送することができる。従って、ファイルシス
テムレベルでのスループット低下を回避することができ
る。
システムでは、図8に示すように、ファイルシステムア
プリケーションプログラムと通信を直接司るプログラム
(TPC/IPカーネル)とは、Socketインタフ
ェースを境にして完全に切り離されていた。このため
に、サーバとクライアントに分散されたアプリケーショ
ンプログラムを起動して一連のファイル転送を完了する
ためには、RPC手続きによりサーバ、クライアント間
で頻繁な通信を行う必要があった。このことが、ファイ
ルシステムレベルでのスループット低下の原因となって
いた。一方、本発明では、第1の実施例で述べた2つの
プログラミングオブジェクト(RegionとPor
t)を用いて、アプリケーションプログラムとデータ転
送(ネットワークDMA)とが連動し、サーバ・クライ
アント間の頻繁な通信を介することなく、直接大容量の
データを転送することができる。従って、ファイルシス
テムレベルでのスループット低下を回避することができ
る。
【0019】図9は、図7のDFSによるファイル転送
シーケンスチャートである。サーバ側プログラムDFS
server81は、DFSclient85が指定し
た対象ファイル/dir/targetを高速一括転送
ユーティリティnwftpd82を通してregion
#1にセットし、ネットワークDMAによりクライアン
ト側に転送する。複数クライアント・サーバ間で高速転
送を行うためには、第1の実施例に記述したように、
(イ)通信するクライアントとサーバが、それぞれのメ
モリ空間上で同サイズのメモリ領域のペアを通知するこ
と、(ロ)通信するクライアントとサーバが、データ転
送プロセスに対応した論理的な通信路を確保すること、
の2つが必須である。第1の実施例に記述したプログラ
ミングオブジェクト〔Region〕と〔Port〕を
それぞれ用いることにより、(イ)と(ロ)を満足する
ことができる。
シーケンスチャートである。サーバ側プログラムDFS
server81は、DFSclient85が指定し
た対象ファイル/dir/targetを高速一括転送
ユーティリティnwftpd82を通してregion
#1にセットし、ネットワークDMAによりクライアン
ト側に転送する。複数クライアント・サーバ間で高速転
送を行うためには、第1の実施例に記述したように、
(イ)通信するクライアントとサーバが、それぞれのメ
モリ空間上で同サイズのメモリ領域のペアを通知するこ
と、(ロ)通信するクライアントとサーバが、データ転
送プロセスに対応した論理的な通信路を確保すること、
の2つが必須である。第1の実施例に記述したプログラ
ミングオブジェクト〔Region〕と〔Port〕を
それぞれ用いることにより、(イ)と(ロ)を満足する
ことができる。
【0020】
【発明の効果】以上説明したように、本発明によれば、
RegionとPortのオブジェクトをデータパケッ
トに付与して通信を行うことにより、従来の高速一括転
送法の特徴を損なうことなく、コネクションレスネット
ワークに適用することが可能となるので、計算機間ネッ
トワークで広く用いられているTCP/IPベースのL
ANにおいて、特別なハードウェアあるいはソフトウェ
アによる通信機構を他に必要とせずに、複数計算機間で
柔軟な非同期的通信が実現でき、さらにファイルシステ
ムにより、上位レイヤ処理に律速されることなく、高速
LANが構築可能となる。
RegionとPortのオブジェクトをデータパケッ
トに付与して通信を行うことにより、従来の高速一括転
送法の特徴を損なうことなく、コネクションレスネット
ワークに適用することが可能となるので、計算機間ネッ
トワークで広く用いられているTCP/IPベースのL
ANにおいて、特別なハードウェアあるいはソフトウェ
アによる通信機構を他に必要とせずに、複数計算機間で
柔軟な非同期的通信が実現でき、さらにファイルシステ
ムにより、上位レイヤ処理に律速されることなく、高速
LANが構築可能となる。
【図1】本発明におけるRegionとPortを用い
た高速一括転送法の概念図である。
た高速一括転送法の概念図である。
【図2】従来における送受信計算機間のデータ転送手順
を示すシーケンスチャートである。
を示すシーケンスチャートである。
【図3】本発明における高速ファイルシステムの概念図
である。
である。
【図4】本発明のデータ転送に用いるパケットフォーマ
ット図である。
ット図である。
【図5】本発明のデータ転送手順を示すシーケンスチャ
ートである。
ートである。
【図6】本発明におけるATMベースインテリジェント
NICの構成図である。
NICの構成図である。
【図7】本発明におけるDFSのプロトコルスタック概
念図である。
念図である。
【図8】従来におけるNFSのプロトコルスタック概念
図である。
図である。
【図9】本発明のDFSによるファイル転送シーケンス
チャートである。
チャートである。
10,10a…パケット、11…送信側計算機、12,
13…受信側計算機、14,18…Region番号、
15…メモリブロック、16,19…送信側先頭メモリ
アドレス、17,20…Port番号、21…サーバ側
メモリ、22…クライアント側メモリ、26,27…対
象ファイル、24…Netwarp、23…ユーザプロ
セス、31…IPヘッダ、32…UDPヘッダ、33…
新TPヘッダ、34…ペイロード、35…送信元Por
t、36…宛先Port、37…メッセージ長、38…
チェック、39…プロトコル識別、40…Regio
n、41…シーケンス番号、42…送信側先頭メモリア
ドレス、43…パケット長、61…PCIバスブリッ
ジ、62…ローカルCPU、63…ローカルCPUメモ
リ、64…送信側SARメモリ、65…送信側SAR、
66…受信側SARメモリ、67…受信側SAR、68
…TC、69…入出力インタフェース、70〜74…切
替回路、75〜78…バス、81…DFSサーバ、82
…nwftp、83,87…ネットワークDMA、8
4,88…UDP/IP、85…DFSクライアント、
86…nwftpd。
13…受信側計算機、14,18…Region番号、
15…メモリブロック、16,19…送信側先頭メモリ
アドレス、17,20…Port番号、21…サーバ側
メモリ、22…クライアント側メモリ、26,27…対
象ファイル、24…Netwarp、23…ユーザプロ
セス、31…IPヘッダ、32…UDPヘッダ、33…
新TPヘッダ、34…ペイロード、35…送信元Por
t、36…宛先Port、37…メッセージ長、38…
チェック、39…プロトコル識別、40…Regio
n、41…シーケンス番号、42…送信側先頭メモリア
ドレス、43…パケット長、61…PCIバスブリッ
ジ、62…ローカルCPU、63…ローカルCPUメモ
リ、64…送信側SARメモリ、65…送信側SAR、
66…受信側SARメモリ、67…受信側SAR、68
…TC、69…入出力インタフェース、70〜74…切
替回路、75〜78…バス、81…DFSサーバ、82
…nwftp、83,87…ネットワークDMA、8
4,88…UDP/IP、85…DFSクライアント、
86…nwftpd。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小野田 哲也 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 (72)発明者 藤田 昭人 東京都武蔵野市御殿山一丁目1番3号 エ ヌ・ティ・ティ・アドバンステクノロジ株 式会社内
Claims (3)
- 【請求項1】 送信側メモリから読み出される転送デー
タのメモリアドレスと該転送データの長さとを再送時に
用いるデータ転送方法において、 トランスポートレイヤで、データ転送のプロセス毎に1
つずつ存在し、転送を行うプロトコルの出入口を示す第
1のプログラミングオブジェクト(Port)を通信す
るステップと、 上記ステップの完了後に上記トランスポートレイヤで、
データ転送に関する計算機のメモリ空間のデータ格納領
域を示す第2のプログラミングオブジェクト(Regi
on)を通信するステップとを有することを特徴とする
データ転送方法。 - 【請求項2】 請求項1に記載のデータ転送方法を実現
する装置であって、 前記送信側装置内と受信側装置内のそれぞれに、データ
転送のやり取りに直接関係する送受信手段と、 該データ転送のやり取りに直接無関係なローカル手段
と、 上記送受信手段および上記ローカル手段の間を接続また
は切り離す切替え手段とを有することを特徴とするデー
タ転送装置。 - 【請求項3】 請求項1に記載のデータ転送方法を実現
する装置であって、 前記送信側装置と受信側装置のそれぞれに、一括してダ
ウンロードまたはアップロードが可能な分散ファイルシ
ステムを有することを特徴とするデータ転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10051829A JPH11249978A (ja) | 1998-03-04 | 1998-03-04 | データ転送方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10051829A JPH11249978A (ja) | 1998-03-04 | 1998-03-04 | データ転送方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11249978A true JPH11249978A (ja) | 1999-09-17 |
Family
ID=12897774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10051829A Pending JPH11249978A (ja) | 1998-03-04 | 1998-03-04 | データ転送方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11249978A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256594A (ja) * | 2002-03-05 | 2003-09-12 | Nippon Telegr & Teleph Corp <Ntt> | 電子申請システムおよび電子文書受信方法 |
JP2005025758A (ja) * | 2003-06-30 | 2005-01-27 | Microsoft Corp | メッセージに基づく拡張可能なデータ転送のためのシステムおよび方法 |
JPWO2009001450A1 (ja) * | 2007-06-27 | 2010-08-26 | 富士通株式会社 | メモリアクセス制御装置 |
JP2012514386A (ja) * | 2008-12-30 | 2012-06-21 | インテル・コーポレーション | メッセージ通信方法 |
US8645596B2 (en) | 2008-12-30 | 2014-02-04 | Intel Corporation | Interrupt techniques |
-
1998
- 1998-03-04 JP JP10051829A patent/JPH11249978A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003256594A (ja) * | 2002-03-05 | 2003-09-12 | Nippon Telegr & Teleph Corp <Ntt> | 電子申請システムおよび電子文書受信方法 |
JP2005025758A (ja) * | 2003-06-30 | 2005-01-27 | Microsoft Corp | メッセージに基づく拡張可能なデータ転送のためのシステムおよび方法 |
JPWO2009001450A1 (ja) * | 2007-06-27 | 2010-08-26 | 富士通株式会社 | メモリアクセス制御装置 |
US8312208B2 (en) | 2007-06-27 | 2012-11-13 | Fujitsu Limited | Memory access controller and method implementing packet processing |
JP2012514386A (ja) * | 2008-12-30 | 2012-06-21 | インテル・コーポレーション | メッセージ通信方法 |
US8645596B2 (en) | 2008-12-30 | 2014-02-04 | Intel Corporation | Interrupt techniques |
US8751676B2 (en) | 2008-12-30 | 2014-06-10 | Intel Corporation | Message communication techniques |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640364B2 (en) | Port aggregation for network connections that are offloaded to network interface devices | |
US6321269B1 (en) | Optimized performance for transaction-oriented communications using stream-based network protocols | |
US5745685A (en) | Protocol extension in NSPP using an acknowledgment bit | |
US8438321B2 (en) | Method and system for supporting hardware acceleration for iSCSI read and write operations and iSCSI chimney | |
US8458280B2 (en) | Apparatus and method for packet transmission over a high speed network supporting remote direct memory access operations | |
US8180928B2 (en) | Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney | |
US8724656B2 (en) | Methods and devices for transmitting data between storage area networks | |
US9231784B2 (en) | Method for eliminating redundant connections | |
US20070208820A1 (en) | Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations | |
US8396981B1 (en) | Gateway for connecting storage clients and storage servers | |
WO2006133651A1 (en) | Communication method between communication devices and communication apparatus | |
EP1759317B1 (en) | Method and system for supporting read operations for iscsi and iscsi chimney | |
US8527661B1 (en) | Gateway for connecting clients and servers utilizing remote direct memory access controls to separate data path from control path | |
WO2011015020A1 (zh) | 文件传输方法、系统及客户端 | |
US8156209B1 (en) | Aggregation devices processing keep-alive messages of point-to-point sessions | |
US20050283545A1 (en) | Method and system for supporting write operations with CRC for iSCSI and iSCSI chimney | |
JP2008537421A (ja) | 通信システム内の接続を確立する方法 | |
US20050281261A1 (en) | Method and system for supporting write operations for iSCSI and iSCSI chimney | |
WO2004068811A2 (en) | Methods and devices for transmitting data between storage area networks | |
US20040267960A1 (en) | Force master capability during multicast transfers | |
JPH11249978A (ja) | データ転送方法および装置 | |
US7213074B2 (en) | Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet | |
Ko et al. | Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA) | |
US12132791B2 (en) | Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks | |
US20230130964A1 (en) | Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks |