JP2015133734A - Distributed processing system and distributed processing method - Google Patents
Distributed processing system and distributed processing method Download PDFInfo
- Publication number
- JP2015133734A JP2015133734A JP2015040094A JP2015040094A JP2015133734A JP 2015133734 A JP2015133734 A JP 2015133734A JP 2015040094 A JP2015040094 A JP 2015040094A JP 2015040094 A JP2015040094 A JP 2015040094A JP 2015133734 A JP2015133734 A JP 2015133734A
- Authority
- JP
- Japan
- Prior art keywords
- application
- packet
- distributed processing
- communication
- flow transfer
- 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.)
- Granted
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/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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
Abstract
Description
本発明は、システムの負荷を分散する分散処理システム及び分散処理方法に関し、特にアプリケーションサーバの負荷を軽減しつつ、当該システムにおける信頼性を維持することができる分散処理システム及び分散処理方法に関するものである。 The present invention relates to a distributed processing system and a distributed processing method for distributing a system load, and more particularly to a distributed processing system and a distributed processing method capable of maintaining reliability in the system while reducing the load on an application server. is there.
近年、インターネットの発展により、遠隔地にあるクライアントから、データセンタや企業ネットワーク内などに配置された複数のアプリケーションサーバに接続し、そのアプリケーションサーバ内にあるアプリケーションを利用する利用形態が拡大している。このような利用形態の拡大により、アプリケーションを実行するアプリケーションサーバにかかる負荷は年々増加している。このため、一般的に、アプリケーションサーバを複数配置することにより、そのスケーラビリティ(拡張性)を向上させつつ、負荷分散を行う手法がとられている。また、アプリケーションサーバのスケーラビリティを向上させるために、クライアントとアプリケーション間の通信を、中間通信装置を用いて複数のアプリケーションサーバに負荷分散を行う必要が生じている。 In recent years, due to the development of the Internet, usage forms in which clients in remote locations connect to a plurality of application servers arranged in a data center or a corporate network and use applications in the application servers are expanding. . Due to such expansion of usage patterns, the load on an application server that executes an application is increasing year by year. For this reason, generally, a technique is adopted in which a plurality of application servers are arranged to improve the scalability (scalability) and perform load distribution. In addition, in order to improve scalability of the application server, it is necessary to distribute the load between the client and the application to a plurality of application servers using an intermediate communication device.
一方で、サーバと、データ中継装置からサーバへの経路とに関する負荷情報を収集し、この負荷情報に基づいてクライアントとサーバとの経路を選択するデータ中継装置が知られている(例えば、特許文献1参照)。 On the other hand, there is known a data relay device that collects load information related to a server and a route from the data relay device to the server and selects a route between the client and the server based on the load information (for example, Patent Documents). 1).
ところで、上述の如く、クライアントを複数のアプリケーションサーバに分散して接続する場合に、クライアントとアプリケーションサーバ間の通信状態は、夫々の通信毎に監視される。この場合、中間通信装置は、通過パケットを監視し、そのパケット内のフラグなどの通信状態情報からセッション状態を推測し、クライアントとアプリケーションサーバ間の通信状態を把握している。また、このように通過パケットを監視する場合、通過する全てのパケット毎にペイロードや通信状態フラグのチェックを行う必要があり、非常に複雑な処理を要し、中間通信装置のコスト増加に繋がる虞がある。 By the way, as described above, when the client is distributed and connected to a plurality of application servers, the communication state between the client and the application server is monitored for each communication. In this case, the intermediate communication apparatus monitors the passing packet, estimates the session state from communication state information such as a flag in the packet, and grasps the communication state between the client and the application server. Further, when passing packets are monitored in this way, it is necessary to check the payload and communication status flag for every packet that passes, which requires very complicated processing and may increase the cost of the intermediate communication device. There is.
一方で、例えば、通信状態を監視、管理等を行わずに、クライアントとアプリケーションサーバとの間の通信経路の設定を行った場合、初期状態はその通信が存在していないため、その通信開始を検出できるが、通信終了などの通信状態の変化を検出するのが困難となる。この通信終了を検出するためには、例えば、パケット内の通信状態フラグを監視する手法や、通信トラフィックが停止したことをタイマーによって検出する手法などが考えられる。 On the other hand, for example, when the communication path between the client and the application server is set without monitoring and managing the communication state, the communication does not exist in the initial state. Although it can be detected, it becomes difficult to detect a change in the communication state such as the end of communication. In order to detect the end of communication, for example, a method of monitoring a communication state flag in a packet, a method of detecting that communication traffic has stopped by a timer, and the like can be considered.
例えば、コストの抑制を考慮して、タイマーのタイムアウトを使用する場合、通信のトラフィックの停止が、通信終了のために生じたのか、又は、クライアントによるアプリケーションの使用停止によって一時的に通信が途絶えているだけなのか、を判断することが困難となる。また、一時的に通信が途絶えているにもかかわらず、通信終了と誤判断され、一定時間経過後に通信が再開される可能性がある。この場合、その通信再開で、クライアントは適切なアプリケーションサーバに接続して、アプリケーションの使用を再開できず、システムにおける信頼性の低下を招く虞がある。なお、上記特許文献1に示すデータ中継装置においては、例えば、収集した負荷情報に基づいて、サーバの負荷を分散し軽減できるが、一方で、サーバ負荷軽減後におけるシステムの信頼性の維持等については開示されていない。 For example, in order to control costs, when using a timer timeout, the communication traffic was stopped due to the end of the communication, or the communication was temporarily interrupted due to the suspension of application use by the client. It is difficult to determine whether or not there is any. In addition, although communication is temporarily interrupted, there is a possibility that communication is erroneously determined to be terminated and communication is resumed after a certain period of time. In this case, when the communication is resumed, the client cannot connect to an appropriate application server and resume use of the application, which may cause a decrease in reliability in the system. In the data relay device disclosed in Patent Document 1, for example, the load on the server can be distributed and reduced based on the collected load information. On the other hand, the system reliability is maintained after the server load is reduced. Is not disclosed.
本発明は、このような問題点を解決するためになされたものであり、アプリケーションサーバの負荷を軽減しつつ、信頼性を維持することができる分散処理システム及び分散処理方法を提供することを主たる目的とする。 The present invention has been made to solve such problems, and it is a main object of the present invention to provide a distributed processing system and a distributed processing method capable of maintaining reliability while reducing the load on the application server. Objective.
本発明による分散処理システムは、パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送する中間通信装置と、中間通信装置から通知を受けたことに応じて、パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を当該中間通信装置に通知する負荷分散制御サーバと、を含み、中間通信装置は、複数のアプリケーションサーバのうち通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、パケットを転送することを特徴とする。 The distributed processing system according to the present invention is a packet transfer destination based on flow transfer information for transferring a packet and an intermediate communication device that transfers the packet, and a notification from the intermediate communication device. A load distribution control server that determines a communication path of the packet based on load information of a plurality of application servers, and notifies the intermediate communication device of flow transfer information obtained based on the determined communication path. The communication apparatus transfers the packet to an application server determined based on the notified flow transfer information among a plurality of application servers.
また、本発明による分散処理方法は、パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送するステップと、パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知するステップと、複数のアプリケーションサーバのうち通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、パケットを転送するステップと、を含むことを特徴とする。
また、本発明によるプログラムは、パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送する工程と、パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知する工程と、複数のアプリケーションサーバのうち通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、パケットを転送する工程と、をコンピュータに実行させることを特徴とする。
Further, the distributed processing method according to the present invention includes a step of transferring the packet based on the flow transfer information for transferring the packet, and the packet information based on the load information of a plurality of application servers that are the packet transfer destinations. A step of determining a communication path, notifying the flow transfer information obtained based on the determined communication path, and a packet to an application server determined based on the notified flow transfer information among a plurality of application servers And a step of transferring.
The program according to the present invention also includes a step of transferring the packet based on flow transfer information for transferring the packet, and a communication path of the packet based on load information of a plurality of application servers that are packet transfer destinations. And forwarding the packet to the application server determined based on the notified flow transfer information among a plurality of application servers, and a step of notifying the flow transfer information obtained based on the determined communication path And a step of causing the computer to execute.
本発明によれば、アプリケーションサーバの負荷を軽減しつつ、信頼性を維持することができる分散処理システム及び分散処理方法を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, the distributed processing system and distributed processing method which can maintain reliability, reducing the load of an application server can be provided.
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の一実施形態に係る分散処理システムの機能ブロック図である。本実施形態に係る分散処理システム100は、複数のアプリケーションサーバ1〜n(1031〜103n)と、負荷分散制御サーバ101と、中間通信装置102と、を備えている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a functional block diagram of a distributed processing system according to an embodiment of the present invention. The
各アプリケーションサーバ1〜n(1031〜103n)は、複数のアプリケーション1〜n(1321〜132n)を実行させると共に、クライアント105とアプリケーション1〜n(1321〜132n)との通信状態を検出することができる。また、負荷分散制御サーバ101は、アプリケーションサーバ1〜n(1031〜103n)により検出された通信状態に基づいて、クライアント105とアプリケーション1〜n(1321〜132n)間の通信経路を決定し、負荷分散を行うことができる。さらに、中間通信装置102は、クライアント105とアプリケーションサーバ1〜n(1031〜103n)との間における、フローデータの転送を行うことができる。
Each of the application servers 1 to n (1031 to 103n) can execute a plurality of applications 1 to n (1321 to 132n) and detect a communication state between the
本実施形態に係る分散処理システム100によれば、クライアント105とアプリケーションサーバ1〜n(1031〜103n)間における通信の開始およびタイムアウトを適切に検出し、アプリケーションサーバ1〜n(1031〜103n)の通信状態を正確に検出することができる。また、中間通信装置102を用いて、分散処理システム100全体における通信の一貫性を維持し、管理することで、クライアント105とアプリケーション1〜n(1321〜132n)間における接続異常等を確実に抑制でき、分散処理システム100における信頼性を維持することができる。さらに、新たなクライアント105とアプリケーション1〜n(1321〜132n)間における通信接続を、複数のアプリケーションサーバ1〜n(1031〜103n)に適切に振分けることにより、アプリケーションサーバ1〜n(1031〜103n)の負荷を効果的に軽減することができる。
According to the
図2は、本発明の一実施形態に係る分散処理システムの概略的な構成を示すブロック図である。本実施形態に係る分散処理システム100において、例えば、遠隔地にあるクライアント105は、データセンタや企業ネットワーク内などに配置された複数のアプリケーションサーバ1〜n(1031〜103n)に、中間通信装置102を介して通信接続し、そのアプリケーションサーバ1〜n(1031〜103n)内にあるアプリケーション1〜n(1321〜132n)を利用するものである。分散処理システム100は、負荷分散制御サーバ101と、中間通信装置102と、複数のアプリケーションサーバ1〜n(1031〜103n)と、を備えている。
FIG. 2 is a block diagram showing a schematic configuration of a distributed processing system according to an embodiment of the present invention. In the
負荷分散制御サーバ101は、クライアント105とアプリケーション1〜n(1321〜132n)との間における通信経路の設定、維持、変更、削除等を、夫々の通信経路の通信状態に基づいて決定する。
The load
中間通信装置102は、クライアント105とアプリケーション1〜n(1321〜132n)間の通信において、例えば、送信先アドレス(IP宛先アドレス)と、送信元アドレスとを含むフロー(フローデータ)を、指定された転送先のアプリケーションサーバ1〜n(1031〜103n)へ転送することができる。また、中間通信装置102は、転送するフロー(パケットの集合)が存在しない場合に、初期パケットを負荷分散制御サーバ101に送信する機能を有している。さらに、中間通信装置102は、登録済みフローにヒットして転送されるパケットがなくなった場合に、一定時間後にタイムアウトを行い、負荷分散制御サーバ101に対して、そのタイムアウト情報を送信する機能を有している。
In the communication between the
アプリケーションサーバ1〜n(1031〜103n)は、クライアント105とアプリケーション1〜n(1321〜132n)間の通信に対して、終端処理を行う機能を有している。また、アプリケーションサーバ1〜n(1031〜103n)は、そのアプリケーション1〜n(1321〜132n)を実行させ、夫々のクライアント105とアプリケーション1〜n(1321〜132n)との通信状態を監視する機能を有している。さらに、負荷分散制御サーバ101は、アプリケーション通信状態監視インタフェース1〜n(1041〜104n)を介して、アプリケーションサーバ1〜n(1031〜103n)から、クライアント105とアプリケーション1〜n(1321〜132n)間の通信状態を検出する機能を有している。
The application servers 1 to n (1031 to 103n) have a function of performing termination processing for communication between the
負荷分散制御サーバ101は、経路制御部111と、フロー状態DB(データベース)112と、アプリケーション通信状態収集部113と、アプリケーション通信状態DB(データベース)114と、を有している。
The load
経路制御部111は、クライアント105とアプリケーションサーバ1〜n(1031〜103n)との通信状態に基づいて、その通信経路の検索を実行し、決定する。また、経路制御部111は、中間通信装置102に対して、フローの通信経路の設定、維持、変更、削除等の実行、初期パケットの受信、タイムアウト情報の受信、等を行う。
The path control
フロー状態DB112は、中間通信装置102に対して設定したフロー情報等を、記憶し、管理する。フロー状態DB112は、例えば、セッション識別情報と、通信経路情報と、を記憶する(図3)。
The
セッション識別情報は、例えば、IPの5タプル(IP送信元アドレス、送信先アドレス、プロトコル番号、ポート元番号、ポート先番号等)により特定できるフロー情報を含む。また、通信経路情報は、例えば、フローが入出力される中間通信装置102(入力される入力物理ポート及び出力される出力物理ポート)、そのときに書換えるべき送信先MACアドレス、次に転送されるアプリケーションサーバ1〜n(1031〜103n)、そのMACアドレス、受信されるアプリケーションサーバ1〜n(1031〜103n)のアプリケーション1〜n(1321〜132n)、等の情報を含む。 The session identification information includes, for example, flow information that can be specified by an IP 5-tuple (IP transmission source address, transmission destination address, protocol number, port source number, port destination number, etc.). Further, the communication path information is transferred, for example, to the intermediate communication device 102 (input physical port to be input and output physical port to be output) to which the flow is input / output, the transmission destination MAC address to be rewritten at that time, and the like. Application server 1 to n (1031 to 103n), its MAC address, received application server 1 to n (1031 to 103n) application 1 to n (1321 to 132n), and the like.
アプリケーション通信状態収集部113は、アプリケーションサーバ1〜n(1031〜103n)から、アプリケーション通信状態監視インタフェース1〜n(1041〜104n)を介して取得した、クライアント105とアプリケーション1〜n(1321〜132n)間における通信状態の維持、管理などの処理を行う。また、アプリケーション通信状態収集部113は、経路制御部111からの問合わせに応じて、アプリケーションサーバ1〜n(1031〜103n)の位置や通信状態等を送信する。
The application communication
アプリケーション通信状態DB114は、アプリケーション通信状態収集部113により取得されたクライアント105と、アプリケーション1〜n(1321〜132n)との通信状態の情報のキャッシュ(記憶)を行う。また、アプリケーション通信状態DB114は、アプリケーションサーバ1〜n(1031〜103n)に問合わせするための情報などを記憶する。
The application
アプリケーション通信状態DB114は、例えば、アプリケーション識別情報と、アプリケーションサーバ識別情報と、通信状態情報と、情報有効性と、を記憶する(図4)。アプリケーション識別情報は、例えば、アプリケーション1〜n(1321〜132n)を特定するための、アプリケーション番号等の情報を含む。また、アプリケーションサーバ識別情報は、例えば、アプリケーションサーバ1〜n(1031〜103n)を特定するための、MACアドレス等の情報を含む。さらに、通信状態情報は、例えば、セッションの確立中、正常通信中、セッション終了中などの、クライアント105とアプリケーションサーバ1〜n(1031〜103n)との通信状態を含む。情報有効性は、その情報の有効性を示すものであり、例えば、更新時刻などの情報を含む。
The application
中間通信装置102は、フロー転送部121と、フロー転送DB(データベース)122と、通信装置内制御部123と、を有している。
The
フロー転送部121は、フローのパケットから抜出したフロー識別に必要なキー情報に基づいて、フロー転送DB122を検索し、そのパケットの転送先であるアプリケーションサーバ1〜n(1031〜103n)を決定する。そして、フロー転送部121は、決定したアプリケーションサーバ1〜n(1031〜103n)に、パケットを転送する。また、フロー転送部121は、フローのパケットに含まれる特別なアクション情報、例えば、MACヘッダ書換え、QoS等を、そのパケットに対して実行する。
The
フロー転送DB122は、フローを格納することができる。また、フロー転送DB122は、例えば、セッション識別情報と、転送先情報と、通信状態情報と、を記憶する(図5)。セッション識別情報は、例えば、IPの5タプル(IP送信元アドレス、送信先アドレス、プロトコル番号、ポート元番号、ポート先番号等)により特定できるフロー情報を含む。また、転送先情報は、例えば、フローの転送先である、MACアドレスにより特定できるアプリケーションサーバ番号等を含む。通信状態情報は、例えば、通信の有無を示す情報を含む。
The
通信装置内制御部123は、負荷分散制御サーバ101との通信、フロー転送DB122の維持、管理等を行う。また、通信装置内制御部123は、フロー転送部121からの初期パケット、フロー転送DB122の情報などを確認することによって、フローのタイムアウト情報を取得することができる。
The communication device
アプリケーションサーバ1〜n(1031〜103n)は、ネットワーク終端部131と、複数のアプリケーション1〜n(1321〜132n)と、通信状態DB133と、通信状態通知部134と、を有している。
The application servers 1 to n (1031 to 103n) include a
ネットワーク終端部131は、例えば、TCP、UDPなどの、クライアント105とアプリケーション1〜n(1321〜132n)と間の通信に対して、終端処理を行う。アプリケーション1〜n(1321〜132n)は、例えば、アプリケーションプログラムであり、クライアント105との通信を実際に実施して、クライアント105に対して所定のサービスを提供する。
The
通信状態DB133は、そのクライアント105とアプリケーション1〜n(1321〜132n)との間の通信状態、例えば、通信の開始中、通信の実施中、通信の終了中、等の状態を、アプリケーション1〜n(1321〜132n)とセッションとを関係付けて記憶する。通信状態DB133は、例えば、アプリケーション識別情報と、セッション識別情報と、通信状態情報と、を記憶する(図6)。アプリケーション識別情報は、例えば、アプリケーション1〜n(1321〜132n)を特定するための、アプリケーション番号を含む。また、セッション識別情報は、例えば、クライアント105とアプリケーション1〜n(1321〜132n)との通信を特定する、IPの5タプル(IP送信元アドレス、送信先アドレス、プロトコル番号、ポート元番号、ポート先番号等)により特定できるフロー情報を含む。さらに、通信状態情報は、例えば、セッションの確立中、正常通信中、セッション終了中、などのクライアント105とアプリケーション1〜n(1321〜132n)との通信状態を含む。
The
通信状態通知部134は、負荷分散制御サーバ101と通信を行い、また、通信状態DB133から情報を読出す。
The communication
なお、フロー状態DB112、アプリケーション通信状態DB114、フロー転送DB122、及び通信状態DB133は、例えば、磁気ディスク装置、光ディスク装置、メモリ等の任意の記憶装置によって構成されている。また、フロー状態DB112、アプリケーション通信状態DB114、フロー転送DB122、及び通信状態DB133は、物理的に分離して構成されているが、物理的に一体で構成されていてもよい。さらに、複数のクライアント105が、同時に中間通信装置102を介して、複数のアプリケーションサーバ1〜n(1031〜103n)に夫々接続してもよい。
The
また、負荷分散制御サーバ101、中間通信装置102、及びアプリケーションサーバ1〜n(1031〜103n)は、例えば、制御処理、演算処理等と行うCPU(Central Processing Unit)、CPUによって実行される制御プログラム、演算プログラム等が記憶されたROM(Read Only Memory)、処理データ等を一時的に記憶するRAM(Random Access Memory)等からなるマイクロコンピュータを中心にして、ハードウェア構成されている。 次に、本実施形態に係る分散処理システムの分散処理フローについて、詳細に説明する。図7は、本実施形態に係る分散処理システムの分散処理フローの一例を示すフロー図である。
The load
例えば、中間通信装置102のフロー転送部121は、クライアント105から、フロー転送DB122に登録されていないフローのパケットを受信すると、ミスヒットした初期パケットを検出する(ステップS21)。そして、フロー転送部121は、このミスヒットしたパケットを、通信装置内制御部123に対して送信する(ステップS22)。
For example, when receiving a packet of a flow not registered in the
通信装置内制御部123は、送信されたミスヒットのパケットを、負荷分散制御サーバ101の経路制御部111に対して送信する(ステップS23)。これにより、通信装置内制御部123は、新規フロー、すなわち、新規のクライアント105とアプリケーション1〜n(1321〜132n)との間の通信開始を、経路制御部111に対して通知する。
The communication device
経路制御部111は、この新規フローの通知を受けると、このフローに対して、中間通信装置102を含めたネットワークとアプリケーションサーバ1〜n(1031〜103n)とのトポロジー情報(接続形態情報)、アプリケーションサーバ1〜n(1031〜103n)の負荷情報(CPU、メモリ、アプリケーションサーバ1〜n(1031〜103n)上のアプリケーション数、通信数などの情報)等に基づいて、通信経路を決定する。また、経路制御部111は、受信したパケットに基づいて、アプリケーション通信状態DB114の情報を更新する。
Upon receiving the notification of this new flow, the
次に、負荷分散制御サーバ101の経路制御部111は、決定した通信経路から、中間通信装置102における自ホップ情報(中継情報)等のフロー転送情報を抽出する(ステップS24)。そして、経路制御部111は、このフローに対するフロー転送情報と共にパケットを、中間通信装置102の通信装置内制御部123に対して返信する。
Next, the
その後、通信装置内制御部123は、フロー転送DB122にフロー転送情報を登録すると共に、経路制御部111からのパケットをフロー転送部121に送信する(ステップS25)。
Thereafter, the communication device
さらに、フロー転送部121は、通信装置内制御部123から送信されたパケットを、フロー転送DB122に従って、アプリケーションサーバ1〜n(1031〜103n)に転送する(ステップS26)。フロー転送部121は、これ以降に受信する該当フローに属するパケットを、フロー転送DB122に従って転送する。
Furthermore, the
アプリケーションサーバ1〜n(1031〜103n)のネットワーク終端部131は、受信したパケットに対して終端処理を行い、アプリケーション1〜n(1321〜132n)に対してペイロードデータを送信する(ステップS27)。また、ネットワーク終端部131は、実際のアプリケーション1〜n(1321〜132n)が認識している状態に一致させるように、通信状態を更新し、更新した通信状態を、通信状態通知部134に対して送信する。
The
通信状態通知部134は、負荷分散制御サーバ101のアプリケーション通信状態収集部113に対して、更新した通信状態を送信する(ステップS28)。アプリケーション通信状態収集部113は、この通信状態の情報をアプリケーション通信状態DB114に記憶させ、管理させる。このようにして、負荷分散制御サーバ101の経路制御部111は、負荷分散したクライアント105とアプリケーション1〜n(1321〜132n)との間における通信の一貫性を維持することができる。
The communication
次に、本実施形態に係る分散処理システム100において、クライアント105とアプリケーションとの間における通信の終了処理の動作フローについて、詳細に説明する。図8は、本実施形態に係る分散処理システムにおける、クライアントとアプリケーション間の通信の終了処理の動作フローの一例を示す図である。
Next, in the distributed
例えば、中間通信装置102のフロー転送部121は、あるフローに関して、転送処理を行っていないことを、検出する(ステップS31)。なお、フロー転送部121は、フロー転送DB122における通信状態(図5)が一定時間以上、「通信なし」から「通信あり」の状態に更新されていない場合に、上記転送処理を行っていないことを検出する。通信装置内制御部123は、フロー転送DB122からそのフロー情報を取得する。そして、通信装置内制御部123は、取得したフロー情報が通信状態にないことを確認して、タイムアウトであると認識する。
For example, the
次に、中間通信装置102の通信装置内制御部123は、タイムアウトしたフローを、負荷分散制御サーバ101の経路制御部111に対して送信する(ステップS32)。経路制御部111は、タイムアウトしたフローを受信すると、フロー状態DB112からそのフロー情報を読出し、読出したフロー情報からアプリケーション情報を取得する。
Next, the communication device
その後、経路制御部111は、アプリケーション通信状態収集部113にアプリケーションの通信状態を問い合わせる(ステップS33)。アプリケーション通信状態収集部113は、アプリケーション通信状態DB114から、該当するアプリケーションの通信状態を読出し、取得する。アプリケーション通信状態収集部113は、読出したアプリケーションの通信状態が十分に新しいと判断した場合、下記(ステップS36)へ移行する。
Thereafter, the
一方、アプリケーション通信状態収集部113は、アプリケーション通信状態DB114の情報が古いと判断した場合、アプリケーション通信状態DB114のアプリケーション識別情報に基づいて、そのアプリケーション1〜n(1321〜132n)が動作している特定のアプリケーションサーバ1〜n(1031〜103n)の通信状態通知部134に、アプリケーションの通信状態を問い合わせる(ステップS34)。通信状態通知部134は、その通信状態を通信状態DB133から読み出し、取得する。
On the other hand, when the application communication
通信状態通知部134は、取得したアプリケーションの通信状態を、負荷分散制御サーバ101のアプリケーション通信状態収集部113に対して送信する(ステップS35)。そして、アプリケーション通信状態収集部113は、そのアプリケーションの通信状態に基づいて、アプリケーション通信状態DB114の情報を更新する。
The communication
また、アプリケーション通信状態収集部113は、取得したアプリケーションの通信状態を、経路制御部111に送信する(ステップS36)。経路制御部111は、アプリケーションの状態が終了状態あるいは、存在しない(終了済み)の場合、該当するフローの通信経路情報を、フロー状態DB112から削除する。
Further, the application communication
さらに、経路制御部111は、中間通信装置102の通信装置内制御部123に対して、フローの通信経路情報を送信する(ステップS37)。経路制御部111は、(ステップS36)で入手したアプリケーションの通信状態が終了状態、あるいは、存在しない(終了済み)の場合、通信装置内制御部123に対して、該当するフローを削除する旨の通信経路情報を送信し、それ以外の場合、そのフローを維持する旨の通信経路情報を送信する。通信装置内制御部123は、送信された通信経路情報に従って、フロー転送DB122の情報を変更する。
Further, the
以上、本実施形態に係る分散処理システム100によれば、クライアント105とアプリケーションサーバ1〜n(1031〜103n)間における通信の開始およびタイムアウトを適切に検出し、アプリケーションサーバ1〜n(1031〜103n)の通信状態を正確に検出することができる。また、例えば、フローのパケットにおける通信状態フラグの監視等を行わない簡易な構成の中間通信装置102を用いて、分散処理システム100全体における通信の一貫性を維持し、管理することで、クライアント105とアプリケーション1〜n(1321〜132n)間における接続異常等を確実に抑制でき、分散処理システム100の信頼性を適切に維持できる。すなわち、分散処理システム100の低コスト化を図りつつ、信頼性を適切に維持できる。さらに、新たなクライアント105とアプリケーション1〜n(1321〜132n)間における通信接続を、複数のアプリケーションサーバ1〜n(1031〜103n)に適切に振分けることにより、アプリケーションサーバ1〜n(1031〜103n)の負荷を軽減しつつ、分散処理システム100全体のスケーラビリティを向上させることができる。
As described above, according to the distributed
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
この出願は、2009年3月17日に出願された日本特許出願2009−064338を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims the priority on the basis of the JP Patent application 2009-064338 for which it applied on March 17, 2009, and takes in those the indications of all here.
100 分散処理システム
101 負荷分散制御サーバ
102 中間通信装置
1031〜103n アプリケーションサーバ1〜n
1041〜104n アプリケーション通信状態監視インタフェース1〜n
105 クライアント
111 経路制御部
112 フロー状態DB
113 アプリケーション通信状態収集部
114 アプリケーション通信状態DB
121 フロー転送部
122 フロー転送DB
123 通信装置内制御部
131 ネットワーク終端部
1321〜132n アプリケーション1〜n
133 通信状態DB
134 通信状態通知部
DESCRIPTION OF
1041 to 104n Application communication state monitoring interfaces 1 to n
105
113 Application communication
121
123 Communication
133 Communication state DB
134 Communication state notification unit
Claims (17)
前記中間通信装置から通知を受けたことに応じて、前記パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を当該中間通信装置に通知する負荷分散制御サーバと、を含み、
前記中間通信装置は、前記複数のアプリケーションサーバのうち前記通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、前記パケットを転送する
ことを特徴とする分散処理システム。 An intermediate communication device for transferring the packet based on the flow transfer information for transferring the packet;
In response to receiving the notification from the intermediate communication device, the communication path of the packet is determined based on the load information of the plurality of application servers that are the transfer destinations of the packet, and the packet is determined based on the determined communication path A load distribution control server for notifying the intermediate transfer device of flow transfer information,
The distributed processing system, wherein the intermediate communication device transfers the packet to an application server determined based on the notified flow transfer information among the plurality of application servers.
ことを特徴とする請求項1に記載の分散処理システム。 The intermediate communication device stores the flow transfer information notified from the load balancing control server, and the application server determined by searching the stored flow transfer information among the plurality of application servers. The distributed processing system according to claim 1, wherein the packet is transferred.
ことを特徴とする請求項1又は2に記載の分散処理システム。 The distributed processing system according to claim 1, wherein the load distribution control server determines a transfer path of the packet based on the number of communications in each of the plurality of application servers.
ことを特徴とする請求項1乃至3のいずれかに記載の分散処理システム。 The distributed processing system according to any one of claims 1 to 3, wherein the load distribution control server determines a transfer path of the packet based on the number of applications of each of the plurality of application servers.
ことを特徴とする請求項1乃至4のいずれかに記載の分散処理システム。 5. The load distribution control server receives a notification of a communication state of an application executed on each of the plurality of application servers from each of the plurality of application servers. 6. Distributed processing system.
ことを特徴とする請求項5に記載の分散処理システム。 The distributed processing system according to claim 5, wherein the load distribution control server determines whether to maintain flow transfer information related to the application based on a communication state of the application that has received the notification.
ことを特徴とする請求項5又は6に記載の分散処理システム。 The load distribution control server notifies the intermediate communication device that the flow transfer information related to the application is to be deleted when the communication state of the application that has received the notification is an end state. 7. The distributed processing system according to 6.
前記負荷分散制御サーバは、前記中間通信装置から前記タイムアウトの通知を受けたことに応じて、前記複数のアプリケーションサーバの各々に対して、前記所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせる
ことを特徴とする請求項1乃至7のいずれかに記載の分散処理システム。 The intermediate communication device notifies the load balancing control server of a timeout of the predetermined flow transfer information in response to not performing a transfer process based on predetermined flow transfer information for a predetermined time or more,
In response to receiving the timeout notification from the intermediate communication device, the load distribution control server inquires of each of the plurality of application servers about the communication state of the application relating to the predetermined flow transfer information. 8. The distributed processing system according to claim 1, wherein
前記パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知するステップと、
前記複数のアプリケーションサーバのうち前記通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、前記パケットを転送するステップと、
を含むことを特徴とする分散処理方法。 Forwarding the packet based on flow forwarding information for forwarding the packet;
Determining a communication path of the packet based on load information of a plurality of application servers that are transfer destinations of the packet, and notifying flow transfer information obtained based on the determined communication path;
Transferring the packet to an application server determined based on the notified flow transfer information among the plurality of application servers;
A distributed processing method comprising:
を含むことを特徴とする請求項9に記載の分散処理方法。 Storing the notified flow transfer information, and transferring the packet to an application server determined by searching the stored flow transfer information among the plurality of application servers. The distributed processing method according to claim 9.
を含むことを特徴とする請求項9又は10に記載の分散処理方法。 The distributed processing method according to claim 9, further comprising: determining a transfer path of the packet based on the number of communications in each of the plurality of application servers.
を含むことを特徴とする請求項9乃至11のいずれかに記載の分散処理方法。 The distributed processing method according to claim 9, further comprising: determining a transfer path of the packet based on the number of applications of each of the plurality of application servers.
を含むことを特徴とする請求項9乃至12のいずれかに記載の分散処理方法。 The distributed processing method according to claim 9, further comprising a step of receiving a notification of a communication state of an application executed on each of the plurality of application servers from each of the plurality of application servers. .
を含むことを特徴とする請求項13に記載の分散処理方法。 The distributed processing method according to claim 13, further comprising: determining whether to maintain flow transfer information related to the application based on a communication state of the application that has received the notification.
を含むことを特徴とする請求項13又は14に記載の分散処理方法。 The distributed processing method according to claim 13, further comprising a step of notifying that the flow transfer information related to the application is deleted when the communication state of the application that has received the notification is an end state.
前記タイムアウトの通知を受けたことに応じて、前記複数のアプリケーションサーバの各々に対して、前記所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせるステップと
を含むことを特徴とする請求項9乃至15のいずれかに記載の分散処理方法。 In response to not performing a transfer process based on the predetermined flow transfer information for a predetermined time or more, notifying a timeout of the predetermined flow transfer information;
16. The method further comprising: inquiring each of the plurality of application servers about the communication state of the application relating to the predetermined flow transfer information in response to receiving the timeout notification. The distributed processing method according to any one of the above.
前記パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知する工程と、
前記複数のアプリケーションサーバのうち前記通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、前記パケットを転送する工程と、
をコンピュータに実行させることを特徴とするプログラム。 Transferring the packet based on flow transfer information for transferring the packet;
Determining a communication path of the packet based on load information of a plurality of application servers as transfer destinations of the packet, and notifying flow transfer information obtained based on the determined communication path;
A step of transferring the packet to an application server determined based on the notified flow transfer information among the plurality of application servers;
A program that causes a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015040094A JP5915792B2 (en) | 2009-03-17 | 2015-03-02 | Distributed processing system and distributed processing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009064338 | 2009-03-17 | ||
JP2009064338 | 2009-03-17 | ||
JP2015040094A JP5915792B2 (en) | 2009-03-17 | 2015-03-02 | Distributed processing system and distributed processing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011504741A Division JPWO2010106772A1 (en) | 2009-03-17 | 2010-03-15 | Distributed processing system and distributed processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015133734A true JP2015133734A (en) | 2015-07-23 |
JP5915792B2 JP5915792B2 (en) | 2016-05-11 |
Family
ID=42739439
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011504741A Pending JPWO2010106772A1 (en) | 2009-03-17 | 2010-03-15 | Distributed processing system and distributed processing method |
JP2015040094A Active JP5915792B2 (en) | 2009-03-17 | 2015-03-02 | Distributed processing system and distributed processing method |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011504741A Pending JPWO2010106772A1 (en) | 2009-03-17 | 2010-03-15 | Distributed processing system and distributed processing method |
Country Status (3)
Country | Link |
---|---|
US (1) | US9167031B2 (en) |
JP (2) | JPWO2010106772A1 (en) |
WO (1) | WO2010106772A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011074630A1 (en) | 2009-12-17 | 2011-06-23 | 日本電気株式会社 | Load distribution system, load distribution method, device and program constituting load distribution system |
WO2012101890A1 (en) * | 2011-01-26 | 2012-08-02 | 日本電気株式会社 | Network system, control device and optimum path control method |
US10257194B2 (en) * | 2012-02-14 | 2019-04-09 | Airwatch Llc | Distribution of variably secure resources in a networked environment |
US9705813B2 (en) | 2012-02-14 | 2017-07-11 | Airwatch, Llc | Controlling distribution of resources on a network |
US9680763B2 (en) | 2012-02-14 | 2017-06-13 | Airwatch, Llc | Controlling distribution of resources in a network |
US10404615B2 (en) | 2012-02-14 | 2019-09-03 | Airwatch, Llc | Controlling distribution of resources on a network |
WO2014118938A1 (en) * | 2013-01-31 | 2014-08-07 | 株式会社日立製作所 | Communication path management method |
US20140280955A1 (en) | 2013-03-14 | 2014-09-18 | Sky Socket, Llc | Controlling Electronically Communicated Resources |
EP4224342A1 (en) * | 2013-03-15 | 2023-08-09 | Netop Solutions A/S | System and method for secure application communication between networked processors |
JP6179492B2 (en) | 2014-09-11 | 2017-08-16 | コニカミノルタ株式会社 | Communication relay device, program, and communication relay method |
US10187218B2 (en) * | 2015-09-15 | 2019-01-22 | Google Llc | Systems and methods for processing packets in a computer network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002351760A (en) * | 2001-05-30 | 2002-12-06 | Mitsubishi Electric Corp | Device and method for decentralizing server load, and program making computer implement the same method |
WO2004073269A1 (en) * | 2003-02-13 | 2004-08-26 | Fujitsu Limited | Transmission system, distribution route control device, load information collection device, and distribution route control method |
JP2005025756A (en) * | 2003-06-30 | 2005-01-27 | Microsoft Corp | Network load balancing using host state information |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000196677A (en) | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | Repeater used for network system |
JP2002344504A (en) * | 2001-05-14 | 2002-11-29 | Nippon Telegr & Teleph Corp <Ntt> | Computer network resource allocation method, resource control type computer network system, resource control server, edge switch, computer network resource allocation program, and storage medium storing computer network resource allocation program |
US6847975B2 (en) * | 2001-07-30 | 2005-01-25 | Hitachi, Ltd. | Proxy processing method |
WO2004093394A1 (en) | 2003-04-14 | 2004-10-28 | Fujitsu Limited | Data relaying device, data relaying method, data relaying program, service selecting device, service selecting method, and service selecting program |
JP2005005926A (en) * | 2003-06-11 | 2005-01-06 | Mitsubishi Electric Corp | Information processing system and resource utilization control method |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
JP2005228036A (en) * | 2004-02-13 | 2005-08-25 | Nec Commun Syst Ltd | Load distribution device, its control method, its control program, and client/server system |
US8024476B2 (en) * | 2004-05-21 | 2011-09-20 | Microsoft Corporation | Efficient message routing when using server pools |
JP2005344504A (en) | 2005-06-10 | 2005-12-15 | Ehimeken Shinrin Kumiai Rengokai | Civil-engineering/building material and its manufacturing method |
-
2010
- 2010-03-15 WO PCT/JP2010/001813 patent/WO2010106772A1/en active Application Filing
- 2010-03-15 JP JP2011504741A patent/JPWO2010106772A1/en active Pending
-
2011
- 2011-08-01 US US13/137,251 patent/US9167031B2/en active Active
-
2015
- 2015-03-02 JP JP2015040094A patent/JP5915792B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002351760A (en) * | 2001-05-30 | 2002-12-06 | Mitsubishi Electric Corp | Device and method for decentralizing server load, and program making computer implement the same method |
WO2004073269A1 (en) * | 2003-02-13 | 2004-08-26 | Fujitsu Limited | Transmission system, distribution route control device, load information collection device, and distribution route control method |
JP2005025756A (en) * | 2003-06-30 | 2005-01-27 | Microsoft Corp | Network load balancing using host state information |
Also Published As
Publication number | Publication date |
---|---|
US20110289235A1 (en) | 2011-11-24 |
JP5915792B2 (en) | 2016-05-11 |
JPWO2010106772A1 (en) | 2012-09-20 |
WO2010106772A1 (en) | 2010-09-23 |
US9167031B2 (en) | 2015-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5915792B2 (en) | Distributed processing system and distributed processing method | |
US10348571B2 (en) | Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths | |
JP5300076B2 (en) | Computer system and computer system monitoring method | |
JP3786328B2 (en) | Server and communication control method | |
JP4113115B2 (en) | Mobile communication system and communication method | |
JP5664557B2 (en) | Computer, network connection switching method and program | |
JP2005530372A5 (en) | ||
CN103262482A (en) | Communication system, control device, node controlling method and program | |
JP4372098B2 (en) | Optimal routing method for a specific service in a network and server and routing node used in the network | |
JP6335079B2 (en) | Relay device and communication system | |
CN102281190A (en) | Networking method for load balancing apparatus, server and client access method | |
US10333790B2 (en) | Method and system for selective route download in network devices | |
US20120117246A1 (en) | Method And System For The Efficient And Automated Management of Virtual Networks | |
US8396062B2 (en) | System for switching between communication devices, switching method, and switching program | |
US8854977B2 (en) | Relay node | |
CN100563263C (en) | In network storage service, realize the method and system of system high-available | |
CN104618491B (en) | A kind of proxy server and data forwarding method | |
JP4583433B2 (en) | Relay system | |
KR20150085464A (en) | Apparatus and method for servers interconnection | |
JP3704134B2 (en) | Packet transfer device, network control server, and packet communication network | |
JP5781395B2 (en) | Transfer system, transfer program, transfer method, and communication apparatus | |
JP2013013032A (en) | Communication control method and communication control program | |
CN108259211B (en) | Equipment management method and device | |
JP2013118507A (en) | Relay device and communication control method | |
JP2017045301A (en) | Computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160212 |
|
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: 20160308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160321 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5915792 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |