JP3690303B2 - 分散オブジェクト環境に適用される通信システムおよび通信プログラム - Google Patents
分散オブジェクト環境に適用される通信システムおよび通信プログラム Download PDFInfo
- Publication number
- JP3690303B2 JP3690303B2 JP2001121656A JP2001121656A JP3690303B2 JP 3690303 B2 JP3690303 B2 JP 3690303B2 JP 2001121656 A JP2001121656 A JP 2001121656A JP 2001121656 A JP2001121656 A JP 2001121656A JP 3690303 B2 JP3690303 B2 JP 3690303B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- processing
- communication
- server
- proxy
- 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
Links
Images
Landscapes
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、ネットワーク上に分散配置されたオブジェクトが相互に通信を行う分散オブジェクト環境に適用される通信システムおよび通信プログラムに関し、特に、CORBA(Common Object Request Broker Architecture :共通オブジェクト・リクエスト・ブローカ・アーキテクチャ)に基づいて通信を行う通信システムおよび通信プログラムに関する。
【0002】
【従来の技術】
ネットワーク上に分散配置されたオブジェクトが相互に通信を行う分散オブジェクト環境において、オブジェクトが通信を行う機能をORB(Object Request Broker :オブジェクト・リクエスト・ブローカ)という。オブジェクト技術の標準化を図る団体であるOMG(Object Management Group :オブジェクト・マネジメント・グループ)は、ORBの仕様として、CORBAを規定している。また、OMGは、ORB同士を相互に接続するためのプロトコルとして、IIOP(Internet Inter-ORB Protocol )を規定している。CORBAの中で規定されているIIOPでは、TCP/IPをベースとしてピア・ツー・ピア通信(Peer-to-Peer通信)を行う。
【0003】
分散オブジェクト環境では、クライアントがサーバに対して処理を要求し、その応答を得る。また、IIOPでは、TCP/IPをベースとするピア・ツー・ピア通信を行うので、通信に先立ち送受信間に論理的な通信回線(以下、コネクションと記す。)を設定し、通信終了後にコネクションを解放する。クライアントとサーバは、コネクションを確立したならば、一連の要求および応答の送受信を終えて通信が終了するまでそのコネクションを利用し続けなければならない。
【0004】
また、CORBAでは、オブジェクトを特定するための情報を格納するフォーマットとしてIOR(Interoperable Object Reference)を定めている。各オブジェクトは、IORに記載される情報によって、他のオブジェクトとのコネクションを確立する。
【0005】
図4は、従来の分散オブジェクト環境に適用される通信システムの一例を示すブロック図である。図4に示す通信システムはサーバを多重化し、障害発生時にはサーバを切り替えることにより、信頼性を高めている。
【0006】
各装置の記憶装置103,113,123,133は、それぞれオブジェクト104、管理オブジェクト114、サービスオブジェクト124、134を保持する。各CPU102,112,122,132は、それぞれオブジェクト104,114,124,134に従い処理を実行する。各オブジェクトは、CORBAおよびIIOPに従って通信を行う。
【0007】
各装置のインタフェース部105,115,125,135は、通信ネットワーク150を介して他の装置と情報を送受信する。インタフェース部105,115は、通信ネットワーク150に接続される。各サーバ121,131のインタフェース部125,135は、経路切替機140に接続される。経路切替機140は、各サーバ121,131のいずれかを通信ネットワーク150に接続する。経路切替機140は、オペレータの手動操作によって、通信ネットワーク150に接続するサーバを切り替える。
【0008】
各サーバ121,131には、同一のIPアドレスが割り当てられる。しかし、経路切替機140は、いずれか一つのサーバのみを通信ネットワーク150に接続させるので、通信ネットワーク150においてIPアドレスの重複による不整合は生じない。
また、各サーバ121,131の内部状態やコンテンツは、同一性が保たれ、いずれのサーバも同一の処理を行う。
【0009】
クライアント101(オブジェクト104)は、ユーザから指示された処理をいずれかのサービスオブジェクトに要求する。サービスオブジェクト124,134は、クライアント101が要求する処理を行う。管理オブジェクト114は、クライアント101が要求する処理を実行するサービスオブジェクトを定める。
【0010】
図5は、従来の通信システムにおいて、クライアントが処理を要求し、サーバが要求された処理を実行する際の動作の一例を示す流れ図である。クライアント101は、ユーザの操作に基づき、要求する処理の情報を管理オブジェクト114に送信する(ステップS171)。この情報の中には、実行する関数名が含まれる。
【0011】
続いて、管理オブジェクト114は、その関数を実行するサービスオブジェクトを決定する(ステップS172)。管理オブジェクト114は、各処理(各関数)と、その関数を実行するサービスオブジェクトを備えるサーバのIPアドレスとの対応関係を示す情報を、予め保持する。管理オブジェクト114は、ステップS171において受信した情報から関数名を抽出し、その関数名に対応するIPアドレスを特定する。管理オブジェクト114は、IPアドレスを特定することにより、クライアント101が要求する処理を実行するサービスオブジェクトを決定する。
【0012】
例えば、サービスオブジェクト124,134が「関数A」を実行するのであれば、管理オブジェクト114は、サーバ121,131に共通のIPアドレスと、関数Aとの対応を示す情報を予め保持する。そして、ステップS171において「関数A」の要求があったときに、サーバ121,131に共通のIPアドレスを特定する。このIPアドレスを特定することにより、クライアント101が要求する処理(関数A)を実行するのはサービスオブジェクト124またはサービスオブジェクト134であると決定される。ただし、どちらのサービスオブジェクトがクライアント101から処理要求を受信するのかは、経路切替機140の状態によって定まる。
【0013】
続いて、管理オブジェクト114は、決定したサービスオブジェクトの情報をクライアント101に送信する(ステップS173)。管理オブジェクトは、サービスオブジェクトの情報として、ステップS172において特定したIPアドレスの情報をクライアント101に送信する。管理オブジェクト114は、IORを使ってIPアドレスを送信する。
【0014】
クライアント101は、IORの中からIPアドレスの情報を取り出し、サービスオブジェクトとのコネクションを確立する(ステップS174)。クライアント101は、TCP/IPのピア・ツー・ピア通信により、IPアドレスによって特定されるサーバ(サービスオブジェクト)とのコネクションを確立する。経路切替機140は、同一のIPアドレスを割り当てられた複数のサーバのうち、いずれか一つのみを通信ネットワーク150に接続するので、ステップS174では、経路切替機140によって接続されるサーバとの間でコネクションが確立される。例えば、図4に示す場合には、クライアント101とサーバ121との間でコネクションが確立される。続いて、クライアント101は、そのサーバ121に、要求する処理の情報を送信する(ステップS175)。
【0015】
サービスオブジェクト124が要求された処理を行っているときに、サーバ121に障害が生じたならば、クライアント101は、通信エラーを検出し、オペレータに出力する(ステップS176)。サーバ121の障害を確認したオペレータは、経路切替機140を操作し、通信ネットワーク150に接続するサーバをサーバ131に切り替える(ステップS177)。IIOPでは、このような切替を行う場合、クライアント101とサービスオブジェクト124との間のコネクションは破棄される。その後、クライアント101は、サービスオブジェクト134とのコネクションを確立し(ステップS178)、サービスオブジェクト134に処理を要求する。ステップS178において、通信システムは、ステップS171〜S174と同様の動作を行う。
【0016】
【発明が解決しようとする課題】
このようにクライアントとサーバとが通信を行っている間にサーバに障害が発生したならば、処理を行うサーバを切り替える。しかし、IIOPでは、一旦確保されたコネクションは、一連の処理を終えて通信が終了するまで利用されなければならず、コネクションを解放する前に経路を切り替えることになると、処理途中であってもクライアントとサーバとの間のコネクションは破棄される。そのため、サーバを切り替えたならば、再度コネクションを確立しなければならない。例えば、サーバ121に障害が発生し、サーバ131に切り替える場合、通信システムは、ステップS171〜S174と同様の処理を繰り返さなければならない。
【0017】
また、オペレータは、クライアント101が通信エラーを検出することによって、障害の発生を認識し、経路切替機140を操作する。しかし、通信エラーの発生はOS(Operating System)に依存するので、通信エラーの検出の可否や検出のタイミングは、OSに依存することになる。したがって、OSの種類によって、オペレータが障害の発生を認識するタイミングが遅れることがある。
【0018】
また最近は、障害により装置が停止すると業務に多大な支障を与えるようなシステムにもCORBAが適用されようとしている。例えば、銀行のATM(Automatic Teller's Machine)、企業内の受発注システム等にCORBAが適用されようとしている。このようなシステムでは、通信エラーの発生を契機にコネクションを再確立する必要のない通信システムを実現することが好ましい。
【0019】
また、従来の通信システムでは、ディスクのミラー装置等(図示せず。)によって各サーバ121,131のコンテンツ等の同一性を確保しているが、このような特別な機器を用いずに各サーバの同一性を確保できる方が好ましい。
【0020】
本発明は、サーバに障害が発生した場合であってもコネクションの破棄や再確立を行う必要がなく、また、応答時間等のパフォーマンスが低下しない分散オブジェクト環境に適用される通信システムおよび通信プログラムを提供することを目的とする。また、本発明は、特別な機器を用いなくても各サーバの内部状態やコンテンツ等の同一性を確保できる通信システムおよび通信プログラムを提供することを目的とする。
【0021】
【課題を解決するための手段】
本発明による分散オブジェクト環境に適用される通信システムは、処理を要求するクライアントと、前記クライアントからの要求に応じて処理を行う複数のサーバとを備え、前記クライアントおよび前記サーバには通信を行うオブジェクトが配置される分散オブジェクト環境に適用される通信システムであって、通信を行うオブジェクトが配置され、クライアントとサーバとの間の通信を中継する代理装置を備え、クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を代理装置に送信し、代理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理の情報を各サーバにブロードキャスト通信によって送信し、サーバから最初に受信した処理結果をクライアントに送信し、各サーバは、自装置に配置されるオブジェクトに従って、代理装置から受信する情報に基づいて同じ処理を行い、前記処理の処理結果を代理装置に送信することを特徴とする。
【0023】
また、通信を行うオブジェクトが配置され、クライアントが要求する各種処理と代理装置との対応関係を示す情報を予め保持する管理装置を備え、クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を管理装置に送信し、管理装置から受信する情報に基づいて定められる代理装置に、要求する処理の情報を送信し、管理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理に対応する代理装置を特定し、前記代理装置の情報をクライアントに送信する。
また、本発明による分散オブジェクト環境に適用される通信システムは、処理を要求するクライアントと、前記クライアントからの要求に応じて処理を行う複数のサーバとを備え、前記クライアントおよび前記サーバには通信を行うオブジェクトが配置される分散オブジェクト環境に適用される通信システムであって、通信を行うオブジェクトが配置され、クライアントとサーバとの間の通信を中継する代理装置と、通信を行うオブジェクトが配置され、クライアントが要求する各種処理と代理装置との対応関係を示す情報を予め保持する管理装置とを備え、クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を管理装置に送信し、管理装置から受信する情報に基づいて定められる代理装置に、要求する処理の情報を送信し、管理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理に対応する代理装置を特定し、前記代理装置の情報をクライアントに送信し、代理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理の情報を各サーバにブロードキャスト通信によって送信し、サーバから最初に受信した処理結果をクライアントに送信し、各サーバは、自装置に配置されるオブジェクトに従って、代理装置から受信する情報に基づいて処理を行い、前記処理の処理結果を代理装置に送信することを特徴とする。
【0024】
管理装置に配置されるオブジェクトは、共通オブジェクト・リクエスト・ブローカ・アーキテクチャに従って通信を行う
【0025】
管理装置は、各種処理と、処理を実行する複数のサーバにブロードキャスト通信を行う代理装置との対応関係を示す情報を予め保持する。
また、クライアント、サーバ、および代理装置に配置されるオブジェクトは、共通オブジェクト・リクエスト・ブローカ・アーキテクチャに従って通信を行う。
また、各サーバは、処理結果をブロードキャスト通信によって代理装置に送信する。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明による分散オブジェクト環境に適用される通信システムの実施の一形態を示すブロック図である。本例の通信システムでは、多重化された複数のサーバ21,31が通信ネットワーク50に接続される。すなわち、サーバ21,31は、同じ処理を行うことができる。なお、多重化されるサーバの台数は2台に限定されない。
【0028】
クライアント1、管理装置11、サーバ21,31、代理装置41は、通信ネットワーク50を介して相互に接続される。各サーバ21,31は、それぞれ独自のIPアドレスを割り当てられ、いずれも通信ネットワーク50に接続される。各装置の記憶装置3,13,23,33,43は、それぞれオブジェクト4、管理オブジェクト14、サービスオブジェクト24、34、代理オブジェクト44を保持する。各CPU2,12,22,32,42は、それぞれ記憶装置が記憶するプログラム(オブジェクト4,14,24,34,44)に従い処理を実行する。各装置のインタフェース部5,15,25,35,45は、通信ネットワーク50に接続され、他の装置と情報の送受信を行う。各オブジェクト4,14,24,34,44は、CORBAおよびIIOPに従って通信を行う。
サーバ21,31の内部状態やコンテンツ等は、同一である。
【0029】
また、クライアント1は、ユーザから指示が入力される入力装置(図示せず。)および情報を出力する出力装置(図示せず。)を備える。入力装置は、例えば、キーボードやマウス等であり、出力装置は、例えば、ディスプレイ装置である。
【0030】
クライアント1(オブジェクト4)は、ユーザから指示された処理の情報を代理オブジェクト44に送信する。サービスオブジェクト24,34は、クライアント1が要求する処理を実行する。
【0031】
代理オブジェクト44は、クライアント1と各サービスオブジェクト24,34との間で行われる処理要求および応答の通信を中継する。具体的には、代理オブジェクト44は、クライアント1が要求する処理の情報をクライアント1から受信して、その情報をブロードキャスト通信(broadcast通信)によって各サービスオブジェクト24,34に送信する。また、いずれかのサービスオブジェクトから処理結果を受信して、その処理結果をクライアント1に送信する。
【0032】
管理オブジェクト14は、クライアント1からの要求に応じて代理オブジェクト44を一意に定める。図1では、代理装置を1台のみ示しているが、代理装置の台数は複数であってもよい。
図2は、通信システムが複数の代理装置を備える場合の例を示す説明図である。サーバ56,57は多重化されたサーバであり、内部状態やコンテンツ等は同一である。また、サーバ21,31とサーバ56,57は異なる処理を行う。代理装置41,55がブロードキャスト通信を行うセグメントは予め定められ、各代理装置は、そのセグメント内のサービスオブジェクト(サーバ)に処理の要求を送信する。例えば、代理装置41は、サーバ21,31を含むセグメントにブロードキャスト通信を行い、代理装置55は、サーバ56,57を含むセグメントにブロードキャスト通信を行う。
【0033】
次に、動作について説明する。
図3は、クライアントが処理を要求し、サーバが要求された処理を実行する際の動作の一例を示す流れ図である。クライアント1は、ユーザの操作に基づき、要求する処理の情報を管理オブジェクト14に送信する(ステップS71)。ステップS71において、クライアント1は、要求する処理の情報の中に実行すべき関数名を含める。
【0034】
管理オブジェクト14は、ステップS71において関数名を含む情報を受信したならば、その関数を実行するサービスオブジェクトとクライアントとの間の通信を中継する代理オブジェクトを決定する(ステップS72)。管理オブジェクト14は、各処理(各関数)と、各代理装置との対応関係を示す情報を予め保持する。この情報は、各関数と各代理装置のIPアドレスとの対応関係を示す。管理オブジェクト14は、ステップS71において受信した情報から関数名を抽出し、その関数名に対応するIPアドレスを特定する。管理オブジェクト14は、代理装置のIPアドレスを特定することにより、代理オブジェクトを決定する。
【0035】
管理オブジェクト14が保持する関数とIPアドレスとの対応関係を示す情報について説明する。管理オブジェクト14は、各関数と、その関数を実行する複数のサーバにブロードキャスト通信を行う代理装置のIPアドレスとを対応させ、その対応関係を示す情報を保持する。例えば、サービスオブジェクト24,34が「関数A」を実行するのであれば、管理オブジェクト14は、サーバ21,31に対してブロードキャスト通信で処理を要求する代理装置41のIPアドレスと、「関数A」とを対応させて、その対応情報を保持する。そして、ステップS71において「関数A」の要求を受信したならば、関数Aに対応する代理装置41のIPアドレスを特定する。
【0036】
管理オブジェクト14は、ステップS72で決定した代理オブジェクト44の情報をクライアント1に送信する(ステップS73)。管理オブジェクト14は、代理オブジェクト44の情報として、ステップS72において特定したIPアドレスの情報をクライアント1に送信する。管理オブジェクト11は、IORを使ってIPアドレスを送信する。
【0037】
クライアント1は、IORの中から代理オブジェクト44(代理装置41)のIPアドレスの情報を取り出し、そのIPアドレスによって特定される代理オブジェクトとのコネクションを確立する(ステップS74)。クライアント1は、TCP/IPのピア・ツー・ピア通信により、代理オブジェクトとのコネクションを確立する。
【0038】
続いて、クライアント1は、要求する処理の情報を代理オブジェクト44に送信する(ステップS75)。ステップS75において送受信される情報では、送信元の情報としてクライアント1のIPアドレスが設定され、送信先の情報として代理装置41のIPアドレスが設定される。具体的には、送受信される情報のIPヘッダに、送信元の情報としてクライアント1のIPアドレスが書き込まれ、送信先の情報として代理装置41のIPアドレスが書き込まれる。また、IIOPにも送信元のアドレスが入れられる。
【0039】
代理オブジェクト44は、ステップS75において受信した、クライアント1が要求する処理の情報を、TCP/IPのブロードキャスト通信によって、各サービスオブジェクト24,34に送信する(ステップS76)。ブロードキャスト通信を行う際、代理オブジェクト44は、クライアント1から受信した情報の送信元および送信先の情報を変換し、各サービスオブジェクト24,34に送信する。すなわち、IPヘッダにおける送信元の情報をクライアント1のIPアドレスから、代理装置41のIPアドレスに変換し、送信先の情報を代理装置41のIPアドレスから、ブロードキャスト通信に用いるアドレスに変換する。また、IIOPに入っている送信元のアドレスも、クライアント1のアドレスから代理装置41のアドレスに変換する。
【0040】
ステップS76ではブロードキャスト通信を行うので、代理装置41は、一つのサービスオブジェクトにのみ処理を要求するのではなく、複数のサービスオブジェクト24,34に処理を要求する。なお、図3では、代理オブジェクト44がサービスオブジェクト24,34に処理を要求しているが、代理オブジェクト44が送信する情報は、サービスオブジェクト24,34だけでなく、同一セグメント内の他の装置にも送信される。
【0041】
サービスオブジェクト24,34は、それぞれ要求された処理を行う。この動作に伴い、サーバ21,31の内部状態やコンテンツは変化する。しかし、各サービスオブジェクト24,34は、ともに同じ処理要求に従って同一の処理を行うので、サーバ21,31の内部状態やコンテンツの変化の仕方は同一になる。
【0042】
サービスオブジェクト24,34は、それぞれ処理結果を代理装置41に送信する(ステップS77,S78)。各サービスオブジェクト24,34は、TCP/IPのブロードキャスト通信により、処理結果を送信する。各サービスオブジェクトが送信する情報のIPヘッダには、送信元の情報としてサーバのIPアドレスが書き込まれ、送信先の情報としてブロードキャスト通信に用いるアドレスが書き込まれる。また、IIOPにも送信元となるサーバのアドレスが入っている。なお、図3では、サービスオブジェクト24,34が代理オブジェクト44に情報を送信しているが、ブロードキャスト通信であるので、代理オブジェクト44だけでなく同一セグメント内の他の装置にも送信する。
【0043】
代理オブジェクト44は、各サービスオブジェクトから処理結果を受信し、最初に処理結果を受信した後に、その処理結果をクライアント1に送信する(ステップS79)。代理オブジェクト44は、TCP/IPのピア・ツー・ピア通信によって、処理結果をクライアント1に送信する。図3に示す例では、サービスオブジェクト24は、サービスオブジェクト34よりも先に処理結果を代理オブジェクト44に送信する。従って、ステップS76の後、最初に受信する処理結果は、サービスオブジェクト24が実行した処理の結果である。よって、代理オブジェクト44は、サービスオブジェクト24から処理結果を受信した後に、その処理結果をクライアント1に送信する。
【0044】
クライアント1に処理結果を送信する際、代理オブジェクト44は、サービスオブジェクト24から受信した情報の送信元および送信先の情報を変換し、クライアント1に送信する。すなわち、IPヘッダにおいて、送信元の情報をサーバ21のIPアドレスから、代理装置41のIPアドレスに変換し、送信先の情報をブロードキャスト通信に用いられたアドレスから、クライアント1のIPアドレスに変換する。また、IIOPに入っている送信元のアドレスも、サーバ21のアドレスからクライアント1のアドレスに変換する。
【0045】
サーバ21に障害が発生した場合、代理オブジェクト44は、サービスオブジェクト24から処理結果を受信できなくなる。この場合、サービスオブジェクト34からの処理結果が最初に受信する処理結果となる。したがって、代理オブジェクト44は、サービスオブジェクト34から受信した処理結果をクライアント1に送信する。一方、サーバ31に障害が発生した場合には、サービスオブジェクト24からの処理結果が最初に受信する処理結果となる。この場合、代理オブジェクト44は、サービスオブジェクト24から受信した処理結果をクライアント1に送信する。
【0046】
以上のように、本発明による通信システムでは、代理オブジェクト44が、多重化したサービスオブジェクト24,34に対して処理要求を送信し、最初に返送される処理結果をクライアント1に送信する。したがって、一部のサーバに障害が発生した場合であっても、他のサーバから処理結果を受信することができ、信頼性が向上する。
【0047】
そして、通信システム内で経路を切り替えなくても、障害が発生していないサーバから受信する処理結果をクライアント1に送信することができる。経路を切り替える必要がないので、一旦確立したコネクションを破棄して新たにコネクションを確立し直す必要がない。したがって、障害発生時の通信システムの動作を少なくすることができる。
【0048】
さらに、経路切替機が不要となり、クライアント1が障害発生に伴う通信エラーを認識して、経路切替機を操作する必要もなくなる。したがって、OSの種類によって、オペレータが障害の発生を認識するタイミングが遅れることがあるという問題が生じなくなる。
【0049】
また、本発明による通信システムでは、代理オブジェクト44が、同一の処理要求を各サービスオブジェクト24,34に送信し、各サービスオブジェクト24,34は同一の処理を行う。そのため、要求された動作に伴う各サーバ21,31の内部状態やコンテンツ等の変化の仕方は同一である。したがって、ディスクのミラー装置等の特別な機器を用いなくても、各サーバの内部状態等の同一性を保つことができる。
【0050】
また、一部のサーバに、代理オブジェクト44から要求された処理とは別の処理が発生し、代理オブジェクト44に対する応答時間がかかってしまう場合もある。しかし、このような場合であっても、代理オブジェクト44は、最初に受信した処理結果をクライアント1に送信する。したがって、一部のサービスオブジェクトの応答が遅れても、パフォーマンスの低下を防止することができる。
【0051】
【発明の効果】
本発明によれば、通信を行うオブジェクトが配置され、クライアントとサーバとの間の通信を中継する代理装置を備え、クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を代理装置に送信し、代理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理の情報を各サーバにブロードキャスト通信によって送信し、サーバから最初に受信した処理結果をクライアントに送信し、各サーバは、自装置に配置されるオブジェクトに従って、代理装置から受信する情報に基づいて同じ処理を行い、前記処理の処理結果を代理装置に送信する。また、通信を行うオブジェクトが配置され、クライアントとサーバとの間の通信を中継する代理装置と、通信を行うオブジェクトが配置され、クライアントが要求する各種処理と代理装置との対応関係を示す情報を予め保持する管理装置とを備え、クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を管理装置に送信し、管理装置から受信する情報に基づいて定められる代理装置に、要求する処理の情報を送信し、管理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理に対応する代理装置を特定し、前記代理装置の情報をクライアントに送信し、代理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理の情報を各サーバにブロードキャスト通信によって送信し、サーバから最初に受信した処理結果をクライアントに送信し、各サーバは、自装置に配置されるオブジェクトに従って、代理装置から受信する情報に基づいて処理を行い、前記処理の処理結果を代理装置に送信する。従って、一部のサーバに障害が発生した場合であっても、他のサーバから処理結果を受信することができる。そして、一旦確立したコネクションを破棄して新たにコネクションを確立する必要がないので、障害発生時の動作を少なくすることができ、また、障害発生時のパフォーマンスの低下を防止することができる。また、ディスクのミラー装置等を用いなくても、サーバのコンテンツ等の同一性を確保することができる。さらに、OSの種類によってオペレータが障害の発生を認識するタイミングが遅れることがあるという問題も解決することができる。
【図面の簡単な説明】
【図1】 本発明による分散オブジェクト環境に適用される通信システムの実施の一形態を示すブロック図である。
【図2】 通信システムが複数の代理装置を備える場合の例を示す説明図である。
【図3】 クライアントが処理を要求し、サーバが要求された処理を実行する際の動作の一例を示す流れ図である。
【図4】 従来の分散オブジェクト環境に適用される通信システムの一例を示すブロック図である。
【図5】 従来の通信システムにおいて、クライアントが処理を要求し、サーバが要求された処理を実行する際の動作の一例を示す流れ図である。
【符号の説明】
1 クライアント
2 CPU
3 記憶装置
4 オブジェクト
11 管理装置
12 CPU
13 記憶装置
14 管理オブジェクト
21,31 サーバ
22,32 CPU
23,33 記憶装置
24,34 サービスオブジェクト
41 代理装置
42 CPU
43 記憶装置
44 代理プロジェクト
50 通信ネットワーク
Claims (7)
- 処理を要求するクライアントと、前記クライアントからの要求に応じて処理を行う複数のサーバとを備え、前記クライアントおよび前記サーバには通信を行うオブジェクトが配置される分散オブジェクト環境に適用される通信システムであって、
通信を行うオブジェクトが配置され、クライアントとサーバとの間の通信を中継する代理装置を備え、
クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を代理装置に送信し、
代理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理の情報を各サーバにブロードキャスト通信によって送信し、サーバから最初に受信した処理結果をクライアントに送信し、
各サーバは、自装置に配置されるオブジェクトに従って、代理装置から受信する情報に基づいて同じ処理を行い、前記処理の処理結果を代理装置に送信する
ことを特徴とする分散オブジェクト環境に適用される通信システム。 - 通信を行うオブジェクトが配置され、クライアントが要求する各種処理と代理装置との対応関係を示す情報を予め保持する管理装置を備え、
クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を管理装置に送信し、管理装置から受信する情報に基づいて定められる代理装置に、要求する処理の情報を送信し、
管理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理に対応する代理装置を特定し、前記代理装置の情報をクライアントに送信する
請求項1記載の分散オブジェクト環境に適用される通信システム。 - 処理を要求するクライアントと、前記クライアントからの要求に応じて処理を行う複数のサーバとを備え、前記クライアントおよび前記サーバには通信を行うオブジェクトが配置される分散オブジェクト環境に適用される通信システムであって、
通信を行うオブジェクトが配置され、クライアントとサーバとの間の通信を中継する代理装置と、
通信を行うオブジェクトが配置され、クライアントが要求する各種処理と代理装置との対応関係を示す情報を予め保持する管理装置とを備え、
クライアントは、自装置に配置されるオブジェクトに従って、要求する処理の情報を管理装置に送信し、管理装置から受信する情報に基づいて定められる代理装置に、要求する処理の情報を送信し、
管理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理に対応する代理装置を特定し、前記代理装置の情報をクライアントに送信し、
代理装置は、自装置に配置されるオブジェクトに従って、クライアントが要求する処理の情報を各サーバにブロードキャスト通信によって送信し、サーバから最初に受信した処理結果をクライアントに送信し、
各サーバは、自装置に配置されるオブジェクトに従って、代理装置から受信する情報に基づいて処理を行い、前記処理の処理結果を代理装置に送信する
ことを特徴とする分散オブジェクト環境に適用される通信システム。 - 管理装置に配置されるオブジェクトは、共通オブジェクト・リクエスト・ブローカ・アーキテクチャに従って通信を行う
請求項2または請求項3記載の分散オブジェクト環境に適用される通信システム。 - 管理装置は、各種処理と、処理を実行する複数のサーバにブロードキャスト通信を行う代理装置との対応関係を示す情報を予め保持する
請求項2から請求項4のうちのいずれか1項に記載の分散オブジェクト環境に適用される通信システム。 - クライアント、サーバ、および代理装置に配置されるオブジェクトは、共通オブジェクト・リクエスト・ブローカ・アーキテクチャに従って通信を行う
請求項1から請求項5のうちのいずれか1項に記載の分散オブジェクト環境に適用される通信システム。 - 各サーバは、処理結果をブロードキャスト通信によって代理装置に送信する
請求項1から請求項6のうちのいずれか1項記載の分散オブジェクト環境に適用される通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001121656A JP3690303B2 (ja) | 2001-04-19 | 2001-04-19 | 分散オブジェクト環境に適用される通信システムおよび通信プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001121656A JP3690303B2 (ja) | 2001-04-19 | 2001-04-19 | 分散オブジェクト環境に適用される通信システムおよび通信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002318790A JP2002318790A (ja) | 2002-10-31 |
JP3690303B2 true JP3690303B2 (ja) | 2005-08-31 |
Family
ID=18971482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001121656A Expired - Fee Related JP3690303B2 (ja) | 2001-04-19 | 2001-04-19 | 分散オブジェクト環境に適用される通信システムおよび通信プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3690303B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101585146B1 (ko) | 2010-12-24 | 2016-01-14 | 주식회사 케이티 | 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체 |
JP2012185638A (ja) * | 2011-03-04 | 2012-09-27 | Kddi Corp | 負荷分散装置、負荷分散システム、負荷分散方法及び負荷分散プログラム |
CN110781824B (zh) * | 2019-10-25 | 2023-03-14 | 阿波罗智联(北京)科技有限公司 | 目标检测及跟踪方法、装置、电子设备及存储介质 |
-
2001
- 2001-04-19 JP JP2001121656A patent/JP3690303B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002318790A (ja) | 2002-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3932994B2 (ja) | サーバ引継システムおよびその方法 | |
US7929422B2 (en) | Method of moving a transport connection among network hosts | |
CN101557317B (zh) | 双机热备组网中实现会话主动备份的***、设备及方法 | |
US6963996B2 (en) | Session error recovery | |
JP3777302B2 (ja) | 通信振り分け制御装置、および通信振り分けプログラムを記憶した記憶媒体 | |
JP4087271B2 (ja) | 代理応答装置およびネットワークシステム | |
US20040177158A1 (en) | Network address translation techniques for selective network traffic diversion | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与*** | |
US20150373135A1 (en) | Wide area network optimization | |
TW200928777A (en) | Data processing method and apparatus based on cluster | |
CN101369987B (zh) | 一种建立通信通道的方法及装置 | |
JP3690303B2 (ja) | 分散オブジェクト環境に適用される通信システムおよび通信プログラム | |
JP3608905B2 (ja) | データ通信システム及びデータ通信方法 | |
CN107104892A (zh) | 网络加速的方法和装置 | |
JP4028627B2 (ja) | クライアントサーバシステムおよびクライアントサーバシステムの通信管理方法 | |
CN111641664A (zh) | 一种爬虫设备业务请求方法、装置和*** | |
JP3705121B2 (ja) | マルチプロセッサ型呼処理方式 | |
CN111935083B (zh) | 一种业务处理方法、装置、电子设备及存储介质 | |
JPH09311843A (ja) | クライアントサーバ型通信方法及びクライアントサーバ型通信装置 | |
JP2000295294A (ja) | ネットワークシステム及びネットワーク制御方法、信号送受信装置 | |
JP2804876B2 (ja) | 多重系装置を含むネットワークシステムの通信方法 | |
CN115277846A (zh) | 一种基于ice实现的动态数据分片发送*** | |
JP5121789B2 (ja) | データ伝送システム及びコンピュータ | |
JPH0764812A (ja) | デュアルコンピュータシステムの同期制御方法 | |
JP3152287B2 (ja) | ショートカット通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050606 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080624 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090624 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100624 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110624 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |