JPH09179839A - データパッシング方法 - Google Patents

データパッシング方法

Info

Publication number
JPH09179839A
JPH09179839A JP7350295A JP35029595A JPH09179839A JP H09179839 A JPH09179839 A JP H09179839A JP 7350295 A JP7350295 A JP 7350295A JP 35029595 A JP35029595 A JP 35029595A JP H09179839 A JPH09179839 A JP H09179839A
Authority
JP
Japan
Prior art keywords
data
processing system
message
processing
server
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.)
Granted
Application number
JP7350295A
Other languages
English (en)
Other versions
JP3502876B2 (ja
Inventor
Tatsutoshi Sakuraba
健年 櫻庭
Masaaki Iwasaki
正明 岩嵜
Masahide Sato
雅英 佐藤
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 JP35029595A priority Critical patent/JP3502876B2/ja
Priority to US08/766,466 priority patent/US5862332A/en
Publication of JPH09179839A publication Critical patent/JPH09179839A/ja
Application granted granted Critical
Publication of JP3502876B2 publication Critical patent/JP3502876B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions

Abstract

(57)【要約】 【課題】 長大データをサーバから他ノードのサーバへ
転送することにより生じるオーバヘッドを無くし、処理
遅延を改善し、ネットワーク負荷を削減する。 【解決手段】 アプリケーションノード100からその内
部データの処理要求がサーバAに発せられ、そのデータ
転送はサーバAからの制御信号により開始される。サー
バノード101上のサーバAは100上の長大データ122に関
する処理要求メッセージ121を受け付けるが、このデー
タの処理は他のサーバノード102上のサーバBに依頼す
る。メッセージ121には長大データを指定する情報123を
含めている。サーバAはサーバBに対して長大データを
100から転送させることを依頼するメッセージ141(前記
情報123と同様の情報を含む)をサーバBに送る。サー
バBはメッセージ161(前記情報123と同様の情報を含
む)を用いて100に長大データのサーバBへの送信を要
求し、100からサーバBへ直接長大データを送る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は並列計算機、及び計
算機クラスタシステムに係わり、特にノード間の効率の
良いデータパッシングの方法に関する。
【0002】
【従来の技術】並列計算機は複数の計算ノードを高速な
ネットワークで結合し、一つの問題を分割して複数のノ
ード上で同時に計算することにより、短時間で結果を得
ることを目的として構成された計算機システムである。
このような計算では各ノードの処理性能とともにノード
間を結ぶネットワークの性能がシステムの性能に大きく
影響するため、特別に実装された高速なものを備えてい
る。一方、計算ノードとして独立した計算機を用い、ネ
ットワークとして汎用のLANを用いた構成で、同様の
並列計算を行なう計算機クラスタと呼ばれるシステムが
ある。この構成のシステムは運用性が高く、問題の規模
が小さい場合には、ネットワークが多少低速でも実用的
な並列計算が可能である。以下では「並列計算機」によ
り、上記にいう並列計算機、及び計算機クラスタを指す
ものとする。計算ノードは単にノードと略記する。ある
ノードから見て、そのノードは自ノード、自ノード以外
の並列計算機システム内のノードを他ノード、あるいは
リモートノードと呼ぶ。並列計算機におけるノード間協
調の制御は、ノード間のメッセージパッシング、即ち制
御情報、計算に使われるデータ、計算結果のデータ、あ
るいはファイルデータなどをノード間で前記のネットワ
ークを介して授受することにより行なわれる。そのた
め、各ノードを制御するオペレーティングシステム(O
S)は基本機能としてメッセージパッシング機能を持っ
ており、アプリケーションによる利用を可能とするとと
もに、OS自身も使用している。並列計算機の各ノード
のシステム内で果たす役割は必ずしも一様ではない。例
えば、ノードにより物理的に接続されているデバイスは
しばしば異なり、自ずとそのノードの役割も違ってく
る。またシステムの運用方式として、システムの制御を
行なうノードと専ら計算を行なうノードを分けるといっ
たことが行なわれる。
【0003】このようなシステムの例が、Zajce
w,R.,Roy,P.他著:「AnOSF/1 Un
ix for Massively Parallel
Multicomputers」(Proceedin
gs of the Winter 1993 USE
NIX Conference、pp449−468)
に開示されている。この例では各ノードにカーネルと呼
ばれるOSが稼働する。カーネルは、ポートと呼ばれる
概念によりメッセージパッシングを抽象化している。ポ
ートは一種のメッセージキューであり、ポートに対して
メッセージを送ると、このメッセージはこのポートにエ
ンキューされる。また、このポートを指定してメッセー
ジ受信を要求すると、このポートにエンキューされたメ
ッセージを受け取ることができる。ポートにより、受信
者を間接的に特定することができる。カーネルの上にサ
ーバと呼ばれる制御プログラムを稼働させる。サーバは
サーバノードと呼ばれる特定のノードで起動され、アプ
リケーションを各ノード上で起動するなどの制御を行な
う。またディスク装置の接続されたノードにはファイル
サーバが起動され、ファイルアクセスサービスを行な
う。また他のシステムとの通信を行なうための(ノード
間を接続するネットワークでなく)外部ネットワーク用
のデバイスを備えるノードには通信サーバが起動され、
外部通信機能を受け持つ。上記のように並列計算機は複
数のサーバで制御されているが、ノード数が増えるに従
い、サーバの負荷が増し、システムの性能上のボトルネ
ックになる。この問題の解決にはさらなるサーバの機能
分割、及び制御範囲の分割が必要になってくる。その結
果、複数のサーバが連動的に稼働するシステムが構成さ
れ、アプリケーションの一つのサービス要求が複数のサ
ーバによって処理されるようになる。即ち、あるサーバ
に出されたサービス要求を処理するために、そのサーバ
が更に他のサーバに対して別のサービス要求を出すとい
ったことが多くなる。
【0004】
【発明が解決しようとする課題】上記のようなシステム
ではアプリケーションによる一つのサービス要求を処理
するために行なわれるノード間のメッセージパッシング
が、従来の2つのノード間のみで行なわれていたものに
比べ、より多くのノード間のメッセージパッシングを引
き起こし、ネットワークの負荷が高くなる。特にサービ
ス要求に長大なデータが伴い、これがこれらのノードの
間で授受される場合、この傾向は顕著になる。またサー
ビス要求の処理に長大データの転送が複数回行なわれる
ことになり、当該サービスの処理時間が増化し、サーバ
を分割したことによる弊害が顕著となる。本発明の目的
は、並列計算機システム上の、長大データの転送を伴う
サービスを複数のサーバが関与して実行するサービスに
おいて、長大データのサーバ間の転送によるネットワー
ク負荷の増大、及びサービス処理時間の増大を解消する
ことにある。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、通信ネットワークと、該通信ネットワー
クに接続された、少なくとも3つの処理システムを備
え、第1の処理システムは第2の処理システムの制御下
にあり、第1の処理システムに存在するデータを第3の
処理システムに転送するデータパッシング方法であり、
第1の処理システムにおいて前記データを指定する情報
を含むメッセージを作成して第2の処理システムに送る
ステップと、第2の処理システムにおいて第3の処理シ
ステムに前記データの補助処理を依頼するための前記デ
ータを指定する情報を含むメッセージを作成し、該メッ
セージを第3の処理システムに送るステップと、第3の
処理システムにおいて第2の処理システムから送られた
メッセージに基づき第1の処理システムに対する前記デ
ータまたは該データの一部を指定して第3の処理システ
ムへの送信を要求するメッセージを作成し、第1の処理
システムに送るステップと、第1の処理システムにおい
て第3の処理システムから送られたメッセージに応じ
て、指定された前記データまたは該データの一部を第3
の処理システムに転送するステップからなるようにして
いる。また、通信ネットワークと、該通信ネットワーク
に接続された、少なくとも4つの処理システムを備え、
第1の処理システムは第2の処理システムの制御下にあ
り、第1の処理システムに存在するデータを第3の処理
システムおよび第4の処理システムに転送するデータパ
ッシング方法であり、第1の処理システムにおいて前記
データを指定する情報を含むメッセージを作成して第2
の処理システムに送るステップと、第1の処理システム
において前記データを保存状態におくステップと、第2
の処理システムにおける第1の処理システムに存在する
前記データの補助処理を依頼する処理システムの数を通
知するメッセージを作成し、該メッセージを第1の処理
装置に送るステップと、第1の処理システムにおいて第
2の処理システムから送られたメッセージに基づき通知
された補助処理を行なうシステム数を保持するステップ
と、第2の処理システムにおいて第3の処理システムお
よび第4の処理システムの夫々に前記データの補助処理
を依頼するための前記データを指定する情報を含むメッ
セージを夫々作成し、該各メッセージを第3の処理シス
テムおよび第4の処理システムに送るステップと、第3
の処理システムおよび第4の処理システムの夫々におい
て第2の処理システムから送られたメッセージに基づき
第1の処理システムに対する前記データまたは該データ
の一部を指定して第3、第4の各処理システムへの送信
を要求するメッセージを作成し、第1の処理システムに
夫々送るステップと、第1の処理システムにおいて第
3、第4の各処理システムから送られたメッセージに応
じて、指定された前記データまたは該データの一部を第
3の処理システムおよび第4の処理システムに転送する
ステップと、第1の処理システムにおいて第1の処理シ
ステム上に保持してある前記補助処理システム数に基づ
き、第3の処理システム、または第4の処理システムか
らの前記データ要求メッセージを再び受信するか、ある
いは、前記データの保存を打ち切るかを判定するステッ
プからなるようにしている。また、第1の処理システム
は、第2の処理システムに対して前記データの処理を要
求するメッセージを送るコンテキストとは異なるコンテ
キストにより、第3の処理システムからのデータ要求メ
ッセージを受け取り、前記データの第3の処理システム
への送信を行なうようにしている。
【0006】
【実施例】以下、図を用いて本発明の実施例について説
明する。図1は本発明により実現されるメッセージの流
れを示すブロック図である。
【0007】ボックス101、102、及び100はそ
れぞれ、サーバA、サーバB、及びアプリケーションが
稼働するノードを示している。これらのボックス間の結
線111、112、及び113はそれぞれノード間の通
信路を示している。いうまでもなくこれらの通信路は物
理的にノード間を直接に結んでいるものである必要はな
く様々な態様を取り得る。ここで、アプリケーションノ
ード100から、その内部データの処理要求がサーバノ
ードに発せられるが、データ処理のための実祭のデータ
転送は処理要求を受けたサーバ、例えば、サーバAノー
ド101からの制御信号により開始される。すなわち、
データ転送はサーバノードの制御下にある。ボックス1
21はサーバAノード101に転送されるメッセージ
で、矢印171は本メッセージが本発明によりアプリケ
ーションノード100からサーバAノード101に通信
路111を用いて送信される様子を表している。ボック
ス141はメッセージ送信171によって引き起こされ
たサービス要求のためのもう一つのメッセージで、矢印
172はサーバAノード101からサーバBノード10
2に当該メッセージが通信路112を用いて送信される
様子を表している。ボックス122はメッセージ121
に伴う長大データで、矢印173は長大データ122が
本発明によりメッセージ141に基づきアプリケーショ
ンノード100からサーバBノード102に通信路11
3を用いて送信される様子を表している。アプリケーシ
ョンノード100で稼働するプログラムはサーバA10
1に対して長大データ122に関するサービスを要求す
るにあたり、メッセージ121を作る。メッセージ12
1は長大データ122の内容そのものは含まないが、長
大データ指定情報123を含む。この長大データ指定情
報123は矢印124に表されるように、長大データ1
22を指定するが、アプリケーションノード100の内
部だけでなく、他のノード、就中サーバAノード10
1、及びサーバBノード102においても長大データ1
22を指定するのに十分な情報を含んでいる。
【0008】本発明では、メッセージ121がアプリケ
ーションノード100からサーバAノード101に送信
されると、当該メッセージを受信したサーバAノード1
01のプログラムは、当該メッセージ及びそれに伴う長
大データ122の処理のためにサーバBに補助サービス
処理を要求することを、想定しており、そのためにサー
バAノードでは前記プログラムによりメッセージ141
を作成する。メッセージ141の中には受信メッセージ
121から得られる長大データ指定情報123、あるい
はそれと同等の情報を持つ長大データ指定情報143が
含まれる。
【0009】サーバBノード102ではメッセージ14
1の処理のために当該メッセージに含まれる長大データ
指定情報143を用いて、アプリケーションノード10
0に対し、長大データ122のサーバBノードへの転送
を要求するためのメッセージ161を作成する。当該メ
ッセージは長大指定データ143、またはそれと同等の
情報を持つ長大データ指定情報163を含む。長大デー
タ指定情報163は本来、アプリケーションノード10
0で作成された長大データ123と同等の情報を持ち、
アプリケーションノード100では正しく長大データ1
22を指定するものと解釈される。アプリケーションノ
ード100ではメッセージ161を受けて、メッセージ
161の長大データ指定情報163によって指定された
長大データ122をサーバBノード102に送信する。
【0010】図2は上記の処理を説明するフロー図であ
る。210、及び220はアプリケーションノード10
0で行なわれる処理フローを示す。230、及び250
はそれぞれサーバAノード、及びサーバBノードで行な
われる処理フローを示す。処理フロー210、及び22
0で示される処理はともにアプリケーションノード10
0で実行されるものであるが、ここではそれぞれを独立
したコンテキストのもとに実行させることとし、別の処
理フローとして表してある。アプリケーションノード1
00では、ステップ211でメッセージ121の作成、
及びサーバAノードへの送信を行なう。次いで、ステッ
プ212では当該送信メッセージに対する応答メッセー
ジを待つ。矢印271は矢印171に対応しており、メ
ッセージ121の受渡しを表している。
【0011】サーバAノード101では、ステップ23
1で当該メッセージを受信する。ステップ232では当
該メッセージのサーバAにおける処理を行なう。これに
はメッセージ内容の解釈の他、管理情報の更新などが考
えられるが、本発明には直接関係はない。ステップ23
3ではメッセージ141を作成し、サーバBノードに補
助サービスを要求する。次いでステップ234では当該
送信メッセージに対する応答メッセージを待つ。矢印2
72は矢印172に対応しており、メッセージ141の
受渡しを表している。
【0012】サーバBノード102では、ステップ25
1でメッセージ141を受信する。要求された補助サー
ビスを行なうために、ステップ252ではメッセージ1
61を作成し、アプリケーションノード100に送信す
る。次いでステップ253では当該送信メッセージに対
する応答として、長大データ122のが送信されてくる
のを待つ。矢印275はメッセージ161の受渡しを表
している。
【0013】アプリケーションノード100では、ステ
ップ221で当該メッセージを受信する。ステップ22
2では、当該メッセージに含まれている長大データ指定
情報163により要求されている長大データ122を認
識し、当該長大データをサーバBノードへ送信する。矢
印273はこのメッセージ送信を表している。
【0014】サーバBノード102では、ステップ25
3にて当該長大データを受信する。ステップ254では
受信した長大データを用いた処理を行なう。例えばディ
スクへの格納、ネットワークへの送出、あるいはデータ
内容の検索などが考えられる。ステップ255ではサー
バAノード101へ、処理結果を報告するためのメッセ
ージを送る。矢印276は当該メッセージ送信を表して
いる。
【0015】サーバAノード101ではステップ234
で当該メッセージを受信する。その結果に基づく処理を
行なった後、ステップ235でアプリケーションノード
100にメッセージ121によって要求されたサービス
の結果を報告するメッセージを送信する。矢印277は
当該メッセージ送信を表している。アプリケーションノ
ード100では、ステップ212にて当該メッセージを
受信する。
【0016】以上の処理により、アプリケーションノー
ド100からサーバBノード102への長大データ12
2の転送は、直接サーバBノード102に対して行なわ
れ、長大データ122をサーバAノード101に転送し
た後、改めてサーバAノード101からサーバBノード
102へ転送することはしなくてよい。これにより、長
大データ送信のオーバヘッドは最小になり、サービス処
理時間が短くなり、ネットワークの負荷も小さくなる。
【0017】以上が本発明に係る処理フローであるが、
次のような処理の省略が可能である。ステップ211で
要求するサービスの結果を受信する必要がないならば、
ステップ212、ステップ235は不要である。またス
テップ233で要求する補助サービスの結果を受信する
必要がないならば、ステップ234、及び255は不要
である。受信処理221、及び送信処理222はメッセ
ージ121を送信したのとは別のコンテキストで行なう
方法もある。その場合は処理ステップ221、及び22
2を処理ステップ211、及び212の間に挿入すれば
良い。ステップ211からステップ222までの間では
長大データ122の内容を保存する必要がある。そのた
めに、例えばこの間は長大データ122の内容を更新し
ない、あるいは長大データ122のコピーを保存してお
くなどの制御が考えられる。このような制御を行なう場
合は、ステップ222では、長大データ122の取り出
し要求を受けたのを機会に、当該長大データ122の保
存制御の解除処理を行なっても良い。
【0018】図3は本発明の1実施例におけるメッセー
ジ121の内容を示している。メッセージ121はヘッ
ダフィールド311、長大データ指定情報フィールド1
23、機能指定情報フィールド313、及びその他の情
報を格納するフィールド314からなる。長大データ指
定情報フィールド123はノード指定情報フィールド3
21、レシーバ指定フィールド322、データ指定フィ
ールド323、及びデータ長フィールド324からな
る。ヘッダフィールド311はこのメッセージ121が
どのプログラムに送られるものか、どのプログラムが送
ったものか、その他の通信に必要な情報を含む。メッセ
ージの送り先の情報としては間接的にメッセージキュー
を指定する情報としてもよい。長大データ指定情報12
3は他のノードから、どのノード上のデータを指定して
いるかを知るに十分な情報を持つ必要がある。そのため
にノード指定情報321がある。例えばノード番号がネ
ットワーク上で大域的に定義されているならば、ノード
番号をノード指定情報として用いれば良い。またネット
ワーク上の座標でノードを識別できるシステムならば、
これを用いれば良い。また、一般に1ノード上には複数
のプログラムが稼働しており、長大データ指定情報12
3には、長大データ122を取り出すためにはどのプロ
グラムに要求を出せば良いかを知るのに十分な情報を持
つ必要がある。そのためにレシーバ指定情報322があ
る。例えば従来技術として挙げた文献で用いられている
ポートをここに指定し、間接的に受信プログラムを指定
する方法がある。受信プログラムとしてはアプリケーシ
ョンプログラムの中の最初のサービス要求を出したコン
テキスト、別の独立したコンテキスト、あるいはOS内
にコンテキストが有り、OS自体がコンテキストになる
場合が有り得る。OSが受信プログラムとなる場合は、
OSは長大データ122の保存を行なう必要がある。デ
ータ指定情報323としては、例えばプログラムを指定
することで定まる仮想アドレス空間内でのアドレス、あ
るいはそれに準ずるものが考えられる。長大データ毎に
受信者が異なるならば、レシーバ指定情報322だけで
データの指定も可能となるため、データ指定情報323
は必ずしも必要ない。データ長フィールド324はデー
タ指定情報323により長大データ122のアドレスが
決まるとし、その長さを与えて、転送すべきデータを確
定させる。データの長さがデータ指定データから判明す
るようにアプリケーションノード100内で管理する場
合は、このフィールドは必ずしも必要ない。但し、サー
バBノード102で長大データの長さを知って長大デー
タの受信用バッファの適正な管理を行なうといった最適
化のために含めたほうがよい。
【0019】図4は本発明の1実施例におけるメッセー
ジ141の内容を示している。サーバAノード101か
らサーバBノード102へ、補助サービスを要求するメ
ッセージ141にはヘッダフィールド411、長大デー
タ指定情報フィールド143、機能指定情報フィールド
413、及びその他の情報のフィールド414がある。
メッセージの送り先の情報としては間接的にメッセージ
キューを指定する情報としてもよい。ヘッダフィールド
411はこのメッセージ141がどのプログラムに送ら
れるものか、どのプログラムが送ったものか、その他の
通信に必要な情報を含む。長大データ指定情報フィール
ド143の内容は、メッセージ121(図3)の長大デ
ータ指定情報123と同様の構成と内容を持つ。機能指
定情報フィールド413は、要求する補助サービスの内
容を記述する情報を含む。
【0020】図5は本発明の1実施例におけるメッセー
ジ161の内容を示している。サーバBノード102か
らアプリケーションノード100へ、長大データの送信
を要求するメッセージ161にはヘッダフィールド51
1、長大データ指定情報フィールド163、機能指定情
報フィールド513、及びその他の情報のフィールド5
14がある。ヘッダフィールド511はこのメッセージ
161がどのプログラムに送られるものか、どのプログ
ラムが送ったものか、その他の通信に必要な情報を含
む。どのプログラムに送るべきかは、メッセージ141
の長大データ指定情報143のレシーバ指定情報322
から知る事ができ、ヘッダフィールド511に指定する
ことができる。長大データ指定情報フィールド163の
内容は、メッセージ121の長大データ指定情報123
と同様の構成と内容を持つ。但し、レシーバ指定情報3
22に相当する情報はヘッダフィールド511の中に使
用されているので、長大データ指定情報163からは省
略することもできる。機能指定情報フィールド513
は、長大データの取り出し要求メッセージであることを
示す情報を含む。
【0021】サーバAノード101で何らかのエラーに
遭遇したり、サーバBノード102への補助サービスが
不要になるなど、アプリケーションノード100に対す
る、前記長大データ122の取り出し要求メッセージ1
61が送られなくなった場合には、アプリケーションノ
ード100では前記長大データ122の取り出し要求を
受信するまでシステム内に保持しているため、その解放
の契機を別の形で与える必要がある。このような場合は
サーバAノードから長大データ取り出しメッセージ16
1と同様のメッセージを送る。メッセージを受け取るの
は同様に長大データ取り出しメッセージの受信コンテキ
スト220である。前記メッセージ161の機能指定情
報フィールド513には長大データ122の送信の必要
がないことを指示する情報が格納される。ステップ22
2では当該情報513から長大データ122の送信の必
要性を判別し、送信の必要がなければ、前記長大データ
122の保存制御の解除処理のみを行なう。
【0022】以上はサーバAノード101が長大データ
122に対する補助サービスをサーバBノード102の
みに要求した場合の実施例であった。次にサーバAノー
ド101が長大データ122の補助サービスを複数のサ
ーバに要求する場合の実施例を説明する。簡単な一方法
は、複数のサーバに補助サービスを要求するときは、サ
ーバAノードからアプリケーションノード100へ長大
データ122の取り出し要求メッセージ161を送り、
長大データ122をアプリケーションノード100から
サーバAノードに送信させ、他のサーバへの補助サービ
スの要求では、長大データをサーバAノード101から
送るように構成することであるが、これは本発明による
効果を得ることのできない方法である。
【0023】本発明の目的とする効果を前記のような場
合に実現するには、サーバAノード101が要求したの
と同じ回数だけアプリケーションノード100における
コンテキスト220が長大データ122に対する取り出
し要求メッセージを受付けること、及びその間長大デー
タ122の保存制御を維持する必要がある。予めサーバ
Aノードが例えば2つのサーバに補助サービスを要求す
ることが分かっているならば、アプリケーションノード
100ではコンテキスト220で無条件に取り出し要求
メッセージを2回待つようにすればよい。しかし、アプ
リケーションノード100で稼働するプログラムをサー
バAノード101における処理や構成から独立になるよ
うにするには、このような処理の実装方法に依存する情
報を前提にプログラムを構成することはできない。
【0024】図6は上記問題を解決する、本発明の別の
実施例を説明するフロー図である。アプリケーションノ
ード100が送ったサービス要求メッセージをステップ
231で受信すると、サーバAはステップ632で要求
する補助サービスを求め、該補助サービス要求数を知ら
せるメッセージを作成し、アプリケーションノード10
0に送る。該メッセージの内容はメッセージ161と同
様の構造をしており、長大データ122を指定するフィ
ールドの他、機能指定フィールド513には予定してい
る長大データ要求回数の通知メッセージであることを指
定する情報が格納される。また同メッセージのその他の
情報フィールド514に補助サービス要求回数情報が格
納される。矢印679はこのメッセージの受け渡しを表
している。
【0025】アプリケーションノードのコンテキスト2
20ではステップ621で前記メッセージ679を受信
する。ステップ621は長大データ取り出し要求メッセ
ージも受信するので、ステップ624では受信したメッ
セージの要求機能の判定をメッセージ161の機能指定
情報フィールド513を用いて判定する。判定の結果、
受信したメッセージが長大データ取り出し要求メッセー
ジならばステップ622へ進む。また受信したメッセー
ジが補助サービス要求数の通知メッセージならば、ステ
ップ623に進む。ステップ623では受信したメッセ
ージにより通知されたメッセージ要求数を長大データ送
信予定回数に加算する。但し、該長大データ送信予定回
数の初期値はゼロとする。更に前記受信メッセージに対
する応答メッセージをサーバAに対して送る。続いてス
テップ625では、長大データ送信予定回数を調べ、値
が正ならばステップ621に戻る。
【0026】サーバAの処理630ではステップ632
で、前記応答メッセージを受け取り、正にメッセージが
処理された事を確認すると、ステップ633では複数の
補助サービスを実行するサーバのノードにメッセージを
送る。ここではサーバB、及びサーバCに補助サービス
を要求するものとする。サーバBにおける処理は処理フ
ロー250に、またサーバCにおける処理は処理フロー
650にそれぞれ示されている。送られるメッセージの
構造はメッセージ141と同様の構造を持ち、各補助サ
ーバに対して要求するサービスの内容は各補助サーバ要
に用意されたメッセージの機能指定情報フィールド41
3に明示される。指定される機能としては、例えばサー
バB、サーバCで異なるデータベースを長大データ12
2を用いて検索するといったサービスが考えられる。こ
れらのメッセージパッシングは矢印272、及び672
により表されている。
【0027】サーバB、及びサーバCにおける処理はす
でに説明した通りである。ステップ651、652、6
53、及び655はそれぞれステップ251、252、
253、及び255と同様である。ステップ252、な
いし652で長大データ122の取り出し要求メッセー
ジが送られると、ステップ621で受信され、ステップ
624で要求機能の判定の結果、ステップ622に進む
ことは前記の通りである。ステップ622では要求に応
えて長大メッセージ122をサーバB、ないしサーバC
に対して送り、長大データ送信予定回数から1を減ず
る。続いてステップ625では長大データ送信予定回数
を調べる。該回数は残りの長大データ送信予定回数を示
しており、値が正ならばステップ621に戻るのは前記
の通りである。値が正でないならば、長大データの送信
は全て終了したので、ステップ626に進む。ステップ
626では長大データの保存制御を解除する。ステップ
634ではサーバB、及びサーバCからの応答メッセー
ジを待ち、ステップ235でアプリケーションノード1
00に対し、応答メッセージを送る。
【0028】サーバBノードで、さらに他のサーバに補
助処理を依頼する場合も考えられる。その場合は、サー
バBノードではステップ632と同様の処理を行ない、
アプリケーションノードに長大データ送信予定回数の更
新を要求すれば良い。ステップ623ではステップ63
2により知らされる送信予定回数を加算するので、正し
く長大データ送信予定回数が更新される。同様に、長大
データ送信予定回数として負の数を送信すれば、長大デ
ータの取り出し予定の中止を知らせる事ができる。
【0029】また、サーバBまたはサーバCを異なるネ
ットワークに接続するための通信手段をサーバBまたは
サーバCに設け、サーバBまたはサーバCが受信した長
大データを他のサーバあるいはノードに送れるようにし
てもよい。また、サーバBまたはサーバCをデータベー
スアクセス機能を有するサーバとし、受信したデータま
たは該データの一部を用いてデータベースアクセスを行
なえるようにしてもよい。
【0030】
【発明の効果】本発明によれば、長大データを実際に当
該長大データを使用するサーバノードにのみ送信し、サ
ービス要求を媒介する中間のサーバノードへの送信を行
なわなくてもよいので、長大データ送信のオーバヘッド
が最小になる。そのため、サービス処理時間が短くな
り、ネットワークの負荷も小さくなるという性能上の効
果がある。また、長大データを実際に処理するサーバの
ノードでは、長大データの長さを実際にデータが送られ
てくる前に予め知ることができるので、適切なフロー制
御を受信側の制御の基に行なう事ができる。
【図面の簡単な説明】
【図1】実施例のメッセージの流れを示すブロック図で
ある。
【図2】長大データの転送処理を説明するフロー図であ
る。
【図3】サービス要求メッセージの構造を示す図であ
る。
【図4】補助サービス要求メッセージの構造を示す図で
ある。
【図5】長大データ要求メッセージの構造を示す図であ
る。
【図6】他のの実施例における長大データの転送処理を
説明するフロー図である。
【符合の説明】
100 アプリケーションノード 101 サーバAノード 102 サーバBノード 121、141、161 メッセージ 122 長大データ 123、143、163 長大データ指定情報

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 通信ネットワークと、該通信ネットワー
    クに接続された、少なくとも3つの処理システムを備
    え、第1の処理システムから第2の処理システムへ前記
    第1の処理システムに存在するデータの所定の処理を依
    頼する複合システムにおけるデータパッシング方法であ
    って、 第1の処理システムにおいて前記データを指定する情報
    を含むメッセージを作成して第2の処理システムに送る
    ステップと、 第2の処理システムにおいて第3の処理システムに前記
    データの補助処理を依頼するための前記データを指定す
    る情報を含むメッセージを作成し、該メッセージを第3
    の処理システムに送るステップと、 第3の処理システムにおいて第2の処理システムから送
    られたメッセージに基づき第1の処理システムに対する
    前記データまたは該データの一部を指定して第3の処理
    システムへの送信を要求するメッセージを作成し、第1
    の処理システムに送るステップと、 第1の処理システムにおいて第3の処理システムから送
    られたメッセージに応じて、指定された前記データまた
    は該データの一部を第3の処理システムに転送するステ
    ップからなることを特徴とするデータパッシング方法。
  2. 【請求項2】 通信ネットワークと、該通信ネットワー
    クに接続された、少なくとも4つの処理システムを備
    え、第1の処理システムから第2の処理システムへ前記
    第1の処理システムに存在するデータの所定の処理を依
    頼する複合システムにおけるデータパッシング方法であ
    って、 第1の処理システムにおいて前記データを指定する情報
    を含むメッセージを作成して第2の処理システムに送る
    ステップと、 第1の処理システムにおいて前記データを保存状態にお
    くステップと、 第2の処理システムにおける第1の処理システムに存在
    する前記データの補助処理を依頼する処理システムの数
    を通知するメッセージを作成し、該メッセージを第1の
    処理装置に送るステップと、 第1の処理システムにおいて第2の処理システムから送
    られたメッセージに基づき通知された補助処理を行なう
    システム数を保持するステップと、 第2の処理システムにおいて第3の処理システムおよび
    第4の処理システムの夫々に前記データの補助処理を依
    頼するための前記データを指定する情報を含むメッセー
    ジを夫々作成し、該各メッセージを第3の処理システム
    および第4の処理システムに送るステップと、 第3の処理システムおよび第4の処理システムの夫々に
    おいて第2の処理システムから送られたメッセージに基
    づき第1の処理システムに対する前記データまたは該デ
    ータの一部を指定して第3、第4の各処理システムへの
    送信を要求するメッセージを作成し、第1の処理システ
    ムに夫々送るステップと、 第1の処理システムにおいて第3、第4の各処理システ
    ムから送られたメッセージに応じて、指定された前記デ
    ータまたは該データの一部を第3の処理システムおよび
    第4の処理システムに転送するステップと、 第1の処理システムにおいて第1の処理システム上に保
    持してある前記補助処理システム数に基づき、第3の処
    理システム、または第4の処理システムからの前記デー
    タ要求メッセージを再び受信するか、あるいは、前記デ
    ータの保存を打ち切るかを判定するステップからなるこ
    とを特徴とするデータパッシング方法。
  3. 【請求項3】 請求項1記載のデータパッシング方法に
    おいて、 第1の処理システムは、第2の処理システムに対して前
    記データの処理を要求するメッセージを送るコンテキス
    トとは異なるコンテキストにより、第3の処理システム
    からのデータ要求メッセージを受け取り、前記データの
    第3の処理システムへの送信を行なうことを特徴とする
    データパッシング方法。
  4. 【請求項4】 請求項3記載のデータパッシング方法に
    おいて、 第1の処理システムは、オペレーティングシステムによ
    り、第3の処理システムからのデータ要求メッセージを
    受け取り、前記データの第3の処理システムへの送信を
    行なうことを特徴とするデータパッシング方法。
  5. 【請求項5】 請求項1記載のデータパッシング方法に
    おいて、 前記データを指定する情報に第1の処理システムを指定
    する情報を含めることを特徴とするデータパッシング方
    法。
  6. 【請求項6】 請求項1記載のデータパッシング方法に
    おいて、 前記データを指定する情報に前記データの送信を要求す
    るメッセージの送り先を指定する情報を含めることを特
    徴とするデータパッシング方法。
  7. 【請求項7】 請求項6記載のデータパッシング方法に
    おいて、 前記データの送信を要求するメッセージの送り先を指定
    する情報として、間接的にメッセージキュー指定する含
    めることを特徴とするデータパッシング方法。
  8. 【請求項8】 請求項1記載のデータパッシング方法に
    おいて、 第3の処理システムは記憶格納手段を備え、第3の処理
    システムにおいて前記データを該記憶格納手段に格納す
    るステップを含むことを特徴とするデータパッシング方
    法。
  9. 【請求項9】 請求項1記載のデータパッシング方法に
    おいて、 第3の処理システムが前記ネットワークとは異なる第2
    のネットワークに対する通信手段を備え、第3の処理シ
    ステムにおいて前記データを該ネットワーク通信手段を
    用いて送信するステップを含むことを特徴とするデータ
    パッシング方法。
  10. 【請求項10】 請求項1記載のデータパッシング方法
    において、 第3の処理システムがデータベースアクセス機能を備
    え、第3の処理システムにおいて前記転送されたデータ
    または該データの一部を用いて該データベースアクセス
    機能によるデータベースアクセスを行なうステップを含
    むことを特徴とするデータパッシング方法。
  11. 【請求項11】 請求項1記載のデータパッシング方法
    において、 第3の処理システムは、第1の処理システムから転送さ
    れたデータにより処理を実行するサーバであることを特
    徴とするデータパッシング方法。
JP35029595A 1995-12-22 1995-12-22 データパッシング方法 Expired - Fee Related JP3502876B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP35029595A JP3502876B2 (ja) 1995-12-22 1995-12-22 データパッシング方法
US08/766,466 US5862332A (en) 1995-12-22 1996-12-12 Method of data passing in parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35029595A JP3502876B2 (ja) 1995-12-22 1995-12-22 データパッシング方法

Publications (2)

Publication Number Publication Date
JPH09179839A true JPH09179839A (ja) 1997-07-11
JP3502876B2 JP3502876B2 (ja) 2004-03-02

Family

ID=18409535

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35029595A Expired - Fee Related JP3502876B2 (ja) 1995-12-22 1995-12-22 データパッシング方法

Country Status (2)

Country Link
US (1) US5862332A (ja)
JP (1) JP3502876B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009295187A (ja) * 1997-09-12 2009-12-17 Alcatel-Lucent Usa Inc ファイアウォールサービス提供方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8702103B2 (en) * 2012-07-31 2014-04-22 David Miller Apparatus, method, and system for card game with diagrammatic solutions for play outcomes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047659A (ja) * 1990-04-25 1992-01-13 Toshiba Corp 複合計算機システム
JPH04353955A (ja) * 1991-05-31 1992-12-08 Nec Corp サーバ・クライアント型通信プロトコル
JPH06259362A (ja) * 1993-03-08 1994-09-16 Hitachi Ltd マルチサーバ制御方式

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325524A (en) * 1989-04-06 1994-06-28 Digital Equipment Corporation Locating mobile objects in a distributed computer system
US5426427A (en) * 1991-04-04 1995-06-20 Compuserve Incorporated Data transmission routing system
US5628011A (en) * 1993-01-04 1997-05-06 At&T Network-based intelligent information-sourcing arrangement
US5459837A (en) * 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH047659A (ja) * 1990-04-25 1992-01-13 Toshiba Corp 複合計算機システム
JPH04353955A (ja) * 1991-05-31 1992-12-08 Nec Corp サーバ・クライアント型通信プロトコル
JPH06259362A (ja) * 1993-03-08 1994-09-16 Hitachi Ltd マルチサーバ制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009295187A (ja) * 1997-09-12 2009-12-17 Alcatel-Lucent Usa Inc ファイアウォールサービス提供方法

Also Published As

Publication number Publication date
JP3502876B2 (ja) 2004-03-02
US5862332A (en) 1999-01-19

Similar Documents

Publication Publication Date Title
JP3846736B2 (ja) 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法
US4851988A (en) Loosely-coupled computer system using global identifiers to identify mailboxes and volumes
EP1027796B1 (en) Distributed web application server
US6125399A (en) Computer system including a plurality of nodes for transferring through a data transfer network messages having distinguishing fields used for distinguishing the messages and controlling receipt thereof
US6434543B1 (en) System and method for reliable caching of database connections in a distributed application
US5530905A (en) Temporary state preservation for a distributed file service which purges virtual circuit control information after expiration of time limit of inactivity
AU742797B2 (en) Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6225995B1 (en) Method and apparatus for incorporating state information into a URL
EP1027794B1 (en) Method and system for facilitating distributed software development in a distribution unaware manner
US6799200B1 (en) Mechanisms for efficient message passing with copy avoidance in a distributed system
US20090254917A1 (en) System and method for improved i/o node control in computer system
JP4675174B2 (ja) データベース処理方法、システム及びプログラム
US7934218B2 (en) Interprocess communication management using a socket layer
JPH06282481A (ja) サーバ・メモリの管理
JPH0962635A (ja) 疎結合並列処理環境においてトランザクション直列化制御機能を有する顧客情報制御システム及び方法
US20070088854A1 (en) Apparatus for searching TCP and UDP sockets
JP3502876B2 (ja) データパッシング方法
CN116866429A (zh) 一种数据访问方法及相关装置
JP2002259197A (ja) アクティブコンテンツキャッシュ制御システムと、アクティブコンテンツキャッシュ制御装置及び方法と、アクティブコンテンツキャッシュ制御処理用プログラム及びそのプログラムの記録媒体
JPH11306151A (ja) 分散オブジェクト処理装置及びプログラム記憶媒体
US20070147277A1 (en) Asynchronous and automatic device and method for transmission of results between communicating objects
JP2000194613A (ja) クライアント/サ―バシステムにおけるデ―タ転送最適化システムとその方法
JP2001331398A (ja) サーバ管理システム
JP3028544B2 (ja) 分散処理システムの負荷分散方式
JP3143919B2 (ja) 通信パラメータ管理方式

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040316

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20040706

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071219

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081219

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091219

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101219

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees