JP4123440B2 - Object-oriented network distributed computing system, load balancing apparatus and server thereof - Google Patents
Object-oriented network distributed computing system, load balancing apparatus and server thereof Download PDFInfo
- Publication number
- JP4123440B2 JP4123440B2 JP2004073531A JP2004073531A JP4123440B2 JP 4123440 B2 JP4123440 B2 JP 4123440B2 JP 2004073531 A JP2004073531 A JP 2004073531A JP 2004073531 A JP2004073531 A JP 2004073531A JP 4123440 B2 JP4123440 B2 JP 4123440B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- difference
- client
- request
- internal state
- 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
- 238000000034 method Methods 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 29
- 239000000284 extract Substances 0.000 claims description 5
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 46
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 4
- 230000003362 replicative effect Effects 0.000 description 4
- 230000010076 replication Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Description
本発明は、オブジェクト指向のネットワーク分散型コンピューティングシステムに関し、特に、障害等によるサーバ切り替えに要するオーバヘッドを最小限とするオブジェクト指向のネットワーク分散型コンピューティングシステム、負荷分散装置及びサーバに関する。 The present invention relates to an object-oriented network distributed computing system, and more particularly to an object-oriented network distributed computing system, a load distribution apparatus, and a server that minimize the overhead required for server switching due to a failure or the like.
オブジェクト指向のネットワーク分散型コンピューティングシステムにおけるサーバファームのように複数のサーバ上にサーバオブジェクトが存在する場合、1台のサーバがサーバオブジェクトの障害などで使用不能になった場合でも処理を継続してクライアントに対するサービスを提供する必要がる。 If a server object exists on multiple servers, such as a server farm in an object-oriented network-distributed computing system, continue processing even if one server becomes unavailable due to a server object failure, etc. You need to provide services to clients.
このような場合、代替サーバに切り替えることで処理の継続を実現しているが、従来では、代替サーバに切り替える際に、障害の発生したサーバのサーバオブジェクトを他の全てのサーバに対して複製するといったサーバ間の複製処理によって対処していた。 In such a case, continuation of processing is realized by switching to the alternative server, but conventionally, when switching to the alternative server, the server object of the failed server is replicated to all other servers. It was dealt with by replication processing between servers.
従来のネットワーク分散システムにおけるサーバ間におけるオブジェクトの複製に関する技術が、例えば特開平10−207849号公報(特許文献1)に開示されている。この特許文献1では、負荷の大きなサーバから負荷の小さなサーバに対して複製オブジェクトを移動することでサーバ切り替えによる負荷分散を行う方法が提案されている。
上記従来のサーバ間でサーバオブジェクトを複製する方式では、障害の発生したサーバのサーバオブジェクトを他の全てのサーバに対して複製する方式がとられているので、サーバの台数が多い場合、サーバオブジェクトの複製処理に手間と時間がかかると共にネットワーク負荷の増大等が発生することから、サーバオブジェクトの複製によるオーバヘッドが極めて大きくなるという問題点があった。 In the conventional method of replicating server objects between servers, the server object of a failed server is replicated to all other servers, so if there are many servers, the server object The duplication processing takes time and effort and increases the network load. Therefore, there is a problem that the overhead due to duplication of the server object becomes extremely large.
また、従来のサーバ間でサーバオブジェクトを複製する方式では、各サーバ毎にサーバオブジェクトの状態を管理する必要があるため、状態管理に手間がかかるといった問題点もある。 Further, in the conventional method of replicating server objects between servers, it is necessary to manage the state of the server object for each server, and there is a problem that it takes time to manage the state.
本発明の目的は、障害等によるサーバ切り替えに要するオーバヘッドを最小限とするオブジェクト指向のネットワーク分散型コンピューティングシステム、その負荷分散装置及びサーバを提供することにある。 An object of the present invention is to provide an object-oriented network distributed computing system that minimizes the overhead required for server switching due to a failure or the like, its load distribution apparatus, and server.
本発明の他の目的は、各サーバのサーバオブジェクトの状態管理が容易となるオブジェクト指向のネットワーク分散型コンピューティングシステム、その負荷分散装置及びサーバを提供することにある。 Another object of the present invention is to provide an object-oriented network-distributed computing system, a load balancer, and a server that can easily manage the state of server objects of each server.
上記目的を達成する本発明は、クライアントからのリクエストによりサーバに備えられるオブジェクトのメソッドを呼び出し、前記クライアントに対するサービスを提供するオブジェクト指向のネットワーク分散型コンピューティングシステムであって、前記クライアントとサーバ間でサーバ切り替えによる負荷分散を行う負荷分散装置に、前記サーバ上のオブジェクト毎に、前記メソッドの呼び出しにより生じる前記オブジェクトの内部状態の差分を蓄積し、前記サーバの代替サーバが、蓄積された前記差分に基づいてオブジェクトの内部状態を復元することを特徴とする。 The present invention that achieves the above object is an object-oriented network distributed computing system that calls a method of an object provided in a server in response to a request from a client and provides a service to the client, between the client and the server For each object on the server, the load balancer that performs load distribution by server switching accumulates the difference in the internal state of the object caused by the method invocation, and the server substitute server stores the difference in the accumulated difference. Based on this, the internal state of the object is restored.
請求項2によるオブジェクト指向のネットワーク分散型コンピューティングシステムでは、前記負荷分散装置が、前記サーバの切り替えに際し、元のサーバの前記オブジェクトに関する前記差分を結合して前記代替サーバに送り、前記代替サーバが、前記差分を受け取り前記オブジェクトの内部状態を復元することを特徴とする。 In the object-oriented network distributed computing system according to claim 2, the load balancer combines the differences regarding the object of the original server and sends the combined difference to the substitute server when the server is switched. , Receiving the difference and restoring the internal state of the object.
請求項3によるオブジェクト指向のネットワーク分散型コンピューティングシステムでは、前記サーバが、前記クライアントからのリクエストに対する応答メッセージに、前記メソッドの呼び出しにより生じる前記オブジェクトの内部状態の差分を付加して、前記負荷分散装置に送信することを特徴とする。 4. The object-oriented network distributed computing system according to claim 3, wherein the server adds a difference in the internal state of the object generated by the method call to a response message to the request from the client, and distributes the load. It transmits to an apparatus.
請求項4によるオブジェクト指向のネットワーク分散型コンピューティングシステムでは、前記負荷分散装置が、前記サーバからの応答メッセージに前記差分が付加されている場合に、前記差分を取り除いて、前記応答メッセージを前記クライアントに返却し、取り除いた前記差分を蓄積することを特徴とする。 5. The object-oriented network distributed computing system according to claim 4, wherein when the difference is added to a response message from the server, the load distribution apparatus removes the difference and sends the response message to the client. It is characterized in that the difference that has been returned to and removed is accumulated.
請求項5によるオブジェクト指向のネットワーク分散型コンピューティングシステムでは、前記負荷分散装置が、前記サーバの切り替えに際し、元のサーバの前記オブジェクトに関する前記差分を結合し、前記クライアントからのリクエストに差分情報として付加して、前記代替先のサーバに前記リクエストを転送し、前記代替先のサーバが、前記リクエストに前記差分情報が存在するかを判別し、前記差分情報が存在する場合に、当該差分情報を取り出して前記オブジェクトの内部状態を復元することを特徴とする。 6. The object-oriented network distributed computing system according to claim 5, wherein when the server is switched, the load balancer combines the differences related to the object of the original server and adds them as difference information to the request from the client. Then, the request is transferred to the substitution destination server, and the substitution destination server determines whether the difference information exists in the request. If the difference information exists, the difference information is extracted. The internal state of the object is restored.
請求項6によるオブジェクト指向のネットワーク分散型コンピューティングシステムでは、前記負荷分散装置は、前記クライアントとのセッションが切断された場合に、対応するサーバのセッションを切断し、当該サーバの前記オブジェクトに関する差分を破棄することを特徴とする。 In the object-oriented network distributed computing system according to claim 6, when the session with the client is disconnected, the load distribution device disconnects a session of the corresponding server, and calculates a difference regarding the object of the server. It is characterized by discarding.
また、他の本発明によれば、クライアントからのリクエストによりサーバに備えられるオブジェクトのメソッドを呼び出し、前記クライアントに対するサービスを提供するオブジェクト指向のネットワーク分散型コンピューティングシステムにおいて前記クライアントとサーバ間でサーバ切り替えによる負荷分散を行う負荷分散装置であって、前記サーバ上のオブジェクト毎に、前記メソッドの呼び出しにより生じる前記オブジェクトの内部状態の差分を蓄積し、前記サーバの前記代替サーバに対して、オブジェクトの内部状態を復元するために、前記差分を送信することを特徴とする。 According to another aspect of the present invention, server switching is performed between the client and server in an object-oriented network distributed computing system that calls a method of an object provided in the server in response to a request from the client and provides a service to the client. A load distribution device that performs load distribution according to the method, for each object on the server, accumulates a difference in the internal state of the object caused by the method call, and In order to restore the state, the difference is transmitted.
さらに他の本発明によれば、クライアントからのリクエストによりサーバに備えられるオブジェクトのメソッドを呼び出し、前記クライアントに対するサービスを提供するオブジェクト指向のネットワーク分散型コンピューティングシステムにおける前記サーバであって、前記クライアントとサーバ間でサーバ切り替えによる負荷分散を行う負荷分散装置に蓄積された、前記サーバ上のオブジェクト毎の前記メソッドの呼び出しにより生じる前記オブジェクトの内部状態の差分を受け取り、前記差分に基づいてオブジェクトの内部状態を復元することを特徴とする。 According to still another aspect of the present invention, the server in an object-oriented network distributed computing system that calls a method of an object provided in a server in response to a request from a client and provides a service to the client, Receives a difference in the internal state of the object generated by calling the method for each object on the server, accumulated in a load balancer that performs load balancing by server switching between servers, and based on the difference, the internal state of the object It is characterized by restoring.
本発明のオブジェクト指向のネットワーク分散型コンピューティングシステムによれば、以下の効果が達成される。 According to the object-oriented network distributed computing system of the present invention, the following effects are achieved.
第1に、サーバオブジェクトの状態復元を行なうためのオーバヘッドを最小とすることができる。従来のサーバ間のサーバオブジェクトの復元では複数のサーバ全てにサーバオブジェクトの復元を行う必要があるためにネットワークの負荷が増大していたが、本実施例では負荷分散装置20とサーバ31、32間でのみサーバオブジェクトの状態復元を行なうため、処理が簡単となりかつネットワークの負荷増大等も発生しないためである。
First, the overhead for restoring the state of the server object can be minimized. In the conventional restoration of server objects between servers, it is necessary to restore server objects to all of a plurality of servers, so that the load on the network has increased. In this embodiment, between the
第2に、各サーバのサーバオブジェクトの状態の管理が極めて容易となる。サーバ間でサーバオブジェクトの複製を行う従来の方法では、全てのサーバにサーバオブジェクトを複製するため、各サーバ毎にサーバオブジェクトを管理する必要があるが、本実施例では負荷分散装置20の差分保存部26でサーバオブジェクトの内部状態の復元に必要な差分情報を集中的に管理するようにしたためである。
Second, it becomes very easy to manage the state of the server object of each server. In the conventional method of replicating server objects between servers, server objects must be managed for each server in order to replicate server objects to all servers, but in this embodiment, the difference storage of the
以下、本発明の好適な実施例について図面を参照して詳細に説明する。
図1を参照すると、本発明の好適な実施例によるオブジェクト指向のネットワーク分散型コンピューティングシステムは、クライアント10と、負荷分散装置20、サーバ31、サーバ32から構成されている。ここでは、クライアント10と負荷分散装置20がネットワーク100で接続され、負荷分散装置20とサーバ31、32とがネットワーク200により互いに接続されている。
Preferred embodiments of the present invention will be described below in detail with reference to the drawings.
Referring to FIG. 1, an object-oriented network distributed computing system according to a preferred embodiment of the present invention includes a
図2は、クライアント10の内部構成を示すブロック図である。
FIG. 2 is a block diagram showing the internal configuration of the
図2において、クライアント10は、クライアントアプリケーション11と通信手段12とを備えている。
In FIG. 2, the
図3は、負荷分散装置20の内部構成を示すブロック図である。
FIG. 3 is a block diagram illustrating an internal configuration of the
図3において、負荷分散装置20は、通信手段21、負荷分散手段22、サーバ位置記憶部23、通信管理手段24、差分結合手段25、差分保存部26、通信手段27とを備えている。
In FIG. 3, the
図4は、サーバ31(サーバ32)の内部構成を示している。 FIG. 4 shows the internal configuration of the server 31 (server 32).
図4において、サーバ31(サーバ32)は、それぞれ通信手段311(通信手段321)、差分検出手段312(差分検出手段322)、サーバオブジェクト313(サーバオブジェクト323)、状態保存部314(状態保存部324)、差分復元手段315(差分復元手段325)を備えている。 In FIG. 4, the server 31 (server 32) includes a communication unit 311 (communication unit 321), a difference detection unit 312 (difference detection unit 322), a server object 313 (server object 323), and a state storage unit 314 (state storage unit). 324), a difference restoring means 315 (difference restoring means 325) is provided.
以下、それぞれの構成要素の機能について説明する。 Hereinafter, the function of each component will be described.
クライアントアプリケーション11は、クライアント10であるコンピュータ装置(CPU)上で実行され、サーバ31、32が有するサーバオブジェクト313、323に対してメソッドの実行をリクエストし、サーバ31、32から返されるメソッドの実行結果である応答メッセージを受け取る。
The
クライアント10の通信手段12と負荷分散装置20の通信手段21は、ネットワーク100上でクライアント10と負荷分散装置20が通信(データ送受信)を行うための機能を有している。また、サーバ31の通信手段311とサーバ32の通信手段321は、ネットワーク200を介して負荷分散装置20の通信手段21と通信を行う機能を有する。
The communication means 12 of the
負荷分散装置20の負荷分散手段22は、通信の開始時点でサーバ31と通信するのか、あるいはサーバ32と通信するのかを決定するための機能を有する。
The load distribution means 22 of the
サーバ位置記憶装置23は、負荷分散装置20が使用できるサーバの情報を記憶する。本実施例においては、サーバ31とサーバ32の情報が記録されている。
The server
通信管理手段24は、クライアント10が接続しているサーバを管理する機能を有する。
The
差分保存部26は、サーバ31、サーバ32から送信された差分情報を順次蓄積する。
The
この差分情報は、サーバ上のサーバオブジェクト毎に蓄積される。本実施例では、サーバ31とサーバ32のサーバオブジェクト313、323毎にその差分情報が蓄積される。ここで、差分情報とは、サーバ31又はサーバ32から送られるサーバオブジェクト313又はサーバオブジェクト323のデータの差分内容を示している。
This difference information is accumulated for each server object on the server. In this embodiment, the difference information is accumulated for each of the
例えば、各サーバにそれぞれ複数のサーバオブジェクトが備えられる構成の場合、上記差分情報は、サーバ毎ではなく個々のサーバオブジェクト毎に蓄積される。従って、どのサーバオブジェクトがどのサーバに存在するかを示す情報が、上記差分情報と共に対応付けて格納される。 For example, in a configuration in which each server is provided with a plurality of server objects, the difference information is accumulated for each individual server object, not for each server. Therefore, information indicating which server object exists in which server is stored in association with the difference information.
差分結合手段25は、差分保存部26に蓄積されている差分情報をサーバオブジェクト毎に結合することにより最新の状態を復元する機能を有する。
The
サーバ31とサーバ32のサーバオブジェクト313とサーバオブジェクト323は、ネットワーク分散コンピューティングにおいてサーバ上に格納されるオブジェクト指向のプログラムである。
The
このサーバオブジェクトの例としては、例えば、Java(R)をビジネスアプリケーションで活用する際にサーバ側に必要な機能をまとめたEnterprise Java(R)仕様によるEJB(Enterprise Java(R)Beans)等がある。 Examples of this server object include, for example, EJB (Enterprise Java (R) Beans) based on the Enterprise Java (R) specification that summarizes the functions required on the server side when utilizing Java (R) in business applications. .
サーバ31とサーバ32の状態保存部314及び状態保存部324は、それぞれのサーバオブジェクト313とサーバオブジェクト323の内部状態(サーバオブジェクトが扱うデータの内容)を保存する。
The
差分検出手段315(差分検出手段325)は、サーバオブジェクト313(サーバオブジェクト323)のメソッドの呼び出し前(実行前)と呼び出し後(実行後)のデータ内容について差分があるかどうを検出する機能を有する。 The difference detection unit 315 (difference detection unit 325) has a function of detecting whether there is a difference in data contents before (before execution) and after (after execution) the method of the server object 313 (server object 323). Have.
差分復元手段315(差分復元手段325)は、負荷分散装置20から受け取った差分情報を元にサーバオブジェクト313(サーバオブジェクト323)の内部状態(データ内容)を復元すると共に、その復元した内部状態を状態保存部314(状態保存部324)に格納する機能を有する。
The difference restoration means 315 (difference restoration means 325) restores the internal state (data content) of the server object 313 (server object 323) based on the difference information received from the
本実施例では、負荷分散装置20の差分検出手段312と差分結合手段25を使用することで、障害などでサーバの切り替えが行われた場合、差分復元手段325を用いて切り替え前のサーバのサーバオブジェクトの内部状態(データ内容)を切り替え後のサーバのサーバオブジェクトの内部状態(データ内容)として復元する。このようにして、サーバオブジェクトの動的復元を可能とする。
In this embodiment, when the server is switched due to a failure or the like by using the
上記クライアント10、負荷分散装置20及びサーバ31、32は、それぞれコンピュータ装置で実現される。これらの各機能は、ハードウェア的に実現することが可能であることは勿論として、ソフトウェア的に実現することも可能である。
The
クライアント10の通信手段12、負荷分散装置20の通信手段21、27、負荷分散手段22、通信管理手段24、差分結合手段25、サーバ31と32の通信手段311、321、差分検出手段312、322、差分復元手段315、325の各機能は、クライアント10、負荷分散装置20及びサーバ31、32を構成するプログラム制御可能なコンピュータ処理装置上で、各装置の機能を実現するプログラムをロードして実行しコンピュータの動作を制御することにより、各装置の固有の機能として実現できる。
Communication means 12 of the
次に、図1に示すように構成される本実施例の動作について、図5、図6及び図7のフローチャートを参照して説明する。 Next, the operation of the present embodiment configured as shown in FIG. 1 will be described with reference to the flowcharts of FIGS.
まず、サーバ31上でサーバオブジェクト313が起動すると、サーバオブジェクト313の初期の内部状態(サーバオブジェクトが扱うデータの内容)が状態保存部314に記録される。サーバ32についても予め起動しているため、サーバ31と同様にそのサーバオブジェクト323の初期の内部状態が状態保存部324に記録される。
First, when the
クライアントアプリケーション11が、サーバ(サーバ31又はサーバ32)のサーバ・オブジェクトに対してメソッド呼び出しを要求する場合、通信手段12から負荷分散装置20の通信手段21に対してリクエストを送信する。サーバオブジェクトのサービスを使用するクライアント10は、メソッドの呼び出しによって、サーバオブジェクトのデータにアクセスし、操作を実行する。
When the
図5のフローチャートを参照すると、負荷分散装置20の通信手段21にて、クライアント10からの上記リクエストを受信すると(ステップ501)、通信管理手段24は、サーバが割り当てられているかを判別し(ステップ502)、任意のサーバが割り当てられていない場合は、負荷分散手段22がサーバ位置記憶部23から任意のサーバを選択する(ステップ504)。ここでは、サーバ31が選択されたものとする。
Referring to the flowchart of FIG. 5, when the
サーバが選択されると、負荷分散装置20は、通信手段27を使用してサーバ31の通信手段311に対して通信手段21で受け取った上記リクエストを転送する(ステップ505)。
When the server is selected, the
ステップ502で、既にサーバが割り当てられている場合には、さらに、割り当てられているサーバの障害(サーバオブジェクトの障害)によるダウンあるいはサーバの高負荷に対する負荷分散のために負荷分散手段22によるサーバの切り替えが行われていない場合(ステップ503)、そのサーバに対して上記リクエストを転送する(ステップ505)。その後、当該サーバからの応答メッセージの受信を待つ(ステップ506)。
In
ステップ503でサーバの切り替えが行われている場合には、後述する図7に示す動作が実行される。
When the server is switched in
図6のフローチャートを参照すると、サーバ31の通信手段311で負荷分散装置20から転送されたリクエストを受け取ると(ステップ601)、差分復元手段315がそのリクエストに差分情報が含まれているかどうかを判断する(ステップ602)。
Referring to the flowchart of FIG. 6, when the request transferred from the
ステップ504でサーバの選択がなされた場合、最初のリクエストには差分情報は含まれていないため、差分情報の取り出し、サーバオブジェクトの内部状態の復元はなされず、そのままクライアント10からのリクエストに従ってサーバオブジェクト313のメソッドが呼び出される(ステップ603)。
When the server is selected in
サーバオブジェクト313のメソッドの処理が完了すると(ステップ604)、差分検出手段312が現在のサーバオブジェクト313の内部状態(データの内容)と状態保存部314に保持されている内部状態(データの内容)を比較して差分があるかどうを検出する(ステップ605)。
When the processing of the method of the
差分がある場合(ステップ606)は、差分検出手段312がその差分を抽出する。そして、通信手段311が抽出した当該差分を応答メッセージに差分情報として付加し(ステップ607)、負荷分散装置20の通信手段27に返却する(ステップ608)。
If there is a difference (step 606), the difference detection means 312 extracts the difference. Then, the difference extracted by the
負荷分散装置20の通信手段27は、サーバ31の通信手段311から送信された応答メッセージを受信する(ステップ506)。
The
通信管理手段24は、受信した応答メッセージに差分情報が付加されているかどうかを判定し(ステップ507)、付加されている場合には、差分情報を取り出し差分保存部26に格納する(ステップ508)。このように、サーバからの応答メッセージを受信する度に、付加されている差分情報が存在すれば、その差分情報を順次差分保存部26に蓄積していく。この差分情報の蓄積は、上述したようにサーバオブジェクト毎に対応付けて行われる。
The
通信手段21は、差分情報を取り除いた応答メッセージをクライアント10の通信手段12に返却する(ステップ509)。
The
クライアント10の通信手段12では、受信した応答メッセージをクライアントアプリケーション11に通知する。これにより、クライアント10によるサーバオブジェクトのメソッド呼び出しが終了する。
The communication means 12 of the
クライアント10からの2回目以降のリクエストについては、負荷分散装置20の通信手段21がリクエストを受信した場合、負荷管理手段24は、既にサーバ31とのコネクションが確立されているため、サーバの選択をすることなく(ステップ504)、サーバ31に対して1回目と同様に通信手段27によって当該リクエストを転送する(ステップ505)。
For the second and subsequent requests from the
その場合のサーバ31の動作は、上述した1回目の動作と同様であり差分情報を付加した応答メッセージを返却する(ステップ607、608)。負荷分散装置20は、応答メッセージから差分情報を取り出して差分保存部26に格納し(ステップ508)、応答メッセージをクライアント10に返却する(ステップ509)。
The operation of the
サーバ31が障害(サーバオブジェクトの障害)によりダウンした場合やサーバ31の高負荷により負荷分散のためのサーバの切換えが行われた場合(ステップ503)、負荷分散装置20では、以下の手順で動的にオブジェクトを復元する。
When the
負荷分散手段22によるサーバの切り替えが行われている場合(ステップ503)、通信管理手段24は、サーバ位置記憶装置23から新たなサーバ32を代替サーバとして選択する(ステップ701)。
When the server is switched by the load distribution means 22 (step 503), the communication management means 24 selects a
差分結合手段25は、差分保存部26に格納されている全ての差分情報(この場合は、サーバ31のサーバオブジェクト313に対応する差分情報)を結合することにより、新たに選択したサーバ32に送信する差分情報として復元する(ステップ702)。
The
通信手段27は、復元された差分情報をクライアント10からのリクエストに付加する(ステップ703)。その後、サーバ32の通信手段321に対して当該リクエストを送信する(ステップ505)。
The
サーバ切り替えにより選択された代替サーバとしてのサーバ32の差分復元手段322は、負荷分散装置20より受け取ったリクエストから付加されている差分情報を取り出し(ステップ609)、当該差分情報によってサーバオブジェクト323の内部状態(データ内容)を復元する(ステップ610)。また、復元した内部状態(データ内容)を自身の状態保存部324に記録する(ステップ611)。
The
そして、復元処理が完了した後、サーバオブジェクト323のメソッドの呼び出しを行う(ステップ603)。呼び出されたメソッドの処理が完了した後の応答メッセージの送信動作は、サーバ切り替えが行われない場合と同様であり、ステップ604からステップ608による動作が実行される。
Then, after the restoration process is completed, a method of the
また、負荷分散装置20の通信手段21が、クライアント10とのコネクションの切断を検出した場合、通信管理手段24は対応するサーバ31又は32へのコネクションを通信手段27を使用して切断する。その場合、差分保存部26に保存されているコネクションを切断したサーバのサーバオブジェクトに関する差分情報を全て消去して破棄する動作を行う。
When the
上述した本実施例によれば、次のような効果が得られる。 According to this embodiment described above, the following effects can be obtained.
従来のサーバ間のサーバオブジェクトの復元では複数のサーバ全てにサーバオブジェクトの復元を行う必要があるためにネットワークの負荷が増大していたが、本実施例では負荷分散装置20とサーバ31、32間でのみサーバオブジェクトの内部状態の復元を行なうため、処理が簡単となりかつネットワークの負荷増大等も発生せず、復元のためのオーバヘッドを最小とすることができる。
In the conventional restoration of server objects between servers, it is necessary to restore server objects to all of a plurality of servers, so that the load on the network has increased. In this embodiment, between the
また、サーバ間でサーバオブジェクトの複製を行う従来の方法では、全てのサーバにサーバオブジェクトを複製するため、各サーバ毎にサーバオブジェクトを管理する必要があるが、本実施例では負荷分散装置20の差分保存部26でサーバオブジェクトの内部状態の復元に必要な差分情報を集中的に管理するようにしたので、サーバオブジェクトの状態管理が極めて容易となる。
Further, in the conventional method of replicating server objects between servers, server objects must be managed for each server in order to replicate server objects to all servers. Since the
本発明の上記実施例では、2台のサーバ31、32を用いる場合について説明したが、サーバの数については複数であればこれに限定されない。クライアント10の数についても図示の構成に限定されず何台であってもよい。
In the above embodiment of the present invention, the case where two
負荷分散装置20が1台の場合を示したが、クラスタ構成において2台以上の負荷分散装置を備える構成であっても本発明を適用することができる。
Although the case of one
以上好ましい実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。 Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea.
10:クライアント
11:クライアントアプリケーション
12:通信手段
20:負荷分散装置
21、27:通信手段
22:負荷分散手段
23:サーバ位置記憶部
24:通信管理手段
25:差分結合手段
26:差分保存部
31、32:サーバ
311、321:通信手段
312、322:差分検出手段
313、323:サーバオブジェクト
314、324:状態保存部
315、325:差分復元手段
100、200:ネットワーク
DESCRIPTION OF SYMBOLS 10: Client 11: Client application 12: Communication means 20:
Claims (16)
前記クライアントとサーバ間でサーバ切り替えによる負荷分散を行う負荷分散装置に、前記サーバ上のオブジェクト毎に、前記メソッドの呼び出しにより生じる前記オブジェクトの内部状態の差分を蓄積し、
前記サーバの代替サーバが、蓄積された前記差分に基づいてオブジェクトの内部状態を復元することを特徴とするオブジェクト指向のネットワーク分散型コンピューティングシステム。 An object-oriented network distributed computing system that calls a method of an object provided in a server in response to a request from a client and provides a service to the client,
In the load balancer that performs load balancing by server switching between the client and the server, for each object on the server, accumulate the difference in the internal state of the object caused by calling the method,
An object-oriented network distributed computing system, wherein an alternative server of the server restores an internal state of an object based on the accumulated difference.
前記代替サーバが、
前記差分を受け取り前記オブジェクトの内部状態を復元することを特徴とする請求項1に記載のオブジェクト指向のネットワーク分散型コンピューティングシステム。 When the load balancer switches the server, it combines the difference regarding the object of the original server and sends it to the alternative server,
The alternative server is
The object-oriented network distributed computing system according to claim 1, wherein the difference is received and the internal state of the object is restored.
前記代替先のサーバが、前記リクエストに前記差分情報が存在するかを判別し、前記差分情報が存在する場合に、当該差分情報を取り出して前記オブジェクトの内部状態を復元することを特徴とする請求項1から請求項4の何れか1項に記載のオブジェクト指向のネットワーク分散型コンピューティングシステム。 When the load balancer switches the server, the difference relating to the object of the original server is combined, added as difference information to the request from the client, and the request is transferred to the alternative server,
The substitution server determines whether the difference information exists in the request, and if the difference information exists, extracts the difference information and restores the internal state of the object. The object-oriented network distributed computing system according to any one of claims 1 to 4.
前記サーバ上のオブジェクト毎に、前記メソッドの呼び出しにより生じる前記オブジェクトの内部状態の差分を蓄積し、
前記サーバの前記代替サーバに対して、オブジェクトの内部状態を復元するために、前記差分を送信することを特徴とする負荷分散装置。 A load distribution apparatus that performs load distribution by switching servers between the client and server in an object-oriented network distributed computing system that calls a method of an object provided in a server in response to a request from a client and provides a service to the client. And
For each object on the server, accumulate the difference in the internal state of the object caused by the method call,
The load distribution apparatus, wherein the difference is transmitted to the substitute server of the server to restore the internal state of the object.
前記クライアントとサーバ間でサーバ切り替えによる負荷分散を行う負荷分散装置に蓄積された、前記サーバ上のオブジェクト毎の前記メソッドの呼び出しにより生じる前記オブジェクトの内部状態の差分を受け取り、
前記差分に基づいてオブジェクトの内部状態を復元することを特徴とするサーバ。 The server in an object-oriented network distributed computing system that calls a method of an object provided in a server in response to a request from a client and provides a service to the client,
Receiving the difference in the internal state of the object generated by calling the method for each object on the server, accumulated in a load balancer that performs load balancing by server switching between the client and server;
A server that restores an internal state of an object based on the difference.
前記リクエストに前記差分情報が存在するかを判別し、前記差分情報が存在する場合に、当該差分情報を取り出して前記オブジェクトの内部状態を復元することを特徴とする請求項13から請求項15の何れか1項に記載のサーバ。 When the difference information obtained by combining the differences related to the object of the original server is added and transferred from the load balancer to the request from the client,
16. The method according to claim 13, wherein it is determined whether the difference information exists in the request, and when the difference information exists, the difference information is extracted to restore the internal state of the object. The server according to any one of the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004073531A JP4123440B2 (en) | 2004-03-15 | 2004-03-15 | Object-oriented network distributed computing system, load balancing apparatus and server thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004073531A JP4123440B2 (en) | 2004-03-15 | 2004-03-15 | Object-oriented network distributed computing system, load balancing apparatus and server thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005259080A JP2005259080A (en) | 2005-09-22 |
JP4123440B2 true JP4123440B2 (en) | 2008-07-23 |
Family
ID=35084697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004073531A Expired - Fee Related JP4123440B2 (en) | 2004-03-15 | 2004-03-15 | Object-oriented network distributed computing system, load balancing apparatus and server thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4123440B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008277948A (en) * | 2007-04-26 | 2008-11-13 | Olympus Corp | Network system |
JP5925167B2 (en) * | 2013-09-06 | 2016-05-25 | 東芝テック株式会社 | Server system and server device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235127A (en) * | 1995-02-28 | 1996-09-13 | Chugoku Nippon Denki Software Kk | Method and device for automatic load decentralization |
JPH09293059A (en) * | 1996-04-25 | 1997-11-11 | Hitachi Ltd | Distributed system and operation management method thereof |
JP3467750B2 (en) * | 1997-01-17 | 2003-11-17 | 日本電信電話株式会社 | Distributed object processing system |
JP3471717B2 (en) * | 2000-05-26 | 2003-12-02 | 中部日本電気ソフトウェア株式会社 | Nonstop online service system, method, and recording medium |
JP2002091936A (en) * | 2000-09-11 | 2002-03-29 | Hitachi Ltd | Load distribution device and load estimation method |
JP2002163241A (en) * | 2000-11-29 | 2002-06-07 | Ntt Data Corp | Client server system |
JP3730545B2 (en) * | 2001-08-16 | 2006-01-05 | 日本電信電話株式会社 | Service control application execution method and system |
-
2004
- 2004-03-15 JP JP2004073531A patent/JP4123440B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005259080A (en) | 2005-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7844851B2 (en) | System and method for protecting against failure through geo-redundancy in a SIP server | |
CN111615066B (en) | A broadcast-based distributed microservice registration and invocation method | |
US7518983B2 (en) | Proxy response apparatus | |
JP4616159B2 (en) | Cluster system, load balancer, node transfer method, and node transfer program | |
US7076691B1 (en) | Robust indication processing failure mode handling | |
US7409420B2 (en) | Method and apparatus for session replication and failover | |
US8775628B2 (en) | Load balancing for SIP services | |
EP2566135B1 (en) | Cloud-based mainframe integration system and method | |
JP4295089B2 (en) | Method and apparatus for session replication and failover | |
US20030014526A1 (en) | Hardware load-balancing apparatus for session replication | |
WO2004036344A2 (en) | System and method for the optimization of database | |
WO2007073429A2 (en) | Distributed and replicated sessions on computing grids | |
NZ544986A (en) | Self-managed mediated information flow | |
JP2014220675A (en) | Communication control system | |
US20160226963A1 (en) | Load balancing using predictable state partitioning | |
US7519855B2 (en) | Method and system for distributing data processing units in a communication network | |
CN112671554A (en) | Node fault processing method and related device | |
Nishimura et al. | Applying flexibility in scale-out-based web cloud to future telecommunication session control systems | |
JP4123440B2 (en) | Object-oriented network distributed computing system, load balancing apparatus and server thereof | |
CN114553704B (en) | A method and system for supporting simultaneous access of multiple devices to a server for capacity expansion and contraction | |
US20050198022A1 (en) | Apparatus and method using proxy objects for application resource management in a communication network | |
US11757987B2 (en) | Load balancing systems and methods | |
CN1725758A (en) | Method for synchronizing distributed systems | |
CN114390059A (en) | Service processing system and service processing method | |
JP2001216174A (en) | Application substitution method and storage medium storing application substitution program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070625 |
|
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: 20080410 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080423 |
|
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: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140516 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |