JP3185760B2 - 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体 - Google Patents

分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体

Info

Publication number
JP3185760B2
JP3185760B2 JP17996498A JP17996498A JP3185760B2 JP 3185760 B2 JP3185760 B2 JP 3185760B2 JP 17996498 A JP17996498 A JP 17996498A JP 17996498 A JP17996498 A JP 17996498A JP 3185760 B2 JP3185760 B2 JP 3185760B2
Authority
JP
Japan
Prior art keywords
message
request
response
server
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17996498A
Other languages
English (en)
Other versions
JP2000013442A (ja
Inventor
雄一 相場
久幸 青木
純一 大和
寛之 大谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP17996498A priority Critical patent/JP3185760B2/ja
Publication of JP2000013442A publication Critical patent/JP2000013442A/ja
Application granted granted Critical
Publication of JP3185760B2 publication Critical patent/JP3185760B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の情報処理装
置がネットワークを介して接続され、互いの処理を分散
して行うことのできる分散処理システム、遠隔処理起動
方法および記録媒体に関する。
【0002】
【従来の技術】複数の情報処理装置がネットワークを介
して接続されたクライアント・サーバ型の分散処理環境
において、クライアント側から依頼した要求処理をサー
バ側で行わせる遠隔処理の起動方式として、遠隔手続き
呼出し(Remote Procedure Call;以下、「RPC」と
いう。)が広く使われている。RPCは、「Network Co
mputing Architecture」(Lisa Zahn, Hewlett-Packard
Company, Prentice-Hall, Inc, 1990)にて開示される
ように、以下のようなプロトコルを定義するものであ
る。
【0003】クライアント側は、リクエストパケットと
いうプロシージャ(遠隔手続き)の呼出しを示すパケッ
トをサーバに送信し、処理結果となる応答(レスポンス
パケット)を待つ。サーバ側は、リクエストパケットを
受信すると、リクエストパケットにて指定された要求処
理を実行するためにディスパッチする。サーバ側は、要
求処理を実行後、レスポンスパケットという処理結果を
示すパケットをクライアント側に送信する。
【0004】クライアント側は、レスポンスパケットを
一定時間内に受け取らなかった場合に、ピングパケット
という要求処理の処理状態を問い合わせるパケットをサ
ーバ側に送信する。サーバ側は、ピングパケットを受信
すると、要求処理が処理中であれば、処理中を示すワー
キングパケットを送り返し、リクエストパケットの消失
等により要求処理が未処理であれば、未処理を示すnoca
llパケットを送り返す。
【0005】RPCには、サーバ側で同一の要求処理が
重複して起動された場合に、サーバ側の処理に異常を生
じさせることのない種類の要求処理と、サーバ側の処理
に異常を生じさせることのある種類の要求処理とがあ
る。サーバ側の処理に異常を生じさせることのない種類
の要求処理を「等べきな要求」といい、サーバ側の処理
に異常を生じさせることのある種類の要求処理を「等べ
きでない要求」という。
【0006】すなわち、等べきな要求の場合、サーバ側
は、同一の要求処理を何度も重複して処理しても、無駄
な処理負荷が生ずることとはなるが、重複処理によって
処理に異常を生ずることがなく、同一の要求処理を複数
回行っても同一の結果を得る。一方、等べきでない要求
の場合、サーバ側は、重複処理によって処理に異常を生
ずることがあり、同一の要求処理が複数回行われると、
その都度異なった結果を得る。
【0007】このため、等べきな要求の場合、サーバ側
は、要求処理を実行してレスポンスパケットを送信した
後、再度の処理に不都合がないことから、実行結果とな
るレスポンスパケットを保持しない。これに対し、等べ
きでない要求の場合、サーバ側は、レスポンスパケット
を送信した後、クライアント側におけるレスポンスパケ
ットの受信が確認されるまで、実行結果となるレスポン
スパケットを保持し、定期的にクライアント側に対して
再送を行う。
【0008】更に、等べきでない要求の場合、サーバ側
は、同一の要求処理を重複して受け取ると、その処理を
行わない代わりに、保持しているレスポンスパケットを
再送する。その際、サーバ側は、クライアント毎に等べ
きでない要求を特定することのできる順序番号を記憶
し、受信したリクエストパケットにより指定される要求
処理が重複しているか否かを判別する。
【0009】このように、サーバ側は、重複した要求処
理を判別するために、クライアント毎に等べきでない要
求の順序番号を記憶するが、長い時間通信がなく、ある
いは、サーバの記憶領域が足りなくなった場合等に、記
憶した順序番号を消去してしまうことがある。従って、
サーバ側は、かなり間隔を空けて重複した要求処理が送
られた場合等、等べきでないにも関わらず再度処理して
しまうことがある。
【0010】このような不具合を防ぐため、要求の順序
番号を記憶していないクライアント側から等べきでない
要求を受け取ると、サーバ側は、そのクライアントに現
在の順序番号を要求するコールバックを行う。すなわ
ち、サーバ側は、コールバックによって、そのクライア
ントの現在の順序番号を要求し、返された番号によって
要求処理の有効性を判別する。
【0011】
【発明が解決しようとする課題】しかし、上記説明した
ようなRPCには、以下に示すような問題点があった。
クライアント側は、サーバ側からの応答(レスポンスパ
ケット)を受信することによって、自己が依頼した要求
処理が行われたかどうかを確認する。その際、クライア
ント側は、リクエストパケット送信後、一定時間経過し
ても応答のない場合、ピングパケットをサーバ側に送っ
て処理状態を判別する方法を採用している。
【0012】この方法では、サーバ側における処理時間
が長時間となる要求処理や処理時間が大きく変動する要
求処理では、応答が一定の経過時間内にクライアント側
に返らず、ピングパケットがサーバ側に送信されるケー
スが多くなる。ピングパケットの送信量が増加すると、
ネットワークの負荷が増加するだけでなく、サーバ側に
かかる処理の負荷も増加することとなり、分散処理シス
テム全体の処理能力が低下する。
【0013】このようなクライアント側が送信するピン
グパケットの発生頻度を抑えるため、サーバ側における
処理時間が長時間となる要求処理を想定し、ピングパケ
ット送信までの経過時間を長く設定すると、新たな不都
合が生じてしまう。すなわち、パケットがネットワーク
上で紛失していた場合に、クライアント側は、パケット
喪失の検出が大幅に遅れることになる。従って、すぐに
再送すれば、本来短時間で終るような要求処理でも、再
送の開始時期が遅れるため、応答が返るまでに長時間を
要してしまう。
【0014】このようにRPCでは、処理時間が長時間
となる要求処理と短時間となる要求処理の両方に対し
て、パケット紛失を的確なタイミングで判断できないた
め、分散処理システムの処理能力が低下するという問題
があった。
【0015】また、サーバ側は、クライアント側から自
己が記憶していない等べきでない要求があった場合、そ
の要求の有効性を判別するため、無条件にクライアント
側に対して順序番号の問い合わせのパケットを送信す
る。従って、クライアント側からの最初の要求処理にお
いて、必ず往復の通信が発生し、ネットワークの負荷が
増加するだけでなく、サーバ側にかかる処理の負荷も増
加することとなり、分散処理システム全体の処理能力が
低下するという問題があった。
【0016】本発明は、上記実状に鑑みてなされたもの
で、複数のクライアント及びサーバがネットワークを介
して接続された分散処理環境において、ネットワークの
負荷を軽減すると共に、サーバ側にかかる処理の負荷も
軽減することのできる分散処理システム、遠隔処理起動
方法および記録媒体を提供することを目的とする。
【0017】
【課題を解決するための手段】上記目的を達成するた
め、この発明の第1の観点に係る分散処理システムは、
複数のクライアント及びサーバがネットワークを介して
接続され、クライアントから予め定められた遠隔要求処
理をサーバに対して依頼する分散処理システムであっ
て、遠隔手続きの呼出しとなる要求電文をクライアント
からサーバに送信する要求電文送信手段と、前記要求電
文送信手段から送信した要求電文をサーバが受信したか
否かをクライアントにて判別する要求受信判別手段と、
前記要求受信判別手段にてサーバが要求電文を受信して
いないと判別した場合に、要求電文をクライアントから
サーバに再送信する要求電文再送信手段と、前記要求電
文送信手段または前記要求電文再送信手段から送信した
要求電文に対するサーバの処理結果となる応答電文をク
ライアントにて受信する応答電文受信手段と、前記応答
電文受信手段により受信した応答電文が、送信した要求
電文に対応する最初の電文であるか否かをクライアント
にて判別する応答電文判別手段と、前記応答電文判別手
段にて、受信した応答電文が送信した要求電文に対応す
る最初の電文であると判別した場合に、受信した応答電
文を遠隔要求の結果としてクライアントにて取得する要
求結果取得手段と、前記応答電文判別手段にて、受信し
た応答電文が送信した要求電文に対応する最初の電文で
ないと判別した場合に、受信した応答電文を破棄する応
答電文破棄手段と、を備えることを特徴とする。
【0018】この発明によれば、要求受信判別手段は、
要求電文送信手段から送信した要求電文をサーバが受信
したか否かをクライアントにて判別する。要求電文再送
信手段は、要求受信判別手段にてサーバが要求電文を受
信していないと判別した場合に、要求電文をクライアン
トからサーバに再送信する。応答電文受信手段は、要求
電文送信手段または要求電文再送信手段から送信した要
求電文に対するサーバの処理結果となる応答電文をクラ
イアントにて受信する。応答電文判別手段は、応答電文
受信手段により受信した応答電文が、送信した要求電文
に対応する最初の電文であるか否かをクライアントにて
判別する。要求結果取得手段は、応答電文判別手段に
て、受信した応答電文が送信した要求電文に対応する最
初の電文であると判別した場合に、受信した応答電文を
遠隔要求の結果としてクライアントにて取得する。応答
電文破棄手段とは、応答電文判別手段にて、受信した応
答電文が送信した要求電文に対応する最初の電文でない
と判別した場合に、受信した応答電文を破棄する。この
結果、電文の喪失や重複電文を的確に把握し、ネットワ
ークの負荷を軽減すると共に、サーバ側にかかる処理の
負荷も軽減することができる。
【0019】前記要求電文送信手段により送信した要求
電文の内容と実質的に同一となる要求内容をクライアン
トにて記憶する要求内容記憶手段を備え、前記要求電文
判別手段は、サーバから送られた要求電文を受信したこ
とを示す要求肯定電文をクライアントにて受信すること
により、前記要求電文送信手段から送信した要求電文を
サーバが受信したことをクライアントにて判別し、前記
要求電文再送信手段は、前記要求電文判別手段にてサー
バが要求電文を受信していないと判別した場合に、前記
要求内容記憶手段に記憶された要求内容から要求電文を
生成し、生成した要求電文をクライアントからサーバに
再送信してもよい。この結果、ネットワークの負荷を軽
減すると共に、サーバ側にかかる処理の負荷も軽減する
ことができる。
【0020】前記要求結果取得手段は、前記応答電文受
信手段にて受信した応答電文に対応する前記要求内容記
憶手段に記憶された要求内容における予め定められた受
信待ちを示す情報を消去し、前記応答電文判別手段は、
サーバから送られた応答電文に対応する前記要求内容記
憶手段に記憶された要求内容における受信待ち情報に従
って、前記応答電文受信手段により受信した応答電文
が、記憶された要求内容に対応する最初の電文であるか
否かを判別してもよい。この結果、ネットワークの負荷
を軽減すると共に、サーバ側にかかる処理の負荷も軽減
することができる。
【0021】上記目的を達成するため、この発明の第2
の観点に係るクライアントは、複数のクライアント及び
サーバがネットワークを介して接続され、クライアント
から予め定められた遠隔要求処理をサーバに対して依頼
する分散処理システムにおけるクライアントであって、
遠隔手続きの呼出しとなる要求電文をサーバに送信する
要求電文送信手段と、前記要求電文送信手段から送信し
た要求電文をサーバが受信したか否かを判別する要求受
信判別手段と、前記要求受信判別手段にてサーバが要求
電文を受信していないと判別した場合に、要求電文をサ
ーバに再送信する要求電文再送信手段と、前記要求電文
送信手段または前記要求電文再送信手段から送信した要
求電文に対するサーバの処理結果となる応答電文を受信
する応答電文受信手段と、前記応答電文受信手段により
受信した応答電文が、送信した要求電文に対応する最初
の電文であるか否かを判別する応答電文判別手段と、前
記応答電文判別手段にて、受信した応答電文が送信した
要求電文に対応する最初の電文であると判別した場合
に、受信した応答電文を遠隔要求の結果として取得する
要求結果取得手段と、前記応答電文判別手段にて、受信
した応答電文が送信した要求電文に対応する最初の電文
でないと判別した場合に、重複した電文として受信した
応答電文を破棄する応答電文破棄手段と、を備えること
を特徴とする。
【0022】この発明によれば、要求受信判別手段は、
要求電文送信手段から送信した要求電文をサーバが受信
したか否かを判別する。要求電文再送信手段は、要求受
信判別手段にてサーバが要求電文を受信していないと判
別した場合に、要求電文をサーバに再送信する。応答電
文受信手段は、要求電文送信手段または要求電文再送信
手段から送信した要求電文に対するサーバの処理結果と
なる応答電文を受信する。応答電文判別手段は、応答電
文受信手段により受信した応答電文が、送信した要求電
文に対応する最初の電文であるか否かを判別する。要求
結果取得手段は、応答電文判別手段にて、受信した応答
電文が送信した要求電文に対応する最初の電文であると
判別した場合に、受信した応答電文を遠隔要求の結果と
して取得する。応答電文破棄手段は、応答電文判別手段
にて、受信した応答電文が送信した要求電文に対応する
最初の電文でないと判別した場合に、重複した電文とし
て受信した応答電文を破棄する。この結果、電文の喪失
や重複電文を的確に把握し、ネットワークの負荷を軽減
すると共に、サーバ側にかかる処理の負荷も軽減するこ
とができる。
【0023】上記目的を達成するため、この発明の第3
の観点に係る分散処理システムは、電文を送信した順番
に相手側に到着することを保証する順序保証型の通信機
構となるネットワークを介して複数のクライアント及び
サーバが接続され、クライアントから予め定められた遠
隔要求処理をサーバに対して依頼する分散処理システム
であって、クライアントから送られた遠隔手続きの呼出
しとなる要求電文をサーバにて受信する要求電文受信手
段と、前記要求電文受信手段にて受信した要求電文が重
複した電文であるか否かをサーバにて判別する要求電文
判別手段と、前記要求電文判別手段により、受信した要
求電文が重複した電文でないと判別した場合に、受信し
た要求電文に従ってクライアントから依頼された要求処
理をサーバにて処理する情報処理手段と、前記情報処理
手段が行った要求処理の処理結果から応答電文を生成
し、生成した応答電文をサーバからクライアントに送信
する応答電文送信手段と、前記応答電文送信手段により
送信した応答電文の内容と実質的に同一となる応答内容
をサーバにて記憶する応答内容記憶手段と、前記要求電
文判別手段により、受信した要求電文が重複した電文で
あると判別した場合に、前記応答内容記憶手段に記憶さ
れた応答内容から応答電文を生成し、生成した応答電文
をサーバからクライアントに送信する重複要求応答手段
と、を備えることを特徴とする。
【0024】この発明によれば、要求電文判別手段は、
要求電文受信手段にて受信した要求電文が重複した電文
であるか否かをサーバにて判別する。情報処理手段は、
要求電文判別手段により、受信した要求電文が重複した
電文でないと判別した場合に、受信した要求電文に従っ
てクライアントから依頼された要求処理をサーバにて処
理する。応答電文送信手段は、情報処理手段が行った要
求処理の処理結果から応答電文を生成し、生成した応答
電文をサーバからクライアントに送信する。重複要求応
答手段は、要求電文判別手段により、受信した要求電文
が重複した電文であると判別した場合に、応答内容記憶
手段に記憶された応答内容から応答電文を生成し、生成
した応答電文をサーバからクライアントに送信する。こ
の結果、電文の喪失や重複電文を的確に把握し、ネット
ワークの負荷を軽減すると共に、サーバ側にかかる処理
の負荷も軽減することができる。
【0025】前記重複要求応答手段は、前記要求電文受
信手段が受信した要求電文と同一となる先行する要求電
文が前記情報処理手段にて処理途中か否かを判別する情
報処理判別手段と、該情報処理判別手段にて先行する要
求電文が前記情報処理手段にて処理途中であると判別し
た場合に、受信した要求電文を破棄する同一要求破棄手
段と、を更に備えてもよい。
【0026】上記分散処理システムは、前記応答電文送
信手段から送信した応答電文をクライアントが受信した
か否かをサーバにて判別する応答受信判別手段と、前記
応答受信判別手段にてクライアントが応答電文を受信し
ていないと判別した場合に、前記応答内容記憶手段に記
憶された応答内容から応答電文を生成し、生成した応答
電文をサーバからクライアントに再送信する応答電文再
送信手段と、前記応答受信判別手段にてクライアントが
応答電文を受信したと判別した場合に、前記応答内容記
憶手段に記憶された応答内容を消去する応答内容消去手
段と、を備えてもよい。
【0027】上記分散処理システムは、前記応答電文送
信手段、前記重複要求応答手段または前記応答電文再送
信手段から送られた応答電文をクライアントにて受信す
る応答電文受信手段と、前記応答電文受信手段により受
信した応答電文が、前記応答内容記憶手段に記憶された
要求内容に対応する最初の電文であるか否かをクライア
ントにて判別する応答電文判別手段と、前記応答電文判
別手段にて、受信した応答電文が記憶された要求内容に
対応する最初の電文であると判別した場合に、受信した
応答電文を遠隔要求の結果としてクライアントにて取得
すると共に応答電文を受信したことを示す応答肯定電文
を生成し、生成した応答肯定電文をクライアントからサ
ーバに送信する要求結果取得手段と、前記応答電文判別
手段にて、受信した応答電文が記憶された要求内容に対
応する最初の電文でないと判別した場合に、受信した応
答電文を破棄すると共に応答肯定電文を生成し、生成し
た応答肯定電文をクライアントからサーバに送信する擬
似応答肯定電文送信手段と、を備えてもよい。
【0028】上記目的を達成するため、この発明の第4
の観点に係るサーバは、電文を送信した順番に相手側に
到着することを保証する順序保証型の通信機構となるネ
ットワークを介して複数のクライアント及びサーバが接
続され、クライアントから予め定められた遠隔要求処理
をサーバに対して依頼する分散処理システムにおけるサ
ーバであって、クライアントから送られた遠隔手続きの
呼出しとなる要求電文を受信する要求電文受信手段と、
前記要求電文受信手段にて受信した要求電文が重複した
電文であるか否かを判別する要求電文判別手段と、前記
要求電文判別手段により、受信した要求電文が重複した
電文でないと判別した場合に、受信した要求電文に従っ
てクライアントから依頼された要求処理を処理する情報
処理手段と、前記情報処理手段が行った要求処理の処理
結果から応答電文を生成し、生成した応答電文をクライ
アントに送信する応答電文送信手段と、前記応答電文送
信手段により送信した応答電文の内容と実質的に同一と
なる応答内容を記憶する応答内容記憶手段と、前記要求
電文判別手段により、受信した要求電文が重複した電文
であると判別した場合に、前記応答内容記憶手段に記憶
された応答内容から応答電文を生成し、生成した応答電
文をクライアントに送信する重複要求応答手段と、を備
えることを特徴とする。
【0029】この発明によれば、要求電文判別手段は、
要求電文受信手段にて受信した要求電文が重複した電文
であるか否かを判別する。情報処理手段は、要求電文判
別手段により、受信した要求電文が重複した電文でない
と判別した場合に、受信した要求電文に従ってクライア
ントから依頼された要求処理を処理する。応答電文送信
手段は、情報処理手段が行った要求処理の処理結果から
応答電文を生成し、生成した応答電文をクライアントに
送信する。応答内容記憶手段は、応答電文送信手段によ
り送信した応答電文の内容と実質的に同一となる応答内
容を記憶する。重複要求応答手段は、要求電文判別手段
により、受信した要求電文が重複した電文であると判別
した場合に、応答内容記憶手段に記憶された応答内容か
ら応答電文を生成し、生成した応答電文をクライアント
に送信する。この結果、電文の喪失や重複電文を的確に
把握し、ネットワークの負荷を軽減すると共に、サーバ
側にかかる処理の負荷も軽減することができる。
【0030】上記目的を達成するため、この発明の第5
の観点に係る遠隔処理起動方法は、複数のクライアント
及びサーバがネットワークを介して接続され、クライア
ントから予め定められた遠隔要求処理をサーバに対して
依頼する遠隔処理起動方法であって、遠隔手続きの呼出
しとなる要求電文をクライアントからサーバに送信する
要求電文送信ステップと、前記要求電文送信ステップに
て送信された要求電文をサーバが受信したか否かをクラ
イアントにて判別する要求受信判別ステップと、前記要
求受信判別ステップにてサーバが要求電文を受信してい
ないと判別した場合に、要求電文をクライアントからサ
ーバに再送信する要求電文再送信ステップと、前記要求
電文送信ステップまたは前記要求電文再送信ステップに
て送信された要求電文に対するサーバの処理結果となる
応答電文をクライアントにて受信する応答電文受信ステ
ップと、前記応答電文受信ステップにより受信した応答
電文が、送信した要求電文に対応する最初の電文である
か否かをクライアントにて判別する応答電文判別ステッ
プと、前記応答電文判別ステップにて、受信した応答電
文が送信した要求電文に対応する最初の電文であると判
別した場合に、受信した応答電文を遠隔要求の結果とし
てクライアントにて取得する要求結果取得ステップと、
前記応答電文判別ステップにて、受信した応答電文が送
信した要求電文に対応する最初の電文でないと判別した
場合に、重複した電文としてクライアントにて受信した
応答電文を破棄する応答電文破棄ステップと、を備える
ことを特徴とする。
【0031】この発明によれば、要求電文判別ステップ
は、要求電文送信ステップにて送信された要求電文をサ
ーバが受信したか否かをクライアントにて判別する。要
求電文再送信ステップは、要求電文判別ステップにてサ
ーバが要求電文を受信していないと判別した場合に、要
求電文をクライアントからサーバに再送信する。応答電
文受信ステップは、要求電文送信ステップまたは前記要
求電文再送信ステップにて送信された要求電文に対する
サーバの処理結果となる応答電文をクライアントにて受
信する。応答電文判別ステップは、応答電文受信ステッ
プにより受信した応答電文が、送信した要求電文に対応
する最初の電文であるか否かをクライアントにて判別す
る。要求結果取得ステップは、応答電文判別ステップに
て、受信した応答電文が送信した要求電文に対応する最
初の電文であると判別した場合に、受信した応答電文を
遠隔要求の結果としてクライアントにて取得する。応答
電文破棄ステップは、応答電文判別ステップにて、受信
した応答電文が送信した要求電文に対応する最初の電文
でないと判別した場合に、重複した電文としてクライア
ントにて受信した応答電文を破棄する。この結果、電文
の喪失や重複電文を的確に把握し、ネットワークの負荷
を軽減すると共に、サーバ側にかかる処理の負荷も軽減
することができる。
【0032】上記目的を達成するため、この発明の第6
の観点に係る遠隔処理起動方法は、電文を送信した順番
に相手側に到着することを保証する順序保証型の通信機
構となるネットワークを介して複数のクライアント及び
サーバが接続され、クライアントから予め定められた遠
隔要求処理をサーバに対して依頼する遠隔処理起動方法
であって、クライアントから送られた遠隔手続きの呼出
しとなる要求電文をサーバにて受信する要求電文受信ス
テップと、前記要求電文受信ステップにて受信した要求
電文が重複した電文であるか否かをサーバにて判別する
要求受信判別ステップと、前記要求受信判別ステップに
て、受信した要求電文が重複した電文でないと判別した
場合に、受信した要求電文に従ってクライアントから依
頼された要求処理をサーバにて処理する情報処理ステッ
プと、前記情報処理ステップにて行われた要求処理の処
理結果から応答電文を生成し、生成した応答電文をサー
バからクライアントに送信する応答電文送信ステップ
と、前記要求電文判別ステップにより、受信した要求電
文が重複した電文であると判別した場合に、前記情報処
理ステップにて処理することなく応答電文を生成し、生
成した応答電文をサーバからクライアントに送信する重
複要求応答ステップと、を備えることを特徴とする。
【0033】この発明によれば、要求受信判別ステップ
は、要求電文受信ステップにて受信した要求電文が重複
した電文であるか否かをサーバにて判別する。情報処理
ステップは、要求受信判別ステップにて、受信した要求
電文が重複した電文でないと判別した場合に、受信した
要求電文に従ってクライアントから依頼された要求処理
をサーバにて処理する。応答電文送信ステップは、情報
処理ステップにて行われた要求処理の処理結果から応答
電文を生成し、生成した応答電文をサーバからクライア
ントに送信する。重複要求応答ステップは、要求電文判
別ステップにより、受信した要求電文が重複した電文で
あると判別した場合に、情報処理ステップにて処理する
ことなく応答電文を生成し、生成した応答電文をサーバ
からクライアントに送信する。この結果、電文の喪失や
重複電文を的確に把握し、ネットワークの負荷を軽減す
ると共に、サーバ側にかかる処理の負荷も軽減すること
ができる。
【0034】上記目的を達成するため、この発明の第7
の観点に係る記録媒体は、複数のクライアント及びサー
バがネットワークを介して接続された分散処理環境にお
ける遠隔要求処理を行うプログラムを記録するコンピュ
ータ読み取り可能な記録媒体であって、遠隔手続きの呼
出しとなる要求電文をクライアントからサーバに送信す
る要求電文送信ステップと、前記要求電文送信ステップ
にて送信された要求電文をサーバが受信したか否かをク
ライアントにて判別する要求受信判別ステップと、前記
要求受信判別ステップにてサーバが要求電文を受信して
いないと判別した場合に、要求電文をクライアントから
サーバに再送信する要求電文再送信ステップと、前記要
求電文送信ステップまたは前記要求電文再送信ステップ
にて送信された要求電文に対するサーバの処理結果とな
る応答電文をクライアントにて受信する応答電文受信ス
テップと、前記応答電文受信ステップにより受信した応
答電文が、送信した要求電文に対応する最初の電文であ
るか否かをクライアントにて判別する応答電文判別ステ
ップと、前記応答電文判別ステップにて、受信した応答
電文が送信した要求電文に対応する最初の電文であると
判別した場合に、受信した応答電文を遠隔要求の結果と
してクライアントにて取得する要求結果取得ステップ
と、前記応答電文判別ステップにて、受信した応答電文
が送信した要求電文に対応する最初の電文でないと判別
した場合に、重複した電文としてクライアントにて受信
した応答電文を破棄する応答電文破棄ステップと、を実
現するプログラムを記憶する、ことを特徴とする。
【0035】
【発明の実施の形態】本発明の実施の形態にかかる分散
処理システムについて以下図面を参照して説明する。図
1は、この発明の第1の実施の形態にかかる分散処理シ
ステムの一例を示すブロック図である。分散処理システ
ムは、複数のクライアント1及びサーバ2が、ネットワ
ーク3を介して接続されて構成される。
【0036】クライアント1は、処理制御部11と、ク
ライアントプロセス記憶部12と、通信処理部13と、
記憶部14とから構成される。処理制御部11は、クラ
イアントプロセス記憶部12に記憶されたプログラムに
従ってクライアント1全体を制御する。また、処理制御
部11は、データ処理中において、遠隔要求が発生した
際に、通信処理部13を介してサーバ2に要求メッセー
ジを送信して要求処理を依頼し、処理結果となる応答メ
ッセージを受信する。
【0037】クライアントプロセス記憶部12は、クラ
イアント1において実行可能な所定のプログラムを予め
記憶する。また、サーバ2に依頼する要求処理に応じた
要求メッセージの送信先及び要求手続き名等を予め記憶
する。
【0038】通信処理部13は、処理制御部11に制御
され、ネットワーク3を介してサーバ2と各種メッセー
ジの送受信を行う。記憶部14は、サーバ2に送信した
要求メッセージから抽出された要求内容を一時的に記憶
する。
【0039】サーバ2は、処理制御部21と、サーバプ
ロセス記憶部22と、通信処理部23と、記憶部24と
から構成される。処理制御部21は、サーバプロセス記
憶部22に記憶されたプログラムに従ってサーバ2全体
を制御する。また、処理制御部21は、通信処理部23
を介してクライアント1からの要求メッセージを受信し
て要求処理の依頼を受け、要求処理を実行し、処理結果
となる応答メッセージをクライアント1に送信する。
【0040】サーバプロセス記憶部22は、クライアン
ト1から依頼される要求処理に応じた各種処理を実行す
るために必要となるプログラムを予め記憶する。通信処
理部23は、処理制御部21に制御され、ネットワーク
3を介してクライアント1と各種メッセージの送受信を
行う。記憶部24は、クライアント1から受信した要求
メッセージから抽出された要求内容を一時的に記憶す
る。
【0041】以下、本発明の第1の実施形態に係る分散
処理システムにおける処理概要について、図2及び図3
を参照して説明する。図2は、遠隔要求時におけるクラ
イアント1とサーバ2との間で一般的に発生するメッセ
ージの送受信を示す模式図である。図3は、要求メッセ
ージが通信途中にて紛失した場合におけるメッセージの
送受信を示す模式図である。
【0042】まず、図2を参照して、遠隔要求時に一般
的に発生するメッセージの送受信について説明する。ク
ライアント1は、要求元プログラムを実行中に、遠隔要
求が発生すると、サーバ2に依頼する要求処理を指定す
る要求メッセージを生成し、ネットワーク3を介してサ
ーバ2に送信する。また、クライアント1は、生成した
要求メッセージから要求内容を抽出して記憶する。
【0043】サーバ2は、クライアント1から要求メッ
セージを受信すると、受信した要求メッセージに指定さ
れる要求処理を開始する。また、サーバ2は、要求処理
の開始と並行して、要求メッセージの受信を示す要求A
CK(肯定応答)メッセージを生成し、ネットワーク3
を介してクライアント1に送信する。
【0044】クライアント1は、予め定められた所定時
間内に要求ACKメッセージをサーバ2から受けとらな
い場合に、記憶している要求内容から要求メッセージを
生成し、サーバ2に再送信する。なお、クライアント1
は、所定時間内に要求ACKメッセージを受け取ると、
以後の再送信を行わない。
【0045】サーバ2は、クライアント1から依頼され
た要求処理が完了すると、その処理結果となる応答メッ
セージを生成し、ネットワーク3を介してクライアント
1に送信する。
【0046】クライアント1は、サーバ2から応答メッ
セージを受け取ると、処理結果を要求元プログラムに戻
して遠隔要求を終了し、要求元プログラムを再開する。
なお、クライアント1は、遠隔要求終了後に、同一の応
答メッセージをサーバ2から受信した場合、重複した応
答メッセージとなるため、受信した応答メッセージを破
棄する。
【0047】次に、図3を参照して、遠隔要求時に要求
メッセージが通信途中で紛失した場合に発生するメッセ
ージの送受信について説明する。クライアント1から送
られた要求メッセージが通信途中で紛失した場合、サー
バ2に要求メッセージが届かないため、クライアント1
は、要求ACKメッセージを受け取ることがない。すな
わち、クライアント1は、要求メッセージを送信してか
ら所定時内に要求ACKメッセージをサーバ2から受信
しないため、要求メッセージをサーバ2に再送信する。
【0048】再送信した要求メッセージがサーバ2に届
くと、サーバ2は、再送信された要求メッセージに指定
される要求処理を開始する。その際、サーバ2は、処理
開始と並行して要求ACKメッセージを生成し、生成し
た要求ACKメッセージをクライアント1に送信する。
【0049】クライアント1は、要求ACKメッセージ
を受信すると、以後の要求メッセージの再送信を行わな
い。
【0050】サーバ2は、クライアント1から依頼され
た要求処理が完了すると、その処理結果となる応答メッ
セージを生成し、生成した応答メッセージをクライアン
ト1に送信する。
【0051】クライアント1は、サーバ2から応答メッ
セージを受け取ると、処理結果を要求元プログラムに戻
して遠隔要求を終了し、要求元プログラムを再開する。
【0052】以下、本発明の第1の実施形態に係る分散
処理システムにおける要求メッセージ送信処理、要求メ
ッセージ受信処理、要求ACKメッセージ受信処理、要
求メッセージ再送信処理及び、応答メッセージ送信処理
について具体的に説明する。
【0053】まず、要求メッセージ送信処理について説
明する。クライアント1の処理制御部11は、クライア
ントプロセス記憶部12に記憶された要求元プログラム
に従って、例えば、remote_call(server, request, arg
ument, result);という遠隔手続きの呼出しを行う。こ
の遠隔手続きの呼出しは、server(相手のサーバ2)、
request(要求手続きの名前)、argument(手続き呼出
しに必要な引数を入れた要求元プログラムに確保された
所定の領域を指し示すポインタ)、result(結果の入る
べき所定の領域を指し示すポインタ)等を指定して行わ
れる。これらの情報から、処理制御部11は、図4に示
すようなサーバ2に依頼する要求処理を指定するための
要求メッセージを生成し、指定されたサーバ2に対して
送信する。
【0054】図4に示す要求メッセージは、メッセージ
識別番号と、クライアント通信ポートと、要求手続き名
と、メッセージサイズと、複数の引数とから構成され
る。メッセージ識別番号は、要求メッセージを識別する
ためのユニークな番号である。処理制御部11は、記憶
部14に記憶されているそれまでに生成された最新の要
求番号に1を加算したシーケンシャルな番号となる要求
番号を生成する。処理制御部11は、生成した要求番号
に、そのメッセージが要求メッセージであることを示す
識別情報(番号)を付加したメッセージ識別番号を生成
する。なお、処理制御部11は、生成した要求番号を記
憶部14に記憶する。
【0055】クライアント通信ポートは、送信元となる
クライアント1を特定する通信ポートの情報である。処
理制御部11は、記憶部14に予め記憶されている通信
情報に従ってクライアント1の通信ポート情報を生成す
る。要求手続き名は、サーバ2に依頼する要求処理とな
る手続きの名前であり、事前に公開されている。メッセ
ージサイズは、引数の個数や各引数の長さが要求手続き
毎に異なるため、要求メッセージ全体の長さを定義する
ものである。引数は、サーバ2において手続きを処理す
る際に必要となるパラメータ等である。
【0056】処理制御部11は、このような要求メッセ
ージをサーバ2に送信後、要求メッセージから抽出した
要求内容を記憶部14に記憶する。記憶部14には、図
5に示すような複数の区画に区切られた要求内容記憶領
域が設けられ、処理制御部11は、要求内容が記憶され
た使用中の区画と、要求内容が記憶されていない空きの
区画とを管理する。なお、記憶部14に確保された各区
画は、要求内容を記憶するのに十分な大きさの領域とな
っている。
【0057】処理制御部11は、このような要求内容記
憶領域に空き区画を確保し、その区画に要求内容を記憶
する。要求内容記憶領域に記憶される要求内容は、送信
した要求メッセージそのものではなく、図6に示すよう
な内容であってもよい。この図6に示す要求内容が、図
4に示す要求メッセージと異なる点は、引数をポインタ
として管理している点である。例えば、図6に示す引数
領域へのポインタは、要求元プログラムの確保した記憶
領域に置かれた引数を指し示すポインタである。
【0058】次に、要求メッセージ受信処理について図
7に示すフローチャートを参照して説明する。サーバ2
は、通信処理部23を介して要求メッセージを受信する
と、要求メッセージ受信処理を開始する。
【0059】この要求メッセージ受信処理を開始する方
法の一例として、通信処理部23は、サーバ2の予め定
められた通信ポートを常に監視しておき、その通信ポー
トがメッセージを受け取った場合に所定の処理を起動す
る方法がある。この際、サーバ2の通信ポートは、要求
手続きの名前との対で予め公開されており、クライアン
ト1側から指定される。また、サーバ2のOS(Operat
ing System)として4.3BSD(Berkeley Software
Distribution)以降のUNIX(商標)を使用した場
合、inetdと呼ばれるサーバ(デーモン)を使用で
きる。この場合、通信ポートと起動するプロセスとの対
をサーバ2の起動時に設定しておき、起動されるプロセ
スに、以下に説明する要求メッセージ受信処理を実行さ
せる。
【0060】まず、サーバ2の処理制御部21は、記憶
部24の要求内容記憶領域に空き区画を確保する(ステ
ップS1)。すなわち、処理制御部21は、図8に示す
ように、記憶部24の要求内容記憶領域における要求内
容が記憶されていない空きの区画を確保する。
【0061】処理制御部21は、確保した空き区画に要
求内容を記憶する(ステップS2)。すなわち、処理制
御部21は、要求内容記憶領域の確保した空き区画に、
要求メッセージから抽出したメッセージ識別番号及びク
ライアント通信ポートからなる要求内容を記憶する。
【0062】処理制御部21は、要求メッセージに含ま
れる要求手続き名と引数を抽出し、依頼された要求処理
となる手続きを起動する(ステップS3)。
【0063】処理制御部21は、要求ACKメッセージ
を生成し、クライアント1に対して送信する(ステップ
S4)。すなわち、処理制御部21は、要求処理の開始
と並行して、要求内容記憶領域に記憶したメッセージ識
別番号を含む要求ACKメッセージを生成し、通信処理
部23を介して要求メッセージの送信先となる要求内容
記憶領域に記憶したクライアント通信ポートに対して、
生成した要求ACKメッセージを送信する。
【0064】次に、要求ACKメッセージ受信処理につ
いて説明する。クライアント1は、通信処理部13を介
して要求ACKメッセージを受信すると、要求ACKメ
ッセージ受信処理を開始する。この要求ACKメッセー
ジ受信処理を開始する方法の一例として、通信処理部1
3は、クライアント1の予め定められた通信ポートを常
に監視しておき、その通信ポートがメッセージを受け取
った場合に所定の処理を起動する方法がある。
【0065】クライアント1の処理制御部11は、受信
した要求ACKメッセージに含まれるメッセージ識別番
号を抽出し、クライアント1の記憶部14における要求
内容記憶領域に記憶されている要求内容の中からメッセ
ージ識別番号と一致するものがあるか否かを判別する。
【0066】処理制御部11は、記憶部14の要求内容
記憶領域に一致する要求内容があると判別した場合、該
当する要求内容にACKメッセージを受信したことを判
別できるように該当する要求内容のメッセージ識別番号
以外の領域をクリアする。なお、処理制御部11は、要
求ACKメッセージの受信を示す値を所定のメンバに書
込むことにより、要求ACKメッセージを受信したこと
を判別できるようにしてもよい。
【0067】次に、要求メッセージ再送信処理について
説明する。処理制御部11は、このような要求ACKメ
ッセージを受信していない場合、最後の要求メッセージ
を送信してから所定時間経過後に、要求メッセージを再
送信する要求メッセージ再送信処理を開始する。なお、
クライアント1のOSとしてUNIX(商標)を使用し
た場合、一定時間経過後に所定のシグナルが上がるよう
なアラームを要求メッセージ送信時にセットし、所定の
シグナルによって要求メッセージの再送信処理が開始す
るようにしてもよい。
【0068】処理制御部11は、記録部14の要求内容
記憶領域における該当する要求内容を読み出し、要求A
CKメッセージが受信済みか否かを判別する。
【0069】処理制御部11は、要求ACKメッセージ
が受信済みであると判別した場合、要求メッセージをサ
ーバ2に再送信することなく、また、以降の再送信のた
めのアラームセットも行わない。一方、要求ACKメッ
セージが受信済みでないと判別した場合、該当する要求
内容から要求メッセージを生成し、サーバ2に対して要
求メッセージの再送信を行う。
【0070】次に、応答メッセージ送信処理について図
面を参照して説明する。サーバ2は、クライアント1か
ら依頼された要求処理が完了すると、応答メッセージ送
信処理を開始する。
【0071】サーバ2の処理制御部21は、応答メッセ
ージを生成し、生成した応答メッセージを送信する。す
なわち、処理制御部21は、記憶部24に記憶された該
当する要求内容及び処理結果から、図9に示すような応
答メッセージを生成し、通信処理部23を介して要求内
容に含まれるクライアント通信ポートに対して生成した
応答メッセージを送信する。
【0072】図9に示す応答メッセージは、メッセージ
識別番号と、サーバ通信ポートと、メッセージサイズ
と、処理結果とから構成される。メッセージ識別番号
は、応答メッセージを識別するためのユニークな番号で
ある。処理制御部21は、記憶部24の要求内容記憶領
域における該当する要求内容に含まれるメッセージ識別
番号から、シーケンシャル番号を抽出し、抽出したシー
ケンシャル番号に、そのメッセージが応答メッセージで
あることを示す識別情報(番号)を付加したメッセージ識
別番号を生成する。
【0073】サーバ通信ポートは、送信元となるサーバ
2を特定する通信ポートの情報である。処理制御部21
は、記憶部24に予め記憶されている通信情報に従って
サーバ2の通信ポート情報を生成する。メッセージサイ
ズは、処理結果の大きさが処理毎に異なるため、応答メ
ッセージ全体の長さを定義するものである。処理結果
は、サーバ2において要求処理を実行した結果のデータ
等である。
【0074】以下、応答メッセージ送信処理について図
10に示すフローチャートを参照して具体的に説明す
る。クライアント1は、通信処理部13を介して応答メ
ッセージを受信すると、応答メッセージ受信処理を開始
する。
【0075】まず、クライアント1の処理制御部11
は、応答メッセージに含まれるメッセージ識別番号を抽
出する(ステップS11)。
【0076】処理制御部11は、抽出したメッセージ識
別番号が記憶部14の要求内容記憶領域に記憶されてい
る要求内容の識別番号と一致するか否かを判別する(ス
テップS12)。すなわち、処理制御部11は、抽出し
たメッセージ識別番号と同一のメッセージ識別番号を有
する要求内容が要求内容記憶領域に存在するか否かを判
別する。
【0077】処理制御部11は、同一のメッセージ識別
番号を有する要求内容が存在すると判別した場合に、そ
の要求内容が記憶されている区画をクリアし、空き区画
として解放する(ステップS13)。
【0078】処理制御部11は、サーバ2から受信した
応答メッセージから処理結果を抽出する(ステップS1
4)。
【0079】処理制御部11は、抽出した処理結果を要
求元プログラムに戻し、遠隔要求を終了して要求元プロ
グラムを再開する(ステップS15)。
【0080】一方、ステップS12にて、同一のメッセ
ージ識別番号を有する要求内容が存在しないと判別した
場合、処理制御部11は、受信した応答メッセージから
処理結果を取出さずに、応答メッセージを破棄する(ス
テップS16)。この結果、メッセージの喪失や重複し
たメッセージを的確に把握し、ネットワークの負荷を軽
減すると共に、サーバ側にかかる処理の負荷も軽減する
ことができる。
【0081】次に、この発明の第2の実施の形態にかか
る分散処理システムについて説明する。第2の実施の形
態にかかる分散処理システムの構成は、図1に示す第1
の実施の形態にかかる分散処理システムと同一である。
【0082】以下、この発明の第2の実施形態に係る分
散処理システムにおける処理概要について、図11を参
照して説明する。図11は、等べきでない要求が重複し
た場合におけるクライアント1とサーバ2との間で発生
するメッセージの送受信を示す模式図である。
【0083】クライアント1から重複した後続の要求メ
ッセージ送られ、先行する要求処理の処理中にサーバ2
に到着した場合、サーバ2は、後続の要求メッセージを
破棄する。すなわち、サーバ2は、後続の要求メッセー
ジを破棄し、後続の要求メッセージに対する要求処理を
開始せず、同一要求となる重複処理を回避する。
【0084】また、重複した後続の要求メッセージが、
先行する要求処理の処理完了後にサーバ2に到着した場
合、サーバ2は、先行する要求処理の処理結果として記
憶された応答内容をクライアント1に送信する。すなわ
ち、サーバ2は、等べきでない要求の処理を完了し、応
答メッセージを送信する際に、応答メッセージから抽出
した応答内容を記憶しておく。サーバ2は、応答内容を
記憶後に重複した要求メッセージを受信した場合、重複
する要求メッセージに対する要求処理を開始することな
く、記憶しておいた応答内容をクライアント1に送信す
る。従って、この場合も同一要求の重複処理が避けられ
る。
【0085】サーバ2は、このように記憶した応答内容
を、所定のタイミングで消去する必要がある。ところ
が、サーバ2は、応答内容を消去した後に重複した要求
メッセージを受信すると、正当な要求メッセージとして
再度同じ要求処理を処理してしまう。従って、サーバ2
は、重複した要求メッセージがクライアント1から送ら
れないことを確認した後に、その応答内容を消去しなけ
ればならない。
【0086】そこで、この発明の第2の実施の形態で
は、クライアント1が応答メッセージを受信すると、応
答メッセージを受信したことを示す応答ACKメッセー
ジをサーバ2に送信する。なお、この発明の第2の実施
の形態では、メッセージの到着順序を保証する通信機構
となるネットワーク3を前提とするため、サーバ2が応
答ACKメッセージを受信後に重複した要求メッセージ
を受信することがない。従って、応答ACKメッセージ
を受信した後に、サーバ2は、該当する応答内容を消去
することができる。
【0087】このような等べきでない要求メッセージの
重複受信に対する対処により、重複した要求メッセージ
の検出が全てサーバ2にて可能となり、サーバ2は、ク
ライアント1に問い合わせのメッセージを送信すること
なく、初めての要求メッセージに対する要求処理を開始
することが可能となる。この結果、サーバ2とクライア
ント1との間の往復の通信を削減でき、始めての要求処
理の応答時間を短縮できる。
【0088】この発明の第2の実施の形態では、要求メ
ッセージが等べきか等べきでないかによって処理が異な
る。そこで、クライアント1の処理制御部11は、等べ
きか等べきでないかを示す要求識別情報(番号)を付加し
てメッセージ識別番号を生成し、生成したメッセージ識
別番号を含む要求メッセージをサーバ2に送信する。
【0089】サーバ2の処理制御部21は、依頼された
要求処理が完了すると、応答メッセージ送信処理を開始
し、この処理中に、要求メッセージが等べきかどうかを
判別する。応答メッセージ送信処理において、等べきで
ない要求であると判別した場合、処理制御部21は、生
成した応答メッセージをクライアント1に送信すると共
に、応答メッセージから抽出した応答内容を記憶部24
に記憶する。その際、処理制御部21は、応答内容を記
憶部24の要求内容記憶領域における該当する要求内容
の区画に記憶する。なお、要求内容記憶領域に記憶する
応答内容は、図9に示すような応答メッセージ全体であ
ってもよい。
【0090】一方、要求メッセージが等べきな要求であ
ると判別した場合、処理制御部21は、応答内容を記憶
することなく、生成した応答メッセージをクライアント
1に送信する。
【0091】クライアント1の処理制御部11は、通信
処理部13を介して応答メッセージを受信する。処理制
御部11は、受信した応答メッセージが等べきでない要
求メッセージに対する応答メッセージの場合に、応答A
CKメッセージを生成し、生成した応答ACKメッセー
ジをサーバ2に送信する。すなわち、処理制御部11
は、図12に示すような応答ACKメッセージを生成
し、通信処理部13を介して生成した応答ACKメッセ
ージを、応答メッセージ中に含まれるサーバ通信ポート
に対して送信する。また、処理制御部11は、サーバ2
から受信した応答メッセージから処理結果を抽出し、処
理結果を要求元プログラムに戻して遠隔要求を終了し、
要求元プログラムを再開する。
【0092】一方、受信した応答メッセージが等べきで
ない要求メッセージに対する重複する応答メッセージの
場合に、処理制御部11は、受信した応答メッセージか
ら生成した図12に示す応答ACKメッセージをサーバ
2に送信すると共に、受信した応答メッセージを破棄す
る。
【0093】以下、本発明の第2の実施形態に係る分散
処理システムにおける応答メッセージ再送信処理及び、
要求メッセージ受信処理について具体的に説明する。
【0094】まず、応答メッセージ再送信処理について
説明する。サーバ2の処理制御部21は、応答メッセー
ジ送信処理にて送信した応答メッセージが等べきでない
要求に対する応答メッセージの場合に、クライアント1
から送られる応答ACKメッセージを待つと共に、自己
の最後の応答メッセージを送信してから所定時間経過後
に、再び応答メッセージを送信する応答メッセージ再送
信処理を開始する。なお、サーバ2のOSとしてUNI
X(商標)を使用した場合、一定時間経過後に所定のシ
グナルが上がるようなアラームを応答メッセージ送信時
にセットし、所定のシグナルによって応答メッセージの
再送信処理が開始するようにしてもよい。
【0095】処理制御部21は、記録部24の要求内容
記憶領域における該当する応答内容を読み出し、応答A
CKメッセージが受信済みか否かを判別する。
【0096】処理制御部21は、応答ACKメッセージ
が受信済みであると判別した場合、応答メッセージをク
ライアント1に再送信することなく、また、以降の再送
信のためのアラームセットも行わない。一方、応答AC
Kメッセージが受信済みでないと判別した場合、該当す
る要求内容から応答メッセージを生成し、クライアント
1に対して応答メッセージの再送信を行う。
【0097】次に、要求メッセージ受信処理について図
13に示すフローチャートを参照して説明する。サーバ
2は、通信処理部23を介して要求メッセージを受信す
ると、要求メッセージ受信処理を開始する。
【0098】まず、処理制御部21は、記憶部24の要
求内容記憶領域に空き区画を確保する(ステップS3
1)。
【0099】処理制御部21は、確保した空き区画に受
信した要求メッセージに含まれるメッセージ識別番号及
びクライアント通信ポートからなる要求内容を記憶する
(ステップS32)。
【0100】処理制御部21は、要求内容記憶領域に記
録した要求内容が、他に記憶されている要求内容と一致
するか否かを判別する(ステップS33)。
【0101】他に一致する要求内容が存在しないと判別
した場合、処理制御部21は、要求メッセージに含まれ
る要求手続き名と引数を抽出し、依頼された要求処理と
なる手続きを起動する(ステップS34)。
【0102】処理制御部21は、要求ACKメッセージ
を生成し、通信処理部23を介して要求メッセージの送
信元となる要求内容記憶領域に記憶したクライアント通
信ポートに対して、生成した要求ACKメッセージを送
信する(ステップS35)。
【0103】一方、ステップS33にて、他に一致する
要求内容が存在すると判別した場合、処理制御部21
は、要求処理に対する処理状態が、応答メッセージ送信
後か応答メッセージ送信前かを判別する(ステップS3
6)。この際、処理制御部21は、要求内容記憶領域に
応答内容が記録されていれば、要求処理に対する処理状
態が、応答メッセージ送信後と判別する。
【0104】応答メッセージ送信後であると判別した場
合、重複した要求メッセージであるため、処理制御部2
1は、要求内容記憶領域に記憶されている応答内容を読
み出し、クライアント通信ポートに対して応答メッセー
ジを送信する(ステップS37)。
【0105】また、応答メッセージ送信前であると判別
した場合、処理制御部21は、メッセージ識別番号を含
む要求ACKメッセージを生成し、クライアント通信ポ
ートに対して要求ACKメッセージを送信する(ステッ
プS38)。
【0106】処理制御部21は、ステップS32にて要
求内容を記憶した要求内容記憶領域の区画を解放する
(ステップS39)。この結果、メッセージの喪失や重
複したメッセージを的確に把握し、ネットワークの負荷
を軽減すると共に、サーバ側にかかる処理の負荷も軽減
することができる。
【0107】なお、この発明の分散処理システムは、専
用のシステムによらず、通常のコンピュータシステムを
用いて実現可能である。例えば、コンピュータに上述の
いずれかを実行するためのプログラムを格納した媒体
(フロッピーディスク、CD−ROM等)から該プログ
ラムをインストールすることにより、上述の処理を実行
する分散処理システムを構成することができる。
【0108】また、コンピュータにプログラムを供給す
るための媒体は、通信媒体(通信回線、通信ネットワー
ク、通信システムのように、一時的かつ流動的にプログ
ラムを保持する媒体)でも良い。例えば、通信ネットワ
ークの掲示板(BBS)に該プログラムを掲示し、これ
をネットワークを介して配信してもよい。そして、この
プログラムを起動し、OSの制御下で、他のアプリケー
ションプログラムと同様に実行することにより、上述の
処理を実行することができる。
【0109】
【発明の効果】以上説明したように、本発明によれば、
メッセージの喪失や重複したメッセージを的確に把握
し、ネットワークの負荷を軽減すると共に、サーバ側に
かかる処理の負荷も軽減することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る分散処理シス
テムの構成を示す模式図である。
【図2】遠隔要求時におけるクライアントとサーバとの
間で一般的に発生するメッセージの送受信を示す模式図
である。
【図3】要求メッセージが通信途中にて紛失した場合に
おけるメッセージの送受信を示す模式図である。
【図4】クライアントにて生成される要求メッセージの
一例を示す模式図である。
【図5】クライアントの記憶部における要求内容記憶領
域を説明する模式図である。
【図6】クライアントの記憶部における要求内容記憶領
域に記憶される要求内容の一例を示す模式図である。
【図7】本発明の第1の実施の形態に係るサーバにおけ
る要求メッセージ受信処理を説明するフローチャートで
ある。
【図8】サーバの記憶部における要求内容記憶領域を説
明する模式図である。
【図9】サーバにて生成される応答メッセージの一例を
示す模式図である。
【図10】本発明の第1の実施の形態に係るクライアン
トにおける応答メッセージ受信処理を説明するフローチ
ャートである。
【図11】本発明の第2の実施の形態に係る要求メッセ
ージが重複した場合におけるメッセージの送受信を示す
模式図である。
【図12】クライアントにて生成される応答ACKメッ
セージの一例を示す模式図である。
【図13】本発明の第2の実施の形態に係るサーバにお
ける要求メッセージ受信処理を説明するフローチャート
である。
【符号の説明】
1 サーバ 2 クライアント 3 ネットワーク 11 処理制御部 12 クライアントプロセス記憶部 13 通信処理部 14 記憶部 21 処理制御部 22 サーバプロセス記憶部 23 通信処理部 24 記憶部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大谷 寛之 東京都港区芝五丁目7番1号 日本電気 株式会社内 (56)参考文献 特開 平9−153002(JP,A) 特開 平10−49392(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 G06F 13/00 351 H04L 29/02

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のクライアント及びサーバがネットワ
    ークを介して接続され、クライアントから予め定められ
    た遠隔要求処理をサーバに対して依頼する分散処理シス
    テムであって、 遠隔手続きの呼出しとなる要求電文をクライアントから
    サーバに送信する要求電文送信手段と、 前記要求電文送信手段から送信した要求電文をサーバが
    受信したか否かをクライアントにて判別する要求受信判
    別手段と、 前記要求受信判別手段にてサーバが要求電文を受信して
    いないと判別した場合に、要求電文をクライアントから
    サーバに再送信する要求電文再送信手段と、 前記要求電文送信手段または前記要求電文再送信手段か
    ら送信した要求電文に対するサーバの処理結果となる応
    答電文をクライアントにて受信する応答電文受信手段
    と、 前記応答電文受信手段により受信した応答電文が、送信
    した要求電文に対応する最初の電文であるか否かをクラ
    イアントにて判別する応答電文判別手段と、 前記応答電文判別手段にて、受信した応答電文が送信し
    た要求電文に対応する最初の電文であると判別した場合
    に、受信した応答電文を遠隔要求の結果としてクライア
    ントにて取得する要求結果取得手段と、 前記応答電文判別手段にて、受信した応答電文が送信し
    た要求電文に対応する最初の電文でないと判別した場合
    に、受信した応答電文を破棄する応答電文破棄手段と、 を備えることを特徴とする分散処理システム。
  2. 【請求項2】前記要求電文送信手段により送信した要求
    電文の内容と実質的に同一となる要求内容をクライアン
    トにて記憶する要求内容記憶手段を備え、 前記要求電文判別手段は、サーバから送られた要求電文
    を受信したことを示す要求肯定電文をクライアントにて
    受信することにより、前記要求電文送信手段から送信し
    た要求電文をサーバが受信したことをクライアントにて
    判別し、 前記要求電文再送信手段は、前記要求電文判別手段にて
    サーバが要求電文を受信していないと判別した場合に、
    前記要求内容記憶手段に記憶された要求内容から要求電
    文を生成し、生成した要求電文をクライアントからサー
    バに再送信する、 ことを特徴とする請求項1に記載の分散処理システム。
  3. 【請求項3】前記要求結果取得手段は、前記応答電文受
    信手段にて受信した応答電文に対応する前記要求内容記
    憶手段に記憶された要求内容における予め定められた受
    信待ちを示す情報を消去し、 前記応答電文判別手段は、サーバから送られた応答電文
    に対応する前記要求内容記憶手段に記憶された要求内容
    における受信待ち情報に従って、前記応答電文受信手段
    により受信した応答電文が、記憶された要求内容に対応
    する最初の電文であるか否かを判別する、 ことを特徴とする請求項2に記載の分散処理システム。
  4. 【請求項4】複数のクライアント及びサーバがネットワ
    ークを介して接続され、クライアントから予め定められ
    た遠隔要求処理をサーバに対して依頼する分散処理シス
    テムにおけるクライアントであって、 遠隔手続きの呼出しとなる要求電文をサーバに送信する
    要求電文送信手段と、 前記要求電文送信手段から送信した要求電文をサーバが
    受信したか否かを判別する要求受信判別手段と、 前記要求受信判別手段にてサーバが要求電文を受信して
    いないと判別した場合に、要求電文をサーバに再送信す
    る要求電文再送信手段と、 前記要求電文送信手段または前記要求電文再送信手段か
    ら送信した要求電文に対するサーバの処理結果となる応
    答電文を受信する応答電文受信手段と、 前記応答電文受信手段により受信した応答電文が、送信
    した要求電文に対応する最初の電文であるか否かを判別
    する応答電文判別手段と、 前記応答電文判別手段にて、受信した応答電文が送信し
    た要求電文に対応する最初の電文であると判別した場合
    に、受信した応答電文を遠隔要求の結果として取得する
    要求結果取得手段と、 前記応答電文判別手段にて、受信した応答電文が送信し
    た要求電文に対応する最初の電文でないと判別した場合
    に、重複した電文として受信した応答電文を破棄する応
    答電文破棄手段と、 を備えることを特徴とするクライアント。
  5. 【請求項5】電文を送信した順番に相手側に到着するこ
    とを保証する順序保証型の通信機構となるネットワーク
    を介して複数のクライアント及びサーバが接続され、ク
    ライアントから予め定められた遠隔要求処理をサーバに
    対して依頼する分散処理システムであって、 クライアントから送られた遠隔手続きの呼出しとなる要
    求電文をサーバにて受信する要求電文受信手段と、 前記要求電文受信手段にて受信した要求電文が重複した
    電文であるか否かをサーバにて判別する要求電文判別手
    段と、 前記要求電文判別手段により、受信した要求電文が重複
    した電文でないと判別した場合に、受信した要求電文に
    従ってクライアントから依頼された要求処理をサーバに
    て処理する情報処理手段と、 前記情報処理手段が行った要求処理の処理結果から応答
    電文を生成し、生成した応答電文をサーバからクライア
    ントに送信する応答電文送信手段と、 前記応答電文送信手段により送信した応答電文の内容と
    実質的に同一となる応答内容をサーバにて記憶する応答
    内容記憶手段と、 前記要求電文判別手段により、受信した要求電文が重複
    した電文であると判別した場合に、前記応答内容記憶手
    段に記憶された応答内容から応答電文を生成し、生成し
    た応答電文をサーバからクライアントに送信する重複要
    求応答手段と、 を備えることを特徴とする分散処理システム。
  6. 【請求項6】前記重複要求応答手段は、前記要求電文受
    信手段が受信した要求電文と同一となる先行する要求電
    文が前記情報処理手段にて処理途中か否かを判別する情
    報処理判別手段と、該情報処理判別手段にて先行する要
    求電文が前記情報処理手段にて処理途中であると判別し
    た場合に、受信した要求電文を破棄する同一要求破棄手
    段と、 を備えることを特徴とする請求項5に記載の分散処理シ
    ステム。
  7. 【請求項7】前記応答電文送信手段から送信した応答電
    文をクライアントが受信したか否かをサーバにて判別す
    る応答受信判別手段と、 前記応答受信判別手段にてクライアントが応答電文を受
    信していないと判別した場合に、前記応答内容記憶手段
    に記憶された応答内容から応答電文を生成し、生成した
    応答電文をサーバからクライアントに再送信する応答電
    文再送信手段と、 前記応答受信判別手段にてクライアントが応答電文を受
    信したと判別した場合に、前記応答内容記憶手段に記憶
    された応答内容を消去する応答内容消去手段と、 を備えることを特徴とする請求項5又は6に記載の分散
    処理システム。
  8. 【請求項8】前記応答電文送信手段、前記重複要求応答
    手段または前記応答電文再送信手段から送られた応答電
    文をクライアントにて受信する応答電文受信手段と、 前記応答電文受信手段により受信した応答電文が、前記
    応答内容記憶手段に記憶された要求内容に対応する最初
    の電文であるか否かをクライアントにて判別する応答電
    文判別手段と、 前記応答電文判別手段にて、受信した応答電文が記憶さ
    れた要求内容に対応する最初の電文であると判別した場
    合に、受信した応答電文を遠隔要求の結果としてクライ
    アントにて取得すると共に応答電文を受信したことを示
    す応答肯定電文を生成し、生成した応答肯定電文をクラ
    イアントからサーバに送信する要求結果取得手段と、 前記応答電文判別手段にて、受信した応答電文が記憶さ
    れた要求内容に対応する最初の電文でないと判別した場
    合に、受信した応答電文を破棄すると共に応答肯定電文
    を生成し、生成した応答肯定電文をクライアントからサ
    ーバに送信する擬似応答肯定電文送信手段と、 を備えることを特徴とする請求項5、6又は7に記載の
    分散処理システム。
  9. 【請求項9】電文を送信した順番に相手側に到着するこ
    とを保証する順序保証型の通信機構となるネットワーク
    を介して複数のクライアント及びサーバが接続され、ク
    ライアントから予め定められた遠隔要求処理をサーバに
    対して依頼する分散処理システムにおけるサーバであっ
    て、 クライアントから送られた遠隔手続きの呼出しとなる要
    求電文を受信する要求電文受信手段と、 前記要求電文受信手段にて受信した要求電文が重複した
    電文であるか否かを判別する要求電文判別手段と、 前記要求電文判別手段により、受信した要求電文が重複
    した電文でないと判別した場合に、受信した要求電文に
    従ってクライアントから依頼された要求処理を処理する
    情報処理手段と、 前記情報処理手段が行った要求処理の処理結果から応答
    電文を生成し、生成した応答電文をクライアントに送信
    する応答電文送信手段と、 前記応答電文送信手段により送信した応答電文の内容と
    実質的に同一となる応答内容を記憶する応答内容記憶手
    段と、 前記要求電文判別手段により、受信した要求電文が重複
    した電文であると判別した場合に、前記応答内容記憶手
    段に記憶された応答内容から応答電文を生成し、生成し
    た応答電文をクライアントに送信する重複要求応答手段
    と、 を備えることを特徴とするサーバ。
  10. 【請求項10】複数のクライアント及びサーバがネット
    ワークを介して接続され、クライアントから予め定めら
    れた遠隔要求処理をサーバに対して依頼する遠隔処理起
    動方法であって、 遠隔手続きの呼出しとなる要求電文をクライアントから
    サーバに送信する要求電文送信ステップと、 前記要求電文送信ステップにて送信された要求電文をサ
    ーバが受信したか否かをクライアントにて判別する要求
    電文判別ステップと、 前記要求電文判別ステップにてサーバが要求電文を受信
    していないと判別した場合に、要求電文をクライアント
    からサーバに再送信する要求電文再送信ステップと、 前記要求電文送信ステップまたは前記要求電文再送信ス
    テップにて送信された要求電文に対するサーバの処理結
    果となる応答電文をクライアントにて受信する応答電文
    受信ステップと、 前記応答電文受信ステップにより受信した応答電文が、
    送信した要求電文に対応する最初の電文であるか否かを
    クライアントにて判別する応答電文判別ステップと、 前記応答電文判別ステップにて、受信した応答電文が送
    信した要求電文に対応する最初の電文であると判別した
    場合に、受信した応答電文を遠隔要求の結果としてクラ
    イアントにて取得する要求結果取得ステップと、 前記応答電文判別ステップにて、受信した応答電文が送
    信した要求電文に対応する最初の電文でないと判別した
    場合に、重複した電文としてクライアントにて受信した
    応答電文を破棄する応答電文破棄ステップと、 を備えることを特徴とする遠隔処理起動方法。
  11. 【請求項11】電文を送信した順番に相手側に到着する
    ことを保証する順序保証型の通信機構となるネットワー
    クを介して複数のクライアント及びサーバが接続され、
    クライアントから予め定められた遠隔要求処理をサーバ
    に対して依頼する遠隔処理起動方法であって、 クライアントから送られた遠隔手続きの呼出しとなる要
    求電文をサーバにて受信する要求電文受信ステップと、 前記要求電文受信ステップにて受信した要求電文が重複
    した電文であるか否かをサーバにて判別する要求受信判
    別ステップと、 前記要求受信判別ステップにて、受信した要求電文が重
    複した電文でないと判別した場合に、受信した要求電文
    に従ってクライアントから依頼された要求処理をサーバ
    にて処理する情報処理ステップと、 前記情報処理ステップにて行われた要求処理の処理結果
    から応答電文を生成し、生成した応答電文をサーバから
    クライアントに送信する応答電文送信ステップと、 前記要求電文判別ステップにより、受信した要求電文が
    重複した電文であると判別した場合に、前記情報処理ス
    テップにて処理することなく応答電文を生成し、生成し
    た応答電文をサーバからクライアントに送信する重複要
    求応答ステップと、 を備えることを特徴とする遠隔処理起動方法。
  12. 【請求項12】複数のクライアント及びサーバがネット
    ワークを介して接続された分散処理環境における遠隔要
    求処理を行うプログラムを記録するコンピュータ読み取
    り可能な記録媒体であって、 遠隔手続きの呼出しとなる要求電文をクライアントから
    サーバに送信する要求電文送信ステップと、前記要求電
    文送信ステップにて送信された要求電文をサーバが受信
    したか否かをクライアントにて判別する要求受信判別ス
    テップと、前記要求受信判別ステップにてサーバが要求
    電文を受信していないと判別した場合に、要求電文をク
    ライアントからサーバに再送信する要求電文再送信ステ
    ップと、前記要求電文送信ステップまたは前記要求電文
    再送信ステップにて送信された要求電文に対するサーバ
    の処理結果となる応答電文をクライアントにて受信する
    応答電文受信ステップと、前記応答電文受信ステップに
    より受信した応答電文が、送信した要求電文に対応する
    最初の電文であるか否かをクライアントにて判別する応
    答電文判別ステップと、前記応答電文判別ステップに
    て、受信した応答電文が送信した要求電文に対応する最
    初の電文であると判別した場合に、受信した応答電文を
    遠隔要求の結果としてクライアントにて取得する要求結
    果取得ステップと、前記応答電文判別ステップにて、受
    信した応答電文が送信した要求電文に対応する最初の電
    文でないと判別した場合に、重複した電文としてクライ
    アントにて受信した応答電文を破棄する応答電文破棄ス
    テップと、を実現するプログラムを記憶する、 ことを特徴とするコンピュータ読み取り可能な記録媒
    体。
JP17996498A 1998-06-26 1998-06-26 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体 Expired - Fee Related JP3185760B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17996498A JP3185760B2 (ja) 1998-06-26 1998-06-26 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17996498A JP3185760B2 (ja) 1998-06-26 1998-06-26 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体

Publications (2)

Publication Number Publication Date
JP2000013442A JP2000013442A (ja) 2000-01-14
JP3185760B2 true JP3185760B2 (ja) 2001-07-11

Family

ID=16075062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17996498A Expired - Fee Related JP3185760B2 (ja) 1998-06-26 1998-06-26 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体

Country Status (1)

Country Link
JP (1) JP3185760B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899921B2 (en) * 2004-12-08 2011-03-01 Microsoft Corporation Verifying and maintaining connection liveliness in a reliable messaging for web services environment
JP2008078769A (ja) * 2006-09-19 2008-04-03 Denso Corp 通信システム
JP5035176B2 (ja) 2008-08-21 2012-09-26 富士通株式会社 伝送システム、伝送装置および伝送方法
JP4965683B2 (ja) * 2010-04-12 2012-07-04 日本電信電話株式会社 再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システム

Also Published As

Publication number Publication date
JP2000013442A (ja) 2000-01-14

Similar Documents

Publication Publication Date Title
US7406087B1 (en) Systems and methods for accelerating TCP/IP data stream processing
US6477590B1 (en) Method and system for message transfer session management
US6321269B1 (en) Optimized performance for transaction-oriented communications using stream-based network protocols
US4423414A (en) System and method for name-lookup in a local area network data communication system
US8612617B2 (en) Reliable multicast transport protocol
JP4008707B2 (ja) 不信頼及び信頼移送機構を用いたデータ伝送
US20040054796A1 (en) Load balancer
JPH11143845A (ja) ネットワークノード間のメッセージ送信用システム及び方法
CN108234087B (zh) 数据传输方法及发送端
US6502128B1 (en) Server and a method for communicating event messages from the server connected to a peripheral device and a client computer
JPH09160858A (ja) データ再送方法及びサーバ
US6339796B1 (en) System for logical connection resynchronization
JP3185760B2 (ja) 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体
US7689702B1 (en) Methods and apparatus for coordinating processing of network connections between two network protocol stacks
US8370443B2 (en) Reliable messaging using publish subscribe mechanism
CN110266446B (zh) 一种基于sack模式调整乱序时长的方法和装置
US20050021667A1 (en) Arrangement and method for impermanent connectivity
US6230283B1 (en) Logical connection resynchronization
US8549345B1 (en) Methods and apparatus for recovering from a failed network interface card
US20080307037A1 (en) Client Notification Mechanism Over HTTP
EP0358293B1 (en) Local area system transport
JP3266199B2 (ja) 信頼性あるデータ転送方法
CN113032123B (zh) 一种远程npl运行环境的线程调度方法、系统及相关装置
US6237111B1 (en) Method for logical connection resynchronization
JP2003150465A (ja) 分散処理システムにおけるトランザクション処理制御方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010403

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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees