[go: up one dir, main page]

JP2000020490A - 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 - Google Patents

遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体

Info

Publication number
JP2000020490A
JP2000020490A JP10186082A JP18608298A JP2000020490A JP 2000020490 A JP2000020490 A JP 2000020490A JP 10186082 A JP10186082 A JP 10186082A JP 18608298 A JP18608298 A JP 18608298A JP 2000020490 A JP2000020490 A JP 2000020490A
Authority
JP
Japan
Prior art keywords
computer
data
object request
request broker
remote procedure
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.)
Withdrawn
Application number
JP10186082A
Other languages
English (en)
Inventor
Yuji Imai
祐二 今井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10186082A priority Critical patent/JP2000020490A/ja
Priority to US09/225,249 priority patent/US6697878B1/en
Publication of JP2000020490A publication Critical patent/JP2000020490A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 分散コンピューティング環境における遠隔手
続き呼出し機構、またはオブジェクトリクエストブロー
カ機構を有する計算機相互間でのデータ転送遅延を短縮
する。 【解決手段】 前記計算機において、自計算機の物理メ
モリ領域上のデータを、ネットワークを介して、通信相
手側計算機の物理メモリ上の領域に向けて直接に転送す
る遠隔直接データ転送手段を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散コンピューテ
ィング環境において、遠隔手続き呼出し(RPC)機
構、またはオブジェクトリクエストブローカ(ORB)
機構を持つ計算機に関し、更に詳しくはシステムエリア
ネットワーク(SAN)が有する遠隔直接データ転送
(RDMA)機構を利用して、送信側計算機の物理メモ
リ上の記憶領域のデータを受信側計算機の物理メモリの
記憶領域に直接に転送することが可能な計算機に関す
る。
【0002】
【従来の技術】本発明は遠隔直接メモリ操作(RDM
A、リモートダイレクトメモリアクセス)が可能なシス
テムエリアネットワーク(SAN)を相互間の物理通信
路として有し、遠隔手続き呼出し(RPC、リモートプ
ロセデュアコール)機構、またはオブジェクトリクエス
トブローカ(ORB)機構を有する計算機を対象とする
ものである。
【0003】ORBやRPCは、分散コンピューティン
グ環境において計算機、すなわちノードの間にまたがっ
てメソッドの呼出しや、関数の呼出しを行うための機構
である。ORBは、例えばコルバ(CORBA、コモン
オブジェクトリクエストブローカアーキテクチャ)と呼
ばれる分散オブジェクト間通信路の規格の1つにおいて
用いられている。この規格はオブジェクトマネージメン
トグループ(OMG)によって制定された業界標準であ
り、SunマイクロシステムやIBM,DEC、ネット
スケープなどの様々なベンダによって広く採用されてい
る。
【0004】ORBは、クライアントとオブジェクトの
間においてクライアントのリクエストをオブジェクトに
伝えてオペレーションを行わせ、オブジェクトが結果を
返す場合にはその結果をクライアントに返却するもので
ある。
【0005】図34はORBやRPCの仕組の従来例の
説明図である。従来において、ORBやRPCを使用す
るノードはパケット型通信ネットワークに接続されてい
て、遠隔呼出しのリクエストは例えばインターネット標
準プロトコルとしてのUDPやTCP/IPのパケット
に分割して配信される。このため、オペレーションシス
テム内のTCP/IP処理部により、パケットの分割や
再構成の処理、ハードウェア割込み処理が行われる。R
PCがUDPを使用する場合には、同様の処理がRPC
ライブラリによって行われる。このようにパケットに分
割することにより、ネットワークインタフェースカード
(NIC)や中継機構を単純化することができ、LAN
からWANまで広範囲なネットワークが利用可能とな
る。
【0006】ORBやRPCは、内部データ表現形式が
異なるノードの間や、言語の間でも関数呼出しができる
ように、ネットワークに送り出すデータに対しては標準
的なデータ表現形式、例えばSunRPCのXDR(エ
クスターナルデータリプレゼンテーション)、CORB
AのCDR(コモンデータリプレゼンテーション)のよ
うな表現形式に変換を行っている。
【0007】近年パケットを用いるネットワークに代わ
って、システムエリアネットワーク(SAN)と呼ばれ
るハードウェアが用いられるようになっている。SAN
は、送信側が宛先ノードの物理メモリに対してデータを
直接書き込むことが可能であるという特徴と、データの
送受信が確実に行われることがハードウェアで保証され
ているという特徴がある。SANプログラムは、送信す
べきデータを物理主記憶上に格納して、ネットワークカ
ードに対して送信データの位置と、受手側のノードの物
理主記憶上にある受信バッファの位置を指定して送信開
始命令を伝えることによって、データの送信が行われ、
高速な処理が可能となる。
【0008】SANでは、システムエリアとして地理的
な制約、例えば“ワンフロア”を設けて、ネットワーク
メディアとしてのファイバやワイヤを高信頼化し、NI
Cをインテリジェント化することによって、高速なデー
タ転送を可能としている。このデータ転送においては、
ネットワークインタフェースカード(NIC)がDMA
コントローラとして動作する。すなわちCPUが送り元
と宛先のアドレスを指定してデータ転送命令をNICに
出すことにより、リモートダイレクトメモリアクセス
(RDMA)動作が実行される。このRDMAが一般の
DMAと異なる点は、アドレスとしてノードの識別子を
含むことである。ノードの識別子が自ノードであれば、
自ノードから出て自ノードに戻るDMAの作用が行われ
ることになり、NICは単なるDMAコントローラとし
て動作する。
【0009】従来、SANはメッセージパッシングイン
タフェース(MPI)や、パラレルバーチャルマシン
(PVM)などのデータストリーム(データが流れる1
本の管)モデル、もしくは共有メモリとして使用されて
いる。これらはおもに科学技術計算の分野で用いられて
いる。
【0010】ここでCORBAにおける遠隔呼出し処理
の従来例などについて説明する。図35、図36は遠隔
呼出し処理のフローチャートである。図35で送信側に
おいては、プログラムによってプロキシ関数が呼び出さ
れ、送信側プロキシによってリクエストヘッダとボディ
ーの作成、CDR形式への変換が行われ、ソケットから
リクエストがTCP/IP処理部に送られ、パケットに
分割されてメッセージがネットワークに送出される。
【0011】受信側においては、TCP/IP処理によ
ってパケットがメッセージに再構成され、受信側スケル
トンによって呼び出すべきオブジェクトが特定され、引
数への逆変換が行われ、呼び出すべき関数が検索され、
関数を実行するスレッドが呼び出されて関数実行に必要
となる引数の値が渡される。
【0012】図36で受信側プログラムによって関数
(演算)が実行され、その結果など、リクエスト送信側
への返信メッセージがある場合には、受信側スケルトン
によってリプライヘッダ、ボディーの作成が行われ、ソ
ケットから受信側TCP/IP処理部に送られるメッセ
ージが、パケットに分割されてネットワークに送出され
る。
【0013】送信側TCP/IP処理部では、パケット
をメッセージに再構成し、送信側リプライ振り分けスレ
ッドによって待機しているスレッドが特定され待機して
いたスレッドが起こされ、送信側プロキシにより引数へ
の逆変換が行われ、送信側プログラムによってその引数
を用いて結果が呼び出される。
【0014】図37はCDR領域の獲得方法の従来例の
説明図である。同図において、CDR管理領域の構造
と、CDRの擬似コードが示されている。図38はリク
エストメッセージの構造の説明図である。同図において
オフセットの値が6に対するビックエンディアン、リト
ルエンディアンについては後述する。
【0015】図39はオブジェクトキーの構造の説明図
である。オブジェクトの存在するホスト名や、サービス
を受け付けるTCPのポート番号などが示される。
【0016】
【発明が解決しようとする課題】以上説明したように従
来においては、ORB機構やRPC機構を持つ計算機に
おいても、ノード間の通信においてパケット方式を用い
ているために、データのパケットへの分割や再構成の処
理に時間がかかるという問題点があった。また受信側で
パケットの到着毎にハードウェア割込みが必要となるた
め、ネットワークの速度が向上するにつれて、パケット
分割/再構成処理、割込処理、および標準データ形式へ
の変換処理などが全体の遅延に占める割合が大きくな
り、ネットワークメディアだけを高速化してもメディア
の速度向上を生かしきれず、例えばギガビットのイーサ
ネットにおいて300Mbps程度の速度しか実現できない
という問題点があった。
【0017】パケットによるネットワークに代わって登
場したSANを用いても、従来のORBやRPCはTC
PやUDPを下位に使用することを前提とする構造とな
っており、SANを用いるとしてもそれはパケット転送
ネットワークとして使用されるか、データストリームモ
デルとして使用されるしかなく、SANの特徴を利用す
ることができないという問題点があった。
【0018】本発明はSANによる遠隔直接メモリアク
セス(RDMA)を利用することによって、ORBやR
PC機構を有する計算機の間におけるデータ転送の遅延
の短縮を実現することを目的とする。
【0019】
【課題を解決するための手段】図1は本発明の原理構成
ブロック図である。同図は分散コンピューティング環境
における遠隔手続き呼出し(RPC)機構1、またはオ
ブジェクトリクエストブローカ(ORB)機構2を有す
る計算機3の原理構成ブロック図である。
【0020】図1において遠隔直接データ転送手段4
は、自計算機の物理メモリ領域上のデータを、ネットワ
ークを介して通信相手側計算機上の物理メモリ領域に向
けて直接に転送する、リモートダイレクトメモリアクセ
ス(RDMA)の動作を行うものである。
【0021】本発明の実施の形態においては、計算機相
互間が例えばシステムエリアネットワーク(SAN)5
によって結合され、このネットワークを物理通信路とし
て遠隔直接データ転送手段4によるデータ転送が行われ
る。
【0022】前述のように、従来は例えばCORBAに
おいてはCDRが共通データ形式として用いられ、デー
タ送信前に必ず共通データ形式への変換が行われたが、
本発明の実施形態においては、送信側と受信側の計算機
内のデータ表現形式が同一の場合には、共通データ形式
への変換を省略することも可能である。
【0023】この場合、例えば各計算機に、ネットワー
クに接続されている各計算機のデータ表現形式を管理す
るデータ表現形式管理手段を更に備えることによって、
その管理内容に対応してデータ表現形式変換の省略を行
うこともできる。
【0024】また本発明の実施形態においては、自計算
機と相手側計算機とのデータ表現形式が異なる場合、送
信側で転送データを相手側のデータ表現形式に変換した
後にデータ転送を行うこともできる。この場合にも前述
のデータ表現形式管理手段を更に備えることによって、
その管理内容に対応して表現形式変換後のデータ転送を
行うことも可能である。
【0025】次に本発明の実施形態においては、自計算
機と相手側計算機とのデータ表現形式が異なる時、相手
側計算機から転送されたデータを自計算機のデータ表現
形式に変換した後に自計算機の物理メモリ領域上に格納
するデータ形式変換手段を更に備えることもできる。こ
の場合に、送信側の遠隔直接データ転送手段4が転送デ
ータを含むメッセージに自計算機側でのデータ表現形式
を添付して転送し、受信側のデータ形式変換手段が添付
されたデータ表現形式への変換を行うことも可能であ
る。
【0026】さらに、本発明の実施形態においては、計
算機の間での通信コネクションの開始にあたり、自計算
機のデータ表現形式を相手側計算機に通知するデータ表
現形式通知手段を更に備えることも可能である。
【0027】また本発明の実施形態においては、物理メ
モリ領域上のデータがデータ転送中に仮想記憶のための
2次記憶領域に退避されることを防止するために、例え
ば関数に対する引数によって指定される領域を物理メモ
リ上に固定した状態で、相手側の計算機に向けたデータ
転送が行われる。
【0028】本発明の異なる実施形態においては、相手
側計算機の遠隔直接データ転送手段4から転送され、あ
らかじめ固定された物理メモリ領域に格納されたデータ
の格納領域を、そのまま自計算機の受信関数/メソッド
に引き渡すデータ引渡し手段を更に備えることも可能で
ある。この場合、相手側計算機からの転送が完了したデ
ータの格納領域の物理メモリ領域への固定を、データ引
渡し手段による受信関数/メソッドへの引渡しに先立っ
て解除するメモリ領域固定解除手段を更に備えることも
可能である。
【0029】更に本発明の異なる実施形態においては、
相手側計算機から送られた転送データを含むメッセージ
の到着時点でハードウェア割込みを行うと共に、その転
送データを用いて行われる関数/メソッドの処理が軽い
時には、その関数/メソッドの処理を自分自身で実行す
る割込処理手段を更に備えることも可能である。
【0030】以上のように本発明によれば、例えばシス
テムエリアネットワークを用いて、自計算機の物理メモ
リ領域上のデータをネットワークを介して通信相手側計
算機の物理メモリ領域に向けて直接に転送することが可
能となる。
【0031】
【発明の実施の形態】図2は、本発明の計算機において
用いられるネットワークインタフェースとしてのメッセ
ージコントローラ(MSC)による、リモートダイレク
トメモリアクセス(RDMA)を用いたデータ転送の説
明図である。同図においてMSC10によるRDMA
は、CPUによって次のような命令がMSC10に発行
されることによって実行される。
【0032】SEND(送り元メモリ領域、送り先ノー
ド、送り先メモリ領域)この命令の中での送り元および
送り先のメモリ領域は、オペレーティングシステムカー
ネル11のダイレクトバーチャルメモリアクセス(DV
MA)空間12内の先頭アドレスと領域の長さで指定さ
れる。DVMA空間12とは計算機のI/Oデバイスか
ら見た時の仮想記憶空間であり、物理メモリ13はこの
空間上にマップすることができる。CPUは必要に応じ
てこのマップを自由に変更することができる。
【0033】従って上述のSEND命令が発行される前
に、送信側のCPUはDVMA空間12に送信すべきデ
ータが格納される物理メモリを、また受信側のCPUは
受信データを受け取るこめの物理メモリをマップし、M
SC10からその物理メモリにデータを読み書き可能に
しておく必要がある。
【0034】一方同じ物理メモリ13は、ユーザプロセ
ス14の仮想記憶空間、すなわちユーザVM空間15に
マップすることが可能である。ユーザ仮想記憶空間15
は、オペレーティングシステムカーネル側のDVMA空
間12と物理メモリ13との間とは独立に、物理メモリ
13との間でマップを行うことが可能である。同一物理
メモリ領域13をユーザ仮想記憶空間15とDVMA空
間12とにそれぞれマップすることで、CPUの間の通
信が可能になる。
【0035】まず送信側のCPUは物理メモリ13への
データ書込みを行い、その後SEND命令を発行する。
送信側と受信側とのノードの間で、RDMAによってネ
ットワーク16を介して、受信側の物理メモリ13への
データ転送が行われ、受信側CPUは物理メモリからの
データ読込みを行う。
【0036】図3、図4は本発明の第1の実施形態とし
てのCORBAにおける遠隔手続き呼出し処理のフロー
チャートである。図3を図35の従来例と比較すると、
まず送信側ではソケットとTCP/IP処理部によるデ
ータ送信の代わりに、RDMAによる送信処理が行われ
る点が異なる。
【0037】まず送信側プロキシにおいて、転送データ
のCDR形式への変換を含んでリクエストのヘッダとボ
ディーが作成され、図35と異なって、CDRバッファ
が物理メモリ領域上のRDMA領域として固定された後
に、バッファの内容がRDMA送信される。
【0038】受信側では図35と異なり、RDMAドラ
イバがメッセージ到着割込みを行うことによって処理が
開始される。RDMAされたデータが用いられる点以外
は、受信側スケルトンによる処理は図36におけると基
本的に同じである。
【0039】図4で受信側プログラムによって関数(演
算)が実行され、受信側から返信メッセージを送る場合
の処理は、受信側スケルトンにおいてリプライのヘッダ
とボディーが作成され、CDRバッファが物理メモリ領
域上にRDMA領域として固定された後に、メッセージ
のRDMA転送が行われてCDR領域が解放される点
と、送信側RDMAドライバがTCP/IP処理部の代
わりにメッセージの到着割込みを行う点が図36と異な
っている。
【0040】前述のように従来のORBやRPCにおい
ては、送信ノードと受信ノードとにおけるデータ表現形
式の違い、エンディアン、すなわち多バイトの数値のメ
モリ上での表現形式の違いなどを吸収するために、送信
に先立ってデータの共通データ形式への変換が行われて
いた。すなわちCORBAにおいてはCDR,SunR
PCにおいてはXDRへのデータ形式の変換が行われて
いた。
【0041】図5はエンディアンとアラインメントの相
違による数値データのメモリ上での表現形式の相違の説
明図である。同図(a) のオブジェクトに対するメモリ上
での表現形式の相違が、(b) 〜(d) に示されている。
【0042】本発明の第1の実施形態においては、デー
タの表現形式やエンディアンなどが送信側と受信側のノ
ード(プロセス)において同一であることが判明してい
る場合には、共通データ形式への変換を行うことなく、
データのRDMAが行われる。
【0043】また本発明の第1の実施形態においては、
データの表現形式などが送信側のプロセスと受信側のプ
ロセスとで異なる場合には、送信側において受信側プロ
セスのデータ表現形式に変換した後にそのデータを転送
する、すなわちRDMAを行うこともでき、また逆に送
信側ではデータ表現形式の変換を行うことなくRDMA
を行い、受信側において自プロセスの表現形式に変換す
ることもできる。この場合、送信側において転送データ
を含むメッセージに自ノード側でのデータ表現形式を添
付して送ることによって、受信側でのデータ表現形式変
換動作を行うこともできる。
【0044】また本発明の第1の実施形態においては、
ネットワークに接続された各計算機のデータ表現形式な
どのデータをテーブルとして保持し、メッセージの送り
元、または宛先のノードによってデータ形式変換動作を
変更することも可能である。図6はそのような各ノード
におけるデータ表現形式などを示すテーブルの例であ
る。同図には、ノードアドレスに対応して、エンディア
ンとアラインメントタイプとの相違が示されている。こ
のようなテーブルはあらかじめシステムエリアネットワ
ーク(SAN)の管理者によって作成され、全てのノー
ドに保持されるものとする。
【0045】更に本発明の第1の実施形態においては、
このようなデータ表現形式の相違を調整するために、ノ
ードの間でのコネクションの開始時に各々のデータ表現
形式を交換することにより、その内容に応じてデータ表
現形式の変換動作を行うこともできる。このコネクショ
ン開始時の処理について図7〜図9を用いて説明する。
【0046】図7は通常時のコネクション開設手順のフ
ローチャートである。送信側プログラムにおいて宛先オ
ブジェクトキーが渡されて、送信側プロキシにおいてそ
のキーから宛先のホスト名、ポート名が抽出され、その
ポートへのコネクションがない場合には、コネクション
開設要求が行われる。このコネクション開設要求は、T
CP/IP処理部によって受信側に送られ、受信側から
のコネクション受託返信を受信することにより、コネク
ションの開設が完了する。なおここではコネクション開
設処理はTCP/IP処理部によって、パケットネット
ワークを介して行われる例を説明したが、SANによる
RDMAを用いて同様の処理を実行することも当然可能
である。
【0047】図8は図7の開設手順の直後に行われるデ
ータ表現形式交換動作の処理フローチャートである。送
信側プロキシにおいて、自ノードのエンディアン情報、
アラインメント情報の送信が行われ、また相手側からの
エンディアン情報、アラインメント情報を受信すること
により、エンディアン情報とアラインメント情報の交換
が行われる。
【0048】図9は図8の処理において交換されるメッ
セージの構造である。エンディアン情報、アラインメン
ト情報の長さ、アラインメント情報を含むメッセージが
交換される。
【0049】前述のように、送信側のノードにおいてデ
ータの表現形式を共通データ形式、例えばCORBAに
おけるCDRの形式に変換したり、受信側のノードで用
いられているデータ表現形式に変換したりすることがあ
る。この場合、変換後のデータを格納すべき固定領域を
物理メモリ上にあらかじめ確保ししおくこともできる。
これによってリクエストヘッダとボディーを作成し、C
DR形式に変換した後にCDRバッファを物理メモリ領
域上に固定する場合に比べて、RDMAを行うたびに物
理メモリ領域の固定を行うための処理を省略することが
可能となる。またこの領域は1回のリクエストが終われ
ば再利用可能であり、ORBやRPCの初期化時に一括
して固定したものを何度も利用することが可能である。
【0050】図10はそのように送信用RDMA領域を
あらかじめ物理メモリに固定する場合の動作フローの説
明図である。同図において、例えばORBの初期化時に
送信用RDMA領域が確保され、物理メモリ領域上に固
定された後、図3と同様の処理が行われるが、送信側プ
ロキシの処理が図3とやや異なる、すなわちCDR管理
領域の獲得として、初期化時に確保された領域から、C
DR領域への割付けが行われる。そしてリクエストヘッ
ダ、ボディーが作成され、バッファの内容がRDMAに
よって転送された後に、CDRバッファとして獲得され
た領域が次にRDMAの対象として利用される可能性の
ある領域として解放されて、送信側プロキシの処理を終
了する。
【0051】次に本発明においては、受信側のノードで
送信側からRDMAによって転送されたデータを用いて
行われる関数/メソッドの処理が短時間で終ることが確
実な処理については、受信側スケルトンが関数/メソッ
ドを実行する新たなスレッドを呼び出す代わりに、メッ
セージが到着した時点でハードウェア割込みを行う割込
み処理スレッドや、メッセージ受信スレッド自身が処理
を行うことも可能である。これによってメッセージの処
理を行うための新しいスレッドを起動して、処理を受け
渡す必要がなくなる。この場合の処理を本発明の第2の
実施形態として説明する。
【0052】すなわち、図3の受信側RDMAドライバ
によるメッセージ到着割込みの後の受信側スケルトンの
処理の最後で行われる「関数を実行するスレッドを呼出
して引数を渡す」という処理が変更されることになる。
図11は関数を実行する新しいスレッドを呼び出して、
そのスレッドに処理を行わせるための最終行の「関数を
実行するスレッドを呼出して引数を渡す」という処理の
詳細フローチャートである。
【0053】同図においてプログラムの初期化時にスレ
ッドがある一定の個数だけ作成され、セマフォで待機さ
せられた後に処理が実行されるが、受信側スケルトンの
処理において、待機しているスレッド1つが選択され、
メッセージが渡された後にロックがはずされる。そして
待機スレッドが関数を実行するスレッドとしてメッセー
ジの処理を継続し、ロックをはずしたスレッドは次のリ
クエストの受信処理に入ることになる。
【0054】図12は、受信側で行われる関数/メソッ
ドの処理が軽量である時に、割込み処理スレッド、また
は受信スレッド自身がその処理を行う場合の受信側スケ
ルトンと待機スケルトンとの処理フローチャートであ
る。受信側スケルトンにおいて、リクエストが呼び出そ
うとしているメソッドの処理が軽量であると判定された
場合には、メッセージの処理を行うためにメソッドを呼
び出す処理において、呼び出すスレッド自分自身によっ
てメソッドが実行される。リクエストが呼び出そうとし
ているメソッドの処理が軽量でない場合には、待機して
いるスレッド1つが選択され、メッセージが渡された後
にロックがはずされる。そして受信側スケルトンは次の
リクエスト受信処理に入る。待機スレッドにメッセージ
が渡されてロックがはずされた場合には、メッセージの
処理を行うスレッドと受信スレッドとが独立に継続する
ことになる。
【0055】図13はメソッドの処理が軽量が否かを記
録するテーブルの例の説明図である。同図においてテー
ブルにはメソッドのクラス名、メソッド名もしくはメソ
ッドID、および関数へのポインタに加えて、メソッド
毎にそのメソッドの処理が軽いか重いかを示すライトま
たはヘビーが記録されている。
【0056】図13のライト/ヘビー欄の指定は、例え
ばユーザによって行われることができる。ユーザはOR
Bを利用したプログラムとしてのコマンドによって、ラ
イト/ヘビー欄にライトまたはヘビーを設定したいメソ
ッドを、モジュール名、インタフェース名、およびメソ
ッド名をコマンド引数とすることによって指定すること
ができる。
【0057】図14はこのようなユーザがライトまたは
ヘビーを設定したいメソッド、すなわちコマンドによっ
て指定されるメソッドの例を示す。同図においてライト
またはヘビーが設定されるべきメソッドがモジュール
名、インタフェース名、メソッド名を用いて指定されて
いる。
【0058】図15、図16は図3のメッセージ受信時
の受信側スケルトンの処理において図14で呼び出され
るメソッドだけが特別扱いされる、第2の実施形態にお
ける遠隔手続き呼出し処理フローチャートである。この
フローチャート内の受信側スケルトンの処理において、
ヘッダ中のメソッド名から呼び出すべき関数が検索され
た後に、その関数が例えばライトを設定すべき対象であ
ると判定された場合には、モジュール名、インタフェー
ス名、メソッド名の逆変換によって、図13に示したテ
ーブル内の該当メソッドのライト/ヘビー欄がライトに
設定された後に、受信側プログラムによる処理をスキッ
プして、次の受信側スケルトンの処理に移行する。その
ような設定対象でないと判定された場合には指定された
関数を実行するスレッドが呼び出され、引数が渡され
る。
【0059】図13のライト/ヘビー欄の設定について
は、上述のようにユーザがコマンドによって指定する方
法以外に、サーバ側のメソッド関数を作成する言語コン
パイラ、リンカー、CORBAのIDL(インタフェー
ス デフィニション ランゲージ)コンパイラがメソッ
ド関数の作成時にそのメソッド関数の処理が軽いか否か
を示すライト/ヘビー情報を作成し、この情報を基にし
て、図13のテーブルを作成するためのORB初期化処
理においてライト/ヘビー情報の内容を設定する方法も
考えられる。
【0060】この場合には、言語コンパイラ、リンカー
は次のような判定基準を用いて、コンパイル対象のメソ
ッド関数がライトであるかヘビーであるかの判定を行
う。第1の基準として、システムコールを呼び出す可能
性があるライブラリ関数はその処理がヘビーであると判
定する。
【0061】第2の基準として、メソッド関数の中で外
部関数の呼出しを行っていない場合には処理がライトで
あると判定する。第3の基準として、メソッド関数の中
で外部関数呼出しが行われるときには、全ての呼び出さ
れる関数がライトである場合に限って、そのメソッド関
数自身もライトであると判定する。呼び出される関数の
中に1つでもヘビーのものがある場合には、そのメソッ
ド関数はヘビーと判定する。但し、そのメソッド関数が
自分自身を再帰的に呼び出す場合には、そのメソッド関
数はヘビーと判定する。
【0062】コンパイラ、リンカーは、プログラム内の
全ての関数についてこれらの判定基準に従ってヘビー/
ライトを判定し、図13と同じ情報を持つファイルを作
成する。IDLコンパイラは、スケルトンのルーチンを
作成する時に、これらのヘビー/ライト情報をORBに
登録するルーチンを生成し、ORBの初期化時にこのル
ーチンが呼び出され、図13のライト/ヘビー欄の内容
設定が行われる。
【0063】本発明においては、送信側から送られるデ
ータが受信側ノードにおいて格納される物理メモリの領
域の大きさを送信側であらかじめ指定し、データ送信に
先立ってその領域を確保しておくような実施形態も可能
である。そのような実施形態を本発明の第3の実施形態
として説明する。
【0064】図17は、第3の実施形態において例えば
第2の実施形態におけるコネクション開設手順、すなわ
ち図7、図8の処理の後に実行サレルRDMA用バッフ
ァ要求処理のフローチャートである。同図において送信
側プロキシからプリアロケート、すなわち要求する領域
量が送信され、受信側スケルトンにおいて送信側によっ
て希望されたRDMA用バッファの獲得とワイヤダウ
ン、すなわちSANネットワークハードウェアへの接続
が行われ、送信側のバッファ使用権を示すバッファトー
クンが返信され、そのバッファトークンが送信側プロキ
シにおいてバッファトークンのリストに格納される。
【0065】図18は、図17において送信側プロキシ
からバッファ割当て要求のために受信側に送信されるバ
ッファ要求メッセージの構造の例である。また図19
は、図18のバッファ要求メッセージに対する受信側か
らのリプライとしての返信メッセージ、すなわちバッフ
ァトークンが含まれる返信メッセージの例である。これ
らのメッセージについて図20を用いて説明する。
【0066】図20は、例えば送信側ノードにおいてコ
ネクション毎に管理される獲得バッファ管理テーブルの
例である。同図においてコネクションの開設時、すなわ
ち初期に、4Kバイトのバッファが32個、8Kバイト
が4個、16Kバイトが4個獲得されたことが示されて
いる。この初期における獲得バッファ量については、例
えば製品の出荷時にその推奨値が設定されると共に、ユ
ーザやプログラマがその値をチューニング可能なものと
する。図内の不足と判断する数、および追加単位数につ
いては後述する。なお、リプライメッセージが格納され
るべき送信ノード側のRDMA用バッファについても、
同様に受信側からバッファの獲得要求が成され、送信側
からバッファトークンが返信されるので図20の表は受
信側ノードにも備えられる。
【0067】図20内の初期獲得数に対応して、図18
のメッセージにおけるトークンの数は合計40、要求す
るバッファのサイズは次のようになる。
【0068】
【表1】
【0069】また図19において返信されるトークンの
数、および獲得バッファの大きさは図18におけると同
じである。獲得バッファのRDMAアドレスは、例えば
獲得バッファが先頭アドレスAからその領域が確保され
るものとして、次のように表現される。
【0070】〔A,A+4096,A+4096×2,・・・,
A+4096×n,・・・,A+4096×32,A+4096×34,
A+4096×36,・・・〕 図21、図22は第3の実施形態における遠隔手続き呼
出し処理のフローチャートである。図3、図4の第1の
実施形態におけるフローチャートと比較すると、送信側
プロキシおよび受信側スケルトンによる処理が異なる。
まず送信側プロキシにおいては引数が物理メモリに固定
された後に、リクエストヘッダのみが作成される。そし
てバッファトークンが残っているか否かが判定され、残
っている場合にはリクエストヘッダにトークンが埋め込
まれる。バッファトークンが残っていない場合には追加
バッファトークンのリクエスト処理が行われる。この処
理については図23で説明する。
【0071】送信側プロキシではその後バッファトーク
ンの選択、すなわち送信データが受信側のメモリにおい
てどの領域に格納されるべきかを示すバッファトークン
の指定を行った後に、引数をそのトークンが示すスケル
トン側のメモリ領域に書き込むと共に、リクエストヘッ
ダをRDMA送信する。
【0072】受信側スケルトンの処理は、図3と比較す
ると、RDMA送信されたデータのCDR形式からの逆
変換によって引数を求める処理が行われない点を除い
て、図3におけると同じである。この逆変換の処理が行
われない理由については後述する。
【0073】受信側からのリプライが必要な場合、図2
2の処理が実行されるが、図4と比較すると受信側スケ
ルトンによる処理が異なる。まず図22では受信側スケ
ルトンによって返信領域が物理メモリに固定された後
に、リプライヘッダのみが作成される。そしてバッファ
トークンが残っていないか否かが判定され、残っている
場合にはリプライヘッダにトークンが埋め込まれ、ヘッ
ダにメッセージ長が代入された後、返信メッセージがト
ークンによって示されるプロキシ側メモリ領域に書き込
まれ、リプライヘッダのRDMA送信が行われる。また
バッファトークンが残っていなかった場合に、図23に
示す追加バッファトークンリクエスト処理が実行される
ことは前述と同様である。
【0074】図23はバッファトークン追加要求処理の
フローチャートである。同図においては、リクエストの
送信側プロキシが追加トークンをリクエストするものと
して処理を説明する。その処理は図17におけるとほぼ
同様であるが、送信側プロキシは、図20に示したよう
にその時点で不足と判断する各サイズのバッファ領域の
数に基づいて、追加を要求する各サイズのバッファ領域
の数(単位数)を指定し、プリアロケート、すなわち希
望領域量として受信側に送信する。受信側スケルトンに
おいてその要求量に応じてバッファの獲得が行われ、バ
ッファトークンを含んだリプライが送信側プロキシに送
信され、送信側プロキシではそのバッファトークンをリ
ストに追加して、処理を終了する。
【0075】前述のように、図21、図22に示した第
3の実施形態における処理フローチャートでは、図3、
図4に示した処理フローチャートと送信側プロキシおよ
び受信側スケルトンによる処理が一部異なる。その相違
について図24、図25を用いてさらに説明する。
【0076】図21において送信側プロキシによって実
行される処理のうちで、バッファトークンによって指定
される受信側のメモリ領域にデータが直接に転送される
点以外に、まず引数が物理メモリに固定された後にリク
エストヘッダのみが作成され、そのCDR形式への変換
が行われる。
【0077】そして受信側スケルトンにおいてヘッダの
逆変換が行われるが、RDMAされたデータ、すなわち
メッセージのCDR形式からの逆変換による引数作成処
理は行われず、トークンによって示される領域に書き込
まれた内容と送信側プロキシによって物理メモリに固定
された引数領域の内容は同じものであり、受信側スケル
トンによって行われる最後の処理、すなわち「関数を実
行するスレッドを呼出して引数を渡す」という処理にお
ける引数の領域は、トークンによって示される領域その
ままのものである。
【0078】これに対して図3では、リクエストボディ
ーもCDR変換されてCDRバッファの内容がRDMA
送信され、そのデータはCDR形式から逆変換されて引
数領域が作成される。
【0079】図24はこの相違を示すものである。(a)
は図3における処理を説明するものであり、RDMA送
信されたデータはCDR逆変換されながら受信側の関数
に渡すための引数領域にコピーされる形式で、引数領域
が作成され、その領域が受信側の関数によって参照され
ることになる。
【0080】これに対して(b) の図21に対応する処理
では、RDMAされた内容、すなわちRDMA受信バッ
ファの内容がそのまま引数領域として使用されることに
なり、この内容が受信側の関数によって参照されること
になる。このため受信側において、RDMA送信された
引数領域をそのまま受信側の関数、またはメソッドに渡
すことが可能となり、RDMA受信バッファから引数領
域へのコピー操作を省略することが可能となる。
【0081】送信側においても、同様のコピー操作の削
減が可能である。図25は送信側におけるコピー処理削
減の説明図である。同図(a) は図3における処理の説明
図である。同図では、例えば2つの引数領域がまとめら
れて、(1) においてCDR変換された後にCDRバッフ
ァに格納され、(2) において物理メモリにページ固定さ
れ、(3) においてRDMA送信され、受信バッファの内
容が(4) においてCDR形式から逆変換されて引数領域
にコピーされ、(5) において関数から参照されることに
なる。
【0082】これに対して(b) は図21における処理を
示し、送信側で2つの引数領域は図のように1つにまと
められるか、あるいはそのままそれぞれ、(1) で物理メ
モリにページ固定され、(2) でRDMA送信されて受信
バッファに格納され、(3) において受信側の関数によっ
てその内容が参照される。これによって(a) と比較する
と、CDR形式への変換を行いながらその内容をCDR
バッファに格納するコピー操作を削減することが可能と
なり、また複数の引数領域をまとめることなく1つずつ
RDMA送信することも可能であり、複数の引数領域を
1つにまとめる処理を省略することも可能となる。
【0083】本発明においては、例えば第3の実施形態
において送信側プロキシによって選択されたバッファト
ークンによって指定される受信側ノードの物理メモリ領
域上のバッファに転送データが格納され、その領域が受
信側での関数を実行するスレッドに渡されて関数の実行
が行われるが、データの受信領域、すなわちバッファの
物理メモリ固定を、データの受信完了時点で、関数を実
行するスレッドに渡す前に解除することも可能である。
そのような実施形態を第4の実施形態として説明する。
【0084】図26、図27は第4の実施形態における
遠隔呼出し処理のフローチャートである。図26を第3
の実施形態における図21と比較すると、受信側スケル
トンの処理において、RDMAされたデータからヘッダ
が逆変換され、呼び出すべきオブジェクトが特定された
後に、ヘッダ中のメソッド名から呼び出すべき関数を検
索する前に、トークンによって示されるバッファの物理
メモリ固定が解除される。すなわち受信側プログラムに
制御が移る前に受信メッセージ格納領域の物理メモリへ
の固定が解除され、受信データの仮想メモリ領域へのペ
ージアウトを可能にすることによって、物理メモリの使
用効率が改善される。
【0085】同様に図27と図22とを比較すると、図
27では送信側プロキシの処理においてリプライヘッダ
の中のトークン情報から引数領域の入ったバッファが特
定された後に、バッファの物理メモリ固定解除が行われ
る点が異なっている。これによって送信側ノードにおい
ても物理メモリの使用効率が改善される。
【0086】この第4の実施形態においては、図26に
おいて受信側スケルトンによってトークンによって示さ
れるバッファの物理メモリ固定解除が行われる。この解
除すべきバッファの領域、すなわち受信メッセージ格納
領域は、受信側RDMAドライバによってメッセージ到
着が検出された時点で、バッファトークンによって示さ
れる領域、すなわち受信メッセージ格納領域として受信
側スケルトンに通知さる。
【0087】受信側RDMAドライバはこの領域の通知
を行うだけであり、バッファの物理メモリ固定解除は受
信側スケルトンによるオペレーションシステムへのシス
テムコール発行によって、システムコールを通じて行わ
れる。このため処理に時間がかかってしまう。そこで受
信側RDMAドライバがメッセージの到着時点で、オペ
レーションシステム内の処理として、あらかじめ物理メ
モリ固定解除を行っておくことも可能である。そのよう
な実施形態を本発明の第5の実施形態として説明する。
【0088】図28、図29は第5の実施形態における
遠隔手続き呼出し処理のフローチャートである。まず図
28を第4の実施形態における図26と比較すると、図
26ではトークンによって示されるバッファの物理メモ
リ固定解除が受信側スケルトンによって行われるのに対
して、図28では受信側RDMAドライバが、メッセー
ジ到着の時点でハードウェア割込みを行うと共に、ユー
ザ側に制御を渡す前に、オペレーションシステム内の処
理としてトークンによって示されるバッファの物理メモ
リ固定解除をあらかじめ行っておくことになる。
【0089】また図29と図27とを比較すると、図2
7では送信側プロキシによってリプライメッセージの格
納されたバッファの物理メモリ固定解除が行われるのに
対して、図29では送信側RDMAドライバによってメ
ッセージ到着割込みに続いてバッファの物理メモリ固定
解除が行われることになる。これによって受信側でも送
信側でも、システムコール呼出し回数が減るために、処
理時間を短縮することが可能となる。
【0090】第3の実施形態として前述したように、本
発明においては図20の獲得バッファ管理テーブルを用
いて交換しているバッファトークンの数の管理が行われ
る。残っているバッファトークンの数が少なくなった時
には、図23で説明したように追加のバッファトークン
要求処理が行われるが、バッファトークンの数が少なく
なった時に、ノード間でのメッセージの流量に応じて、
あらかじめ確保しているバッファの領域を増大させる、
すなわちバッファトークンの追加要求処理を行うことも
可能である。そのような発明の実施形態を第6の実施形
態として説明する。
【0091】図30、図31は第6の実施形態における
遠隔手続き呼出し処理のフローチャートである。まず図
30を第3の実施形態における図21と比較すると、送
信側プロキシにおいてリクエストヘッダが受信側にRD
MA送信された後に、リストに残っているトークンがあ
る値より小さいか否かが判定される。このリストに残っ
ているトークンの数は、例えばバッファトークンのリス
トに現在登録されているトークンの数を示すカウンタの
値として管理される。
【0092】このリストに残っているトークンの数の判
定基準としてのある値は、例えば図20において不足と
判断する数に相当する。すなわち現在までのメッセージ
の流れ方に応じて、今後の処理のために不足と判断され
るバッファトークンの数よりリストに残っているトーク
ンの数が少ないと判定された時に、追加バッファトーク
ンのリクエスト処理が行われる。この処理は図23と同
様である。
【0093】図31には示していないが、受信側スケル
トンにおいてリプライヘッダをRDMA送信した後に、
送信側プロキシにおけると同様にリストに残っているバ
ッファトークンの数がある値より小さいか否かを判定
し、小さい場合にはリプライメッセージ格納用の送信側
物理メモリ領域に対するバッファトークンの追加要求処
理を行うことも当然可能である。
【0094】図32は今まで述べた本発明に関する処理
を実行する一般的なコンピュータの構成ブロック図であ
る。同図においてコンピュータは、全体の動作を制御す
る中央処理装置21、中央処理装置21によって実行さ
れるプログラムや演算処理されたデータなどを格納す
る、半導体メモリやハードディスク装置などの記憶装置
22、中央処理装置21によって実行されるプログラム
やデータが入出力される、キーボードやプリンタなどの
入出力装置23、ネットワークを介して他のコンピュー
タ装置との間でデータの送受信を行うための外部インタ
フェース装置24を備え、各構成要素はシステムバス2
5を介して接続されている。記憶装置22は、本発明の
第1〜第6の実施形態として説明したフローチャートな
どにおいて、データ送信側、または/およびデータ受信
側において必要となるプログラムを記憶し、そのプログ
ラムは中央処理装置21によって実行される。
【0095】ここで本発明の処理に必要となるプログラ
ムを可搬型記憶媒体に記憶させ、そのプログラムを例え
ば記憶装置22に格納することによって、本発明の実行
に必要な処理を行うことも可能である。図32はこのよ
うなプログラムを記憶させるための、コンピュータによ
って読取り可能な記憶媒体の説明図である。同図におい
てコンピュータ30は、本体31と半導体メモリやハー
ドディスクなどのメモリ32とから構成されており、コ
ンピュータ30に対しては可搬型記憶媒体33からプロ
グラムなどをロードすることも、またプログラムサーバ
34側の記憶装置35から、ネットワーク回線36を介
してプログラムなどをロードすることも可能である。
【0096】本発明の特許請求の範囲の請求項28,2
9などに記憶されているプログラムや、例えば図3、図
4、図15,図16、図21、図22、図26〜図31
などのフローチャートに示されているプログラムは可搬
型記憶媒体33に記憶され、コンピュータ30にそのプ
ログラムをロードすることによって、本発明の処理を実
行することも可能である。この可搬型記憶媒体33とし
てはメモリカード、フロッピーディスク、CD/RO
M、光ディスク、光磁気ディスクなど市販され、流通可
能な任意の記憶媒体を用いることができる。更に本発明
の処理のためのプログラムなどは、プログラムサーバ3
4側からネットワーク回線36を介してコンピュータ3
0側に送られ、そのプログラムがロードされることによ
って本発明の処理を実現することも可能である。
【0097】
【発明の効果】以上詳細に説明したように、本発明によ
れば従来科学技術計算などに用いられていたシステムエ
リアネットワークによる遠隔直接メモリアクセス(RD
MA)を利用することによって、オブジェクトリクエス
トブローカ機構や遠隔手続き呼出し機構を有する計算機
の間での、データ転送の遅延短縮を実現することが可能
になり、分散コンピューティング環境におけるデータ処
理の効率化に寄与するところが大きい。
【0098】また本発明においては、自計算機と通信相
手側計算機とのデータ表現形式が同一の時には、転送デ
ータの共通データ形式、例えばCORBAにおけるCD
Rへの変換を省略することや、データ表現形式が異なる
時に送信側の計算機が転送データを相手側のデータ表現
形式に変換した後に転送を行うことや、相手側計算機か
ら転送されたデータの表現形式を自計算機のデータ表現
形式に変換した後に、自計算機の物理メモリ領域上に格
納することもできる。
【0099】また本発明によれば、自計算機の物理メモ
リ領域上のデータとしての関数のデータを、その関数に
対する引数によって指定される領域を物理メモリ上に固
定した状態で相手側の計算機に向けて直接に転送するこ
とが可能となり、データ転送中に転送すべきデータが仮
想記憶領域に退避されることを防止することが可能とな
る。
【0100】更に本発明においては、相手側計算機から
送られた転送データを含むメッセージの到着時点で自計
算機に対するハードウェア割込みを行うスレッドが、そ
の転送データを用いて行われる処理が軽い関数/メソッ
ドの処理を自身で実行することも可能となる。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】メッセージコントローラによるリモートダイレ
クトメモリアクセスの説明図である。
【図3】本発明の第1の実施形態における遠隔手続き呼
出し処理のフローチャートである。
【図4】本発明の第1の実施形態における遠隔手続き呼
出し処理のフローチャート(続き)である。
【図5】エンディアンとアラインメントの相違によるデ
ータ表現形式の相違の説明図である。
【図6】各ノードにおけるデータ表現形式などを示すテ
ーブルの例である。
【図7】通常時のコネクション開設手順の処理フローチ
ャートである。
【図8】図7の開設手順の直後に行われるデータ表現形
式交換処理のフローチャートである。
【図9】図8のデータ表現形式交換処理において交換さ
れるメッセージの構造を示す図である。
【図10】送信用RDMA領域をあらかじめ物理メモリ
に固定する場合の処理フローチャートである。
【図11】関数を実行するスレッドを呼出して引数を渡
す処理の詳細フローチャートである。
【図12】割込み処理スレッド自身が関数/メソッドの
処理を行う場合のフローチャートである。
【図13】メソッドの処理が軽いか否かを記録するテー
ブルの例を示す図である。
【図14】ユーザが処理のライトまたはヘビーを設定し
たいコマンドによって呼び出されるメソッドの例を示す
図である。
【図15】第2の実施形態における遠隔手続き呼出し処
理のフローチャートである。
【図16】第2の実施形態における遠隔手続き呼出し処
理のフローチャート(続き)である。
【図17】バッファトークン要求処理のフローチャート
である。
【図18】バッファ要求メッセージの構造を示す図であ
る。
【図19】バッファ要求メッセージに対するリプライメ
ッセージの構造を示す図である。
【図20】バッファトークンの数を管理するための獲得
バッファ管理テーブルの例を示す図である。
【図21】第3の実施形態における遠隔手続き呼出し処
理のフローチャートである。
【図22】第3の実施形態における遠隔手続き呼出し処
理のフローチャート(続き)である。
【図23】バッファトークン追加要求処理のフローチャ
ートである。
【図24】受信側ノードにおいて受信データ格納領域を
そのまま関数/メソッドに引き渡す動作の説明図であ
る。
【図25】図24に対応する送信側ノードにおける動作
を説明する図である。
【図26】第4の実施形態における遠隔手続き呼出し処
理のフローチャートである。
【図27】第4の実施形態における遠隔手続き呼出し処
理のフローチャート(続き)である。
【図28】第5の実施の形態における遠隔手続き呼出し
処理のフローチャートである。
【図29】第5の実施の形態における遠隔手続き呼出し
処理のフローチャート(続き)である。
【図30】第6の実施の形態における遠隔手続き呼出し
処理のフローチャートである。
【図31】第6の実施の形態における遠隔手続き呼出し
処理のフローチャート(続き)である。
【図32】本発明に関する処理を実行する一般的なコン
ピュータの構成を示すブロック図である。
【図33】コンピュータによって読み取り可能な記憶媒
体の例を示す図である。
【図34】オブジェクトリクエストブローカおよび遠隔
手続き呼出し処理の仕組の従来例を説明する図である。
【図35】遠隔手続き呼出し処理の従来例のフローチャ
ートである。
【図36】遠隔手続き呼出し処理の従来例のフローチャ
ート(続き)である。
【図37】CDR領域の獲得方法の従来例を説明する図
である。
【図38】リクエストメッセージの構造を説明する図で
ある。
【図39】オブジェクトキーの構造を説明する図であ
る。
【符号の説明】
1 遠隔手続き呼出し(RPC)機構 2 オブジェクトリクエストブローカ(ORB)機構 3 計算機(ノード) 4 遠隔直接データ転送手段 5 システムエリアネットワーク(SAN) 10 メッセージコントローラ(MSC) 11 オペレーティングシステムカーネル 12 ダイレクトバーチャルメモリアクセス(DVM
A)空間 13 物理メモリ 14 ユーザプロセス 15 ユーザ仮想記憶空間 16 ネットワーク

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 分散コンピューティング環境における遠
    隔手続き呼出し(RPC)機構、またはオブジェクトリ
    クエストブローカ(ORB)機構を有する計算機におい
    て、 自計算機の物理メモリ領域上のデータを、ネットワーク
    を介して通信相手側計算機の物理メモリ領域に向けて、
    直接に転送する遠隔直接データ転送手段を備えることを
    特徴とする遠隔手続き呼出し機構、またはオブジェクト
    リクエストブローカ機構を有する計算機。
  2. 【請求項2】 前記遠隔直接データ転送手段が、前記ネ
    ットワークを構成するシステムエリアネットワーク(S
    AN)を物理通信路としてデータ転送を行うことを特徴
    とする請求項1記載の遠隔手続き呼出し機構、またはオ
    ブジェクトリクエストブローカ機構を有する計算機。
  3. 【請求項3】 前記遠隔直接データ転送手段が、自計算
    機と相手側計算機とのデータ表現形式が同一の時、転送
    データの前記ネットワーク内での共通データ形式への変
    換を省略することを特徴とする請求項1、または2記載
    の遠隔手続き呼出し機構、またはオブジェクトリクエス
    トブローカ機構を有する計算機。
  4. 【請求項4】 前記遠隔直接データ転送手段が、前記自
    計算機の物理メモリ領域のデータを含むメッセージに自
    計算機側でのデータ表現形式を添付して転送することを
    特徴とする請求項3記載の遠隔手続き呼出し機構、また
    はオブジェクトリクエストブローカ機構を有する計算
    機。
  5. 【請求項5】 前記ネットワークに接続されている各計
    算機のデータ表現形式を管理するデータ表現形式管理手
    段を更に備え、 前記遠隔直接データ転送手段が、該データ表現形式管理
    手段の管理内容に対応して、前記データ表現形式変換の
    省略を行うことを特徴とする請求項3記載の遠隔手続き
    呼出し機構、またはオブジェクトリクエストブローカ機
    構を有する計算機。
  6. 【請求項6】 前記遠隔直接データ転送手段が、自計算
    機と相手側計算機とのデータ表現形式が異なる時、転送
    データを相手側計算機のデータ表現形式に変換した後に
    データ転送を行うことを特徴とする請求項1、または2
    記載の遠隔手続き呼出し機構、またはオブジェクトリク
    エストブローカ機構を有する計算機。
  7. 【請求項7】 前記ネットワークに接続されている各計
    算機のデータ表現形式を管理するデータ表現形式管理手
    段を更に備え、 前記遠隔直接データ転送手段が、該データ表現形式管理
    手段の管理内容に対応して、前記表現形式変化後のデー
    タ転送を行うことを特徴とする請求項6記載の遠隔手続
    き呼出し機構、またはオブジェクトリクエストブローカ
    機構を有する計算機。
  8. 【請求項8】 前記遠隔直接データ転送手段が、転送デ
    ータを相手側計算機のデータ表現形式に変換した後に、
    該変化後のデータを自計算機の物理メモリ上に固定され
    た領域に格納し、該格納されたデータを相手側計算機に
    向けて直接に転送することを特徴とする請求項6記載の
    遠隔手続き呼出し機構、またはオブジェクトリクエスト
    ブローカ機構を有する計算機。
  9. 【請求項9】 自計算機と相手側計算機とのデータ表現
    形式が異なる時、相手側計算機の遠隔直接データ転送手
    段から転送されるデータを自計算機のデータ表現形式に
    変換した後に、自計算機の物理メモリ領域上に格納する
    データ形式変換手段を更に備えることを特徴とする請求
    項1、または2記載の遠隔手続き呼出し機構、またはオ
    ブジェクトリクエストブローカ機構を有する計算機。
  10. 【請求項10】 前記ネットワークに接続されている各
    計算機のデータ表現形式を管理するデータ表現形式管理
    手段を更に備え、 前記データ形式変換手段が、該データ表現形式管理手段
    の管理内容に対応して転送されたデータの表現形式変換
    を行うことを特徴とする請求項9記載の遠隔手続き呼出
    し機構、またはオブジェクトリクエストブローカ機構を
    有する計算機。
  11. 【請求項11】 前記遠隔直接データ転送手段が、前記
    自計算機の物理メモリ領域上のデータを含むメッセージ
    に自計算機側でのデータ表現形式を添付して転送し、 前記データ形式変換手段が該添付されたデータ表現形式
    への該転送されたデータの変換を行うことを特徴とする
    請求項9記載の遠隔手続き呼出し機構、またはオブジェ
    クトリクエストブローカ機構を有する計算機。
  12. 【請求項12】 自計算と相手側計算機との通信コネク
    ションの開始にあたり、自計算機上のデータ表現形式を
    相手側計算機に通知するデータ表現形式通知手段を更に
    備えることを特徴とする請求項1、または2記載の遠隔
    手続き呼出し機構、またはオブジェクトリクエストブロ
    ーカ機構を有する計算機。
  13. 【請求項13】 前記遠隔直接データ転送手段が、前記
    自計算機の物理メモリ領域上のデータとしての関数のデ
    ータを、該関数に対する引数によって指定される領域を
    物理メモリ上に固定した状態で、相手側の計算機に向け
    て直接に転送することを特徴とする請求項1、または2
    記載の遠隔手続き呼出し機構、またはオブジェクトリク
    エストブローカ機構を有する計算機。
  14. 【請求項14】 前記遠隔直接データ転送手段が、前記
    自計算機の物理メモリ領域上のデータとしての関数のデ
    ータを、該関数に対する引数としての複数の値によって
    指定される複数の領域をそれぞれ物理メモリ領域上に固
    定した状態で、該複数の領域のデータをそれぞれ相手側
    計算機に向けて直接に転送することを特徴とする請求項
    1、または2記載の遠隔手続き呼出し機構、またはオブ
    ジェクトリクエストブローカ機構を有する計算機。
  15. 【請求項15】 前記相手側計算機の遠隔直接データ転
    送手段から転送され、あらかじめ固定された物理メモリ
    領域に格納されたデータのデータ格納領域をそのまま自
    計算機の受信関数/メソッドに引き渡すデータ引渡し手
    段を更に備えることを特徴とする請求項1、または2記
    載の遠隔手続き呼出し機構、またはオブジェクトリクエ
    ストブローカ機構を有する計算機。
  16. 【請求項16】 前記相手側計算機からの転送が完了し
    たデータの格納領域の物理メモリ領域への固定を、前記
    データ引渡し手段による受信関数/メソッドへの引き渡
    しに先立って解除するメモリ領域固定解除手段を更に備
    えることを特徴とする請求項15記載の遠隔手続き呼出
    し機構、またはオブジェクトリクエストブローカ機構を
    有する計算機。
  17. 【請求項17】 前記メモリ領域固定解除手段が、前記
    相手側計算機から転送されるデータを含むメッセージに
    添付された固定解除対象領域の指定に従って、物理メモ
    リ領域への固定を解除することを特徴とする請求項16
    記載の遠隔手続き呼出し機構、またはオブジェクトリク
    エストブローカ機構を有する計算機。
  18. 【請求項18】 通信相手側計算機の物理メモリ上で、
    あらかじめ固定され、自計算機から転送されるデータが
    格納されるべき領域の容量変化を要求する固定領域容量
    変化要求手段を更に備えることを特徴とする請求項1、
    または2記載の遠隔手続き呼出し機構、またはオブジェ
    クトリクエストブローカ機構を有する計算機。
  19. 【請求項19】 前記固定領域容量変化要求手段が、自
    計算機から通信相手側計算機への通信量に応じて、前記
    領域の容量変化を要求することを特徴とする請求項18
    記載の遠隔手続き呼出し機構、またはオブジェクトリク
    エストブローカ機構を有する計算機。
  20. 【請求項20】 通信相手側計算機の前記固定領域容量
    変化要求手段から送られる要求に対応して、該相手側計
    算機から転送されるデータを格納するためにあらかじめ
    物理メモリ上に固定する領域の容量を調整する物理メモ
    リ固定領域調整手段を更に備えることを特徴とする請求
    項18、または19記載の遠隔手続き呼出し機構、また
    はオブジェクトリクエストブローカ機構を有する計算
    機。
  21. 【請求項21】 相手側計算機の前記遠隔直接データ転
    送手段から送られる転送データを含むメッセージの到着
    時点でハードウェア割込みを行うと共に、該転送データ
    を用いて行われる関数/メソッドの処理が軽い時、該関
    数/メソッドの処理を実行する割込み処理手段を更に備
    えることを特徴とする請求項1、または2記載の遠隔手
    続き呼出し機構、またはオブジェクトリクエストブロー
    カ機構を有する計算機。
  22. 【請求項22】 前記転送データを用いて行われる関数
    /メソッドの処理が軽いか否かを区別するデータを記憶
    する軽量処理記憶手段を更に備え、 前記割込み処理手段が該記憶内容に従って処理の軽い関
    数/メソッドの処理を実行することを特徴とるす請求項
    21記載の遠隔手続き呼出し機構、またはオブジェクト
    リクエストブローカ機構を有する計算機。
  23. 【請求項23】 前記軽量処理記憶手段が、前記転送デ
    ータを用いて行われる関数/メソッドの処理が軽いか否
    かを区別するデータをユーザの指定に従って記憶するこ
    とを特徴とする請求項22記載の遠隔手続き呼出し機
    構、またはオブジェクトリクエストブローカ機構を有す
    る計算機。
  24. 【請求項24】 前記軽量処理記憶手段が、前記処理が
    軽いか否かを区別するデータを前記関数/メソッドをコ
    ンパイルするコンパイラ/リンカの判定に従って記憶す
    ることを特徴とする請求項22記載の遠隔手続き呼出し
    機構、またはオブジェクトリクエストブローカ機構を有
    する計算機。
  25. 【請求項25】 前記軽量処理記憶手段が、前記処理が
    軽いか否かを区別するデータを前記関数/メソッドを実
    行時にコンパイルする実行時コンパイラ/リンカの判定
    に従って記憶することを特徴とする請求項22記載の遠
    隔手続き呼出し機構、またはオブジェクトリクエストブ
    ローカ機構を有する計算機。
  26. 【請求項26】 分散コンピューティング環境における
    遠隔手続き呼出し(RPC)機構、またはオブジェクト
    リクエストブローカ(ORB)機構を有する計算機にお
    けるデータ転送方法であって、 自計算機の物理メモリ領域上のデータを、ネットワーク
    を介して通信相手側計算機の物理メモリ領域に向けて直
    接に転送することを特徴とするデータ転送方法。
  27. 【請求項27】 分散コンピューティング環境における
    遠隔手続き呼出し(RPC)機構、またはオブジェクト
    リクエストブローカ(ORB)機構を有する計算機にお
    けるデータ受信方法であって、 通信相手側計算機から自計算機の物理メモリ上の領域に
    ネットワークを介してデータが直接に転送された時点で
    のハードウェア割込みを受け付け、 該転送されたデータの読出し処理を実行することを特徴
    とするデータ受信方法。
  28. 【請求項28】 分散コンピューティング環境における
    遠隔手続き呼出し(RPC)機構、またはオブジェクト
    リクエストブローカ(ORB)機構を有する計算機にお
    いて使用される記憶媒体であって、 自計算機の物理メモリ領域上のデータを、ネットワーク
    を介して通信相手側計算機の物理メモリ領域に向けて直
    接に転送させる機能を備えるプログラムを格納した計算
    機読出し可能記憶媒体。
  29. 【請求項29】 分散コンピューティング環境における
    遠隔手続き呼出し(RPC)機構、またはオブジェクト
    リクエストブローカ(ORB)機構を有する計算機にお
    いて使用される記憶媒体であって、 通信相手側計算機から自計算機の物理メモリ上の領域に
    ネットワークを介してデータが直接に転送された時点で
    のハードウェア割込みを受け付けさせる機能と、 該転送されたデータの読出し処理を実行させる機能とを
    備えるプログラムを格納した計算機読出し可能記憶媒
    体。
JP10186082A 1998-07-01 1998-07-01 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 Withdrawn JP2000020490A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10186082A JP2000020490A (ja) 1998-07-01 1998-07-01 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
US09/225,249 US6697878B1 (en) 1998-07-01 1999-01-04 Computer having a remote procedure call mechanism or an object request broker mechanism, and data transfer method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10186082A JP2000020490A (ja) 1998-07-01 1998-07-01 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体

Publications (1)

Publication Number Publication Date
JP2000020490A true JP2000020490A (ja) 2000-01-21

Family

ID=16182072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10186082A Withdrawn JP2000020490A (ja) 1998-07-01 1998-07-01 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体

Country Status (2)

Country Link
US (1) US6697878B1 (ja)
JP (1) JP2000020490A (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243186A (ja) * 2000-03-02 2001-09-07 Internet Research Institute Inc 個人情報変更・配信方法及び個人情報変更・配信システム
JP2001266029A (ja) * 2000-03-07 2001-09-28 Thomson Multimedia Sa 安全なパース間の動作を伴なう電子ワレットシステム
JP2004526218A (ja) * 2000-08-24 2004-08-26 ボルテール アドバンスト データ セキュリティ リミテッド 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法
JP2006510996A (ja) * 2002-12-17 2006-03-30 オラクル・インターナショナル・コーポレイション 2つまたはそれ以上の機械の間でデータベース動作を行なうための直接メモリアクセスの用法
US7318083B2 (en) 2001-08-27 2008-01-08 Ricoh Company, Ltd. Information processing system
US7610348B2 (en) 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
JP2010117867A (ja) * 2008-11-12 2010-05-27 Canon Inc 情報処理装置及びその方法、通信システム、プログラム、記憶媒体
JP2011150666A (ja) * 2010-01-25 2011-08-04 Fujitsu Ltd 通信装置、情報処理装置、通信装置の制御方法及び制御プログラム
JP2013012922A (ja) * 2011-06-29 2013-01-17 Anritsu Corp パケット転送装置およびパケット転送方法
JP2014528612A (ja) * 2011-09-29 2014-10-27 オラクル・インターナショナル・コーポレイション トランザクショナルミドルウェアマシン環境において異なるメッセージキューをサポートするためのシステムおよび方法
US9690638B2 (en) 2011-09-29 2017-06-27 Oracle International Corporation System and method for supporting a complex message header in a transactional middleware machine environment
WO2018020630A1 (ja) * 2016-07-28 2018-02-01 株式会社日立製作所 計算機システム、処理方法、およびドライバプログラム
JP2018504645A (ja) * 2015-02-05 2018-02-15 華為技術有限公司Huawei Technologies Co.,Ltd. IPSecアクセラレーション方法、装置およびシステム
CN113326155A (zh) * 2021-06-28 2021-08-31 深信服科技股份有限公司 一种信息处理方法、装置、系统和存储介质

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333451B1 (en) * 1999-10-18 2008-02-19 Nortel Networks Limited Buffer management for mobile internet protocol
US7010614B2 (en) * 2000-07-05 2006-03-07 International Business Machines Corporation System for computing cumulative amount of data received by all RDMA to determine when a complete data transfer has arrived at receiving device
US20030145230A1 (en) * 2002-01-31 2003-07-31 Huimin Chiu System for exchanging data utilizing remote direct memory access
US7487264B2 (en) * 2002-06-11 2009-02-03 Pandya Ashish A High performance IP processor
US7565443B2 (en) * 2002-12-13 2009-07-21 Sap Ag Common persistence layer
JP2005182419A (ja) * 2003-12-18 2005-07-07 Toshiba Solutions Corp コンポーネント処理システム及びコンポーネント処理方法
US7433928B1 (en) * 2003-12-31 2008-10-07 Symantec Operating Corporation System pre-allocating data object replicas for a distributed file sharing system
WO2006001507A1 (ja) * 2004-06-24 2006-01-05 Nec Corporation 情報提供システム、情報提供サーバ、携帯端末、情報提供制御プログラム及び携帯端末制御プログラム
US8055818B2 (en) * 2004-08-30 2011-11-08 International Business Machines Corporation Low latency queue pairs for I/O adapters
US20060184949A1 (en) * 2005-02-15 2006-08-17 International Business Machines Corporation Methods, systems, and storage mediums for timing work requests and completion processing
IES20050376A2 (en) 2005-06-03 2006-08-09 Asavie R & D Ltd Secure network communication system and method
GB0518515D0 (en) * 2005-09-10 2005-10-19 Ibm Object request broker
US7398343B1 (en) * 2006-01-03 2008-07-08 Emc Corporation Interrupt processing system
US7325084B1 (en) * 2006-01-03 2008-01-29 Emc Corporation Messages signaling interrupt (MSI) processing system
US7328296B1 (en) * 2006-01-03 2008-02-05 Emc Corporation Interrupt processing system
CN101622594B (zh) 2006-12-06 2013-03-13 弗森-艾奥公司 使用空数据令牌指令管理来自于请求设备的数据的装置、系统和方法
US9141557B2 (en) 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
US7996348B2 (en) 2006-12-08 2011-08-09 Pandya Ashish A 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters
US20080306818A1 (en) * 2007-06-08 2008-12-11 Qurio Holdings, Inc. Multi-client streamer with late binding of ad content
US20080313029A1 (en) * 2007-06-13 2008-12-18 Qurio Holdings, Inc. Push-caching scheme for a late-binding advertisement architecture
US7996482B1 (en) 2007-07-31 2011-08-09 Qurio Holdings, Inc. RDMA based real-time video client playback architecture
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8762476B1 (en) * 2007-12-20 2014-06-24 Qurio Holdings, Inc. RDMA to streaming protocol driver
US8060904B1 (en) 2008-02-25 2011-11-15 Qurio Holdings, Inc. Dynamic load based ad insertion
US8739179B2 (en) * 2008-06-30 2014-05-27 Oracle America Inc. Method and system for low-overhead data transfer
RU2554509C2 (ru) * 2010-10-06 2015-06-27 Александр Яковлевич Богданов Система и способ распределенных вычислений
JP5742410B2 (ja) * 2011-04-11 2015-07-01 日本電気株式会社 フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム
US9532722B2 (en) 2011-06-21 2017-01-03 Masimo Corporation Patient monitoring system
US9986919B2 (en) 2011-06-21 2018-06-05 Masimo Corporation Patient monitoring system
US10555678B2 (en) 2013-08-05 2020-02-11 Masimo Corporation Blood pressure monitor with valve-chamber assembly
US20150326684A1 (en) * 2014-05-07 2015-11-12 Diablo Technologies Inc. System and method of accessing and controlling a co-processor and/or input/output device via remote direct memory access
US9792248B2 (en) 2015-06-02 2017-10-17 Microsoft Technology Licensing, Llc Fast read/write between networked computers via RDMA-based RPC requests
US10725963B2 (en) 2015-09-12 2020-07-28 Microsoft Technology Licensing, Llc Distributed lock-free RDMA-based memory allocation and de-allocation
US10713210B2 (en) 2015-10-13 2020-07-14 Microsoft Technology Licensing, Llc Distributed self-directed lock-free RDMA-based B-tree key-value manager
US10375167B2 (en) 2015-11-20 2019-08-06 Microsoft Technology Licensing, Llc Low latency RDMA-based distributed storage
US10613992B2 (en) * 2018-03-13 2020-04-07 Tsinghua University Systems and methods for remote procedure call
US10983930B1 (en) * 2020-01-14 2021-04-20 EMC IP Holding Company LLC Efficient non-transparent bridge (NTB) based data transport

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4878166A (en) * 1987-12-15 1989-10-31 Advanced Micro Devices, Inc. Direct memory access apparatus and methods for transferring data between buses having different performance characteristics
US5142672A (en) * 1987-12-15 1992-08-25 Advanced Micro Devices, Inc. Data transfer controller incorporating direct memory access channels and address mapped input/output windows
US5276684A (en) * 1991-07-22 1994-01-04 International Business Machines Corporation High performance I/O processor
JP3187539B2 (ja) * 1992-07-28 2001-07-11 株式会社東芝 データ転送装置
US5914953A (en) * 1992-12-17 1999-06-22 Tandem Computers, Inc. Network message routing using routing table information and supplemental enable information for deadlock prevention
US5675807A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Interrupt message delivery identified by storage location of received interrupt data
US5926636A (en) * 1996-02-21 1999-07-20 Adaptec, Inc. Remote procedural call component management method for a heterogeneous computer network
JP3636399B2 (ja) * 1996-05-29 2005-04-06 富士通株式会社 プロトコル変換システム及びプロトコル変換方法
US6185601B1 (en) * 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
US6333929B1 (en) * 1997-08-29 2001-12-25 Intel Corporation Packet format for a distributed system
US6181704B1 (en) * 1997-08-29 2001-01-30 Intel Corporation Method and apparatus for input/output link retry, failure and recovery in a computer network
US6418479B1 (en) * 1997-08-29 2002-07-09 Intel Corporation I/O pass through for a distributed computer system
US6074427A (en) * 1997-08-30 2000-06-13 Sun Microsystems, Inc. Apparatus and method for simulating multiple nodes on a single machine
US5991797A (en) * 1997-12-23 1999-11-23 Intel Corporation Method for directing I/O transactions between an I/O device and a memory
US6163834A (en) * 1998-01-07 2000-12-19 Tandem Computers Incorporated Two level address translation and memory registration system and method
US6493343B1 (en) * 1998-01-07 2002-12-10 Compaq Information Technologies Group System and method for implementing multi-pathing data transfers in a system area network
US6545981B1 (en) * 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US6044415A (en) * 1998-02-27 2000-03-28 Intel Corporation System for transferring I/O data between an I/O device and an application program's memory in accordance with a request directly over a virtual connection
US6647423B2 (en) * 1998-06-16 2003-11-11 Intel Corporation Direct message transfer between distributed processes
US6594701B1 (en) * 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6223270B1 (en) * 1999-04-19 2001-04-24 Silicon Graphics, Inc. Method for efficient translation of memory addresses in computer systems
US6615282B1 (en) * 1999-05-21 2003-09-02 Intel Corporation Adaptive messaging
US6529972B1 (en) * 1999-08-10 2003-03-04 Intel Corporation Message translation and data proxy service for remote data transport in a computer network
US6421742B1 (en) * 1999-10-29 2002-07-16 Intel Corporation Method and apparatus for emulating an input/output unit when transferring data over a network
EP1327196A4 (en) * 2000-08-24 2005-03-09 Voltaire Advanced Data Securit SYSTEM AND METHOD FOR HIGH SPEED-BASED CONTENT-BASED FILTERING, EXTREMELY EXPANDABLE AND LOAD BALANCING IN INTERCONNECTED FABRICS
US20020073257A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Transferring foreign protocols across a system area network
US20030043794A1 (en) * 2001-09-06 2003-03-06 Cayton Phil C. Data stream multiplexing in data network
US20030145230A1 (en) * 2002-01-31 2003-07-31 Huimin Chiu System for exchanging data utilizing remote direct memory access

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243186A (ja) * 2000-03-02 2001-09-07 Internet Research Institute Inc 個人情報変更・配信方法及び個人情報変更・配信システム
JP2001266029A (ja) * 2000-03-07 2001-09-28 Thomson Multimedia Sa 安全なパース間の動作を伴なう電子ワレットシステム
JP2004526218A (ja) * 2000-08-24 2004-08-26 ボルテール アドバンスト データ セキュリティ リミテッド 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法
US7318083B2 (en) 2001-08-27 2008-01-08 Ricoh Company, Ltd. Information processing system
JP2006510996A (ja) * 2002-12-17 2006-03-30 オラクル・インターナショナル・コーポレイション 2つまたはそれ以上の機械の間でデータベース動作を行なうための直接メモリアクセスの用法
US9262094B2 (en) 2003-05-07 2016-02-16 International Business Machines Corporation Distributed file serving architecture with metadata storage and data access at the data server connection speed
US10042561B2 (en) 2003-05-07 2018-08-07 International Business Machines Corporation Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US7610348B2 (en) 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US10095419B2 (en) 2003-05-07 2018-10-09 International Business Machines Corporation Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
JP2010117867A (ja) * 2008-11-12 2010-05-27 Canon Inc 情報処理装置及びその方法、通信システム、プログラム、記憶媒体
JP2011150666A (ja) * 2010-01-25 2011-08-04 Fujitsu Ltd 通信装置、情報処理装置、通信装置の制御方法及び制御プログラム
JP2013012922A (ja) * 2011-06-29 2013-01-17 Anritsu Corp パケット転送装置およびパケット転送方法
JP2014528612A (ja) * 2011-09-29 2014-10-27 オラクル・インターナショナル・コーポレイション トランザクショナルミドルウェアマシン環境において異なるメッセージキューをサポートするためのシステムおよび方法
US9690638B2 (en) 2011-09-29 2017-06-27 Oracle International Corporation System and method for supporting a complex message header in a transactional middleware machine environment
JP2018504645A (ja) * 2015-02-05 2018-02-15 華為技術有限公司Huawei Technologies Co.,Ltd. IPSecアクセラレーション方法、装置およびシステム
US11063812B2 (en) 2015-02-05 2021-07-13 Huawei Technologies Co., Ltd. Ipsec acceleration method, apparatus, and system
US11729042B2 (en) 2015-02-05 2023-08-15 Huawei Technologies Co., Ltd. IPSec acceleration method, apparatus, and system
WO2018020630A1 (ja) * 2016-07-28 2018-02-01 株式会社日立製作所 計算機システム、処理方法、およびドライバプログラム
CN113326155A (zh) * 2021-06-28 2021-08-31 深信服科技股份有限公司 一种信息处理方法、装置、系统和存储介质
CN113326155B (zh) * 2021-06-28 2023-09-05 深信服科技股份有限公司 一种信息处理方法、装置、系统和存储介质

Also Published As

Publication number Publication date
US6697878B1 (en) 2004-02-24

Similar Documents

Publication Publication Date Title
JP2000020490A (ja) 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
JP4690437B2 (ja) ネットワークアプリケーションにおける通信方法、通信装置及びそのためのプログラム
US7320041B2 (en) Controlling flow of data between data processing systems via a memory
US6983285B2 (en) Apparatus and method for dynamically verifying information in a distributed system
US9183066B2 (en) Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6111894A (en) Hardware interface between a switch adapter and a communications subsystem in a data processing system
US5721876A (en) Sockets application program mechanism for proprietary based application programs running in an emulation environment
US7409468B2 (en) Controlling flow of data between data processing systems via a memory
WO2018035856A1 (zh) 实现硬件加速处理的方法、设备和系统
CN102103526A (zh) 服务端和客户端间通过服务管理进行进程间通信的方法及系统
JP2002505466A (ja) 遠隔メソッド呼出し方法及び装置
US20040054822A1 (en) Transferring interrupts from a peripheral device to a host computer system
JPH09231157A (ja) コンピュータに接続されている入力/出力(i/o)デバイスを制御する方法
CN110532106B (zh) 进程间的通讯方法、装置、设备和存储介质
US9069592B2 (en) Generic transport layer mechanism for firmware communication
WO2024217333A1 (zh) 一种基于块存储的io访问方法、装置、电子设备及介质
Lo et al. The implementation of a high-performance ORB over multiple network transports
US7089263B2 (en) Apparatus and method for dynamically verifying information in a distributed system
Campos et al. The chance for Ada to support distribution and real-time in embedded systems
JP3375649B2 (ja) 並列計算機
Expósito et al. Design of scalable Java message-passing communications over InfiniBand
Muir Piglet: an operating system for network appliances
CN120687397A (zh) 用户态文件系统的性能优化方法及自服务模型
JPH1145220A (ja) Tcp/ipソケット・アプリケーションを使用したシステム資源削減装置および方法
Fredj et al. A Qualitative Analysis of the Critical's Path of Communication Models for Next Performant Implementations of High-speed Interfaces

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050906