JPH11338836A - Load distribution system for computer network - Google Patents

Load distribution system for computer network

Info

Publication number
JPH11338836A
JPH11338836A JP10142655A JP14265598A JPH11338836A JP H11338836 A JPH11338836 A JP H11338836A JP 10142655 A JP10142655 A JP 10142655A JP 14265598 A JP14265598 A JP 14265598A JP H11338836 A JPH11338836 A JP H11338836A
Authority
JP
Japan
Prior art keywords
server
node
load
nodes
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.)
Pending
Application number
JP10142655A
Other languages
Japanese (ja)
Inventor
Minoru Katayama
穣 片山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10142655A priority Critical patent/JPH11338836A/en
Publication of JPH11338836A publication Critical patent/JPH11338836A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve responsiveness to a service request from a client to a server. SOLUTION: This system is provided with a load monitoring means 21 by nodes for detecting the respective load levels of plural server nodes, optimum server retrieving means 40 for identifying the optimum server node based on the detected levels of loads out of plural server nodes, to which servers 22 and 23 capable of executing the service requested from a client node are connected, while grasping the kind of the service provided by the respective plural server nodes and the levels of the loads of respective server nodes detected by the load monitoring means 21 by nodes, and repeating control means 30 for repeating the service request from the client node to servers 22 and 23 and selectively sending the service request from the client node to the optimum server node.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のサーバノー
ドとクライアントノードとが形成され、前記複数のサー
バノードのそれぞれには少なくとも1つのサーバが接続
されたコンピュータネットワークの負荷分散システムに
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a load distribution system for a computer network in which a plurality of server nodes and client nodes are formed, and at least one server is connected to each of the plurality of server nodes.

【0002】[0002]

【従来の技術】例えば、ユーザが要求するアプリケーシ
ョンプログラムを実行可能なサーバが複数接続されたコ
ンピュータネットワークにおいては、ユーザの要求に応
じてアプリケーションプログラムを実行するサーバを適
宜選別することにより、サーバの負荷を分散させること
ができる。
2. Description of the Related Art For example, in a computer network to which a plurality of servers capable of executing an application program requested by a user are connected, a server which executes the application program is appropriately selected in accordance with a request of the user to thereby load the server. Can be dispersed.

【0003】特定のサーバに処理が集中し前記サーバの
負荷が過大になると、処理に遅延が生じるのでサービス
のリアルタイム性が失われる。ユーザの要求に応じて実
行される様々なサービスを複数のサーバに適当に分散さ
せることにより、処理の集中を防止し、サービスの遅延
を避けることができる。従来のコンピュータネットワー
クの負荷分散システムは、図7に示すように構成されて
いる。このコンピュータネットワークは、複数のクライ
アントノードと複数のサーバノードとで構成されてい
る。各々のサーバノードには、それの負荷レベルを計測
して管理する自ノード負荷情報管理モジュールが設けら
れ、各々のクライアントノードには、各サーバノードの
負荷レベルを収集して管理する他ノード負荷情報管理モ
ジュールが設けられる。
If the processing is concentrated on a specific server and the load on the server becomes excessive, the processing is delayed and the real-time service is lost. By appropriately distributing various services executed in response to a user's request to a plurality of servers, it is possible to prevent processing concentration and avoid service delay. A conventional computer network load balancing system is configured as shown in FIG. This computer network includes a plurality of client nodes and a plurality of server nodes. Each server node has its own node load information management module that measures and manages its load level, and each client node has other node load information that collects and manages the load level of each server node. A management module is provided.

【0004】各々のクライアントノードの他ノード負荷
情報管理モジュールは、全てのサーバノードで検出され
た負荷レベルのデータをそれぞれ受け取って、負荷の小
さいサーバノードを検出するために利用する。
[0004] The other node load information management module of each client node receives load level data detected by all server nodes, respectively, and uses it to detect a server node with a small load.

【0005】[0005]

【発明が解決しようとする課題】従来のコンピュータネ
ットワークの負荷分散システムにおいては、それぞれの
サーバノードは、全てのクライアントノードに対して自
ノードの負荷レベルのデータを通知する必要がある。従
って、クライアントノード数の増大に伴って、サーバノ
ードの負荷とネットワークの負荷が重くなってしまう。
In a conventional computer network load distribution system, each server node needs to notify all client nodes of the load level data of the own node. Therefore, as the number of client nodes increases, the load on the server node and the load on the network increase.

【0006】サーバノードとクライアントノードとの間
では、所定の時間間隔で定期的に負荷レベルのデータが
転送される。この時間間隔が比較的大きい場合には、制
御の遅れが生じる可能性がある。例えば、サーバノード
の負荷レベルが急速に上昇すると、負荷の増大をクライ
アントノードが認識する前にサーバノードの負荷が過大
になり、負荷が過大なサーバノードに対して更にサービ
スを割り当てるため処理の遅延が発生する。
[0006] Load level data is periodically transferred between the server node and the client node at predetermined time intervals. If the time interval is relatively large, control delay may occur. For example, if the load level of the server node rises rapidly, the load on the server node becomes excessive before the client node recognizes the increase in load, and processing is delayed because more service is allocated to the server node with excessive load. Occurs.

【0007】ところで、ローカルエリアネットワーク
(LAN)などのドメインを複数接続したコンピュータ
ネットワークにおいては、互いに異なるドメインに属す
るサーバノードも利用できる。しかし、一般にドメイン
間では通信経路の距離が長いので、通信所要時間が長く
なる。負荷の大きさだけを考慮して他のドメインに属す
るサーバノードを利用すると、サーバノードからの応答
時間が遅くなり、応答までの時間の予測もできない場合
が多い。
In a computer network in which a plurality of domains such as a local area network (LAN) are connected, server nodes belonging to different domains can be used. However, since the distance of the communication path between the domains is generally long, the required communication time is long. If a server node belonging to another domain is used in consideration of only the magnitude of the load, the response time from the server node becomes slow, and it is often impossible to predict the time until the response.

【0008】人とノードとの間でインタラクティブな処
理が行われるアプリケーションに対しては、サービスを
提供するサーバに対して数秒から数十秒程度の応答性が
必要とされる。本発明は、コンピュータネットワークの
負荷分散システムにおいて、クライアントからサーバへ
のサービス要求に対する応答性を改善することを目的と
する。
[0008] For an application in which an interactive process is performed between a person and a node, a responsiveness of several seconds to several tens of seconds is required for a server that provides a service. An object of the present invention is to improve responsiveness to a service request from a client to a server in a load distribution system of a computer network.

【0009】[0009]

【課題を解決するための手段】請求項1のコンピュータ
ネットワークの負荷分散システムは、複数のサーバノー
ドとクライアントノードとが形成され、前記複数のサー
バノードのそれぞれには少なくとも1つのサーバが接続
されたコンピュータネットワークの負荷分散システムに
おいて、前記複数のサーバノードのそれぞれについて負
荷のレベルを検出するノード別負荷監視手段と、前記複
数のサーバノードのそれぞれが提供するサービスの種類
及び前記ノード別負荷監視手段が検出した各サーバノー
ドの負荷のレベルを把握して、前記クライアントノード
から要求されるサービスを実行可能なサーバが接続され
た複数のサーバノードの中から、検出された負荷のレベ
ルに基づいて最適サーバノードを識別する最適サーバ検
索手段と、前記クライアントノードからサーバへのサー
ビス要求を中継するとともに、前記最適サーバ検索手段
が識別した最適サーバノードに対して選択的に前記クラ
イアントノードからのサービス要求を送出する中継制御
手段とを設けたことを特徴とする。
According to a first aspect of the present invention, there is provided a load distribution system for a computer network, wherein a plurality of server nodes and a client node are formed, and at least one server is connected to each of the plurality of server nodes. In a load distribution system for a computer network, a node-by-node load monitoring unit that detects a load level for each of the plurality of server nodes, a type of service provided by each of the plurality of server nodes, and the node-by-node load monitoring unit include: By grasping the detected load level of each server node, an optimal server is selected from a plurality of server nodes to which a server capable of executing the service requested by the client node is connected, based on the detected load level. An optimal server search means for identifying a node; Relay control means for relaying a service request from the client node to the server and selectively transmitting a service request from the client node to the optimum server node identified by the optimum server search means. And

【0010】ノード別負荷監視手段は、複数のサーバノ
ードのそれぞれについて負荷のレベルを検出する。最適
サーバ検索手段は、複数のサーバノードのそれぞれが提
供するサービスの種類及び前記ノード別負荷監視手段が
検出した各サーバノードの負荷のレベルを把握して、前
記クライアントノードから要求されるサービスを実行可
能なサーバが接続された複数サーバノードの中から、検
出された負荷のレベルに基づいて、例えば負荷のレベル
が最小の最適サーバノードを識別する。
The node-specific load monitoring means detects a load level for each of the plurality of server nodes. The optimum server searching means executes the service requested by the client node by grasping the type of service provided by each of the plurality of server nodes and the load level of each server node detected by the node-specific load monitoring means. Based on the detected load level, for example, an optimum server node with the lowest load level is identified from among the plurality of server nodes to which the possible servers are connected.

【0011】中継制御手段は、クライアントノードから
サーバへのサービス要求を中継するとともに、前記最適
サーバ検索手段が識別した最適サーバノードに対して選
択的に前記クライアントノードからのサービス要求を送
出する。本発明においては、各サーバノードの負荷のレ
ベルが最適サーバ検索手段によって集中的に管理される
ので、各サーバノードはクライアントノードに対して負
荷レベルのデータを通知する必要がない。従って、クラ
イアントノード数が増大しても、負荷レベルのデータの
通知のために各サーバノードの処理が増大することがな
く、ネットワーク上のトラヒックも増大しない。
The relay control means relays a service request from the client node to the server, and selectively sends a service request from the client node to the optimum server node identified by the optimum server search means. In the present invention, since the load level of each server node is centrally managed by the optimum server searching means, each server node does not need to notify the client node of load level data. Therefore, even if the number of client nodes increases, the processing of each server node for notifying the data of the load level does not increase, and the traffic on the network does not increase.

【0012】また、検出された負荷のレベルが最小のサ
ーバノードに対して選択的に前記クライアントノードか
らのサービス要求を送出するので、このサービス要求に
対して高い応答性が得られる。請求項2は、請求項1記
載のコンピュータネットワークの負荷分散システムにお
いて、所定時間内に所定以上の負荷の増大が検出された
サーバノードに対しては、前記クライアントノードから
サーバへのサービスの割り当てを一時的に禁止する割り
当て制御手段を設けたことを特徴とする。
Further, since a service request from the client node is selectively transmitted to the server node having the detected minimum load level, high responsiveness to the service request can be obtained. According to a second aspect of the present invention, in the load distribution system of the computer network according to the first aspect, a service is allocated from the client node to the server for a server node in which an increase in load of a predetermined level or more is detected within a predetermined time. The present invention is characterized in that an assignment control means for temporarily prohibiting is provided.

【0013】ノード別負荷監視手段から最適サーバ検索
手段に対して負荷のレベルを通知する時間間隔が比較的
大きい場合には、サーバノードの負荷レベルが急速に上
昇すると、負荷の増大を最適サーバ検索手段が認識する
前にサーバノードの負荷が過大になり、負荷が過大なサ
ーバノードに対して更にサービスを割り当てる可能性が
ある。また、負荷のレベルを通知する時間間隔を小さく
すると、その処理に要する負担やネットワークのトラヒ
ックが増大する。
In a case where the time interval for notifying the optimum server searching means of the load level from the node-specific load monitoring means is relatively large, if the load level of the server node rises rapidly, the increase in the load is determined by the optimum server searching. There is a possibility that the load on the server node becomes excessive before the means is recognized, and further service is allocated to the server node with the excessive load. Further, if the time interval for notifying the load level is reduced, the load required for the processing and the network traffic increase.

【0014】割り当て制御手段は、所定時間内に所定以
上の負荷の増大が検出されたサーバノードに対しては、
前記クライアントノードからサーバへのサービスの割り
当てを一時的に禁止する。従って、負荷レベルが上昇傾
向にあり、負荷レベルが過大になる可能性の高いサーバ
ノードに対しては、負荷レベルが過大になる前にサービ
スの割り当てが禁止される。
[0014] The allocation control means, for a server node in which an increase in load over a predetermined time within a predetermined time is detected,
The assignment of the service from the client node to the server is temporarily prohibited. Therefore, service allocation is prohibited before the load level becomes excessive for a server node whose load level tends to increase and the load level is likely to become excessive.

【0015】このため、ノード別負荷監視手段から最適
サーバ検索手段に対して負荷のレベルを通知する時間間
隔が比較的大きい場合であっても、負荷が過大なサーバ
ノードに対してサービスを割り当てることを未然に防止
できる。請求項3は、請求項2記載のコンピュータネッ
トワークの負荷分散システムにおいて、前記割り当て制
御手段が、所定時間内に所定以上の負荷の増大が検出さ
れたサーバノードについては、前記ノード別負荷監視手
段が検出したサーバノードの負荷のレベルを予め定めた
最大値に強制的に変更することを特徴とする。
For this reason, even if the time interval at which the load monitoring means for each node notifies the optimum server search means of the load level is relatively large, the service is allocated to the server node having an excessive load. Can be prevented beforehand. According to a third aspect of the present invention, in the load distribution system of the computer network according to the second aspect, the assignment control unit determines that the node-specific load monitoring unit determines that the server node detects an increase in load of a predetermined level or more within a predetermined time period. The load level of the detected server node is forcibly changed to a predetermined maximum value.

【0016】所定時間内に所定以上の負荷の増大が検出
されたサーバノードについては、前記ノード別負荷監視
手段から最適サーバ検索手段に通知される負荷のレベル
が最大値、すなわち過大レベルになるため、負荷が急速
に上昇するサーバノードが最適サーバとして認識される
ことがなくなる。請求項4のコンピュータネットワーク
の負荷分散システムは、複数のドメインで構成され、各
々のドメインには複数のサーバノードとクライアントノ
ードとが形成され、前記複数のサーバノードのそれぞれ
には少なくとも1つのサーバが接続されたコンピュータ
ネットワークの負荷分散システムにおいて、前記複数の
サーバノードのそれぞれについて負荷のレベルを検出す
るノード別負荷監視手段と、複数ドメインの間の通信に
かかる第1の通信所要時間及び各ドメイン内の所定位置
と各サーバノードとの間の通信にかかる第2の通信所要
時間を検出する通信時間検出手段と、複数ドメインの前
記複数のサーバノードのそれぞれが提供するサービスの
種類,前記ノード別負荷監視手段が検出した各サーバノ
ードの負荷のレベル,前記通信時間検出手段が検出した
第1の通信所要時間及び第2の通信所要時間に基づい
て、前記クライアントノードから要求されるサービスを
実行可能なサーバが接続されたサーバノードの中から1
つのサーバノードを最適サーバノードとして識別する最
適サーバ検索手段と、前記クライアントノードからサー
バへのサービス要求を中継するとともに、前記最適サー
バ検索手段が識別した最適サーバノードに対して選択的
に前記クライアントノードからのサービス要求を送出す
る中継制御手段とを設けたことを特徴とする。
For a server node in which an increase in load by a predetermined amount or more is detected within a predetermined time, the load level notified from the node-specific load monitoring means to the optimum server searching means becomes a maximum value, that is, an excessive level. Thus, a server node whose load increases rapidly is not recognized as an optimal server. The load distribution system for a computer network according to claim 4 includes a plurality of domains, each domain including a plurality of server nodes and a client node, and each of the plurality of server nodes includes at least one server. In a load distribution system of a connected computer network, a node-by-node load monitoring means for detecting a load level of each of the plurality of server nodes, a first communication time required for communication between a plurality of domains, and Communication time detecting means for detecting a second communication required time required for communication between a predetermined position and each server node, a type of service provided by each of the plurality of server nodes in a plurality of domains, and a load for each node. The load level of each server node detected by the monitoring means, and the communication time Based on the first communication required time detecting means has detected and a second time required for communications, from among the server nodes executable server service requested by the client nodes are connected 1
Optimal server search means for identifying one server node as an optimal server node, and a client node for relaying a service request from the client node to the server, and selectively for the optimal server node identified by the optimal server search means. And a relay control unit for transmitting a service request from the server.

【0017】ノード別負荷監視手段は、複数のサーバノ
ードのそれぞれについて負荷のレベルを検出する。通信
時間検出手段は、複数ドメインの間の通信にかかる第1
の通信所要時間及び各ドメイン内の所定位置と各サーバ
ノードとの間の通信にかかる第2の通信所要時間を検出
する。最適サーバ検索手段は、複数ドメインの前記複数
のサーバノードのそれぞれが提供するサービスの種類,
前記ノード別負荷監視手段が検出した各サーバノードの
負荷のレベル,前記通信時間検出手段が検出した第1の
通信所要時間及び第2の通信所要時間に基づいて、前記
クライアントノードから要求されるサービスを実行可能
なサーバが接続されたサーバノードの中から1つのサー
バノードを最適サーバノードとして識別する。
The node-specific load monitoring means detects a load level for each of the plurality of server nodes. The communication time detecting means is a communication time detecting means for performing communication between a plurality of domains.
And a second communication time required for communication between a predetermined position in each domain and each server node. The optimum server searching means includes: a type of service provided by each of the plurality of server nodes in a plurality of domains;
A service requested by the client node based on a load level of each server node detected by the node-specific load monitoring means and a first communication required time and a second communication required time detected by the communication time detecting means. Is identified as an optimal server node from among the server nodes to which the server capable of executing is connected.

【0018】中継制御手段は、前記クライアントノード
からサーバへのサービス要求を中継するとともに、前記
最適サーバ検索手段が識別した最適サーバノードに対し
て選択的に前記クライアントノードからのサービス要求
を送出する。最適サーバ検索手段は、ネットワークに接
続された複数ドメインの中から最適サーバノードを識別
するので、サービスを要求するクライアントノードと同
一のドメイン内に負荷の小さいサーバノードが存在しな
い場合には、他のドメインに属する負荷の小さいサーバ
ノードに対してサービスを割り当てることができる。
The relay control means relays a service request from the client node to the server, and selectively sends a service request from the client node to the optimum server node identified by the optimum server search means. The optimal server search means identifies the optimal server node from a plurality of domains connected to the network. Therefore, if there is no server node with a small load in the same domain as the client node requesting the service, another optimal server node searches for the optimal server node. A service can be assigned to a server node with a small load belonging to a domain.

【0019】また、最適サーバ検索手段は、各サーバノ
ードの負荷のレベルだけでなく、前記第1の通信所要時
間及び第2の通信所要時間を考慮して最適サーバノード
を識別するので、クライアントノードから距離の離れた
ドメインに属するサーバノードについては、負荷のレベ
ルが小さくても頻繁にサービスを割り当てることはな
い。
The optimum server searching means identifies the optimum server node in consideration of not only the load level of each server node but also the first communication required time and the second communication required time. The service is not frequently assigned to server nodes belonging to a domain far away from even if the load level is small.

【0020】つまり、負荷のレベルが同一であれば、ク
ライアントノードに最も近いドメインに属するサーバノ
ードに優先的にサービスを割り当てることができるの
で、効率的に負荷を分散できる。請求項5は、請求項4
記載のコンピュータネットワークの負荷分散システムに
おいて、各ドメイン内の前記中継制御手段と各サーバノ
ードとの間の通信経路の距離をほぼ同一に定め、前記通
信時間検出手段が、前記中継制御手段と各サーバノード
との間で実際に伝送された信号の往復所要時間に基づい
て前記第2の通信所要時間を検出することを特徴とす
る。
That is, if the load level is the same, the service can be preferentially assigned to the server node belonging to the domain closest to the client node, so that the load can be efficiently distributed. Claim 5 is Claim 4
In the load distribution system of a computer network described in the above, the distance of a communication path between the relay control means and each server node in each domain is set to be substantially the same, and the communication time detecting means is provided with the relay control means and each server. The second communication required time is detected based on a required round-trip time of a signal actually transmitted to and from the node.

【0021】通信時間検出手段は、前記中継制御手段と
各サーバノードとの間で実際に伝送された信号の往復所
要時間に基づいて前記第2の通信所要時間を検出する。
各ドメイン内の前記中継制御手段と各サーバノードとの
間の通信経路の距離がほぼ同一であるため、基本的に同
一ドメイン内では各サーバノードの通信時間には差が生
じない。従って、同一ドメイン内の第2の通信所要時間
に含まれる誤差は、最適サーバノードの識別に悪影響を
及ぼさない。
The communication time detecting means detects the second required communication time based on the required round-trip time of a signal actually transmitted between the relay control means and each server node.
Since the distance of the communication path between the relay control means and each server node in each domain is almost the same, there is basically no difference in the communication time of each server node in the same domain. Therefore, the error included in the second communication required time in the same domain does not adversely affect the identification of the optimal server node.

【0022】[0022]

【発明の実施の形態】実施の形態の負荷分散システムの
構成及び動作を図1〜図6に示す。この形態は全ての請
求項に対応する。図1はこの形態の負荷分散システムを
備えるコンピュータネットワークの1ドメインの構成例
を示すブロック図である。図2はこの形態の負荷分散シ
ステムを備えるコンピュータネットワークの2ドメイン
の構成例を示すブロック図である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The configuration and operation of a load distribution system according to an embodiment are shown in FIGS. This form corresponds to all claims. FIG. 1 is a block diagram showing a configuration example of one domain of a computer network including the load distribution system of this embodiment. FIG. 2 is a block diagram showing a configuration example of two domains of a computer network including the load distribution system of this embodiment.

【0023】図3は自ノード負荷情報管理モジュールの
負荷通知処理の内容を示すフローチャートである。図4
は最適サーバ検索モジュールの検索処理の内容を示すフ
ローチャートである。図5はドメイン内の距離測定処理
の内容を示すフローチャートである。図6はドメイン間
の距離測定処理の内容を示すフローチャートである。こ
の形態では、請求項1のノード別負荷監視手段,最適サ
ーバ検索手段及び中継制御手段は、それぞれ自ノード負
荷情報管理モジュール21,管理ノード40及び中継装
置30に対応する。
FIG. 3 is a flowchart showing the contents of the load notification processing of the own node load information management module. FIG.
Is a flowchart showing the content of the search processing of the optimum server search module. FIG. 5 is a flowchart showing the contents of the distance measurement processing in the domain. FIG. 6 is a flowchart showing the content of the distance measurement process between domains. In this embodiment, the node-by-node load monitoring means, the optimum server searching means, and the relay control means correspond to the own node load information management module 21, the management node 40, and the relay device 30, respectively.

【0024】請求項2及び請求項3の割り当て制御手段
は、自ノード負荷情報管理モジュール21に対応する。
請求項4のノード別負荷監視手段,通信時間検出手段,
最適サーバ検索手段及び中継制御手段は、それぞれ自ノ
ード負荷情報管理モジュール21,自ノード負荷情報管
理モジュール21,管理ノード40及び中継装置30に
対応する。
The assignment control means according to claims 2 and 3 corresponds to the own node load information management module 21.
The node-specific load monitoring means, the communication time detecting means according to claim 4,
The optimum server search means and the relay control means correspond to the own node load information management module 21, the own node load information management module 21, the management node 40, and the relay device 30, respectively.

【0025】本発明の負荷分散システムは、図1及び図
2に示すようなコンピュータネットワークで実施され
る。この種のコンピュータネットワークは、図1に示す
ような1つのドメイン50(A)だけで構成される場合
と、図2に示すように互いに通信可能な2つ以上のドメ
イン50(A),50(B),・・で構成される場合とがあ
る。図1及び図2においては、各構成要素の符号に付加
した括弧内の記号A,Bでそれが属するドメインの区分
を表し、同様に括弧内の番号1,2,3によってノード
の区分を表す。以下の説明においても、必要に応じてこ
れらの区分を各構成要素の符号に付けて示す。
The load distribution system of the present invention is implemented in a computer network as shown in FIGS. This type of computer network is composed of only one domain 50 (A) as shown in FIG. 1, or two or more domains 50 (A) and 50 () which can communicate with each other as shown in FIG. B), in some cases. In FIGS. 1 and 2, the symbols A and B in parentheses added to the reference numerals of the respective constituent elements indicate the domains to which they belong, and similarly, the numbers 1, 2, and 3 in parentheses indicate the nodes. . In the following description, these sections will be denoted by reference numerals of the respective constituent elements as necessary.

【0026】図1を参照すると、このドメイン50に
は、複数のクライアントノード10,複数のサーバノー
ド20,中継装置30及び管理ノード40が備わってい
る。このドメイン50は、現実的にはローカルエリアネ
ットワーク(LAN)のように、多数のノードをハブや
ルータのようなスイッチを介してネットワークで互いに
接続される。
Referring to FIG. 1, the domain 50 includes a plurality of client nodes 10, a plurality of server nodes 20, a relay device 30, and a management node 40. This domain 50 is, in reality, a network such as a local area network (LAN) in which a number of nodes are connected to each other via a switch such as a hub or a router.

【0027】図1においては、複数のクライアントノー
ド10,複数のサーバノード20,中継装置30及び管
理ノード40が、点線で示すようにネットワークで互い
に接続されている。図1及び図2に示す実線の矢印は、
ノード割当制御における主な信号の流れを示している。
なお、実際には多数のクライアントノード10及び多数
のサーバノード20がネットワークに接続されるが、図
1及び図2にはそれらの一部分だけが示されている。
In FIG. 1, a plurality of client nodes 10, a plurality of server nodes 20, a relay device 30, and a management node 40 are connected to each other by a network as shown by dotted lines. The solid arrows shown in FIG. 1 and FIG.
2 shows a main signal flow in node assignment control.
Although many client nodes 10 and many server nodes 20 are actually connected to the network, FIGS. 1 and 2 show only a part of them.

【0028】中継装置30は、交換機と同様の構成要素
を備えており、ドメイン50内の各構成要素及び複数ド
メイン50間を必要に応じて接続し、接続した構成要素
の間の通信を可能にする。中継装置30には代理モジュ
ール31が備わっている。この代理モジュール31は、
例えば中継装置30に内蔵されたコンピュータが実行可
能なプログラムであり、後述する所定の機能を実現す
る。
The relay device 30 includes components similar to those of the exchange, and connects each component in the domain 50 and a plurality of domains 50 as necessary, thereby enabling communication between the connected components. I do. The relay device 30 includes a proxy module 31. This proxy module 31
For example, it is a program that can be executed by a computer built in the relay device 30 and realizes predetermined functions described later.

【0029】サーバノード20には、1つ以上のサーバ
22,23が必要に応じて接続される。サーバ22,2
3は、サーバノード20に内蔵された1つ以上のコンピ
ュータと、それによって実行されるアプリケーションの
サーバプログラムとで構成される。この例では、記号
α,βで区分される互いに種類の異なるアプリケーショ
ンのサーバプログラムがサーバ22及び23に備わって
いる。
One or more servers 22 and 23 are connected to the server node 20 as needed. Server 22, 2
3 includes one or more computers built in the server node 20 and a server program of an application executed by the computer. In this example, servers 22 and 23 are provided with server programs of different types of applications classified by symbols α and β.

【0030】クライアントノード10には、1つ以上の
クライアント11が必要に応じて接続される。クライア
ント11は、クライアントノード10に内蔵された1つ
以上のコンピュータと、それによって実行されるアプリ
ケーションのクライアントプログラムとで構成される。
クライアント11がある種のアプリケーションを利用す
る場合には、クライアント11におけるクライアントプ
ログラムからの要求に応じて、何れかのサーバノード2
0に属するサーバ22又は23のサーバプログラムが起
動する。サーバ22又は23のサーバプログラムは、所
定のサービスを実行してその結果をクライアント11に
返す。
One or more clients 11 are connected to the client node 10 as needed. The client 11 includes one or more computers built in the client node 10 and a client program of an application executed by the computer.
When the client 11 uses a certain kind of application, any one of the server nodes 2 may be used in response to a request from the client program in the client 11.
The server program of the server 22 or 23 belonging to 0 starts. The server program of the server 22 or 23 executes a predetermined service and returns the result to the client 11.

【0031】図1に示すドメイン50においては、記号
αに対応する種類のアプリケーションを実行するサーバ
22が複数のサーバノード20に接続されているので、
クライアント11からの要求に応じたサービスを複数の
サーバノード20(A,1),20(A,2),20(A,3)の何れ
でも処理できる。この形態では、クライアント11が直
接何れかのサーバノード20を選択することはない。こ
の形態では、負荷を分散するためにクライアント11か
らのサービス要求は中継装置30に入力され、中継装置
30が複数のサーバノード20(A,1),20(A,2),20
(A,3)の何れかを選択して、選択された1つのサーバノ
ード20に属するサーバ22に対してサービス要求を中
継する。
In the domain 50 shown in FIG. 1, the server 22 for executing the application of the type corresponding to the symbol α is connected to a plurality of server nodes 20.
The service according to the request from the client 11 can be processed by any of the plurality of server nodes 20 (A, 1), 20 (A, 2), and 20 (A, 3). In this embodiment, the client 11 does not directly select any server node 20. In this embodiment, a service request from the client 11 is input to the relay device 30 in order to distribute the load, and the relay device 30 transmits the service request to the plurality of server nodes 20 (A, 1), 20 (A, 2), and 20 (A, 2).
One of (A, 3) is selected, and the service request is relayed to the server 22 belonging to the selected one server node 20.

【0032】各サーバノード20には、そのノード内部
における負荷の大きさを管理するために自ノード負荷情
報管理モジュール21が設けてある。この自ノード負荷
情報管理モジュール21は、サーバノード20に内蔵さ
れたコンピュータで実行される制御プログラムである。
管理ノード40は、中継装置30からの要求に応じて、
ドメイン50内部における最適なサーバノード20を決
定し、その結果を中継装置30に通知する。管理ノード
40には、最適サーバ検索モジュール41及び全負荷情
報管理モジュール42が備わっている。最適サーバ検索
モジュール41及び全負荷情報管理モジュール42は、
管理ノード40に内蔵されたコンピュータで実行される
制御プログラムである。
Each server node 20 is provided with its own node load information management module 21 for managing the magnitude of the load inside the server node. The own node load information management module 21 is a control program executed by a computer built in the server node 20.
The management node 40 responds to a request from the relay device 30,
An optimum server node 20 in the domain 50 is determined, and the result is notified to the relay device 30. The management node 40 includes an optimum server search module 41 and a full load information management module 42. The optimal server search module 41 and the full load information management module 42
The control program is executed by a computer built in the management node 40.

【0033】全負荷情報管理モジュール42は、ドメイ
ン50内の全てのサーバノード20に関する負荷情報を
各サーバノード20の自ノード負荷情報管理モジュール
21から受け取って管理する。最適サーバ検索モジュー
ル41は、ドメイン50(A)内の全負荷情報管理モジュ
ール42が管理する各サーバノード20(A)の負荷情報
と他のドメイン50(B)が管理する各サーバノード20
(B)の負荷情報及び距離情報に基づいて、負荷の分散と
処理のリアルタイム性の観点から最適サーバノードを決
定する。
The full load information management module 42 receives load information on all server nodes 20 in the domain 50 from the own node load information management module 21 of each server node 20 and manages it. The optimal server search module 41 includes a load information of each server node 20 (A) managed by the full load information management module 42 in the domain 50 (A) and a server node 20 managed by another domain 50 (B).
Based on the load information and the distance information of (B), an optimal server node is determined from the viewpoint of load distribution and real-time processing.

【0034】ドメイン50内では、中継装置30と各々
のサーバノード20との間の距離が互いにほぼ同一にな
るように各構成要素が配置されている。このため、中継
装置30と各サーバノード20との間の通信所要時間は
ほぼ同じになる。従って、ドメイン50内における最適
サーバノードは、負荷が最小のサーバノード20に決定
される。勿論、要求されたサービスを実行可能なサーバ
22又は23が備わったサーバノード20に限定され
る。
In the domain 50, the components are arranged such that the distance between the relay device 30 and each server node 20 is substantially the same. For this reason, the required communication time between the relay device 30 and each server node 20 is substantially the same. Therefore, the optimal server node in the domain 50 is determined to be the server node 20 with the smallest load. Of course, it is limited to the server node 20 provided with the server 22 or 23 that can execute the requested service.

【0035】例えば、何れかのクライアント11が中継
装置30の代理モジュール31にサーバ(α)22で実行
可能な処理の要求を送出すると、代理モジュール31は
最適サーバ検索モジュール41に、負荷とリアルタイム
性の観点において最適なサーバ(α)22の検索を依頼す
る。最適サーバ検索モジュール41は、最適なサーバ
(α)22の検索依頼を受けると、全負荷情報管理モジュ
ール42に対して、サーバ(α)22が属するサーバノー
ド20の負荷情報を要求する。
For example, when one of the clients 11 sends a request for a process executable by the server (α) 22 to the proxy module 31 of the relay device 30, the proxy module 31 sends a load and real-time performance to the optimal server search module 41. Is requested to search for the optimal server (α) 22 from the viewpoint of (1). The optimal server search module 41 is an optimal server
When the search request for (α) 22 is received, the load information of the server node 20 to which the server (α) 22 belongs is requested to the full load information management module 42.

【0036】全負荷情報管理モジュール42は、常に各
サーバノード20の自ノード負荷情報管理モジュール2
1からの負荷情報を管理しているので、最適サーバ検索
モジュール41からサーバノードの負荷情報を要求され
ると、管理している負荷情報を最適サーバ検索モジュー
ル41に返却する。最適サーバ検索モジュール41は、
全負荷情報管理モジュール42から負荷情報を受け取っ
て、負荷とリアルタイム性の観点において最適なサーバ
(α)22を検出し、それが属するサーバノード20及び
サーバ(α)22の識別子とその位置を示す情報を返却す
る。
The full load information management module 42 always has its own node load information management module 2 of each server node 20.
When the load information of the server node is requested from the optimum server search module 41, the managed load information is returned to the optimum server search module 41. The optimal server search module 41
The server which receives the load information from the full load information management module 42 and is optimal in terms of load and real-time performance.
(α) 22 is detected, and the identifiers of the server node 20 and the server (α) 22 to which the (α) 22 belongs and information indicating the position thereof are returned.

【0037】各サーバノード20に備わった自ノード負
荷情報管理モジュール21の負荷通知処理の各ステップ
の内容について図3を参照して説明する。ステップS1
1では、このプログラムを実行するコンピュータの内部
メモリに割り当てたカウンタi及びレジスタXの値をク
リアする。
The contents of each step of the load notification processing of the own node load information management module 21 provided in each server node 20 will be described with reference to FIG. Step S1
In step 1, the counter i and the value of the register X allocated to the internal memory of the computer executing this program are cleared.

【0038】ステップS12では、自ノードの負荷の大
きさを求める。具体的には、自ノードに接続されたコン
ピュータについて検出された最新のCPU利用率,メモ
リの利用率及びネットワークの負荷状態(そのノードに
接続されているクライアント数)をパラメータとして予
め定めた計算式から負荷の大きさを計算する。この例で
は、負荷の大きさは1から予め定めた最大値Xmまでの
Xm段階のレベルに分類して表される。なお、負荷のレ
ベルの範囲はノード毎に独立に定めても良い。例えば、
負荷のレベルの最小値をCPUの能力,メモリ量及びネ
ットワークの帯域に応じて、X1(1<X1<Xm)に
変更しても良い。
In step S12, the magnitude of the load on the own node is obtained. Specifically, a calculation formula which is determined in advance by using the latest CPU utilization, memory utilization, and network load state (the number of clients connected to the node) detected for the computer connected to the own node as parameters Calculate the magnitude of the load from. In this example, the magnitude of the load is represented by being classified into Xm levels from 1 to a predetermined maximum value Xm. The range of the load level may be determined independently for each node. For example,
The minimum value of the load level may be changed to X1 (1 <X1 <Xm) according to the capacity of the CPU, the amount of memory, and the bandwidth of the network.

【0039】ステップS12は一定の時間周期で繰り返
し実行される。ステップS12で求められた負荷の大き
さは、カウンタiの値によって特定されるレジスタX
(i)に保持される。カウンタiの値は、ステップS12
を実行する度にステップS18又はS11で更新され
る。ステップS13では、ステップS12の結果が保持
されるレジスタX(i)の内容を最大値Xmと比較する。
ステップS12で検出された負荷の大きさが最大値Xm
未満であればステップS14に進み、検出された負荷の
大きさが最大値XmであればステップS19に進む。
Step S12 is repeatedly executed at a constant time period. The magnitude of the load obtained in step S12 is determined by the value of the register X specified by the value of the counter i.
(i) is held. The value of the counter i is determined in step S12.
Is updated in step S18 or S11 each time is executed. In step S13, the contents of the register X (i) holding the result of step S12 are compared with the maximum value Xm.
The magnitude of the load detected in step S12 is the maximum value Xm
If it is less than the value, the process proceeds to step S14, and if the detected magnitude of the load is the maximum value Xm, the process proceeds to step S19.

【0040】ステップS14では、(i−1)で特定さ
れるレジスタX(i−1)が保持する値と予め定めた閾値
Xaとを比較する。つまり、1周期前にステップS12
で検出された負荷の大きさを閾値Xaと比較する。レジ
スタX(i−1)の値が閾値Xa未満であればステップS
16に進み、そうでなければステップS15に進む。ス
テップS15では、レジスタX(i)が保持する値とレジ
スタX(i−1)が保持する値との差分を予め定めた閾値
Xbと比較する。つまり、負荷の1検出周期の間の負荷
の変化量を閾値Xbと比較する。前記変化量が閾値Xb
未満であればステップS16に進み、それ以外の場合に
はステップS20に進む。例えば、負荷が急速に増大す
る場合にはステップS15からS20に進む可能性があ
る。
In step S14, the value held by the register X (i-1) specified by (i-1) is compared with a predetermined threshold value Xa. That is, one cycle before step S12
Is compared with the threshold value Xa. If the value of the register X (i-1) is smaller than the threshold value Xa, step S
Proceed to step S16, otherwise proceed to step S15. In step S15, the difference between the value held by the register X (i) and the value held by the register X (i-1) is compared with a predetermined threshold value Xb. That is, the change amount of the load during one load detection period is compared with the threshold value Xb. The change amount is a threshold value Xb
If it is less, the process proceeds to step S16; otherwise, the process proceeds to step S20. For example, when the load increases rapidly, the process may proceed from step S15 to S20.

【0041】ステップS16では、レジスタX(i)が保
持する値をレジスタXに加算してレジスタXの値を更新
する。ステップS17では、カウンタiの値を(k−
1)と比較する。kは定数である。カウンタiの値が
(k−1)未満ならステップS18に進み、それ以外の
場合にはステップS21に進む。
In step S16, the value held in the register X (i) is added to the register X to update the value of the register X. In step S17, the value of the counter i is set to (k−
Compare with 1). k is a constant. If the value of the counter i is less than (k-1), the process proceeds to step S18; otherwise, the process proceeds to step S21.

【0042】ステップS18では、カウンタiの値を更
新する。ステップS19では、レジスタNpが保持する
値を最大値Xmと比較する。レジスタNpが保持する値
は、以前にステップS22の処理で全負荷情報管理モジ
ュール42に通知した負荷情報の値である。レジスタN
pの値が最大値Xm未満の場合にはステップS20に進
み、それ以外の場合にはステップS11に進む。
In step S18, the value of the counter i is updated. In step S19, the value held by the register Np is compared with the maximum value Xm. The value held by the register Np is the value of the load information previously notified to the full load information management module 42 in the process of step S22. Register N
If the value of p is less than the maximum value Xm, the process proceeds to step S20; otherwise, the process proceeds to step S11.

【0043】ステップS20では、レジスタNに最大値
Xmを保持する。ステップS21では、レジスタXの値
を定数kで除算した結果をレジスタNに保持する。ステ
ップS22では、レジスタNが保持する値を検出された
負荷のレベルとして全負荷情報管理モジュール42に通
知する。
In step S20, the maximum value Xm is held in the register N. In step S21, the result of dividing the value of the register X by the constant k is held in the register N. In step S22, the value held in the register N is notified to the full load information management module 42 as the detected load level.

【0044】ステップS23では、通知した負荷のレベ
ルをレジスタNpに保存する。従って、ステップS12
で検出した負荷のレベルが比較的小さい場合には、ステ
ップS12で検出された負荷のレベルがレジスタXに累
積される。そして、負荷のレベルをk回検出する度に、
検出されたk個のデータの累積値の平均値がステップS
21で求められる。この平均値は、所定周期(例えば1
分間)の負荷のレベルの平均値である。この平均値が前
記所定周期毎にステップS22で全負荷情報管理モジュ
ール42に通知される。
In step S23, the notified load level is stored in the register Np. Therefore, step S12
If the load level detected in step S12 is relatively small, the load level detected in step S12 is accumulated in the register X. Then, every time the load level is detected k times,
The average value of the accumulated values of the detected k data is calculated in step S
21. This average value is calculated for a predetermined period (for example, 1
Min) load level. This average value is notified to the full load information management module 42 at step S22 for each predetermined cycle.

【0045】但し、ステップS12で検出した負荷のレ
ベルが最大値Xmと等しく、前回のステップS22で全
負荷情報管理モジュール42に通知した負荷のレベルが
最大値Xmより小さい場合には、ステップS13−S1
9−S20−S22を実行するので直ちに最大値Xmが
全負荷情報管理モジュール42に通知される。
However, if the load level detected in step S12 is equal to the maximum value Xm, and the load level notified to the full load information management module 42 in the previous step S22 is smaller than the maximum value Xm, step S13- S1
Since 9-S20-S22 is executed, the maximum value Xm is immediately notified to the full load information management module 42.

【0046】また、ステップS12で1周期前に検出さ
れた負荷のレベルが閾値Xa以上で、しかも負荷検出周
期の1周期の間の負荷のレベルの変化量が閾値Xb以上
になると、ステップS14−S15−S20−S22を
実行するので直ちに最大値Xmが全負荷情報管理モジュ
ール42に通知される。つまり、急速な負荷の増大を検
出した場合には、そのサーバノード20に対する更なる
処理の割当を一時的に禁止するために、負荷のレベルと
して実際に検出された値より大きな最大値Xmを通知す
る。
If the load level detected one cycle before in step S12 is equal to or greater than the threshold value Xa, and if the amount of change in the load level during one cycle of the load detection cycle is equal to or greater than the threshold value Xb, step S14- Since S15-S20-S22 are executed, the maximum value Xm is immediately notified to the full load information management module 42. That is, when a rapid increase in the load is detected, a maximum value Xm larger than the actually detected value is notified as the load level in order to temporarily prohibit the allocation of further processing to the server node 20. I do.

【0047】各サーバノード20の自ノード負荷情報管
理モジュール21が図3に示すような処理を実行するの
で、管理ノード40の全負荷情報管理モジュール42に
は、ドメイン50内の全てのサーバノード20から、そ
の負荷のレベルを示す情報が集まる。次に、最適サーバ
検索モジュール41によって処理される検索処理の内容
について図4を参照して説明する。また、ドメイン50
(A)に属するクライアント11がサービスの割当を要求
する場合の例について具体的に説明する。
Since the own node load information management module 21 of each server node 20 executes the processing shown in FIG. 3, all the load information management modules 42 of the management node 40 have all the server nodes 20 in the domain 50. , Information indicating the level of the load is collected. Next, the contents of the search processing performed by the optimum server search module 41 will be described with reference to FIG. Domain 50
An example in which the client 11 belonging to (A) requests service allocation will be specifically described.

【0048】ステップS31では、検索要求があるまで
待機する。クライアント11がサービス割当を中継装置
30の代理モジュール31に要求した場合には、代理モ
ジュール31は同じドメイン50に属する最適サーバ検
索モジュール41に対して、検索要求を送出する。ま
た、図2に示すように複数ドメイン50(A),50(B)が
接続されている場合にドメイン50(A)に属する最適サ
ーバ検索モジュール41(A)が検索要求を受けると、最
適サーバ検索モジュール41(A)は、中継装置30(A)の
代理モジュール31(A)及び中継装置30(B)の代理モジ
ュール31(B)を介して、ドメイン50(B)に属する最適
サーバ検索モジュール41(B)に対して検索要求を送出
する。
In step S31, the process waits until there is a search request. When the client 11 requests the proxy module 31 of the relay device 30 for service allocation, the proxy module 31 sends a search request to the optimal server search module 41 belonging to the same domain 50. Also, as shown in FIG. 2, when a plurality of domains 50 (A) and 50 (B) are connected and the optimum server search module 41 (A) belonging to the domain 50 (A) receives a search request, the optimum server The search module 41 (A) receives the optimum server search module belonging to the domain 50 (B) via the proxy module 31 (A) of the relay device 30 (A) and the proxy module 31 (B) of the relay device 30 (B). A search request is sent to 41 (B).

【0049】検索要求を受けると、最適サーバ検索モジ
ュール41の処理はステップS31からS32に進む。
ステップS32では、クライアント11から要求された
サービスの種類を示す識別子の情報に基づいて、そのサ
ービスを実行可能なサーバ22(又は23)が接続され
た全てのサーバノード20を識別する。
Upon receiving the search request, the process of the optimum server search module 41 proceeds from step S31 to S32.
In step S32, all server nodes 20 to which the server 22 (or 23) capable of executing the service is connected are identified based on the information of the identifier indicating the type of service requested by the client 11.

【0050】例えば、図2においてクライアント11が
記号αで表されるサービスの割当を要求した場合には、
最適サーバ検索モジュール41はサーバ(α)22を備え
るサーバノード20(A,1),20(A,2),20(A,3)の各
々の識別子をステップS32で取得する。ステップS3
3では、他のドメインが利用可能か否かを識別する。図
2に示すように複数のドメイン50(A),50(B)が互い
に接続されている場合には、ステップS33からS34
に進む。
For example, when the client 11 requests allocation of a service represented by the symbol α in FIG.
The optimal server search module 41 acquires the identifiers of the server nodes 20 (A, 1), 20 (A, 2), and 20 (A, 3) including the server (α) 22 in step S32. Step S3
At 3, it is determined whether or not another domain is available. When a plurality of domains 50 (A) and 50 (B) are connected to each other as shown in FIG.
Proceed to.

【0051】ステップS34では、他のドメイン50に
属する最適サーバ検索モジュール41に対して検索すべ
きサーバ22,23の種類(α,β)を示す識別子とと
もに検索要求を送出する。最適サーバ検索モジュール4
1(A)から検索要求を受けた最適サーバ検索モジュール
41(B)も、最適サーバ検索モジュール41(A)と同様に
図4の処理を実行する。
In step S34, a search request is sent to the optimum server search module 41 belonging to another domain 50 together with an identifier indicating the type (α, β) of the server 22, 23 to be searched. Optimal server search module 4
The optimal server search module 41 (B) that has received the search request from the server 1 (A) also executes the processing in FIG. 4 in the same manner as the optimal server search module 41 (A).

【0052】ステップS35では、ステップS32で検
出されたサーバノード20が1つか複数かを識別する。
複数のサーバノード20が検出された場合には、ドメイ
ン50内の最適なサーバノード20を選択するためにス
テップS35からS36に進む。ステップS36では、
クライアント11からの要求を実行可能なサーバ22
(又は23)が接続された全てのサーバノード20の負
荷情報(負荷のレベル)を全負荷情報管理モジュール4
2から取得する。
In step S35, it is determined whether one or more server nodes 20 are detected in step S32.
When a plurality of server nodes 20 are detected, the process proceeds from step S35 to S36 in order to select an optimal server node 20 in the domain 50. In step S36,
A server 22 capable of executing a request from the client 11
The load information (load level) of all server nodes 20 to which (or 23) is connected is stored in the full load information management module 4.
Obtain from 2.

【0053】ステップS37では、クライアント11か
らの要求を実行可能なサーバ22(又は23)が接続さ
れた全てのサーバノード20の中で負荷のレベルが最小
の1つのサーバノード20を決定する。ここで決定され
るサーバノード20は、ドメイン50内における最適な
サーバノード20である。なお、負荷のレベルが最小の
サーバノード20が複数存在する場合には、その中の1
つをランダムに選択する。
In step S37, one server node 20 having the minimum load level among all the server nodes 20 to which the server 22 (or 23) capable of executing the request from the client 11 is connected is determined. The server node 20 determined here is the optimum server node 20 in the domain 50. If there are a plurality of server nodes 20 having the minimum load level,
Choose one randomly.

【0054】最適サーバ検索モジュール41(A)がステ
ップS34で他ドメイン50(B)の最適サーバ検索モジ
ュール41(B)に検索を要求した場合には、最適サーバ
検索モジュール41(B)の検索の結果をステップS38
で取得する。最適サーバ検索モジュール41(B)の検索
の結果は、中継装置30(B)の代理モジュール31(B),
中継装置30(A)の代理モジュール31(A)を介して最適
サーバ検索モジュール41(A)に入力される。
When the optimum server search module 41 (A) requests the search to the optimum server search module 41 (B) of the other domain 50 (B) in step S34, the search of the optimum server search module 41 (B) is performed. Result is Step S38
Get in. The search result of the optimal server search module 41 (B) is obtained by the proxy module 31 (B) of the relay device 30 (B),
It is input to the optimal server search module 41 (A) via the proxy module 31 (A) of the relay device 30 (A).

【0055】最適サーバ検索モジュール41は、ドメイ
ン50内の各サーバノード20と中継装置30との間の
通信所要時間T1、並びに互いに隣接するドメイン50
(A),50(B)に属する隣接する中継装置30(A),30
(B)の間の通信所要時間T2を距離情報として管理して
いる。ステップS38においては、他ドメイン50(B)
に属する最適サーバ検索モジュール41(B)から、ドメ
イン50(B)に属するサーバノード20(B)の中で負荷の
レベルが最小の1つのサーバノード20(B)を示す識別
子と、該サーバノード20(B)と中継装置30(B)との間
の通信所要時間T1(B)のデータとが、最適サーバ検索
モジュール41(A)に到来する。
The optimum server search module 41 determines the required communication time T1 between each server node 20 and the relay device 30 in the domain 50 and the domain 50 adjacent to each other.
(A), adjacent relay devices 30 (A), 30 (B) belonging to 50 (B).
The communication required time T2 during (B) is managed as distance information. In step S38, the other domain 50 (B)
From the optimal server search module 41 (B) belonging to the domain 50 (B), the identifier indicating one server node 20 (B) having the lowest load level among the server nodes 20 (B) belonging to the domain 50 (B). The data of the required communication time T1 (B) between 20 (B) and the relay device 30 (B) arrives at the optimum server search module 41 (A).

【0056】ステップS39では、最適サーバ検索モジ
ュール41(A)は、ステップS37で検出されたドメイ
ン50(A)内の最適な1つのサーバノード20(A)と、他
ドメイン50(B)で検出された最適な1つのサーバノー
ド20(B)等について、それらの負荷のレベルと距離の
情報とを考慮して、ネットワーク全体として最適な1つ
のサーバノード20を決定する。
In step S39, the optimum server search module 41 (A) detects the optimum one server node 20 (A) in the domain 50 (A) detected in step S37 and the other server 50 (B). With respect to the selected one optimal server node 20 (B) and the like, the optimal one server node 20 is determined for the entire network in consideration of the load level and the distance information.

【0057】ドメイン50(A)内の最適な1つのサーバ
ノード20(A)については、その距離として最適サーバ
検索モジュール41が管理するサーバノード20(A)と
中継装置30(A)との間の通信所要時間T1(A)を適用す
る。また、他ドメイン50(B)のサーバノード20(B)の
距離としては、最適サーバ検索モジュール41(B)から
受け取ったサーバノード20(B)と中継装置30(B)との
間の通信所要時間T1(B)に、最適サーバ検索モジュー
ル41(A)が管理するドメイン50をまたがる中継装置
30(A),30(B)の間の通信所要時間T2を加算した結
果を適用する。
For one optimal server node 20 (A) in the domain 50 (A), the distance between the server node 20 (A) managed by the optimal server search module 41 and the relay device 30 (A) is set as the distance. The required communication time T1 (A) is applied. The distance between the server node 20 (B) of the other domain 50 (B) and the communication requirement between the server node 20 (B) received from the optimal server search module 41 (B) and the relay device 30 (B) is set. The result obtained by adding the communication time T2 between the relay devices 30 (A) and 30 (B) across the domain 50 managed by the optimal server search module 41 (A) to the time T1 (B) is applied.

【0058】なお、複数のドメイン50をまたがるサー
バノード20を利用する場合には、それぞれのドメイン
50間の通信所要時間を累積することにより、通信所要
時間T2が得られる。ステップS39では、所定の計算
式を用いて、複数ドメイン50で検出された複数のサー
バノード20の中から、最適な1つのサーバノード20
を識別する。例えば、ドメイン50(A)内のサーバノー
ド20(A)に比べて他ドメイン50(B)のサーバノード2
0(B)の負荷のレベルが小さい場合であっても、中継装
置30(A),30(B)の間の通信所要時間T2が大きい場
合には、ドメイン50(A)内のサーバノード20(A)が最
適サーバノードとして識別される。
When the server node 20 spanning a plurality of domains 50 is used, the required communication time T2 is obtained by accumulating the required communication time between the respective domains 50. In step S39, an optimum one server node 20 is selected from the plurality of server nodes 20 detected in the plurality of domains 50 using a predetermined calculation formula.
Identify. For example, the server node 2 of another domain 50 (B) is compared with the server node 20 (A) of the domain 50 (A).
Even if the load level of 0 (B) is small, if the communication time T2 between the relay devices 30 (A) and 30 (B) is long, the server node 20 in the domain 50 (A) is not required. (A) is identified as the optimal server node.

【0059】ステップS40では、例えば検索を要求し
た依頼元の代理モジュール31に対して検索の結果を返
却する。最適サーバ検索モジュール41(A)から検索を
要求された他ドメイン50(B)に属する最適サーバ検索
モジュール41(B)の場合には、ステップS40で依頼
元の最適サーバ検索モジュール41(A)に中継装置30
(B)及び30(A)を介して結果を通知する。
In step S40, for example, the search result is returned to the proxy module 31 that has requested the search. In the case of the optimal server search module 41 (B) belonging to another domain 50 (B) requested to be searched by the optimal server search module 41 (A), the request source optimal server search module 41 (A) in step S40. Relay device 30
The result is notified via (B) and 30 (A).

【0060】検索要求に対して最適サーバ検索モジュー
ル41から検索結果を受け取った中継装置30の代理モ
ジュール31は、最適サーバ検索モジュール41が決定
した最適サーバノードに対して、クライアント11から
のサービスを割り当てるように要求を中継する。
The proxy module 31 of the relay device 30 that receives the search result from the optimum server search module 41 in response to the search request allocates the service from the client 11 to the optimum server node determined by the optimum server search module 41. So that the request is relayed.

【0061】ドメイン50内におけるサーバノード20
と中継装置30との間の通信所要時間T1は、図5に示
す処理によって取得される。図5に示す処理は、例えば
サーバノード20の電源が投入されたときに実行され
る。図5の処理について以下に説明する。サーバノード
20は、ステップS51でサーバノード20に内蔵され
たコンピュータの時計回路の時刻を参照して現在時刻t
11を検出する。その直後に、ステップS52でデータ長
の小さい所定のデータをサーバノード20からドメイン
50内の中継装置30に送出する。
The server node 20 in the domain 50
The required communication time T1 between the communication device and the relay device 30 is obtained by the process shown in FIG. The process illustrated in FIG. 5 is executed, for example, when the power of the server node 20 is turned on. The processing of FIG. 5 will be described below. In step S51, the server node 20 refers to the time of the clock circuit of the computer built in the server node 20 to set the current time t.
Detects 11. Immediately thereafter, predetermined data having a small data length is transmitted from the server node 20 to the relay device 30 in the domain 50 in step S52.

【0062】中継装置30の処理は、ドメイン50内の
サーバノード20から送出された前記データを受信する
と、ステップS61からS62に進む。ステップS62
では、受信したデータを直ちに送信元のサーバノード2
0に折り返し送信する。サーバノード20は、中継装置
30からの返信データを受信すると、ステップS53か
らS54に進む。ステップS54では、再びコンピュー
タに内蔵された時計回路の時刻を参照して現在時刻t12
を検出する。
When the data transmitted from the server node 20 in the domain 50 is received, the processing of the relay device 30 proceeds from step S61 to S62. Step S62
Then, the received data is immediately transmitted to the server node 2 of the transmission source.
Return to 0 and send. Upon receiving the reply data from the relay device 30, the server node 20 proceeds from step S53 to S54. In step S54, the current time t12 is again referred to by referring to the time of the clock circuit built in the computer.
Is detected.

【0063】サーバノード20は、ステップS55で次
の計算式に基づき通信所要時間T1を算出する。 T1=(t12−t11)/2 サーバノード20は、求められた通信所要時間T1を次
のステップS56で管理ノード40に対して送出する。
この通信所要時間T1は、管理ノード40の最適サーバ
検索モジュール41で管理される。
The server node 20 calculates the required communication time T1 based on the following formula in step S55. T1 = (t12−t11) / 2 The server node 20 sends the determined required communication time T1 to the management node 40 in the next step S56.
The required communication time T1 is managed by the optimum server search module 41 of the management node 40.

【0064】一方、ドメイン50をまたがる中継装置3
0(A),30(B)の間の通信所要時間T2は、図6に示す
処理によって取得される。図6に示す処理は、例えば中
継装置30の電源が投入されたときに実行される。図6
の処理について以下に説明する。中継装置30(A)は、
ステップS71でそれに内蔵されたコンピュータの時計
回路の時刻を参照して現在時刻t21を検出する。その直
後に、ステップS72でデータ長の小さい所定のデータ
を中継装置30(A)から他ドメイン50の中継装置30
(B)に送出する。
On the other hand, the relay device 3 spanning the domain 50
The required communication time T2 between 0 (A) and 30 (B) is obtained by the processing shown in FIG. The process shown in FIG. 6 is executed, for example, when the power of the relay device 30 is turned on. FIG.
Will be described below. The relay device 30 (A)
In step S71, the current time t21 is detected by referring to the time of the clock circuit of the computer incorporated therein. Immediately thereafter, in step S72, predetermined data having a small data length is transmitted from the relay device 30 (A) to the relay device 30 of the other domain 50.
(B).

【0065】中継装置30(B)の処理は、中継装置30
(A)から送出された前記データを受信すると、ステップ
S81からS82に進む。ステップS82では、受信し
たデータを直ちに送信元の中継装置30(A)に折り返し
送信する。中継装置30(A)は、中継装置30(B)からの
返信データを受信すると、ステップS73からS74に
進む。ステップS74では、再びコンピュータに内蔵さ
れた時計回路の時刻を参照して現在時刻t22を検出す
る。
The processing of the relay device 30 (B)
When the data transmitted from (A) is received, the process proceeds from step S81 to S82. In step S82, the received data is immediately transmitted back to the transmission source relay device 30 (A). Upon receiving the return data from the relay device 30 (B), the relay device 30 (A) proceeds from step S73 to S74. In step S74, the current time t22 is detected again by referring to the time of the clock circuit built in the computer.

【0066】中継装置30(A)は、ステップS75で次
の計算式に基づき通信所要時間T2を算出する。 T2=(t22−t21)/2 中継装置30(A)は、求められた通信所要時間T2を次
のステップS76でドメイン50内の管理ノード40
(A)に対して送出する。この通信所要時間T2は、管理
ノード40(A)の最適サーバ検索モジュール41(A)で管
理される。
The relay device 30 (A) calculates the required communication time T2 based on the following formula in step S75. T2 = (t22−t21) / 2 The relay device 30 (A) compares the determined required communication time T2 with the management node 40 in the domain 50 in the next step S76.
Send to (A). The required communication time T2 is managed by the optimum server search module 41 (A) of the management node 40 (A).

【0067】ドメイン50(B)においても、同様の処理
を実行するので最適サーバ検索モジュール41(B)は通
信所要時間T2を取得して管理できる。
Since the same processing is executed in the domain 50 (B), the optimum server search module 41 (B) can acquire and manage the required communication time T2.

【0068】[0068]

【発明の効果】本発明によれば、各サーバノードの負荷
のレベルが最適サーバ検索手段によって集中的に管理さ
れるので、各サーバノードはクライアントノードに対し
て負荷レベルのデータを通知する必要がない。従って、
クライアントノード数が増大しても、負荷レベルのデー
タの通知のために各サーバノードの処理が増大すること
がなく、ネットワーク上のトラヒックも増大しない。
According to the present invention, since the load level of each server node is centrally managed by the optimum server search means, each server node needs to notify the client node of the load level data. Absent. Therefore,
Even if the number of client nodes increases, the processing of each server node for notifying the data of the load level does not increase, and the traffic on the network does not increase.

【0069】また、検出された負荷のレベルが最小のサ
ーバノードに対して選択的に前記クライアントノードか
らのサービス要求を送出するので、このサービス要求に
対して高い応答性が得られる。また、負荷が急速に増大
するサーバノードに対してサービスの割り当てを一時的
に禁止する割り当て制御手段を設けることにより、負荷
レベルが過大になる可能性の高いサーバノードに対して
は、負荷レベルが過大になる前にサービスの割り当てが
禁止される。このため、ノード別負荷監視手段から最適
サーバ検索手段に対して負荷のレベルを通知する時間間
隔が比較的大きい場合であっても、負荷が過大なサーバ
ノードにサービスを割り当てることを未然に防止でき
る。
Further, since a service request from the client node is selectively transmitted to the server node having the minimum detected load level, high responsiveness to this service request can be obtained. In addition, by providing an assignment control unit for temporarily prohibiting the assignment of a service to a server node whose load increases rapidly, the load level of a server node which is likely to be excessively high is provided. Service allocation is prohibited before it becomes too large. For this reason, even if the time interval for notifying the optimum server search unit of the load level from the node-specific load monitoring unit is relatively large, it is possible to prevent the service from being assigned to the server node with an excessive load. .

【0070】また、複数ドメインを利用できる環境にお
いては、ノード別負荷監視手段が検出した各サーバノー
ドの負荷のレベルだけでなく、通信時間検出手段が検出
した第1の通信所要時間及び第2の通信所要時間を考慮
して最適サーバノードを識別する最適サーバ検索手段を
設けることにより、サーバからの応答性を考慮して適度
に負荷を分散できる。
In an environment where a plurality of domains can be used, not only the load level of each server node detected by the node-specific load monitoring means, but also the first communication required time and the second communication time detected by the communication time detecting means. By providing the optimum server search means for identifying the optimum server node in consideration of the required communication time, the load can be appropriately distributed in consideration of the response from the server.

【0071】また、各ドメイン内の前記中継制御手段と
各サーバノードとの間の通信経路の距離をほぼ同一に定
めることにより、検出された第2の通信所要時間に含ま
れる多少の誤差は許容できるので、第2の通信所要時間
の検出が容易になる。更に、中継制御手段と各サーバノ
ードとの間で実際に伝送された信号の往復所要時間に基
づいて第2の通信所要時間を検出することにより、比較
的簡単に第2の通信所要時間が得られる。
Further, by setting the distance of the communication path between the relay control means in each domain and each server node to be substantially the same, a slight error included in the detected required second communication time is allowed. Since it is possible, it is easy to detect the second required communication time. Further, by detecting the second required communication time based on the required round-trip time of the signal actually transmitted between the relay control means and each server node, the second required communication time can be obtained relatively easily. Can be

【図面の簡単な説明】[Brief description of the drawings]

【図1】実施の形態の負荷分散システムを備えるコンピ
ュータネットワークの1ドメインの構成例を示すブロッ
ク図である。
FIG. 1 is a block diagram illustrating a configuration example of one domain of a computer network including a load distribution system according to an embodiment.

【図2】実施の形態の負荷分散システムを備えるコンピ
ュータネットワークの2ドメインの構成例を示すブロッ
ク図である。
FIG. 2 is a block diagram illustrating a configuration example of two domains of a computer network including the load distribution system according to the embodiment;

【図3】自ノード負荷情報管理モジュールの負荷通知処
理の内容を示すフローチャートである。
FIG. 3 is a flowchart showing the contents of a load notification process of a local node load information management module.

【図4】最適サーバ検索モジュールの検索処理の内容を
示すフローチャートである。
FIG. 4 is a flowchart showing the contents of a search process of an optimum server search module.

【図5】ドメイン内の距離測定処理の内容を示すフロー
チャートである。
FIG. 5 is a flowchart illustrating the content of a distance measurement process in a domain.

【図6】ドメイン間の距離測定処理の内容を示すフロー
チャートである。
FIG. 6 is a flowchart illustrating the content of a distance measurement process between domains.

【図7】従来の負荷分散システムの構成例を示すブロッ
ク図である。
FIG. 7 is a block diagram illustrating a configuration example of a conventional load distribution system.

【符号の説明】[Explanation of symbols]

10 クライアントノード 11 クライアント 20 サーバノード 21 自ノード負荷情報管理モジュール 22,23 サーバ 30 中継装置 31 代理モジュール 40 管理ノード 41 最適サーバ検索モジュール 42 全負荷情報管理モジュール 50 ドメイン Reference Signs List 10 client node 11 client 20 server node 21 own node load information management module 22, 23 server 30 relay device 31 proxy module 40 management node 41 optimum server search module 42 full load information management module 50 domain

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数のサーバノードとクライアントノー
ドとが形成され、前記複数のサーバノードのそれぞれに
は少なくとも1つのサーバが接続されたコンピュータネ
ットワークの負荷分散システムにおいて、 前記複数のサーバノードのそれぞれについて負荷のレベ
ルを検出するノード別負荷監視手段と、 前記複数のサーバノードのそれぞれが提供するサービス
の種類及び前記ノード別負荷監視手段が検出した各サー
バノードの負荷のレベルを把握して、前記クライアント
ノードから要求されるサービスを実行可能なサーバが接
続された複数のサーバノードの中から、検出された負荷
のレベルに基づいて最適サーバノードを識別する最適サ
ーバ検索手段と、 前記クライアントノードからサーバへのサービス要求を
中継するとともに、前記最適サーバ検索手段が識別した
最適サーバノードに対して選択的に前記クライアントノ
ードからのサービス要求を送出する中継制御手段とを設
けたことを特徴とするコンピュータネットワークの負荷
分散システム。
1. A load balancing system for a computer network, wherein a plurality of server nodes and a client node are formed, and at least one server is connected to each of the plurality of server nodes. A node-based load monitoring unit that detects a load level; a type of service provided by each of the plurality of server nodes; and a load level of each server node detected by the node-based load monitoring unit. An optimal server search unit for identifying an optimal server node based on a detected load level from a plurality of server nodes to which a server capable of executing a service requested by the node is connected; and from the client node to a server. Relay the service request of A load balancing system for a computer network, comprising: relay control means for selectively transmitting a service request from the client node to the optimum server node identified by the server search means.
【請求項2】 請求項1記載のコンピュータネットワー
クの負荷分散システムにおいて、所定時間内に所定以上
の負荷の増大が検出されたサーバノードに対しては、前
記クライアントノードからサーバへのサービスの割り当
てを一時的に禁止する割り当て制御手段を設けたことを
特徴とするコンピュータネットワークの負荷分散システ
ム。
2. A load distribution system for a computer network according to claim 1, wherein a service is allocated from the client node to the server for a server node in which an increase in load of a predetermined level or more is detected within a predetermined time. A load distribution system for a computer network, comprising an assignment control unit for temporarily inhibiting the load.
【請求項3】 請求項2記載のコンピュータネットワー
クの負荷分散システムにおいて、前記割り当て制御手段
が、所定時間内に所定以上の負荷の増大が検出されたサ
ーバノードについては、前記ノード別負荷監視手段が検
出したサーバノードの負荷のレベルを予め定めた最大値
に強制的に変更することを特徴とするコンピュータネッ
トワークの負荷分散システム。
3. The load distribution system of a computer network according to claim 2, wherein said allocation control means is configured to: for each of the server nodes for which an increase in load of a predetermined level or more is detected within a predetermined time period, said node-specific load monitoring means. A load distribution system for a computer network, wherein a detected load level of a server node is forcibly changed to a predetermined maximum value.
【請求項4】 複数のドメインで構成され、各々のドメ
インには複数のサーバノードとクライアントノードとが
形成され、前記複数のサーバノードのそれぞれには少な
くとも1つのサーバが接続されたコンピュータネットワ
ークの負荷分散システムにおいて、 前記複数のサーバノードのそれぞれについて負荷のレベ
ルを検出するノード別負荷監視手段と、 複数ドメインの間の通信にかかる第1の通信所要時間及
び各ドメイン内の所定位置と各サーバノードとの間の通
信にかかる第2の通信所要時間を検出する通信時間検出
手段と、 複数ドメインの前記複数のサーバノードのそれぞれが提
供するサービスの種類,前記ノード別負荷監視手段が検
出した各サーバノードの負荷のレベル,前記通信時間検
出手段が検出した第1の通信所要時間及び第2の通信所
要時間に基づいて、前記クライアントノードから要求さ
れるサービスを実行可能なサーバが接続されたサーバノ
ードの中から1つのサーバノードを最適サーバノードと
して識別する最適サーバ検索手段と、 前記クライアントノードからサーバへのサービス要求を
中継するとともに、前記最適サーバ検索手段が識別した
最適サーバノードに対して選択的に前記クライアントノ
ードからのサービス要求を送出する中継制御手段とを設
けたことを特徴とするコンピュータネットワークの負荷
分散システム。
4. A computer network comprising a plurality of domains, each domain having a plurality of server nodes and client nodes, and each of the plurality of server nodes being connected to at least one server. In the distributed system, a node-by-node load monitoring means for detecting a load level for each of the plurality of server nodes; a first communication time required for communication between a plurality of domains; a predetermined position in each domain; Communication time detecting means for detecting a second required communication time required for communication with the server, type of service provided by each of the plurality of server nodes in a plurality of domains, and each server detected by the node-specific load monitoring means. The node load level, the first communication required time detected by the communication time detecting means, and the Optimal server search means for identifying one server node as an optimal server node from server nodes to which a server capable of executing a service requested by the client node is connected, based on the required communication time of the client node; Relay control means for relaying a service request from the node to the server and selectively transmitting a service request from the client node to the optimum server node identified by the optimum server search means. Computer network load balancing system.
【請求項5】 請求項4記載のコンピュータネットワー
クの負荷分散システムにおいて、各ドメイン内の前記中
継制御手段と各サーバノードとの間の通信経路の距離を
ほぼ同一に定め、前記通信時間検出手段が、前記中継制
御手段と各サーバノードとの間で実際に伝送された信号
の往復所要時間に基づいて前記第2の通信所要時間を検
出することを特徴とするコンピュータネットワークの負
荷分散システム。
5. The load distribution system for a computer network according to claim 4, wherein a communication path distance between said relay control means and each server node in each domain is set to be substantially equal, and said communication time detecting means is provided. And detecting the second required communication time based on a required round-trip time of a signal actually transmitted between the relay control means and each server node.
JP10142655A 1998-05-25 1998-05-25 Load distribution system for computer network Pending JPH11338836A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10142655A JPH11338836A (en) 1998-05-25 1998-05-25 Load distribution system for computer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10142655A JPH11338836A (en) 1998-05-25 1998-05-25 Load distribution system for computer network

Publications (1)

Publication Number Publication Date
JPH11338836A true JPH11338836A (en) 1999-12-10

Family

ID=15320423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10142655A Pending JPH11338836A (en) 1998-05-25 1998-05-25 Load distribution system for computer network

Country Status (1)

Country Link
JP (1) JPH11338836A (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312435A (en) * 2000-04-28 2001-11-09 Ntt Pc Communications Inc Method, device for access distribution and recording medium
JP2001312438A (en) * 2000-05-02 2001-11-09 Noritsu Koki Co Ltd System and device for information distribution, information receiving device, recording medium with information distributing program recorded thereon, and recording medium with information receiving program recorded thereon
JP2010257332A (en) * 2009-04-27 2010-11-11 Shimadzu Corp Analyzer control system
JP2011034550A (en) * 2009-07-06 2011-02-17 Ricoh Co Ltd Relay device, relay method and program
JP2014502382A (en) * 2010-09-30 2014-01-30 エイ10 ネットワークス インコーポレイテッド System and method for balancing servers based on server load conditions
US9253152B1 (en) 2006-10-17 2016-02-02 A10 Networks, Inc. Applying a packet routing policy to an application session
US9270774B2 (en) 2011-10-24 2016-02-23 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9270705B1 (en) 2006-10-17 2016-02-23 A10 Networks, Inc. Applying security policy to an application session
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9386088B2 (en) 2011-11-29 2016-07-05 A10 Networks, Inc. Accelerating service processing using fast path TCP
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US9602442B2 (en) 2012-07-05 2017-03-21 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US9979801B2 (en) 2011-12-23 2018-05-22 A10 Networks, Inc. Methods to manage services over a service gateway
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
USRE47296E1 (en) 2006-02-21 2019-03-12 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312435A (en) * 2000-04-28 2001-11-09 Ntt Pc Communications Inc Method, device for access distribution and recording medium
JP2001312438A (en) * 2000-05-02 2001-11-09 Noritsu Koki Co Ltd System and device for information distribution, information receiving device, recording medium with information distributing program recorded thereon, and recording medium with information receiving program recorded thereon
USRE47296E1 (en) 2006-02-21 2019-03-12 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US9497201B2 (en) 2006-10-17 2016-11-15 A10 Networks, Inc. Applying security policy to an application session
US9253152B1 (en) 2006-10-17 2016-02-02 A10 Networks, Inc. Applying a packet routing policy to an application session
US9270705B1 (en) 2006-10-17 2016-02-23 A10 Networks, Inc. Applying security policy to an application session
JP2010257332A (en) * 2009-04-27 2010-11-11 Shimadzu Corp Analyzer control system
JP2011034550A (en) * 2009-07-06 2011-02-17 Ricoh Co Ltd Relay device, relay method and program
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US10735267B2 (en) 2009-10-21 2020-08-04 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US10447775B2 (en) 2010-09-30 2019-10-15 A10 Networks, Inc. System and method to balance servers based on server load status
JP2014502382A (en) * 2010-09-30 2014-01-30 エイ10 ネットワークス インコーポレイテッド System and method for balancing servers based on server load conditions
US9961135B2 (en) 2010-09-30 2018-05-01 A10 Networks, Inc. System and method to balance servers based on server load status
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US10178165B2 (en) 2010-12-02 2019-01-08 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9961136B2 (en) 2010-12-02 2018-05-01 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US10484465B2 (en) 2011-10-24 2019-11-19 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9906591B2 (en) 2011-10-24 2018-02-27 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9270774B2 (en) 2011-10-24 2016-02-23 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9386088B2 (en) 2011-11-29 2016-07-05 A10 Networks, Inc. Accelerating service processing using fast path TCP
US9979801B2 (en) 2011-12-23 2018-05-22 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US9602442B2 (en) 2012-07-05 2017-03-21 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US10862955B2 (en) 2012-09-25 2020-12-08 A10 Networks, Inc. Distributing service sessions
US10516577B2 (en) 2012-09-25 2019-12-24 A10 Networks, Inc. Graceful scaling in software driven networks
US10491523B2 (en) 2012-09-25 2019-11-26 A10 Networks, Inc. Load distribution in data networks
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US9544364B2 (en) 2012-12-06 2017-01-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US11005762B2 (en) 2013-03-08 2021-05-11 A10 Networks, Inc. Application delivery controller and global server load balancer
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10659354B2 (en) 2013-03-15 2020-05-19 A10 Networks, Inc. Processing data packets using a policy based network path
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
US10305904B2 (en) 2013-05-03 2019-05-28 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US10257101B2 (en) 2014-03-31 2019-04-09 A10 Networks, Inc. Active application response delay time
US10686683B2 (en) 2014-05-16 2020-06-16 A10 Networks, Inc. Distributed system to determine a server's health
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US10749904B2 (en) 2014-06-03 2020-08-18 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US10880400B2 (en) 2014-06-03 2020-12-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies

Similar Documents

Publication Publication Date Title
JPH11338836A (en) Load distribution system for computer network
US11240146B2 (en) Service request routing
US7116643B2 (en) Method and system for data in a collection and route discovery communication network
US20040103194A1 (en) Method and system for server load balancing
US7562355B2 (en) Systems and methods for optimal component composition in a stream processing system
US7523454B2 (en) Apparatus and method for routing a transaction to a partitioned server
Tajiki et al. Joint failure recovery, fault prevention, and energy-efficient resource management for real-time SFC in fog-supported SDN
US10164845B2 (en) Network service aware routers, and applications thereof
JP2003186765A (en) Network connecting device, network connecting device management system and network connecting device management method
Bharti et al. Value of information based sensor ranking for efficient sensor service allocation in service oriented wireless sensor networks
US11470003B2 (en) Flow reliability in multi-tier deterministic networking
CN112261133A (en) CDN node control method, device, server and storage medium
CN109413117B (en) Distributed data calculation method, device, server and computer storage medium
JP2001202318A (en) Data distribution system
WO2023124743A1 (en) Block synchronization
Kontogiannis et al. ALBL: an adaptive load balancing algorithm for distributed web systems
US8964596B1 (en) Network service aware routers, and applications thereof
KR20140125223A (en) Method for collecting information with management interface in contents network based on information centric networking, content network management system, and node apparatus
KR20210000938A (en) Dynamic load balancing method and dynamic load balancing device in sdn-based fog system
Bays et al. Flow based load balancing: Optimizing web servers resource utilization
CN115118635A (en) Time delay detection method, device, equipment and storage medium
CN114338714A (en) Block synchronization method and device, electronic equipment and storage medium
Kawabata et al. A network design scheme in delay sensitive monitoring services
Kingsly Stephen et al. Sectional Transmission analysis approach for improved reliable transmission and secure routing in wireless sensor networks
WO2008110462A2 (en) Discovery of disconnected components in a distributed communication network