JP5526780B2 - Load distribution system, service processing server, load distribution method, and load distribution program - Google Patents
Load distribution system, service processing server, load distribution method, and load distribution program Download PDFInfo
- Publication number
- JP5526780B2 JP5526780B2 JP2009532196A JP2009532196A JP5526780B2 JP 5526780 B2 JP5526780 B2 JP 5526780B2 JP 2009532196 A JP2009532196 A JP 2009532196A JP 2009532196 A JP2009532196 A JP 2009532196A JP 5526780 B2 JP5526780 B2 JP 5526780B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- processing server
- service processing
- message
- load
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Description
本発明は、負荷分散システム、負荷分散方法及びそのプログラムに関し、特に、1箇所のサービス処理サーバに大量のクライアントからインタラクティブなリクエストが集中する場合にそのリクエストを分散処理する負荷分散システム、負荷分散方法及びプログラムに関する。 The present invention relates to a load distribution system, a load distribution method, and a program therefor, and more particularly, a load distribution system and a load distribution method that distribute and process requests when a large number of clients concentrate on one service processing server. And the program.
ある一箇所に存在するサービス処理サーバに対し複数のクライアントから大量のリクエストが集中する場合、これまではサービス処理サーバを複数台用意し、サービス処理サーバの手前にロードバランサを設置する手法が用いられている。 When a large number of requests from multiple clients are concentrated on a service processing server in one location, a method has been used in which multiple service processing servers are prepared and a load balancer is installed in front of the service processing server. ing.
このような手法では、クライアントとサービス処理サーバの間にあるロードバランサに仮想アドレスを割り振る。サービス処理サーバは、ロードバランサの先に複数台用意される。クライアントは、仮想アドレスにリクエストを送信し、リクエストを受信したロードバランサは、あるアルゴリズムに従って、最適なサービス処理サーバに処理を転送する。この場合のアルゴリズムとしては、例えば、ラウンドロビン方式、最小接続方式、最速方式などがある。 In such a method, a virtual address is allocated to a load balancer between the client and the service processing server. A plurality of service processing servers are prepared ahead of the load balancer. The client transmits a request to the virtual address, and the load balancer that receives the request transfers the process to the optimum service processing server according to a certain algorithm. Examples of algorithms in this case include a round robin method, a minimum connection method, and a fastest method.
ネットワークにおける負荷分散の技術としては、例えば、特許文献1に記載される技術がある。この特許文献1に開示される技術においては、ネットワーク上のノードが自律的に負荷を検出し、その負荷情報を他のノードと交換することにより、ネットワーク上で負荷が集中しているノードを判別し、判別結果に基づいてノード毎にリソースを割り当てることにより、効率的に負荷を分散させる。
As a technique for load distribution in a network, for example, there is a technique described in
また、特許文献2には、クライアント端末からの要求によってサービスを提供するサービス提供装置の負荷が高まった場合に、動作モードが変更になり、予め定められた処理の一部を、クライアント端末とサービス提供装置との通信を中継する中継機器が代行することにより、負荷分散を実現するシステムが提案されている。
サービス処理サーバを複数台用意しサービス処理サーバの手前にロードバランサを設置する上記の手法では、インタラクティブなリクエストを多数処理しなければならない場合に、処理可能なリクエスト数がロードバランサの能力で決定されてしまう、という問題がある。 In the above method, where multiple service processing servers are prepared and a load balancer is installed in front of the service processing server, the number of requests that can be processed is determined by the load balancer's ability when a large number of interactive requests must be processed. There is a problem that.
その理由は、ロードバランサに接続されるサービス処理サーバが多数存在し、処理能力が十分であったとしても、ロードバランサが維持管理可能なセッション数が、インタラクティブなリクエストを処理するシステムとしての限界になってしまうためである。 The reason is that even if there are many service processing servers connected to the load balancer and the processing capacity is sufficient, the number of sessions that the load balancer can maintain is the limit of a system that handles interactive requests. This is because it becomes.
また、特許文献1に記載の技術においては、ネットワーク上のノードが自律的に負荷を検出し、その負荷情報を他のノードと交換することにより、ネットワーク上で負荷が集中しているノードを判別するため、負荷情報を適宜交換する必要があるため、負荷情報の送信によって負荷が増大してしまい、効果的な負荷分散を実現できないという問題がある。
In the technique described in
さらに、特許文献2に記載の技術においては、予め定められた処理の一部のみを中継機器が代行する方式であるので、代行できる処理に制限があり、十分効率的に負荷分散を実現できないという問題がある。
Furthermore, in the technique described in
(目的)
本発明の目的は、ロードバランサを設置することなく、サービス処理サーバが自律してリクエストを分散処理することを可能とする負荷分散システム、サービス処理サーバ、負荷分散方法及び負荷分散プログラムを提供することにある。(the purpose)
An object of the present invention is to provide a load distribution system, a service processing server, a load distribution method, and a load distribution program that enable a service processing server to autonomously distribute and process requests without installing a load balancer. It is in.
本発明による負荷分散システムは、複数のサービス処理サーバをP2Pネットワークを用いてオーバーレイネットワークで接続し、あるサービス処理サーバへのサービスリクエストをP2Pアルゴリズムに従いサービス処理サーバ間でルーティングさせ、接続先のサービス処理サーバの負荷状態に応じて、ルーティング途中のサービス処理サーバが接続先のサービス処理サーバに代わってサービスリクエストの処理を実行する。 The load distribution system according to the present invention connects a plurality of service processing servers through an overlay network using a P2P network, routes a service request to a certain service processing server between the service processing servers according to the P2P algorithm, and connects the service processing of the connection destination. Depending on the load state of the server, the service processing server in the middle of routing executes service request processing on behalf of the connection destination service processing server.
本発明による負荷分散方法は、複数のサービス処理サーバをP2Pネットワークを用いてオーバーレイネットワークで接続し、各サービス処理サーバが、クライアントからサービスリクエストメッセージを受信したときに、サービス処理サーバの負荷状況によりサービスリクエストを処理するサービス処理サーバを決定する第1のステップと、他のサービス処理サーバからサービスリクエストメッセージが転送されたときに、自サービス処理サーバの負荷状況によってサービスリクエストの処理を自サービス処理サーバが処理するか、処理の代行を依頼するか、さらに他のサービス処理サーバに転送するかを決定する第2のステップとを実行する。 The load distribution method according to the present invention connects a plurality of service processing servers through an overlay network using a P2P network, and when each service processing server receives a service request message from a client, the service distribution server performs service according to the load status of the service processing server. The first step of determining the service processing server that processes the request and when the service request message is transferred from another service processing server, the service processing server processes the service request according to the load status of the service processing server. A second step of determining whether to perform processing, request substitution of processing, or transfer to another service processing server is executed.
本発明によるサービス処理サーバは、他のサービス処理サーバとP2Pネットワークを用いてオーバーレイネットワークで接続され、クライアントから受信したサービスリクエストを、接続先のサービス処理サーバの負荷状態に応じて、接続先のサービス処理サーバに代わってサービスリクエストの処理を実行する手段を含む。 The service processing server according to the present invention is connected to another service processing server via an overlay network using a P2P network, and receives a service request received from a client in accordance with the load status of the connection destination service processing server. Means for executing service request processing on behalf of the processing server;
本発明による負荷分散プログラムは、P2Pネットワークを用いてオーバーレイネットワークで接続したサービス処理サーバとして機能する複数のコンピュータに、クライアントからサービスリクエストメッセージを受信したときに、サービス処理サーバの負荷状況によりサービスリクエストを処理するサービス処理サーバを決定する第1の処理と、他のサービス処理サーバからサービスリクエストメッセージが転送されたときに、自サービス処理サーバの負荷状況によってサービスリクエストの処理を自サービス処理サーバが処理するか、処理の代行を依頼するか、さらに他のサービス処理サーバに転送するかを決定する第2の処理を実行させる。 The load distribution program according to the present invention, when receiving a service request message from a client to a plurality of computers functioning as a service processing server connected via an overlay network using a P2P network, sends a service request according to the load status of the service processing server. When the service request message is transferred from the first process for determining the service processing server to be processed and the other service processing server, the service processing server processes the service request according to the load status of the service processing server. Or a second process for determining whether to request a proxy for the process or to transfer the process to another service processing server.
第1の効果は、ロードバランサ等の装置を設置することなく、サービス処理サーバの負荷状態を踏まえたリクエストの分散ができることにある。 The first effect is that requests can be distributed based on the load state of the service processing server without installing a device such as a load balancer.
その理由は、サービス処理サーバをP2P技術を用いてオーバーレイネットワークで接続し、サービス処理サーバへのリクエストをP2Pアルゴリズムに従いサービス処理サーバ間でルーティングさせ、接続先のサービス処理サーバの負荷に応じて、サービス処理サーバが接続先のサービス処理サーバに代わってリクエストの処理をすることにより、リクエストが分散されるためである。 The reason is that the service processing servers are connected by an overlay network using the P2P technology, and requests to the service processing servers are routed between the service processing servers according to the P2P algorithm. This is because the requests are distributed when the processing server processes the request on behalf of the connection destination service processing server.
第2の効果は、可用性の高いサービスシステムを提供することができることにある。 The second effect is that a highly available service system can be provided.
その理由は、サービス処理サーバがP2P技術を用いてオーバーレイネットワークで接続されているため、メンテナンスのためにサービス処理サーバを停止しても他のサービス処理サーバに影響を与えず、サービス増強のためのサービス処理サーバを追加しても他のサービス処理サーバに影響を与えないためである。 The reason is that the service processing server is connected by an overlay network using P2P technology, so even if the service processing server is stopped for maintenance, it does not affect other service processing servers and This is because adding a service processing server does not affect other service processing servers.
(第1の実施の形態)
以下、本発明の第1の実施の形態について添付図を参照して説明する。(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings.
図1を参照すると、本発明の第1の実施の形態による負荷分散システムを構成するサービス処理サーバ1は、送受信部10と、P2P機能部20と、サーバ機能部30と、負荷検知機能部40と、サービスデータベース50を有する構成である。
Referring to FIG. 1, a
また、第1の実施の形態による負荷分散システムは、図2に示すように、複数のサービス処理サーバ1がP2Pネットワークにより互いに接続されている。
In the load distribution system according to the first embodiment, as shown in FIG. 2, a plurality of
送受信部10は、外部ネットワークと接続されており、P2P機能部20から発信されるメッセージを、メッセージに記載の他のサービス処理サーバへ情報を送信する。また、他のサービス処理サーバからメッセージを受信した場合、P2P機能部20にそのメッセージを通知する。
The transmission /
P2P機能部20は、P2P管理機能部21と、P2P検索機能部22と、P2Pデータベース23を有する。
このP2P機能部20は、他のサービス処理サーバとP2P管理メッセージを送受信し合うことによりP2Pネットワークを構築し、P2Pネットワークを用いてP2P検索メッセージを送受信し合い、他のサービス処理サーバを検索する機能を有する。このときP2P機能部20による検索結果である一時的ルート情報をサーバ機能30に通知する。さらに、サービス処理に関するメッセージを受信した場合、サーバ機能部30に通知する。さらにサーバ機能部30からサービス処理に関するメッセージ送信依頼が通知された場合は、P2Pによる宛先解決を実施し、メッセージを所望の他のサービス処理サーバに送信する。The
The
ここで、一時的ルート情報とは、サービスリクエストメッセージをどのサービス処理サーバに処理させるかをP2P機能部20を用いて検索した結果得られる所望の他のサービス処理サーバに辿り着くまでに通過するサービス処理サーバの履歴である。P2Pネットワークでは所望の他のサービス処理サーバへのルートは流動的であるため、一時的ルート情報は、長期間保存しない。例えば、サービスリクエストメッセージが処理完了した時点で消去可能である。
Here, the temporary route information is a service that passes through until reaching a desired other service processing server obtained as a result of searching by using the
P2P管理機能部21は、他のサービス処理サーバと管理メッセージをやり取りすることで、P2Pネットワークを維持管理する機能を有する。
The P2P
P2P検索機能部22は、P2Pネットワークに対し検索メッセージを送信することによって所望の他のサービス処理サーバを検索する。このとき得られる一時的ルート情報をサーバ機能部30に通知する。
The P2P
P2Pデータベース23は、P2Pネットワークを維持し、P2Pネットワークを用いて検索可能にするための情報を保存するデータベースである。例えば、P2PアルゴリズムにChordを選んだ場合、分散ハッシュテーブル(DHT)に当たるフィンガーテーブルを保存する。
The
サーバ機能部30は、代行機能部31と、サービス送受信機能部32と、サービス処理機能部33とを有し、サービスデータベースからサービスを読み込み、クライアントから送信されるサービスリクエストメッセージを処理する。
The
ただし、サーバ機能部30は、負荷検知機能部40から通知される負荷が高い場合は、サービスリクエストメッセージを処理せず、一時的ルート情報を用いて自サービス処理サーバとクライアントの間のサービス処理サーバのうち、自サービス処理サーバ1より1ホップクライアント側のサービス処理サーバにサービスリクエストメッセージを送信し、サービス処理を代行させる機能も有する。あるいは、サーバ機能部30は、他のサービス処理サーバからサービス処理の代行を依頼された場合は、P2P機能部20を用いて送信されてきたサービスリクエストメッセージを受信し、サービス処理を代行する機能も有する。
However, if the load notified from the load
代行機能部31は、負荷検知機能部40から通知される負荷情報を用い、送信されてくるサービスリクエストメッセージをどうするか判断する。
The
負荷が低いときに自サービス処理サーバ宛てのサービスリクエストメッセージを受信した場合、代行機能部31は、そのサービスリクエストメッセージをサービス処理機能部33に処理させる。
When the service request message addressed to the own service processing server is received when the load is low, the
また、負荷が低いときに他サービス処理サーバ宛てのサービスリクエストメッセージを受信した場合、代行機能部31は、一時的ルート情報を用いて自サービス処理サーバと所望サービス処理サーバとの間のサービス処理サーバのうち、自サービス処理サーバ1より1ホップ所望サービス処理サーバ側のサービス処理サーバにそのサービスリクエストメッセージをP2P機能部20及び送受信部10を用いて送信する。
When the service request message addressed to the other service processing server is received when the load is low, the
一方負荷が高いときに自サービス処理サーバ宛てのサービスリクエストメッセージを受信した場合、代行機能部31は、一時的ルート情報を用いて自サービス処理サーバとクライアントの間のサービス処理サーバのうち、自サービス処理サーバより1ホップクライアント側のサービス処理サーバに、サービス送受信機能部32を用いてサービスデータベース50に保存してあるサービスを読み出し、サービス送信メッセージに読み出したサービスを付加してP2P機能部20及び送受信部10を用いて送信する。
On the other hand, when the service request message addressed to the own service processing server is received when the load is high, the
さらに、負荷が高いときに他サービス処理サーバ宛てのサービスリクエストメッセージを受信した場合、代行機能部31は、一時的ルート情報を用いて自サービス処理サーバとクライアントの間のサービス処理サーバのうち、自サービス処理サーバより1ホップクライアント側のサービス処理サーバに、負荷状態通知メッセージをP2P機能部20及び送受信部10を用いて送信する。
Further, when the service request message addressed to the other service processing server is received when the load is high, the
ここで、サービスとは、クライアントからのサービスリクエストメッセージにより要求されるプログラムであり、サービス処理機能部33に読み込まれることによりサービスが処理される。サービスには、有効期限が存在し、他のサービス処理サーバに代行を依頼した場合でも、有効期限の切れたサービスは実行されない。また、サービスは、1回または複数回のサービスリクエストメッセージにより処理が完了する。
Here, the service is a program requested by a service request message from the client, and the service is processed by being read by the service
また代行機能部31は、他サービス処理サーバから負荷状態通知メッセージを受信した場合、サービス要求メッセージを所望のサービス処理サーバに送信するようP2P機能部20に通知する。
When the
さらに代行機能部31は、他サービス処理サーバからサービス要求メッセージを受信した場合、サービス送受信機能部32を用いてサービスデータベース50に保存してあるサービスを読み出し、サービス送信メッセージにそのサービスを付加してP2P機能部20及び送受信部10を用いて送信するよう通知する。
Further, when receiving the service request message from another service processing server, the
さらに代行機能部31は、他サービス処理サーバからサービス送信メッセージを受信した場合、サービス送信メッセージに付加されているサービスをサービスデータベース50に保存し、サービス処理機能部33にそのサービスを読み込ませるようサービス送受信機能部32に通知する。これにより、処理可能なサービスが増え、サービスリクエストメッセージの代行処理を行う。
Further, when receiving a service transmission message from another service processing server, the
サービス送受信機能部32は、代行機能部31からの指示によりサービスデータベースに保存してあるサービスを読み出し、その読み出したサービスを付加したサービス送信メッセージを他のサービス処理サーバにP2P機能部20及び送受信部10を用いて送信する。また、代行機能部31からの指示により他サービス処理サーバからサービス送信メッセージを受信した場合、サービス送信メッセージに付加されているサービスをサービスデータベース50に保存し、サービス処理機能部33にそのサービスを読み込ませる。
The service transmission /
サービス処理機能部33は、サービスデータベース50からサービスを読み出し、サービスリクエストメッセージの処理を行う。
The service
負荷検知機能部40は、サービス処理サーバ内のリソースを管理し、サービス処理サーバの負荷状態を検知し、サーバ機能部30に通知する。このとき、管理するリソースには、CPU使用率、メモリ使用率、ハードディスクドライブ使用率、ネットワーク使用率、などが含まれる。
The load
サービスデータベース50は、サービスを保存する。また、サービスデータベース50は、サービスの有効期限を監視し、有効期限の切れたサービスを発見した場合は当該サービスを削除する。
The
次に、図3と、図4、図5と、図6とを参照して本発明の第1の実施の形態によるサービス処理サーバ1の動作について詳細に説明する。
Next, the operation of the
クライアントからサービスリクエストを受信した場合の動作を図3のフローチャートに従って説明する。 The operation when a service request is received from a client will be described with reference to the flowchart of FIG.
(1)ステップS−A1
初期状態(ステップS−0)で、クライアントからサービスリクエストメッセージを受信する。(1) Step S-A1
In the initial state (step S-0), a service request message is received from the client.
(2)ステップS−A2
サーバ機能部30は、ステップS−A1で受信したサービスリクエストのサービス要求先を確認する。サービス要求先が自サービス処理サーバであった場合は、ステップS−A3に移行する。サービス要求先が他サービス処理サーバであった場合は、ステップS−A4に移行する。(2) Step S-A2
The
(3)ステップS−A3
サーバ機能部30は、ステップS−A1で受信したサービスリクエストを処理する。処理完了後は初期状態(ステップS−0)に移行する。(3) Step S-A3
The
(4)ステップS−A4
他サービス処理サーバ宛のサービスリクエストであっても、すでにサービス処理を代行している可能性がある。そこで、他サービス処理サーバ宛で有効期限内のサービスを保持しているかを確認する。サービスを保持していた場合、ステップS−A3に移行する。サービスを保持していなかった場合、ステップS−A5に移行する。(4) Step S-A4
Even for a service request addressed to another service processing server, there is a possibility that the service processing has already been performed. Therefore, it is confirmed whether the service within the expiration date is held for the other service processing server. When the service is held, the process proceeds to step S-A3. If the service is not held, the process proceeds to step S-A5.
(5)ステップS−A5
ステップS−A1で受信したサービスリクエストを所望のサービス処理サーバへ転送するための一時的ルート情報を入手するため、P2Pデータベース23を参照し他サービス処理サーバへ経路検索をする。(5) Step S-A5
In order to obtain temporary route information for transferring the service request received in step S-A1 to a desired service processing server, the
(6)ステップS−A6
ステップS−A5で入手した一時的ルート情報を用い、次のサービス処理サーバへサービスリクエストを送信する。(6) Step S-A6
Using the temporary route information obtained in step S-A5, a service request is transmitted to the next service processing server.
(7)ステップS−A7
ステップS−A6で転送したサービスリクエストが受理されたかを確認する。受理された場合は初期状態へ移行する。受理されず負荷状況通知を受信した場合は、ステップS−A8に移行する。(7) Step S-A7
It is confirmed whether the service request transferred in step S-A6 has been accepted. If it is accepted, the process shifts to the initial state. When the load status notification is received without being accepted, the process proceeds to step S-A8.
(8)ステップS−A8
一時的ルート情報を参照し、所望のサービス処理サーバに対しサービス要求を送信する。(8) Step S-A8
With reference to the temporary route information, a service request is transmitted to a desired service processing server.
(9)ステップS−A9
ステップS−A8で要求したサービスを受信する。サービス受信後はステップS−A3に移行し、受信したサービスを用いてサービスリクエストを処理する。(9) Step S-A9
The service requested in step S-A8 is received. After receiving the service, the process proceeds to step S-A3, and the service request is processed using the received service.
次に、他のサービス処理サーバからサービスリクエストを受信した場合の動作を図4のフローチャートに従って説明する。 Next, the operation when a service request is received from another service processing server will be described with reference to the flowchart of FIG.
(1)ステップS−B1
初期状態(ステップS−0)で、他のサービス処理サーバからサービスリクエストメッセージを受信する。(1) Step S-B1
In the initial state (step S-0), a service request message is received from another service processing server.
(2)ステップS−B2
自サービス処理サーバの負荷状況をチェックする。負荷が低い場合、ステップS−B3に移行する。負荷が高い場合、ステップS−B3に移行する。(2) Step S-B2
Check the load status of the local service processing server. When the load is low, the process proceeds to step S-B3. When the load is high, the process proceeds to step S-B3.
(3)ステップS−B3
サービスリクエストメッセージのサービス要求先を確認する。ステップS−B2において低負荷かつサービス要求先が自サービス処理サーバであった場合、ステップS−A3に移行する。ステップS−B2において低負荷かつサービス要求先が他サービス処理サーバであった場合、ステップS−A6に移行する。ステップS−B2において高負荷かつサービス要求先が自サービス処理サーバであった場合、ステップS−B4に移行する。ステップS−B2において高負荷かつサービス要求先が他サービス処理サーバであった場合、ステップS−B7に移行する。(3) Step S-B3
Check the service request destination of the service request message. When the load is low and the service request destination is the own service processing server in step S-B2, the process proceeds to step S-A3. When the load is low and the service request destination is another service processing server in step S-B2, the process proceeds to step S-A6. When the load is high and the service request destination is the own service processing server in step S-B2, the process proceeds to step S-B4. When the load is high and the service request destination is another service processing server in step S-B2, the process proceeds to step S-B7.
(4)ステップS−B4
ステップS−B1でサービスリクエストメッセージを転送してきた他サービス処理サーバに対し、負荷状況通知メッセージを送信する。(4) Step S-B4
In step S-B1, a load status notification message is transmitted to the other service processing server that has transferred the service request message.
(5)ステップS−B5
ステップS−B4で負荷状況通知メッセージを送信した他サービス処理サーバよりサービス要求メッセージを受信する。(5) Step S-B5
In step S-B4, the service request message is received from the other service processing server that has transmitted the load status notification message.
(6)ステップS−B6
ステップS−B5でサービス要求メッセージを送信してきた他サービス処理サーバに対し、サービスを送信する。(6) Step S-B6
In step S-B5, the service is transmitted to the other service processing server that has transmitted the service request message.
(7)ステップS−B7
ステップS−B1でサービスリクエストメッセージを転送してきた他サービス処理サーバに対し、負荷状況通知メッセージを送信する。その後初期状態に移行する。(7) Step S-B7
In step S-B1, a load status notification message is transmitted to the other service processing server that has transferred the service request message. After that, the initial state is entered.
他のサービス処理サーバからP2P管理メッセージを受信した場合の動作を図5のフローチャートに従って説明する。 The operation when a P2P management message is received from another service processing server will be described with reference to the flowchart of FIG.
(1)ステップS−C1
他サービス処理サーバよりP2P管理メッセージを受信する。(1) Step S-C1
A P2P management message is received from another service processing server.
(2)ステップS−C2
ステップS−C1でP2P管理メッセージを送信してきた他サービス処理サーバに対し、P2Pデータベース内の情報を含めてP2P管理メッセージを送信する。(2) Step S-C2
The P2P management message including the information in the P2P database is transmitted to the other service processing server that has transmitted the P2P management message in step S-C1.
他のサービス処理サーバからP2P検索メッセージを受信した場合の動作を図6のフローチャートに従って説明する。
(1)ステップS−D1
他サービス処理サーバよりP2P検索メッセージを受信する。The operation when a P2P search message is received from another service processing server will be described with reference to the flowchart of FIG.
(1) Step S-D1
A P2P search message is received from another service processing server.
(2)ステップS−D2
ステップS−C1でP2P検索メッセージを送信してきた他サービス処理サーバに対し、P2Pデータベース内の情報を参照しP2P検索メッセージを送信する。(2) Step S-D2
In step S-C1, the P2P search message is transmitted with reference to the information in the P2P database to the other service processing server that has transmitted the P2P search message.
(第1の実施の形態による効果)
次に、本発明の第1実施の形態の効果について説明する。(Effects of the first embodiment)
Next, the effect of the first embodiment of the present invention will be described.
本実施の形態は、サービス処理サーバ群をP2P技術を用いてオーバーレイネットワークで接続し、あるサービス処理サーバへのリクエストをP2Pのアルゴリズムに従いサービス処理サーバ間でルーティングさせる。そして、接続先のサービス処理サーバの負荷が高い場合、ルーティング途中のサービス処理サーバが接続先のサービス処理サーバに代わってリクエストの処理を行う。このように、リクエストの発信場所によって、リクエストのルーティング経路が変化するため、ロードバランサを設置することなく、リクエストを分散させることができる。 In this embodiment, service processing servers are connected by an overlay network using P2P technology, and a request to a certain service processing server is routed between the service processing servers according to a P2P algorithm. When the load on the connection destination service processing server is high, the service processing server in the middle of routing processes the request on behalf of the connection destination service processing server. As described above, since the routing route of the request varies depending on the place where the request is transmitted, the request can be distributed without installing a load balancer.
さらに、本実施の形態は、サービス処理サーバ群がP2P技術を用いてオーバーレイネットワークで接続されているため、メンテナンスのためにサービス処理サーバを停止しても他のサービス処理サーバに影響を与えず、サービス増強のためのサービス処理サーバを追加しても他のサービス処理サーバに影響を与えない、可用性の高いサービスシステムを提供することができる。 Furthermore, in this embodiment, since the service processing server group is connected by the overlay network using the P2P technology, even if the service processing server is stopped for maintenance, the other service processing servers are not affected. It is possible to provide a highly available service system that does not affect other service processing servers even if a service processing server for service enhancement is added.
(第2の実施の形態)
次に、本発明の第2実施の形態について図面を参照して詳細に説明する。(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
図7を参照すると、本発明の第2実施の形態は、本発明の第1の実施の形態と同様に、送受信部10と、P2P機能部20と、サーバ機能部30と、負荷検知機能部40と、サービスデータベース50を有する。なお、図7において、第1の実施の形態の各構成要素と同じ符号を付した部分は、第1の実施の形態と共通の構成であるので、説明は省略する。
Referring to FIG. 7, the second embodiment of the present invention is similar to the first embodiment of the present invention in that the
この第2実施の形態においては、負荷分散プログラム60を有している点が、第1の実施の形態と相違している。 The second embodiment is different from the first embodiment in having a load distribution program 60.
負荷分散プログラム60は、送受信部10と、P2P機能部20と、サーバ機能部30と、負荷検知機能部40と、サービスデータベース50と、に読み込まれ送受信部10と、P2P機能部20と、サーバ機能部30と、負荷検知機能部40と、サービスデータベース50の動作を制御するプログラムである。
The load distribution program 60 is read into the transmission /
そして、送受信部10と、P2P機能部20と、サーバ機能部30と、負荷検知機能部40と、サービスデータベース50は、負荷分散プログラム60の制御により第1の実施の形態における負荷分散システムによる処理と同一の処理を実行する。
The transmission /
ここで、本実施の形態によるサービス処理サーバ1のハードウェア構成を図8を参照して説明する。
Here, the hardware configuration of the
図8は、本実施の形態によるサービス処理サーバ1のハードウェア構成を示すブロック図である。
FIG. 8 is a block diagram showing a hardware configuration of the
図8を参照すると、本実施の形態によるサービス処理サーバ1は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、CPU(Central Processing Unit)301、RAM(Random Access Memory)等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部302、ネットワークを介してデータの送受信を行う通信制御部(送受信部10)303、周辺機器と接続してデータの送受信を行うインタフェース部304、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部305、本情報処理装置の上記各構成要素を相互に接続するシステムバス306等を備えている。
Referring to FIG. 8, the
本実施の形態によるサービス処理サーバ1は、その動作を、サーバ内部に上述した負荷分散プログラム60を組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することによりハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供する負荷分散プログラム60を、CPU301で実行することにより、ソフトウェア的に実現することも可能である。
In the
ソフトウェア的に実現する場合、CPU301は、補助記憶部305に格納した負荷分散プログラム60を、主記憶部302にロードして実行することにより、上述したP2P機能部20とサーバ機能部30の機能を実行する。
When implemented in software, the CPU 301 loads the load distribution program 60 stored in the auxiliary storage unit 305 into the main storage unit 302 and executes it, thereby executing the functions of the
(第2の実施の形態による効果)
第2実施の形態によれば、負荷分散システム用プログラムを用いることによりコンピュータを負荷分散システムとして動作させることができ、第1実施の形態の効果と同様の効果を得ることが可能である。(Effects of the second embodiment)
According to the second embodiment, the computer can be operated as a load distribution system by using the load distribution system program, and the same effect as the effect of the first embodiment can be obtained.
以上好ましい実施の形態と実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態及び実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。 Although the present invention has been described with reference to the preferred embodiments and examples, the present invention is not necessarily limited to the above-described embodiments and examples, and various modifications can be made within the scope of the technical idea. Can be implemented.
この出願は、2007年9月13日に出願された日本出願特願2007−237779を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims the priority on the basis of Japanese application Japanese Patent Application No. 2007-237779 for which it applied on September 13, 2007, and takes in those the indications of all here.
Claims (44)
あるサービス処理サーバへのサービスリクエストをP2Pアルゴリズムに従いサービス処理サーバ間でルーティングさせる負荷分散システムにおいて、
前記サービス処理サーバが、
前記サービスリクエストメッセージに係るサービスを自サービス処理サーバで実行するか否かを決定するサーバ機能部を備え、
クライアントからサービスリクエストメッセージを受信した前記サービス処理サーバの前記サーバ機能部は、
前記サービスリクエストメッセージが自サービス処理サーバ宛であって自サービス処理サーバの負荷が低い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストメッセージに係るサービスを保持している場合に、当該サービスを実行し、
前記サービスリクエストメッセージが自サービス処理サーバ宛であって自サービス処理サーバの負荷が高い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストメッセージに係るサービスを保持していない場合に、他の前記サービス処理サーバに前記サービスリクエストメッセージを送信し、
他の前記サービス処理サーバからサービスリクエストメッセージを受信した前記サービス処理サーバの前記サーバ機能部は、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合は、前記サービスを実行し、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合は、前記サービスリクエストメッセージをさらに他のサーバへ送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷状況通知メッセージを通知し、当該送信元の前記サービス処理サーバからのサービス要求メッセージに対し、サービスを送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷の状況通知メッセージを通知する
ことを特徴とする負荷分散システム。 A load balancing system for connecting a plurality of service processing servers through an overlay network using a P2P network ,
In load balancing system Ru is routed between the service processing server a service request to a service processing server according P2P algorithm,
The service processing server is
A server function unit for determining whether or not to execute the service related to the service request message on the service processing server;
The server function unit of the service processing server that has received a service request message from a client,
When the service request message is addressed to the own service processing server and the load of the own service processing server is low, and when the destination is another service processing server and the service related to the service request message is held Run the service,
When the service request message is addressed to the own service processing server and the load on the own service processing server is high, and when the destination is the other service processing server and the service request message is not held Sending the service request message to the other service processing server;
The server function unit of the service processing server that has received a service request message from another service processing server,
If the load on the own service processing server is low, and the service request message is addressed to the own service processing server, execute the service,
When the load of the service processing server is low and the service request message is addressed to another service processing server, the service request message is further transmitted to another server,
When the load on the service processing server is high and the service request message is addressed to the service processing server, the service processing server at the transmission source is notified of the load status notification message, and the service at the transmission source is transmitted. Send the service in response to the service request message from the processing server,
When the load of the service processing server is high and the service request message is addressed to another service processing server, the load status notification message is notified to the service processing server of the transmission source. A load balancing system characterized by that.
外部ネットワークと接続され、他のサービス処理サーバとメッセージを送受信する送受信部と、
他のサービス処理サーバとP2P管理メッセージとP2P検索メッセージをやりとりすることでP2Pネットワークを構築し、当該P2Pネットワークを用いて他のサービス処理サーバを検索するP2P機能部と、
自サービス処理サーバの負荷を検知する負荷検知機能部と、
サービスを保存管理するサービスデータベースとを含むことを特徴とする請求項1に記載の負荷分散システム。 The service processing server
A transmission / reception unit connected to an external network and transmitting / receiving messages to / from other service processing servers;
A P2P function unit that constructs a P2P network by exchanging P2P management messages and P2P search messages with other service processing servers, and searches for other service processing servers using the P2P network ;
A load detection function unit for detecting the load of the own service processing server;
The load distribution system according to claim 1, further comprising a service database that stores and manages services.
自サービス処理サーバでサービスを実行する場合、前記サービス処理機能部に当該サービスを実行させる機能と、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合、一時的ルート情報を用いて自サービス処理サーバと所望サービス処理サーバとの間のサービス処理サーバのうち、自サービス処理サーバより1ホップサービス処理サーバ側のサービス処理サーバに前記サービスリクエストメッセージを送信する機能と、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合、一時的ルート情報を用いて自サービス処理サーバとクライアントとの間のサービス処理サーバのうち、自サービス処理サーバより1ホップクライアント側のサービス処理サーバに、前記サービスデータベースに保存するサービスを読み出し、サービス送信メッセージに前記サービスを付加して送信する機能と、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合、一時的ルート情報を用いて自サービス処理サーバとクライアントとの間のサービス処理サーバのうち、自サービス処理サーバより1ホップクライアント側のサービス処理サーバに、負荷の状況通知メッセージを送信する機能とを有することを特徴とする請求項2から請求項8の何れかに記載の負荷分散システム。 The proxy function unit of the service processing server that has received a service request message from another service processing server ,
When executing a service on its own service processing server, a function for causing the service processing function unit to execute the service ;
When the load on the own service processing server is low and the service request message is destined for another service processing server, the service between the own service processing server and the desired service processing server using temporary route information Among the processing servers, a function of transmitting the service request message from the own service processing server to the service processing server on the 1-hop service processing server side;
Even if the load of the self-service processing server is high, if the service request message is addressed to its own service processing server, among the service processing server between a self service processing server and a client using a temporary route information, A function of reading a service stored in the service database from the own service processing server to a service processing server on the one-hop client side, adding the service to a service transmission message, and transmitting the service;
Even if the load of the self-service processing server is high, if the service request message is addressed to another of the service processing server, the service processing server between a self service processing server and a client using a temporary route information among them, the service processing server 1 hop client side from the own service processing server load balancing system according to claim 8 claims 2, characterized in that it comprises a function of transmitting a state notification message load .
前記代行機能部からの指示により前記サービスデータベースに保存したサービスを読み出し、サービスを付加したサービス送信メッセージを他のサービス処理サーバに送信する機能と、
前記代行機能部からの指示により他サービス処理サーバからサービス送信メッセージを受信した場合、サービス送信メッセージに付加されているサービスを前記サービスデータベースに保存し、前記サービス処理機能部に前記サービスを読み込ませる機能とを有することを特徴とする請求項9から請求項11の何れかに記載の負荷分散システム。 The transmission / reception function unit includes:
A function of reading a service stored in the service database according to an instruction from the proxy function unit, and transmitting a service transmission message to which the service is added to another service processing server;
A function that, when a service transmission message is received from another service processing server in response to an instruction from the proxy function unit, stores the service added to the service transmission message in the service database and causes the service processing function unit to read the service load balancing system according to claim 11 claim 9, characterized in that it comprises and.
クライアントからサービスリクエストメッセージを受信した場合に、
前記サービスリクエストメッセージが自サービス処理サーバ宛であって自サービス処理サーバの負荷が低い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストメッセージに係るサービスを保持している場合に、当該サービスを実行し、
前記サービスリクエストメッセージが自サービス処理サーバ宛であって自サービス処理サーバの負荷が高い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストメッセージに係るサービスを保持していない場合に、他の前記サービス処理サーバに前記サービスリクエストメッセージを送信する、第1のステップと、
他の前記サービス処理サーバからサービスリクエストメッセージを受信した場合に、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合は、前記サービスを実行し、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合は、前記サービスリクエストメッセージをさらに他のサーバへ送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷状況通知メッセージを通知し、当該送信元の前記サービス処理サーバからのサービス要求メッセージに対し、サービスを送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷の状況通知メッセージを通知する、第2のステップと、
を実行することを特徴とする負荷分散方法。 A plurality of service processing servers are connected by an overlay network using a P2P network.
When a service request message is received from a client,
When the service request message is addressed to the own service processing server and the load of the own service processing server is low, and when the destination is another service processing server and the service related to the service request message is held Run the service,
When the service request message is addressed to the own service processing server and the load on the own service processing server is high, and when the destination is the other service processing server and the service request message is not held Sending the service request message to the other service processing server; and
When a service request message is received from another service processing server,
If the load on the own service processing server is low, and the service request message is addressed to the own service processing server, execute the service,
When the load of the service processing server is low and the service request message is addressed to another service processing server, the service request message is further transmitted to another server,
When the load on the service processing server is high and the service request message is addressed to the service processing server, the service processing server at the transmission source is notified of the load status notification message, and the service at the transmission source is transmitted. Send the service in response to the service request message from the processing server,
When the load of the own service processing server is high and the service request message is addressed to another service processing server, a load status notification message is notified to the service processing server of the transmission source , Steps ,
The load distribution method characterized by performing.
他サービス処理サーバからP2P管理メッセージを受信したときに、P2P管理メッセージを返信する第3のステップと、
他サービス処理サーバからP2P検索メッセージを受信したときに、P2P検索メッセージを返信する第4のステップとを有することを特徴とする請求項17に記載の負荷分散方法。 The service processing server is
A third step of returning a P2P management message when a P2P management message is received from another service processing server;
The load balancing method according to claim 17 , further comprising a fourth step of returning a P2P search message when a P2P search message is received from another service processing server.
クライアントからサービスリクエストメッセージを受信した場合、受信したサービスリクエストのサービス要求先を確認するステップと、
前記サービス要求先を確認した結果、前記サービス要求先が他の前記サービス処理サーバ宛である場合に、当該他サービス処理サーバ宛で有効期限内のサービスを保持しているかを確認するステップと、
前記サービス保持を確認した結果、当該有効期限内のサービスを保持していない場合に、
受信したサービスリクエストを所定のサービス処理サーバへ転送するための一時的ルート情報を取得するため、P2Pデータベースを参照し当該他サービス処理サーバへ経路検索をするステップと、
当該取得した一時的ルート情報を用い、次のサービス処理サーバへサービスリクエストを転送するステップと、
転送したサービスリクエストが受理されたかを確認するステップと、
前記サービスリクエストの受理を確認した結果、前記転送したサービスリクエストが受理されない場合に、
前記一時的ルート情報を参照し、所定のサービス処理サーバに対しサービス要求を送信するステップと、
前記要求したサービスを受信するステップと、
を含むことを特徴とする請求項17又は請求項18に記載の負荷分散方法。 The first step,
When a service request message is received from a client, a step of confirming a service request destination of the received service request ;
As a result of confirming the service request destination, if the service request destination is addressed to another service processing server, confirming whether the service within the expiration date is retained for the other service processing server ;
As a result of confirming the service retention, if the service within the validity period is not retained,
To obtain a temporary route information for forwarding received service request to a predetermined service processing server, the steps of the reference route search to the other service processing server P2P database,
A step of using the acquired temporary route information, and transfers the service request to the next service processing server,
A step of transferring the service request was to verify if it were accepted,
As a result of confirming acceptance of the service request, if the forwarded service request is not accepted,
Referring to the temporary route information, and sending a service request for a given service processing server,
And Luz step is to receive the requested service,
The load distribution method according to claim 17 or 18 , characterized by comprising:
自サービス処理サーバの負荷状況をチェックするステップと、
サービスリクエストメッセージのサービス要求先を確認するステップと、
前記確認の結果、当該サービス要求先が自サービス処理サーバであって自サービス処理サーバの負荷が高い場合に、
前記サービスリクエストメッセージを転送してきた他サービス処理サーバに対し、負荷状況通知メッセージを送信するステップと、
前記負荷状況通知メッセージを送信した送信先の前記他サービス処理サーバよりサービス要求メッセージを受信するステップと、
前記サービス要求メッセージを送信してきた他サービス処理サーバに対し、サービスを送信するステップと、
前記確認の結果、当該サービス要求先が他サービス処理サーバであって自サービス処理サーバの負荷が高い場合に、
サービスリクエストメッセージを転送してきた他サービス処理サーバに対し、負荷状況通知メッセージを送信するステップと、
を含むことを特徴とする請求項17から請求項19の何れかに記載の負荷分散方法。 In the second step, when a service request message is received from another service processing server ,
A step of checking the load status of the own service processing server ;
Confirming the service request destination of the service request message ;
As a result of the confirmation, when the service request destination is the own service processing server and the load on the own service processing server is high,
To other service processing server which has to forward the service request message, sending a load status notification message,
Receiving a service request message from the other service processing server destination which transmitted the load status notification message,
To other service processing server having transmitted the service request message, and sending the service,
As a result of the confirmation, when the service request destination is another service processing server and the load of the own service processing server is high,
Sending a load status notification message to another service processing server that has transferred the service request message ;
Load balancing method according to claim 19 claim 17, characterized in that it comprises a.
他のサービス処理サーバよりP2P管理メッセージを受信するステップと、
前記P2P管理メッセージを送信した他の前記サービス処理サーバに対し、P2Pデータベース内の情報を含めてP2P管理メッセージを送信するステップと、
を含むことを特徴とする請求項18から請求項20の何れかに記載の負荷分散方法。 The third step,
Receiving a P2P management message from another service processing server ;
Transmitting a P2P management message including information in a P2P database to the other service processing server that has transmitted the P2P management message ;
Load balancing method according to any one of claims 20 to claim 18, characterized in that it comprises a.
他のサービス処理サーバよりP2P検索メッセージを受信するステップと、
前記P2P検索メッセージを送信した他のサービス処理サーバに対し、P2Pデータベース内の情報を参照しP2P検索メッセージを送信するステップと、
を含むことを特徴とする請求項18から請求項21の何れかに記載の負荷分散方法。 Said fourth step,
Receiving a P2P search message from another service processing server ;
With respect to the P2P search message other service processing server that sent, and sending the P2P search message referring to the information in the P2P database,
The load balancing method according to any one of claims 18 to 21 , further comprising:
クライアントから受信したサービスリクエストに係るサービスを自サービス処理サーバで実行するか否かを決定するサーバ機能部を備え、
前記サーバ機能部は、
前記サービスリクエストが自サービス処理サーバ宛であって自サービス処理サーバの負荷が低い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストに係るサービスを保持している場合に、当該サービスを実行し、
前記サービスリクエストが自サービス処理サーバ宛であって自サービス処理サーバの負荷が高い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストに係るサービスを保持していない場合に、他の前記サービス処理サーバに前記サービスリクエストメッセージを送信し、
他の前記サービス処理サーバからサービスリクエストを受信した前記サービス処理サーバの前記サーバ機能部は、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合は、前記サービスを実行し、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストが他の前記サービス処理サーバ宛である場合は、前記サービスリクエストをさらに他のサーバへ送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストが自サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷状況通知メッセージを通知し、当該送信元の前記サービス処理サーバからのサービス要求メッセージに対し、サービスを送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストが他の前記サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷の状況通知メッセージを通知する、
ことを特徴とするサービス処理サーバ。 A service processing server connected to another service processing server via an overlay network using a P2P network ,
A server function unit for determining whether or not to execute a service related to a service request received from a client on the own service processing server;
The server function unit
When the service request is addressed to the own service processing server and the load of the own service processing server is low, and when the destination is the other service processing server and holds the service related to the service request, Run the service,
Other when the service request is addressed to the own service processing server and the load on the own service processing server is high, and the destination is the other service processing server and the service related to the service request is not held. Sending the service request message to the service processing server of
The server function unit of the service processing server that has received a service request from another service processing server,
If the load on the own service processing server is low, and the service request message is addressed to the own service processing server, execute the service,
If the load on the service processing server is low and the service request is addressed to another service processing server, the service request is further transmitted to another server,
When the load on the service processing server is high and the service request is addressed to the service processing server, the service processing server at the transmission source is notified of a load status notification message, and the service processing at the transmission source is performed. In response to the service request message from the server, send the service,
If the load of the service processing server is high and the service request is addressed to another service processing server, a load status notification message is notified to the service processing server of the transmission source.
A service processing server characterized by the above.
他のサービス処理サーバとP2P管理メッセージとP2P検索メッセージをやりとりすることでP2Pネットワークを構築し、当該P2Pネットワークを用いて他のサービス処理サーバを検索するP2P機能部と、
自サービス処理サーバの負荷を検知する負荷検知機能部と、
サービスを保存管理するサービスデータベースとを含むことを特徴とする請求項24又は請求項23に記載のサービス処理サーバ。 A transmission / reception unit connected to an external network and transmitting / receiving messages to / from other service processing servers;
A P2P function unit that constructs a P2P network by exchanging P2P management messages and P2P search messages with other service processing servers, and searches for other service processing servers using the P2P network ;
A load detection function unit for detecting the load of the own service processing server;
The service processing server according to claim 24 or claim 23, characterized in that it comprises a service database that stores and manages service.
自サービス処理サーバでサービスを実行する場合、前記サービス処理機能部に当該サービスを実行させる機能と、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合、一時的ルート情報を用いて自サービス処理サーバと所望サービス処理サーバとの間のサービス処理サーバのうち、自サービス処理サーバより1ホップサービス処理サーバ側のサービス処理サーバに前記サービスリクエストメッセージを送信する機能と、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合、一時的ルート情報を用いて自サービス処理サーバとクライアントとの間のサービス処理サーバのうち、自サービス処理サーバより1ホップクライアント側のサービス処理サーバに、前記サービスデータベースに保存するサービスを読み出し、サービス送信メッセージに前記サービスを付加して送信する機能と、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合、一時的ルート情報を用いて自サービス処理サーバとクライアントとの間のサービス処理サーバのうち、自サービス処理サーバより1ホップクライアント側のサービス処理サーバに、負荷の状況通知メッセージを送信する機能とを有することを特徴とする請求項24から請求項30の何れかに記載のサービス処理サーバ。 The proxy function unit that has received a service request message from another service processing server ,
When executing a service on its own service processing server, a function for causing the service processing function unit to execute the service ;
When the load on the own service processing server is low and the service request message is destined for another service processing server, the service between the own service processing server and the desired service processing server using temporary route information Among the processing servers, a function of transmitting the service request message from the own service processing server to the service processing server on the 1-hop service processing server side;
Even if the load of the self-service processing server is high, if the service request message is addressed to its own service processing server, among the service processing server between a self service processing server and a client using a temporary route information, A function of reading a service stored in the service database from the own service processing server to a service processing server on the one-hop client side, adding the service to a service transmission message, and transmitting the service;
Even if the load of the self-service processing server is high, if the service request message is addressed to another of the service processing server, the service processing server between a self service processing server and a client using a temporary route information among them, the service processing server 1 hop client side from the own service processing server, the service processing server according to any one of claims 30 to claim 24, characterized in that it comprises a function of transmitting a state notification message load .
前記代行機能部からの指示により前記サービスデータベースに保存したサービスを読み出し、サービスを付加したサービス送信メッセージを他のサービス処理サーバに送信する機能と、
前記代行機能部からの指示により他サービス処理サーバからサービス送信メッセージを受信した場合、サービス送信メッセージに付加されているサービスを前記サービスデータベースに保存し、前記サービス処理機能部に前記サービスを読み込ませる機能とを有することを特徴とする請求項24から請求項35の何れかに記載のサービス処理サーバ。 The transmission / reception function unit includes:
A function of reading a service stored in the service database according to an instruction from the proxy function unit, and transmitting a service transmission message to which the service is added to another service processing server;
A function that, when a service transmission message is received from another service processing server in response to an instruction from the proxy function unit, stores the service added to the service transmission message in the service database and causes the service processing function unit to read the service 36. The service processing server according to any one of claims 24 to 35 , comprising:
クライアントからサービスリクエストメッセージを受信した場合に、
前記サービスリクエストメッセージが自サービス処理サーバ宛であって自サービス処理サーバの負荷が低い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストメッセージに係るサービスを保持している場合に、当該サービスを実行し、
前記サービスリクエストメッセージが自サービス処理サーバ宛であって自サービス処理サーバの負荷が高い場合、及び、宛先が他の前記サービス処理サーバであって当該サービスリクエストメッセージに係るサービスを保持していない場合に、他の前記サービス処理サーバに前記サービスリクエストメッセージを送信する第1の処理と、
他の前記サービス処理サーバからサービスリクエストメッセージを受信した場合に、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合は、前記サービスを実行し、
自サービス処理サーバの負荷が低い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合は、前記サービスリクエストメッセージをさらに他のサーバへ送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが自サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷状況通知メッセージを通知し、当該送信元の前記サービス処理サーバからのサービス要求メッセージに対し、サービスを送信し、
自サービス処理サーバの負荷が高い場合であって、前記サービスリクエストメッセージが他の前記サービス処理サーバ宛である場合は、送信元の前記サービス処理サーバに負荷の状況通知メッセージを通知する第2の処理と、
を実行させることを特徴とする負荷分散プログラム。 To a computer functioning as a service processing server connected via an overlay network using a P2P network,
When receiving a service request message from the client,
When the service request message is addressed to the own service processing server and the load of the own service processing server is low, and when the destination is another service processing server and the service related to the service request message is held Run the service,
When the service request message is addressed to the own service processing server and the load on the own service processing server is high, and when the destination is the other service processing server and the service request message is not held A first process for transmitting the service request message to another service processing server ;
When a service request message is received from another service processing server,
If the load on the own service processing server is low, and the service request message is addressed to the own service processing server, execute the service,
When the load of the service processing server is low and the service request message is addressed to another service processing server, the service request message is further transmitted to another server,
When the load on the service processing server is high and the service request message is addressed to the service processing server, the service processing server at the transmission source is notified of the load status notification message, and the service at the transmission source is transmitted. Send the service in response to the service request message from the processing server,
When the load on the service processing server is high and the service request message is addressed to another service processing server, a second process of notifying the service processing server of the transmission source of a load status notification message When,
A load distribution program characterized by causing
他サービス処理サーバからP2P管理メッセージを受信したときに、P2P管理メッセージを返信する第3の処理と、
他サービス処理サーバからP2P検索メッセージを受信したときに、P2P検索メッセージを返信する第4の処理を実行させることを特徴とする請求項39に記載の負荷分散プログラム。 In the computer,
A third process for returning a P2P management message when a P2P management message is received from another service processing server;
40. The load distribution program according to claim 39 , wherein when a P2P search message is received from another service processing server, a fourth process of returning the P2P search message is executed.
クライアントからサービスリクエストメッセージを受信した場合、受信したサービスリクエストのサービス要求先を確認する処理と、
前記サービス要求先を確認した結果、前記サービス要求先が他の前記サービス処理サーバ宛である場合に、当該他サービス処理サーバ宛で有効期限内のサービスを保持しているかを確認する処理と、
前記サービス保持を確認した結果、当該有効期限内のサービスを保持していない場合に、
受信したサービスリクエストを所定のサービス処理サーバへ転送するための一時的ルート情報を取得するため、P2Pデータベースを参照し当該他サービス処理サーバへ経路検索をする処理と、
当該取得した一時的ルート情報を用い、次のサービス処理サーバへサービスリクエストを転送する処理と、
転送したサービスリクエストが受理されたかを確認する処理と、
前記サービスリクエストの受理を確認した結果、前記転送したサービスリクエストが受理されない場合に、
前記一時的ルート情報を参照し、所定のサービス処理サーバに対しサービス要求を送信する処理と、
前記要求したサービスを受信する処理と、
を含むことを特徴とする請求項39又は請求項40に記載の負荷分散プログラム。 The first process,
When a service request message is received from a client , processing for confirming the service request destination of the received service request ,
As a result of confirming the service request destination, when the service request destination is addressed to another service processing server, a process of confirming whether the service within the expiration date is retained for the other service processing server ;
As a result of confirming the service retention, if the service within the validity period is not retained,
To obtain a temporary route information for forwarding received service request to a predetermined service processing server, a process of the reference route search to the other service processing server P2P database,
Using the acquired temporary route information, the process of transferring the service request to the next service processing server,
A process to check if the forwarded service request has been accepted ,
As a result of confirming acceptance of the service request, if the forwarded service request is not accepted,
Referring to the temporary route information, a process of transmitting a service request for a given service processing server,
And processing that will receive the requested service,
41. The load distribution program according to claim 39 or claim 40 , comprising:
自サービス処理サーバの負荷状況をチェックする処理と、
サービスリクエストメッセージのサービス要求先を確認する処理と、
前記確認の結果、当該サービス要求先が自サービス処理サーバであって自サービス処理サーバの負荷が高い場合に、
前記サービスリクエストメッセージを転送してきた他サービス処理サーバに対し、負荷状況通知メッセージを送信する処理と、
前記負荷状況通知メッセージを送信した送信先の前記他サービス処理サーバよりサービス要求メッセージを受信する処理と、
前記サービス要求メッセージを送信してきた他サービス処理サーバに対し、サービスを送信する処理と、
前記確認の結果、当該サービス要求先が他サービス処理サーバであって自サービス処理サーバの負荷が高い場合に、
サービスリクエストメッセージを転送してきた他サービス処理サーバに対し、負荷状況通知メッセージを送信する処理と、
を含むことを特徴とする請求項39から請求項41の何れかに記載の負荷分散プログラム。 When the second process receives a service request message from another service processing server ,
A process of checking the load status of the own service processing server ;
Checking the service request destination of the service request message ,
As a result of the confirmation, when the service request destination is the own service processing server and the load on the own service processing server is high,
To other service processing server which has to forward the service request message, the process of transmitting the load status notification message,
A process of receiving a service request message from the other service processing server destination which transmitted the load status notification message,
To other service processing server having transmitted the service request message, a process of transmitting a service,
As a result of the confirmation, when the service request destination is another service processing server and the load of the own service processing server is high,
A process of sending a load status notification message to another service processing server that has transferred the service request message ;
The load distribution program according to any one of claims 39 to 41 , further comprising:
他のサービス処理サーバよりP2P管理メッセージを受信する処理と、
前記P2P管理メッセージを送信した他の前記サービス処理サーバに対し、P2Pデータベース内の情報を含めてP2P管理メッセージを送信する処理と、
を含むことを特徴とする請求項40から請求項42の何れかに記載の負荷分散プログラム。 The third process,
A process of receiving a P2P management message from another service processing server;
A process of transmitting a P2P management message including information in a P2P database to the other service processing server that has transmitted the P2P management message ;
Load balancing program according to claim 42 claim 40, characterized in that it comprises a.
他のサービス処理サーバよりP2P検索メッセージを受信する処理と、
P2P検索メッセージを送信した他のサービス処理サーバに対し、P2Pデータベース内の情報を参照しP2P検索メッセージを送信する処理と、
を含むことを特徴とする請求項40から請求項43の何れかに記載の負荷分散プログラム。 The fourth process,
A process of receiving a P2P search message from another service processing server ;
A process of referring to information in the P2P database and transmitting a P2P search message to another service processing server that has transmitted the P2P search message ;
Load balancing program according to claim 43 claim 40, characterized in that it comprises a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009532196A JP5526780B2 (en) | 2007-09-13 | 2008-09-10 | Load distribution system, service processing server, load distribution method, and load distribution program |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007237779 | 2007-09-13 | ||
JP2007237779 | 2007-09-13 | ||
JP2009532196A JP5526780B2 (en) | 2007-09-13 | 2008-09-10 | Load distribution system, service processing server, load distribution method, and load distribution program |
PCT/JP2008/066314 WO2009034994A1 (en) | 2007-09-13 | 2008-09-10 | Load distribution system, service processing server, load distribution method and load distribution program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009034994A1 JPWO2009034994A1 (en) | 2010-12-24 |
JP5526780B2 true JP5526780B2 (en) | 2014-06-18 |
Family
ID=40452001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009532196A Active JP5526780B2 (en) | 2007-09-13 | 2008-09-10 | Load distribution system, service processing server, load distribution method, and load distribution program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5526780B2 (en) |
WO (1) | WO2009034994A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399746B (en) * | 2007-09-26 | 2011-03-16 | 华为技术有限公司 | Packet routing method, system, device and method, system for selecting backup resource |
JP4992126B2 (en) * | 2009-09-09 | 2012-08-08 | Necシステムテクノロジー株式会社 | Processing apparatus, load distribution system, and autonomous distributed processing method |
JP6235973B2 (en) * | 2014-08-22 | 2017-11-22 | 日本電信電話株式会社 | server |
CN107015867B (en) * | 2017-04-06 | 2018-01-19 | 安徽国防科技职业学院 | A kind of efficient data processing server system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001526814A (en) * | 1997-05-22 | 2001-12-18 | トラスティーズ・オブ・ボストン・ユニバーシティ | Distributed cache, prefetch, copy method and system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3857258B2 (en) * | 2003-07-25 | 2006-12-13 | 東日本電信電話株式会社 | Grid computing system and method for collecting computing resources in grid computing system |
US7596618B2 (en) * | 2004-12-07 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Splitting a workload of a node |
JP4675631B2 (en) * | 2005-01-11 | 2011-04-27 | Kddi株式会社 | Index server and P2P network system |
JP4670042B2 (en) * | 2005-01-13 | 2011-04-13 | ブラザー工業株式会社 | Node device, node device information update method, and node device information update program |
-
2008
- 2008-09-10 WO PCT/JP2008/066314 patent/WO2009034994A1/en active Application Filing
- 2008-09-10 JP JP2009532196A patent/JP5526780B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001526814A (en) * | 1997-05-22 | 2001-12-18 | トラスティーズ・オブ・ボストン・ユニバーシティ | Distributed cache, prefetch, copy method and system |
Also Published As
Publication number | Publication date |
---|---|
JPWO2009034994A1 (en) | 2010-12-24 |
WO2009034994A1 (en) | 2009-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
JP5889914B2 (en) | State synchronization between load balancer components | |
US8086714B2 (en) | Load balancing system | |
US8706906B2 (en) | Multipath routing process | |
US20020143953A1 (en) | Automatic affinity within networks performing workload balancing | |
US7562145B2 (en) | Application instance level workload distribution affinities | |
US20090248804A1 (en) | Access request transfer system, access request transfer method, and recording medium storing access request transfer program | |
JP4951717B2 (en) | How to select backup resources, system | |
US20020143965A1 (en) | Server application initiated affinity within networks performing workload balancing | |
US20070150602A1 (en) | Distributed and Replicated Sessions on Computing Grids | |
CN102893556A (en) | Methods, systems, and computer readable media for source peer capacity-based diameter load sharing | |
WO2007144611A1 (en) | Self-managed distributed mediation networks | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
CN111787079B (en) | Communication method, device, server, system and medium based on communication group | |
JP4808731B2 (en) | Method for adjusting load between subsystems in a communication network system | |
US20050267970A1 (en) | Load balancing apparatus and method | |
JP5526780B2 (en) | Load distribution system, service processing server, load distribution method, and load distribution program | |
US8166100B2 (en) | Cross site, cross domain session sharing without database replication | |
US20140108609A1 (en) | Technique for communication between networks for distributing digital contents | |
US20120197961A1 (en) | Method and system for information exchange utilizing an asynchronous persistent store protocol | |
TWI571077B (en) | Integration network device and service integration method thereof | |
CN114900526A (en) | Load balancing method and system, computer storage medium and electronic device | |
JP2003256390A (en) | Distributed object system | |
US20140181307A1 (en) | Routing apparatus and method | |
CN110958182B (en) | Communication method and related equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130904 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20131008 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131101 |
|
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: 20140318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140331 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5526780 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |