JP5915792B2 - 分散処理システム及び分散処理方法 - Google Patents

分散処理システム及び分散処理方法 Download PDF

Info

Publication number
JP5915792B2
JP5915792B2 JP2015040094A JP2015040094A JP5915792B2 JP 5915792 B2 JP5915792 B2 JP 5915792B2 JP 2015040094 A JP2015040094 A JP 2015040094A JP 2015040094 A JP2015040094 A JP 2015040094A JP 5915792 B2 JP5915792 B2 JP 5915792B2
Authority
JP
Japan
Prior art keywords
application
packet
communication
flow transfer
transfer information
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
Application number
JP2015040094A
Other languages
English (en)
Other versions
JP2015133734A (ja
Inventor
正徳 高島
正徳 高島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015040094A priority Critical patent/JP5915792B2/ja
Publication of JP2015133734A publication Critical patent/JP2015133734A/ja
Application granted granted Critical
Publication of JP5915792B2 publication Critical patent/JP5915792B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、システムの負荷を分散する分散処理システム及び分散処理方法に関し、特にアプリケーションサーバの負荷を軽減しつつ、当該システムにおける信頼性を維持することができる分散処理システム及び分散処理方法に関するものである。
近年、インターネットの発展により、遠隔地にあるクライアントから、データセンタや企業ネットワーク内などに配置された複数のアプリケーションサーバに接続し、そのアプリケーションサーバ内にあるアプリケーションを利用する利用形態が拡大している。このような利用形態の拡大により、アプリケーションを実行するアプリケーションサーバにかかる負荷は年々増加している。このため、一般的に、アプリケーションサーバを複数配置することにより、そのスケーラビリティ(拡張性)を向上させつつ、負荷分散を行う手法がとられている。また、アプリケーションサーバのスケーラビリティを向上させるために、クライアントとアプリケーション間の通信を、中間通信装置を用いて複数のアプリケーションサーバに負荷分散を行う必要が生じている。
一方で、サーバと、データ中継装置からサーバへの経路とに関する負荷情報を収集し、この負荷情報に基づいてクライアントとサーバとの経路を選択するデータ中継装置が知られている(例えば、特許文献1参照)。
国際公開第04/093394号パンフレット
ところで、上述の如く、クライアントを複数のアプリケーションサーバに分散して接続する場合に、クライアントとアプリケーションサーバ間の通信状態は、夫々の通信毎に監視される。この場合、中間通信装置は、通過パケットを監視し、そのパケット内のフラグなどの通信状態情報からセッション状態を推測し、クライアントとアプリケーションサーバ間の通信状態を把握している。また、このように通過パケットを監視する場合、通過する全てのパケット毎にペイロードや通信状態フラグのチェックを行う必要があり、非常に複雑な処理を要し、中間通信装置のコスト増加に繋がる虞がある。
一方で、例えば、通信状態を監視、管理等を行わずに、クライアントとアプリケーションサーバとの間の通信経路の設定を行った場合、初期状態はその通信が存在していないため、その通信開始を検出できるが、通信終了などの通信状態の変化を検出するのが困難となる。この通信終了を検出するためには、例えば、パケット内の通信状態フラグを監視する手法や、通信トラフィックが停止したことをタイマーによって検出する手法などが考えられる。
例えば、コストの抑制を考慮して、タイマーのタイムアウトを使用する場合、通信のトラフィックの停止が、通信終了のために生じたのか、又は、クライアントによるアプリケーションの使用停止によって一時的に通信が途絶えているだけなのか、を判断することが困難となる。また、一時的に通信が途絶えているにもかかわらず、通信終了と誤判断され、一定時間経過後に通信が再開される可能性がある。この場合、その通信再開で、クライアントは適切なアプリケーションサーバに接続して、アプリケーションの使用を再開できず、システムにおける信頼性の低下を招く虞がある。なお、上記特許文献1に示すデータ中継装置においては、例えば、収集した負荷情報に基づいて、サーバの負荷を分散し軽減できるが、一方で、サーバ負荷軽減後におけるシステムの信頼性の維持等については開示されていない。
本発明は、このような問題点を解決するためになされたものであり、アプリケーションサーバの負荷を軽減しつつ、信頼性を維持することができる分散処理システム及び分散処理方法を提供することを主たる目的とする。
本発明による分散処理システムは、パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送する中間通信装置と、中間通信装置から通知を受けたことに応じて、パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を当該中間通信装置に通知する負荷分散制御サーバと、を含み、中間通信装置は、複数のアプリケーションサーバのうち通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、パケットを転送し、中間通信装置は、所定のフロー転送情報に基づいた転送処理を一定時間以上行っていないことに応じて、当該所定のフロー転送情報のタイムアウトを負荷分散制御サーバに通知し、負荷分散制御サーバは、中間通信装置からタイムアウトの通知を受けたことに応じて、複数のアプリケーションサーバの各々に対して、所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせることを特徴とする。
また、本発明による分散処理方法は、パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送するステップと、パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知するステップと、複数のアプリケーションサーバのうち通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、パケットを転送するステップと、所定のフロー転送情報に基づいた転送処理を一定時間以上行っていないことに応じて、当該所定のフロー転送情報のタイムアウトを通知するステップと、タイムアウトの通知を受けたことに応じて、複数のアプリケーションサーバの各々に対して、所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせるステップとを含むことを特徴とする。
また、本発明によるプログラムは、パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送する工程と、パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知する工程と、複数のアプリケーションサーバのうち通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、パケットを転送する工程と、所定のフロー転送情報に基づいた転送処理を一定時間以上行っていないことに応じて、当該所定のフロー転送情報のタイムアウトを通知する工程と、タイムアウトの通知を受けたことに応じて、複数のアプリケーションサーバの各々に対して、所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせる工程とをコンピュータに実行させることを特徴とする。
本発明によれば、アプリケーションサーバの負荷を軽減しつつ、信頼性を維持することができる分散処理システム及び分散処理方法を提供することができる。
本発明の一実施形態に係る分散処理システムの機能ブロック図である。 本発明の一実施形態に係る分散処理システムの概略的な構成を示すブロック図である。 負荷分散制御サーバのフロー状態DBに記憶されたセッション識別情報と、通信経路情報と、を示す図である。 負荷分散制御サーバのアプリケーション通信状態DBに記憶された、アプリケーション識別情報と、アプリケーションサーバ識別情報と、通信状態情報と、情報有効性と、を示す図である。 中間通信装置のフロー転送DBに記憶された、セッション識別情報と、転送先情報と、通信状態情報と、を示す図である。 アプリケーションサーバの通信状態DBに記憶された、アプリケーション識別情報と、セッション識別情報と、通信状態情報と、を示す図である。 本発明の一実施形態に係る分散処理システムの分散処理フローの一例を示すフロー図である。 本発明の一実施形態に係る分散処理システムにおける、クライアントとアプリケーション間の通信の終了処理の動作フローの一例を示す図である。
以下、図面を参照して本発明の実施の形態について説明する。図1は、本発明の一実施形態に係る分散処理システムの機能ブロック図である。本実施形態に係る分散処理システム100は、複数のアプリケーションサーバ1〜n(1031〜103n)と、負荷分散制御サーバ101と、中間通信装置102と、を備えている。
各アプリケーションサーバ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)との間における、フローデータの転送を行うことができる。
本実施形態に係る分散処理システム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)の負荷を効果的に軽減することができる。
図2は、本発明の一実施形態に係る分散処理システムの概略的な構成を示すブロック図である。本実施形態に係る分散処理システム100において、例えば、遠隔地にあるクライアント105は、データセンタや企業ネットワーク内などに配置された複数のアプリケーションサーバ1〜n(1031〜103n)に、中間通信装置102を介して通信接続し、そのアプリケーションサーバ1〜n(1031〜103n)内にあるアプリケーション1〜n(1321〜132n)を利用するものである。分散処理システム100は、負荷分散制御サーバ101と、中間通信装置102と、複数のアプリケーションサーバ1〜n(1031〜103n)と、を備えている。
負荷分散制御サーバ101は、クライアント105とアプリケーション1〜n(1321〜132n)との間における通信経路の設定、維持、変更、削除等を、夫々の通信経路の通信状態に基づいて決定する。
中間通信装置102は、クライアント105とアプリケーション1〜n(1321〜132n)間の通信において、例えば、送信先アドレス(IP宛先アドレス)と、送信元アドレスとを含むフロー(フローデータ)を、指定された転送先のアプリケーションサーバ1〜n(1031〜103n)へ転送することができる。また、中間通信装置102は、転送するフロー(パケットの集合)が存在しない場合に、初期パケットを負荷分散制御サーバ101に送信する機能を有している。さらに、中間通信装置102は、登録済みフローにヒットして転送されるパケットがなくなった場合に、一定時間後にタイムアウトを行い、負荷分散制御サーバ101に対して、そのタイムアウト情報を送信する機能を有している。
アプリケーションサーバ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)間の通信状態を検出する機能を有している。
負荷分散制御サーバ101は、経路制御部111と、フロー状態DB(データベース)112と、アプリケーション通信状態収集部113と、アプリケーション通信状態DB(データベース)114と、を有している。
経路制御部111は、クライアント105とアプリケーションサーバ1〜n(1031〜103n)との通信状態に基づいて、その通信経路の検索を実行し、決定する。また、経路制御部111は、中間通信装置102に対して、フローの通信経路の設定、維持、変更、削除等の実行、初期パケットの受信、タイムアウト情報の受信、等を行う。
フロー状態DB112は、中間通信装置102に対して設定したフロー情報等を、記憶し、管理する。フロー状態DB112は、例えば、セッション識別情報と、通信経路情報と、を記憶する(図3)。
セッション識別情報は、例えば、IPの5タプル(IP送信元アドレス、送信先アドレス、プロトコル番号、ポート元番号、ポート先番号等)により特定できるフロー情報を含む。また、通信経路情報は、例えば、フローが入出力される中間通信装置102(入力される入力物理ポート及び出力される出力物理ポート)、そのときに書換えるべき送信先MACアドレス、次に転送されるアプリケーションサーバ1〜n(1031〜103n)、そのMACアドレス、受信されるアプリケーションサーバ1〜n(1031〜103n)のアプリケーション1〜n(1321〜132n)、等の情報を含む。
アプリケーション通信状態収集部113は、アプリケーションサーバ1〜n(1031〜103n)から、アプリケーション通信状態監視インタフェース1〜n(1041〜104n)を介して取得した、クライアント105とアプリケーション1〜n(1321〜132n)間における通信状態の維持、管理などの処理を行う。また、アプリケーション通信状態収集部113は、経路制御部111からの問合わせに応じて、アプリケーションサーバ1〜n(1031〜103n)の位置や通信状態等を送信する。
アプリケーション通信状態DB114は、アプリケーション通信状態収集部113により取得されたクライアント105と、アプリケーション1〜n(1321〜132n)との通信状態の情報のキャッシュ(記憶)を行う。また、アプリケーション通信状態DB114は、アプリケーションサーバ1〜n(1031〜103n)に問合わせするための情報などを記憶する。
アプリケーション通信状態DB114は、例えば、アプリケーション識別情報と、アプリケーションサーバ識別情報と、通信状態情報と、情報有効性と、を記憶する(図4)。アプリケーション識別情報は、例えば、アプリケーション1〜n(1321〜132n)を特定するための、アプリケーション番号等の情報を含む。また、アプリケーションサーバ識別情報は、例えば、アプリケーションサーバ1〜n(1031〜103n)を特定するための、MACアドレス等の情報を含む。さらに、通信状態情報は、例えば、セッションの確立中、正常通信中、セッション終了中などの、クライアント105とアプリケーションサーバ1〜n(1031〜103n)との通信状態を含む。情報有効性は、その情報の有効性を示すものであり、例えば、更新時刻などの情報を含む。
中間通信装置102は、フロー転送部121と、フロー転送DB(データベース)122と、通信装置内制御部123と、を有している。
フロー転送部121は、フローのパケットから抜出したフロー識別に必要なキー情報に基づいて、フロー転送DB122を検索し、そのパケットの転送先であるアプリケーションサーバ1〜n(1031〜103n)を決定する。そして、フロー転送部121は、決定したアプリケーションサーバ1〜n(1031〜103n)に、パケットを転送する。また、フロー転送部121は、フローのパケットに含まれる特別なアクション情報、例えば、MACヘッダ書換え、QoS等を、そのパケットに対して実行する。
フロー転送DB122は、フローを格納することができる。また、フロー転送DB122は、例えば、セッション識別情報と、転送先情報と、通信状態情報と、を記憶する(図5)。セッション識別情報は、例えば、IPの5タプル(IP送信元アドレス、送信先アドレス、プロトコル番号、ポート元番号、ポート先番号等)により特定できるフロー情報を含む。また、転送先情報は、例えば、フローの転送先である、MACアドレスにより特定できるアプリケーションサーバ番号等を含む。通信状態情報は、例えば、通信の有無を示す情報を含む。
通信装置内制御部123は、負荷分散制御サーバ101との通信、フロー転送DB122の維持、管理等を行う。また、通信装置内制御部123は、フロー転送部121からの初期パケット、フロー転送DB122の情報などを確認することによって、フローのタイムアウト情報を取得することができる。
アプリケーションサーバ1〜n(1031〜103n)は、ネットワーク終端部131と、複数のアプリケーション1〜n(1321〜132n)と、通信状態DB133と、通信状態通知部134と、を有している。
ネットワーク終端部131は、例えば、TCP、UDPなどの、クライアント105とアプリケーション1〜n(1321〜132n)と間の通信に対して、終端処理を行う。アプリケーション1〜n(1321〜132n)は、例えば、アプリケーションプログラムであり、クライアント105との通信を実際に実施して、クライアント105に対して所定のサービスを提供する。
通信状態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)との通信状態を含む。
通信状態通知部134は、負荷分散制御サーバ101と通信を行い、また、通信状態DB133から情報を読出す。
なお、フロー状態DB112、アプリケーション通信状態DB114、フロー転送DB122、及び通信状態DB133は、例えば、磁気ディスク装置、光ディスク装置、メモリ等の任意の記憶装置によって構成されている。また、フロー状態DB112、アプリケーション通信状態DB114、フロー転送DB122、及び通信状態DB133は、物理的に分離して構成されているが、物理的に一体で構成されていてもよい。さらに、複数のクライアント105が、同時に中間通信装置102を介して、複数のアプリケーションサーバ1〜n(1031〜103n)に夫々接続してもよい。
また、負荷分散制御サーバ101、中間通信装置102、及びアプリケーションサーバ1〜n(1031〜103n)は、例えば、制御処理、演算処理等と行うCPU(Central Processing Unit)、CPUによって実行される制御プログラム、演算プログラム等が記憶されたROM(Read Only Memory)、処理データ等を一時的に記憶するRAM(Random Access Memory)等からなるマイクロコンピュータを中心にして、ハードウェア構成されている。 次に、本実施形態に係る分散処理システムの分散処理フローについて、詳細に説明する。図7は、本実施形態に係る分散処理システムの分散処理フローの一例を示すフロー図である。
例えば、中間通信装置102のフロー転送部121は、クライアント105から、フロー転送DB122に登録されていないフローのパケットを受信すると、ミスヒットした初期パケットを検出する(ステップS21)。そして、フロー転送部121は、このミスヒットしたパケットを、通信装置内制御部123に対して送信する(ステップS22)。
通信装置内制御部123は、送信されたミスヒットのパケットを、負荷分散制御サーバ101の経路制御部111に対して送信する(ステップS23)。これにより、通信装置内制御部123は、新規フロー、すなわち、新規のクライアント105とアプリケーション1〜n(1321〜132n)との間の通信開始を、経路制御部111に対して通知する。
経路制御部111は、この新規フローの通知を受けると、このフローに対して、中間通信装置102を含めたネットワークとアプリケーションサーバ1〜n(1031〜103n)とのトポロジー情報(接続形態情報)、アプリケーションサーバ1〜n(1031〜103n)の負荷情報(CPU、メモリ、アプリケーションサーバ1〜n(1031〜103n)上のアプリケーション数、通信数などの情報)等に基づいて、通信経路を決定する。また、経路制御部111は、受信したパケットに基づいて、アプリケーション通信状態DB114の情報を更新する。
次に、負荷分散制御サーバ101の経路制御部111は、決定した通信経路から、中間通信装置102における自ホップ情報(中継情報)等のフロー転送情報を抽出する(ステップS24)。そして、経路制御部111は、このフローに対するフロー転送情報と共にパケットを、中間通信装置102の通信装置内制御部123に対して返信する。
その後、通信装置内制御部123は、フロー転送DB122にフロー転送情報を登録すると共に、経路制御部111からのパケットをフロー転送部121に送信する(ステップS25)。
さらに、フロー転送部121は、通信装置内制御部123から送信されたパケットを、フロー転送DB122に従って、アプリケーションサーバ1〜n(1031〜103n)に転送する(ステップS26)。フロー転送部121は、これ以降に受信する該当フローに属するパケットを、フロー転送DB122に従って転送する。
アプリケーションサーバ1〜n(1031〜103n)のネットワーク終端部131は、受信したパケットに対して終端処理を行い、アプリケーション1〜n(1321〜132n)に対してペイロードデータを送信する(ステップS27)。また、ネットワーク終端部131は、実際のアプリケーション1〜n(1321〜132n)が認識している状態に一致させるように、通信状態を更新し、更新した通信状態を、通信状態通知部134に対して送信する。
通信状態通知部134は、負荷分散制御サーバ101のアプリケーション通信状態収集部113に対して、更新した通信状態を送信する(ステップS28)。アプリケーション通信状態収集部113は、この通信状態の情報をアプリケーション通信状態DB114に記憶させ、管理させる。このようにして、負荷分散制御サーバ101の経路制御部111は、負荷分散したクライアント105とアプリケーション1〜n(1321〜132n)との間における通信の一貫性を維持することができる。
次に、本実施形態に係る分散処理システム100において、クライアント105とアプリケーションとの間における通信の終了処理の動作フローについて、詳細に説明する。図8は、本実施形態に係る分散処理システムにおける、クライアントとアプリケーション間の通信の終了処理の動作フローの一例を示す図である。
例えば、中間通信装置102のフロー転送部121は、あるフローに関して、転送処理を行っていないことを、検出する(ステップS31)。なお、フロー転送部121は、フロー転送DB122における通信状態(図5)が一定時間以上、「通信なし」から「通信あり」の状態に更新されていない場合に、上記転送処理を行っていないことを検出する。通信装置内制御部123は、フロー転送DB122からそのフロー情報を取得する。そして、通信装置内制御部123は、取得したフロー情報が通信状態にないことを確認して、タイムアウトであると認識する。
次に、中間通信装置102の通信装置内制御部123は、タイムアウトしたフローを、負荷分散制御サーバ101の経路制御部111に対して送信する(ステップS32)。経路制御部111は、タイムアウトしたフローを受信すると、フロー状態DB112からそのフロー情報を読出し、読出したフロー情報からアプリケーション情報を取得する。
その後、経路制御部111は、アプリケーション通信状態収集部113にアプリケーションの通信状態を問い合わせる(ステップS33)。アプリケーション通信状態収集部113は、アプリケーション通信状態DB114から、該当するアプリケーションの通信状態を読出し、取得する。アプリケーション通信状態収集部113は、読出したアプリケーションの通信状態が十分に新しいと判断した場合、下記(ステップS36)へ移行する。
一方、アプリケーション通信状態収集部113は、アプリケーション通信状態DB114の情報が古いと判断した場合、アプリケーション通信状態DB114のアプリケーション識別情報に基づいて、そのアプリケーション1〜n(1321〜132n)が動作している特定のアプリケーションサーバ1〜n(1031〜103n)の通信状態通知部134に、アプリケーションの通信状態を問い合わせる(ステップS34)。通信状態通知部134は、その通信状態を通信状態DB133から読み出し、取得する。
通信状態通知部134は、取得したアプリケーションの通信状態を、負荷分散制御サーバ101のアプリケーション通信状態収集部113に対して送信する(ステップS35)。そして、アプリケーション通信状態収集部113は、そのアプリケーションの通信状態に基づいて、アプリケーション通信状態DB114の情報を更新する。
また、アプリケーション通信状態収集部113は、取得したアプリケーションの通信状態を、経路制御部111に送信する(ステップS36)。経路制御部111は、アプリケーションの状態が終了状態あるいは、存在しない(終了済み)の場合、該当するフローの通信経路情報を、フロー状態DB112から削除する。
さらに、経路制御部111は、中間通信装置102の通信装置内制御部123に対して、フローの通信経路情報を送信する(ステップS37)。経路制御部111は、(ステップS36)で入手したアプリケーションの通信状態が終了状態、あるいは、存在しない(終了済み)の場合、通信装置内制御部123に対して、該当するフローを削除する旨の通信経路情報を送信し、それ以外の場合、そのフローを維持する旨の通信経路情報を送信する。通信装置内制御部123は、送信された通信経路情報に従って、フロー転送DB122の情報を変更する。
以上、本実施形態に係る分散処理システム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全体のスケーラビリティを向上させることができる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年3月17日に出願された日本特許出願2009−064338を基礎とする優先権を主張し、その開示の全てをここに取り込む。
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 通信状態通知部

Claims (15)

  1. パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送する中間通信装置と、
    前記中間通信装置から通知を受けたことに応じて、前記パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を当該中間通信装置に通知する負荷分散制御サーバと、を含み、
    前記中間通信装置は、前記複数のアプリケーションサーバのうち前記通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、前記パケットを転送し、
    前記中間通信装置は、所定のフロー転送情報に基づいた転送処理を一定時間以上行っていないことに応じて、当該所定のフロー転送情報のタイムアウトを前記負荷分散制御サーバに通知し、
    前記負荷分散制御サーバは、前記中間通信装置から前記タイムアウトの通知を受けたことに応じて、前記複数のアプリケーションサーバの各々に対して、前記所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせる
    ことを特徴とする分散処理システム。
  2. 前記中間通信装置は、前記負荷分散制御サーバから通知されたフロー転送情報を記憶し、前記複数のアプリケーションサーバのうち、当該記憶したフロー転送情報を検索して決定されたアプリケーションサーバに対して、前記パケットを転送する
    ことを特徴とする請求項1に記載の分散処理システム。
  3. 前記負荷分散制御サーバは、前記複数のアプリケーションサーバの各々における通信数に基づいて、前記パケットの転送経路を決定する
    ことを特徴とする請求項1又は2に記載の分散処理システム。
  4. 前記負荷分散制御サーバは、前記複数のアプリケーションサーバの各々のアプリケーション数に基づいて、前記パケットの転送経路を決定する
    ことを特徴とする請求項1乃至3のいずれかに記載の分散処理システム。
  5. 前記負荷分散制御サーバは、前記複数のアプリケーションサーバの各々から、当該複数のアプリケーションサーバの各々で実行されるアプリケーションの通信状態の通知を受ける
    ことを特徴とする請求項1乃至4のいずれかに記載の分散処理システム。
  6. 前記負荷分散制御サーバは、通知を受けた前記アプリケーションの通信状態に基づいて、当該アプリケーションに関するフロー転送情報を維持するか否かを決定する
    ことを特徴とする請求項5に記載の分散処理システム。
  7. 前記負荷分散制御サーバは、通知を受けた前記アプリケーションの通信状態が終了状態の場合に、当該アプリケーションに関するフロー転送情報を削除する旨を前記中間通信装置に通知する
    ことを特徴とする請求項5又は6に記載の分散処理システム。
  8. パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送するステップと、
    前記パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知するステップと、
    前記複数のアプリケーションサーバのうち前記通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、前記パケットを転送するステップと、
    所定のフロー転送情報に基づいた転送処理を一定時間以上行っていないことに応じて、当該所定のフロー転送情報のタイムアウトを通知するステップと、
    前記タイムアウトの通知を受けたことに応じて、前記複数のアプリケーションサーバの各々に対して、前記所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせるステップと
    を含むことを特徴とする分散処理方法。
  9. 前記通知されたフロー転送情報を記憶し、前記複数のアプリケーションサーバのうち、当該記憶したフロー転送情報を検索して決定されたアプリケーションサーバに対して、前記パケットを転送するステップ
    を含むことを特徴とする請求項に記載の分散処理方法。
  10. 前記複数のアプリケーションサーバの各々における通信数に基づいて、前記パケットの転送経路を決定するステップ
    を含むことを特徴とする請求項又はに記載の分散処理方法。
  11. 前記複数のアプリケーションサーバの各々のアプリケーション数に基づいて、前記パケットの転送経路を決定するステップ
    を含むことを特徴とする請求項乃至10のいずれかに記載の分散処理方法。
  12. 前記複数のアプリケーションサーバの各々から、当該複数のアプリケーションサーバの各々で実行されるアプリケーションの通信状態の通知を受けるステップ
    を含むことを特徴とする請求項乃至11のいずれかに記載の分散処理方法。
  13. 前記通知を受けたアプリケーションの通信状態に基づいて、当該アプリケーションに関するフロー転送情報を維持するか否かを決定するステップ
    を含むことを特徴とする請求項12に記載の分散処理方法。
  14. 通知を受けた前記アプリケーションの通信状態が終了状態の場合に、当該アプリケーションに関するフロー転送情報を削除する旨を通知するステップ
    を含むことを特徴とする請求項12又は13に記載の分散処理方法。
  15. パケットを転送するためのフロー転送情報に基づいて、当該パケットを転送する工程と、
    前記パケットの転送先である複数のアプリケーションサーバの負荷情報に基づいて当該パケットの通信経路を決定し、決定した当該通信経路に基づいて求めたフロー転送情報を通知する工程と、
    前記複数のアプリケーションサーバのうち前記通知されたフロー転送情報に基づいて決定されたアプリケーションサーバに対して、前記パケットを転送する工程と、
    所定のフロー転送情報に基づいた転送処理を一定時間以上行っていないことに応じて、当該所定のフロー転送情報のタイムアウトを通知する工程と、
    前記タイムアウトの通知を受けたことに応じて、前記複数のアプリケーションサーバの各々に対して、前記所定のフロー転送情報に関するアプリケーションの通信状態を問い合わせる工程と
    をコンピュータに実行させることを特徴とするプログラム。
JP2015040094A 2009-03-17 2015-03-02 分散処理システム及び分散処理方法 Active JP5915792B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015040094A JP5915792B2 (ja) 2009-03-17 2015-03-02 分散処理システム及び分散処理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009064338 2009-03-17
JP2009064338 2009-03-17
JP2015040094A JP5915792B2 (ja) 2009-03-17 2015-03-02 分散処理システム及び分散処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011504741A Division JPWO2010106772A1 (ja) 2009-03-17 2010-03-15 分散処理システム及び分散処理方法

Publications (2)

Publication Number Publication Date
JP2015133734A JP2015133734A (ja) 2015-07-23
JP5915792B2 true JP5915792B2 (ja) 2016-05-11

Family

ID=42739439

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011504741A Pending JPWO2010106772A1 (ja) 2009-03-17 2010-03-15 分散処理システム及び分散処理方法
JP2015040094A Active JP5915792B2 (ja) 2009-03-17 2015-03-02 分散処理システム及び分散処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011504741A Pending JPWO2010106772A1 (ja) 2009-03-17 2010-03-15 分散処理システム及び分散処理方法

Country Status (3)

Country Link
US (1) US9167031B2 (ja)
JP (2) JPWO2010106772A1 (ja)
WO (1) WO2010106772A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011074630A1 (ja) * 2009-12-17 2011-06-23 日本電気株式会社 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム
EP2670093A4 (en) * 2011-01-26 2017-02-08 Nec Corporation Network system, control device and optimum path control method
US9680763B2 (en) 2012-02-14 2017-06-13 Airwatch, Llc Controlling distribution of resources in a network
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
US10404615B2 (en) 2012-02-14 2019-09-03 Airwatch, Llc Controlling distribution of resources on a network
US20150372911A1 (en) * 2013-01-31 2015-12-24 Hitachi, Ltd. Communication path management method
US20140280955A1 (en) 2013-03-14 2014-09-18 Sky Socket, Llc Controlling Electronically Communicated Resources
WO2014144808A1 (en) * 2013-03-15 2014-09-18 Netop Solutions A/S System and method for secure application communication between networked processors
JP6179492B2 (ja) 2014-09-11 2017-08-16 コニカミノルタ株式会社 通信中継装置、プログラム及び通信中継方法
US10187218B2 (en) * 2015-09-15 2019-01-22 Google Llc Systems and methods for processing packets in a computer network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196677A (ja) * 1998-12-28 2000-07-14 Fujitsu Ltd ネットワ―クシステムに用いられる中継装置
JP2002344504A (ja) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> コンピュータネットワーク資源割当方法及び資源管理型コンピュータネットワークシステム及びリソース管理サーバ及びエッジスイッチ及びコンピュータネットワーク資源割当プログラム及びコンピュータネットワーク資源割当プログラムを格納した記憶媒体
JP2002351760A (ja) * 2001-05-30 2002-12-06 Mitsubishi Electric Corp サーバ負荷分散装置、サーバ負荷分散方法およびその方法をコンピュータに実行させるプログラム
US6847975B2 (en) * 2001-07-30 2005-01-25 Hitachi, Ltd. Proxy processing method
AU2003211955A1 (en) * 2003-02-13 2004-09-06 Fujitsu Limited Transmission system, distribution route control device, load information collection device, and distribution route control method
JP4080487B2 (ja) 2003-04-14 2008-04-23 富士通株式会社 データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、サービス選択プログラム
JP2005005926A (ja) * 2003-06-11 2005-01-06 Mitsubishi Electric Corp 情報処理システム及び資源利用制御方法
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
JP2005228036A (ja) * 2004-02-13 2005-08-25 Nec Commun Syst Ltd 負荷分散装置、その制御方法、その制御プログラム、及びクライアントサーバシステム
US8024476B2 (en) * 2004-05-21 2011-09-20 Microsoft Corporation Efficient message routing when using server pools
JP2005344504A (ja) 2005-06-10 2005-12-15 Ehimeken Shinrin Kumiai Rengokai 土木建築資材及びその製造方法

Also Published As

Publication number Publication date
WO2010106772A1 (ja) 2010-09-23
JP2015133734A (ja) 2015-07-23
JPWO2010106772A1 (ja) 2012-09-20
US9167031B2 (en) 2015-10-20
US20110289235A1 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
JP5915792B2 (ja) 分散処理システム及び分散処理方法
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
JP3786328B2 (ja) サーバおよび通信制御方法
JP5300076B2 (ja) コンピュータシステム、及びコンピュータシステムの監視方法
JP4113115B2 (ja) 移動機通信システムおよび通信方法
JP5664557B2 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
WO2014087850A1 (ja) 自動障害対応キャッシュシステム及びキャッシュサーバの障害対応処理方法並びにキャッシュマネージャ
JP2005530372A5 (ja)
CN103262482A (zh) 通信系统、控制设备、节点控制方法和程序
JP6335079B2 (ja) 中継装置及び通信システム
JP4372098B2 (ja) ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード
US20120117246A1 (en) Method And System For The Efficient And Automated Management of Virtual Networks
CN102281190A (zh) 负载均衡装置组网方法以及服务器、客户端接入方法
US10333790B2 (en) Method and system for selective route download in network devices
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
JP2018156606A (ja) 通信制御装置、通信制御方法およびコンピュータプログラム
JP6766110B2 (ja) 制御装置、制御方法、及びプログラム
US8854977B2 (en) Relay node
US8396062B2 (en) System for switching between communication devices, switching method, and switching program
JP4583433B2 (ja) 中継システム
KR20150085464A (ko) 서버 연결 장치 및 방법
JP3704134B2 (ja) パケット転送装置、ネットワーク制御サーバ、およびパケット通信ネットワーク
JP5781395B2 (ja) 転送システム、転送プログラム、転送方法及び通信装置
JP2013013032A (ja) 通信制御方法および通信制御プログラム
JP2017045301A (ja) コンピュータシステム

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