JP2008077428A - 負荷分散装置、負荷分散方法及び負荷分散プログラム - Google Patents
負荷分散装置、負荷分散方法及び負荷分散プログラム Download PDFInfo
- Publication number
- JP2008077428A JP2008077428A JP2006256350A JP2006256350A JP2008077428A JP 2008077428 A JP2008077428 A JP 2008077428A JP 2006256350 A JP2006256350 A JP 2006256350A JP 2006256350 A JP2006256350 A JP 2006256350A JP 2008077428 A JP2008077428 A JP 2008077428A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- information processing
- processing result
- information
- load distribution
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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
-
- 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/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 本発明に係る負荷分散装置は、処理を行う情報処理装置に障害が発生した場合においても、情報処理のための再送処理を行わない負荷分散システムを提供することを目的とする。
【解決手段】 本発明に係る負荷分散装置は、クライアント端末から依頼があった処理を複数の情報処理装置に供給する負荷分散装置において、該複数の情報処理装置の稼動状況を監視する負荷監視手段と、該複数の情報処理装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択手段と、該情報処理装置が実行した処理の処理結果を受信する受信手段と、該受信手段が該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断手段とを有することを特徴とする。
【選択図】 図1
Description
本願発明は、複数の情報処理装置に情報処理を分散する負荷分散装置に関する。
負荷分散装置は、クライアント端末から依頼があった処理を複数の情報処理装置に分散して、該処理の効率化を図る装置である。
しかしながら、処理を実行する情報処理装置のうち少なくとも1台に障害が発生した場合、障害が発生した情報処理装置は該分割処理を正常に行うことができない。そのため負荷分散装置は、他の情報処理装置に分割処理を再送しなければならず、分割処理が大幅に遅れてしまうといった問題がある。
また処理を負荷分散する技術に関する特許文献として以下のものが存在する。
特開平8−235133号公報
本発明に係る負荷分散装置は、処理を行う情報処理装置に障害が発生した場合においても、情報処理のための再送処理を行わない負荷分散システムを提供することを目的とする。
本発明に係る負荷分散装置は、クライアント端末から依頼があった処理を複数の情報処理装置に供給する負荷分散装置において、該複数の情報処理装置の稼動状況を監視する負荷監視手段と、該複数の情報処理装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択手段と、該情報処理装置が実行した処理の処理結果を受信する受信手段と、該受信手段が該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断手段とを有することを特徴とする。
また本発明に係る負荷分散装置は、該処理結果判断手段は、該受信手段が同一内容の処理結果をすでに受信している場合には、該受信した処理結果を破棄することを特徴とする。
また本発明に係る負荷分散装置は、該処理結果判断手段は、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得し、さらに該処理を実行する情報処理装置であって、該処理結果を送信してない情報処理装置に対して該処理の終了を依頼することを特徴とする。
また本発明に係る負荷分散方法は、クライアント端末から依頼があった処理を複数の情報処理装置に供給する負荷分散方法において、該複数の情報処理装置の稼動状況を監視する負荷監視ステップと、該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、該情報処理装置が実行した処理の処理結果を受信する受信ステップと、該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップと、を有することを特徴とする。
さらに本発明に係る負荷分散プログラムは、クライアント端末から依頼があった処理を情報処理装置に供給し、コンピュータによって実行される負荷分散プログラムであって、複数の情報処理装置の稼動状況を監視する負荷監視ステップと、該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、該情報処理装置が実行した処理の処理結果を受信する受信ステップと、該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップを有することを特徴とする。
本発明に係る負荷分散装置は、情報処理装置に処理を分散させると共に、当該処理を複数の情報処理装置に並列処理させることによって、情報処理装置に障害が発生した場合であっても再送することなく処理することができる。
以下、本発明を実施するための形態を示す。
<負荷分散システム>
図1は、本実施例に係る負荷分散システムの概念図である。負荷分散システムは、負荷分散装置100、クライアント端末101、102、103及び情報処理装置104、105、106、107、108、109によって構成される。負荷分散装置100は、クライアント端末101、102、103と接続している。また負荷分散装置100は、情報処理装置104、105、106、107、108、109と接続している。
図1は、本実施例に係る負荷分散システムの概念図である。負荷分散システムは、負荷分散装置100、クライアント端末101、102、103及び情報処理装置104、105、106、107、108、109によって構成される。負荷分散装置100は、クライアント端末101、102、103と接続している。また負荷分散装置100は、情報処理装置104、105、106、107、108、109と接続している。
負荷分散装置100は、情報処理装置104、105、106、107、108、109における障害を監視する。負荷分散装置100は、情報処理装置104、105、106、107、108、109に所定の時間間隔で監視パケットを送信する。情報処理装置104、105、106、107、108、109は該監視パケットに対する応答パケットを負荷分散装置100に返信する。これより、負荷分散装置100は該応答パケットの返信の有無を監視して、情報処理装置104、105、106、107、108、109が正常に動作しているか否かの監視を行っている。負荷分散装置100が該応答パケットを所定の時間内に受信した場合、負荷分散装置100は応答パケットを返信した情報処理装置が正常に動作していると判断する。また負荷分散装置100が応答パケットを所定の時間経過しても受信しない場合には、負荷分散装置100は応答パケットを返さない情報処理装置に障害が発生していると判断する。
さらに負荷分散装置100は、情報処理装置104、105、106、107、108、109の稼動状況を監視している。より具体的には負荷分散装置100は、それぞれの情報処理装置104、105、106、107、108、109の負荷情報を監視している。負荷情報は、それぞれの情報処理装置が有するCPUの負荷率と、情報処理装置が実効している処理の数を示す情報(以下、処理数と呼ぶ。)から構成される情報である。情報処理装置104、105、106、107、108、109は、所定の時間間隔でその時点におけるそれぞれの負荷情報を負荷分散装置100に通知する。負荷分散装置100は、管理テーブル700を格納部507に格納している。負荷分散装置100は、該負荷情報を受信した後、管理テーブル700に記載の情報処理装置104、105、106、107、108、109のCPU負荷率と処理数を受信した負荷情報に書き換え、管理テーブル700を更新する。これにより負荷分散装置は、負荷情報を受信するごとに管理テーブル700を更新する。負荷分散装置100は、該管理テーブル700を参照することにより、情報処理装置104、105、106、107、108、109の稼動状況を把握することができる。
負荷分散装置100は、クライアント端末101、102、103から処理要求の要求パケットを受けると、該要求パケットに対する処理データを取得する。そして負荷分散処理装置100は、該処理データを情報処理装置104、105、106、107、108、109に分散して処理を行う。
そして本実施例では、クライアント端末101からの1つの処理を2つの分割処理にする場合を例にとり説明する。クライアント端末102、103もクライアント端末101と同様にして処理を要求するが以下の説明では省略する。クライアント端末101は、負荷分散装置100に要求パケット送信する。負荷分散装置100は、該要求パケットに対応する処理データを2つの分割処理1、2に分割する。負荷分散装置100は、処理の大きさ(以下、処理サイズ情報と呼ぶ。)と負荷分散装置100に接続されている情報処理装置の数を参照して、該処理要求に対応する処理を分割する数を決定する。該処理サイズ情報は、該処理データに含まれる情報である。具体的には、負荷分散装置100は、処理サイズ情報により分割する数が予め設定された分割テーブルを格納部507に格納している。負荷分散装置100は、分割テーブルを参照して、該処理を分割する数を選択する。そして選択した分割数よりも多くの情報処理装置が負荷分散装置100に接続されている場合には、該選択した分割数の分割処理を生成する。選択した分割数よりも少ない数の分割数よりも負荷分散装置100に接続されている情報処理装置の数が少ない場合には、負荷分散装置100に接続されている情報処理装置数の分割処理を生成する。本実施例では、分割テーブルより処理の分割数として2を選択する。負荷分散装置100に接続されている情報処理装置の数は、情報処理装置104〜109の6つであり、選択した分割数の2より大きいため、該処理を2つの分割処理1、2に分割する。分割処理1、2は、それぞれが分割処理であることを示す分割ヘッダを有している。分割ヘッダは、分割した処理全体のうち、分割処理1、2がどの部分の処理を行うかも表している。
図1は、負荷分散装置100が分割処理1を情報処理装置104、107、108に依頼することを模式的に表わしている。負荷分散装置100は、枠1内にある情報処理装置104、107、108に分割処理1を依頼する。また図2は、負荷分散装置100が分割処理2を情報処理装置105、107、109に依頼することを模式的に表わしている。負荷分散装置100は、枠2内にある情報処理装置104、107、108に分割処理2を依頼する。
依頼の判断基準として、負荷分散装置100は、管理テーブル700を参照する。具体的には負荷分散装置100は、管理テーブル700に記載してある情報処理装置104〜109のCPU負荷率を参照して、CPU負荷率の低い情報処理装置に分割処理を依頼する。負荷分散処理装置100は、まず分割処理1を情報処理装置104、107、108に依頼した後、分割処理2を情報処理装置105、107、109に依頼する。また該処理要求には、処理の重要度を示す重要度情報が付加されている。重要度情報は、それぞれの分割処理を何台の情報処理装置によって行うかを示す情報である。本実施例では、重要度情報は、分割処理1、2は共に3台の情報処理装置で実行すること示している。
情報処理装置104、107、108は、分割処理1を実行し、情報処理装置105、107、109は、分割処理2を実行する。情報処理装置104、107、108は分割処理1が終了した場合に、分割処理1の処理結果である分割処理結果1を負荷分散装置100に送信する。同様にして情報処理装置105、107、109は分割処理2が終了した場合に、分割処理2の処理結果である分割処理結果2を負荷分散装置100に送信する。
情報処理装置104、107、108は、それぞれ分割処理1を処理する速度は一般的に異なる。そのため一般的に、負荷分散装置100は、情報処理装置104、107、108それぞれから分割処理結果1を受信するタイミングは異なる。そして負荷分散装置100は、情報処理装置104、107、108から受信する分割処理結果1が初めて受信したものであるか否かを判断する。負荷分散装置100は、受信した分割処理結果1が初めて受信したものであると判断した場合には、分割処理結果1をメモリ506に格納する。また負荷分散装置100は、受信した分割処理結果1が初めて受信したものではないと判断した場合には、該分割処理結果1を破棄する。この際に、負荷分散装置100は、初めに受信した分割処理結果1をメモリ506に格納している。
同様にして、負荷分散装置100は、情報処理装置104、107、108は、それぞれ分割処理1を処理する速度は一般的に異なる。そのため一般的に、負荷分散装置100は、情報処理装置104、107、108それぞれから分割処理結果1を受信するタイミングは異なる。そして負荷分散装置100は、情報処理装置105、107、109から受信する分割処理結果2が初めて受信したものであるか否かを判断する。負荷分散装置100は、受信した分割処理結果2が初めて受信したものであると判断した場合には、分割処理結果2をメモリ506に格納する。また負荷分散装置100は、受信した分割処理結果2が初めて受信したものではないと判断した場合には、該分割処理結果2を破棄する。この際、負荷分散装置100は、初めに受信した分割処理結果2をメモリ506に格納している。負荷分散装置100は、分割処理結果1及び分割処理結果2をメモリ506に格納した後、分割処理結果1及び分割処理結果2を結合して処理結果を生成する。分割処理結果1は分割処理1に対する処理結果であって、分割処理結果2は分割処理2に対する処理結果である。分割処理結果1、2はそれぞれ、分割処理1、2が有する分割ヘッダを有している。負荷分散装置100は、分割ヘッダを用いて分割処理結果1及び分割処理結果2を結合して処理結果を生成する。
負荷分散装置100は、該処理結果をクライアント端末101に送信する。クライアント端末101に該処理結果を送信した後、負荷分散装置100は、メモリに格納されている該処理結果を削除する。
またクライアント端末101、102、103が負荷分散装置100に送信する要求パケットは、送信先を示す送信先IPアドレスを有している。該送信先IPアドレスは、負荷分散装置100のIPアドレスである。クライアント端末101、102、103は、該処理要求に付加された該送信先IPアドレスを参照して、該処理要求を負荷分散装置100に送信する。クライアント端末101、102、103は、該要求パケットに対応する該処理データを複数の分割処理に分割する。負荷分散装置100は、それぞれの分割処理の送信先IPアドレスとして分割処理を行う情報処理装置のIPアドレスを指定する。ここで、例えば分割処理1の送信先IPアドレスは、情報処理装置104、107、108のIPアドレスであり、分割処理2の送信先IPアドレスは、情報処理装置105、107、109のIPアドレスである。負荷分散装置100は、それぞれの分割処理に付加されたIPアドレスを参照して、分割処理をIPアドレスに対応する情報処理装置に送信する。情報処理装置104〜109は、分割処理結果が得られた後、負荷分散装置100のIPアドレスを付加して、分割処理結果を負荷分散装置100に送信する。負荷分散装置100は、分割処理結果を結合して処理結果を生成し、処理結果に処理要求したクライアント端末のIPアドレスを付加して、該クライアント端末に該処理結果を送信する。
<負荷分散装置の構成>
図5は、本実施例に係る負荷分散装置100のハードブロック図である。また図6は本実施例に係る処理部503の機能ブロック図である。負荷分散装置100は、受信部501、送信部502、処理部503、送信部504、受信部505、メモリ506、格納部507から構成される。
図5は、本実施例に係る負荷分散装置100のハードブロック図である。また図6は本実施例に係る処理部503の機能ブロック図である。負荷分散装置100は、受信部501、送信部502、処理部503、送信部504、受信部505、メモリ506、格納部507から構成される。
受信部501と送信部502は、クライアント端末101、102、103と接続されている。受信部501は、クライアント端末101、102、103から処理要求を示す要求パケットを受信し、送信部502は、クライアント端末101、102、103から受信する要求パケットに対応する処理結果を、該要求パケットを送信したクライアント端末101、102、103に送信する。受信部501は、クライアント端末101、102、103から受信する要求パケットを処理部503へ送信し、さらに該要求パケットに対応する処理データをクライアント端末101、102、103から受信して処理部503に送信する。
また処理部503は、クライアント端末101、102、103から受信する処理要求に対応する処理結果を送信部502に送信する。また送信部504、受信部505は、情報処理装置104、105、106、107、108、109と接続されている。処理部503は、処理データを分割処理に分割して、分割処理を情報処理装置104、105、106、107、108、109の中から選択した情報処理装置に送信部504を用いて送信する。分割処理を受信した情報処理装置は、分割処理の処理結果である分割処理結果を負荷分散装置100に送信する。負荷分散装置100は、受信部505を用いて、該分割処理結果を受信する。処理部503は、CPU(Central Processing Unit)、RAM(Random Access Memory)などで構成され、図6に記載の処理分割手段601、負荷監視手段602、情報処理装置選択手段603、IPアドレス変換手段604、処理結果判断手段605、障害監視手段606を実行する構成となっている。
格納部507には、記載の処理分割手段601、負荷監視手段602、情報処理装置選択手段603、IPアドレス変換手段604、処理結果判断手段605、障害監視手段606のプログラムが格納されている。処理部503は、格納部507に格納されている記載の処理分割手段601、負荷監視手段602、情報処理装置選択手段603、IPアドレス変換手段604、処理結果判断手段605、障害監視手段606のプログラムを呼び出してそれぞれの処理を実行する。
負荷分散装置100は、障害監視手段606を実行して、送信部504より情報処理装置104、105、106、107、108、109へ所定の時間間隔で監視パケットを送信する。情報処理装置104、105、106、107、108、109は該監視パケットに対する応答パケットを負荷分散装置100に返信する。負荷分散装置は、受信部505より該応答パケットを受信する。該障害監視手段606は、応答パケットを送信した情報処理装置は正常に動作していると判断する。また所定の時間経過しても負荷分散装置100が応答パケットを受信しない場合には、障害監視手段606は該応答パケットを送信するはずの情報処理装置に障害が発生していると判断し、該情報処理装置との接続を切断する。また情報処理装置104、105、106、107、108、109は、負荷情報を所定の時間間隔で負荷分散装置100に送信する。負荷分散装置100は、負荷監視手段602を実行して、情報処理装置104、105、106、107、108、109からそれぞれの情報処理装置の該負荷情報を受信する。負荷監視手段602は、該負荷情報を受信した後、管理テーブル700の負荷情報に該当する部分である、情報処理装置104、105、106、107、108、109のCPU負荷率と処理数を更新する。
そして例えばクライアント端末101が、負荷分散装置100に要求パケットを送信すると、負荷分散装置100は、処理分割手段601を実行して、該処理要求を複数の分割処理に分割する。処理分割手段601は処理データに含まれる情報である処理サイズ情報と格納部507に格納された分割テーブルを参照する。処理分割手段601は、該処理サイズ情報に対応する該分割テーブル内の分割数を選択する。そして処理分割手段601は、選択した分割数と負荷分散装置100に接続されている情報処理装置の数を比較する。選択した分割数よりも多くの情報処理装置が負荷分散装置100に接続されている場合には、処理分割手段601は、該選択した分割数の分割処理を生成する。選択した分割数よりも少ない数の分割数よりも負荷分散装置100に接続されている情報処理装置の数が少ない場合には、処理分割手段601は、負荷分散装置100に接続されている情報処理装置数の分割処理を生成する。
次に負荷分散装置100は、情報処理装置選択手段603を実行して、該要求パケットに付加されている重要度情報と管理テーブル700を参照する。情報処理装置選択手段603は、該重要度情報から同一の分割処理を依頼する情報処理装置の数を決定する。そして情報処理装置選択手段603は管理テーブル700のCPU負荷率を参照して、CPU負荷率の低い順に、同一の分割処理を依頼する情報処理装置の数だけ情報処理装置を選択する。
そしてIPアドレス変換手段604は、該分割処理に、選択したすべての情報処理装置のIPアドレスを付加し、該分割処理をそれぞれIPアドレスを有する情報処理装置に送信する。他の分割処理においても同様にして、分割処理を送信する情報処理装置の数を決定し、CPU負荷率の低い順に決定した数の情報処理装置を選択して、それぞれの情報処理装置に分割処理を送信する。
分割処理を実行する情報処理装置は、分割処理が終了した後、分割処理結果を負荷分散装置に送信する。負荷分散装置100は、受信部505を介して分割処理結果を受信する。負荷分散装置100は、処理結果判断手段605を実行して、受信した分割処理結果と同一の内容の処理結果がメモリ506に存在するか否かを判断する。メモリ506に同一の内容の分割処理結果が存在しない場合には、処理結果判断手段605は、受信した分割処理結果をメモリ506に格納する。メモリ506に同一の内容の分割処理結果がすでに存在する場合には、処理結果判断手段605は、受信した分割処理結果を破棄する。同様にして他の分割処理においても、処理結果判断手段605は、分割処理結果がすでにメモリ506に格納されているかを判断する。メモリ506に受信した分割処理結果と同一の内容の分割処理結果が存在しない場合には、処理結果判断手段605は、該分割処理結果をメモリ506に格納する。メモリ506に受信した分割処理結果と同一の内容の分割処理結果が存在する場合には、処理結果判断手段605は、該分割処理結果を破棄する。すべての種類の分割処理に対応する分割処理結果を受信した場合、処理結果生成手段607を実行して、全ての分割処理結果を結合して処理結果を生成する。処理結果生成手段607は、該処理結果を506に格納する。
負荷分散装置100は、該処理結果に対応する処理要求を送信したクライアント端末へ、該処理結果を送信する。クライアント端末101に該処理結果を送信した後、負荷分散装置100は、メモリ506に格納されている該処理結果および分割処理結果を削除する。
<負荷分散処理のフロー>
図3は、本実施例に係る負荷分散処理のフローチャートである。負荷分散装置100はクライアント端末101、102,103から要求パケットを受信する(ステップS301)。処理分割手段601は、処理サイズ情報と格納部507に格納された分割テーブルを参照し、該処理サイズ情報に対応する該分割テーブル内の分割数を選択する(ステップS302)。処理分割手段601は、選択した分割数と負荷分散装置100に接続されている情報処理装置の数を比較する(ステップS303)。選択した分割数よりも多くの情報処理装置が負荷分散装置100に接続されている場合には、処理分割手段601は、該選択した分割数の分割処理を生成する(ステップS304)。選択した分割数よりも少ない数の分割数よりも負荷分散装置100に接続されている情報処理装置の数が少ない場合には、処理分割手段601は、負荷分散装置100に接続されている情報処理装置数の分割処理を生成する(ステップS305)。
図3は、本実施例に係る負荷分散処理のフローチャートである。負荷分散装置100はクライアント端末101、102,103から要求パケットを受信する(ステップS301)。処理分割手段601は、処理サイズ情報と格納部507に格納された分割テーブルを参照し、該処理サイズ情報に対応する該分割テーブル内の分割数を選択する(ステップS302)。処理分割手段601は、選択した分割数と負荷分散装置100に接続されている情報処理装置の数を比較する(ステップS303)。選択した分割数よりも多くの情報処理装置が負荷分散装置100に接続されている場合には、処理分割手段601は、該選択した分割数の分割処理を生成する(ステップS304)。選択した分割数よりも少ない数の分割数よりも負荷分散装置100に接続されている情報処理装置の数が少ない場合には、処理分割手段601は、負荷分散装置100に接続されている情報処理装置数の分割処理を生成する(ステップS305)。
次に情報処理装置選択手段603は、該処理要求に付加されている重要度情報と管理テーブル700を参照する。情報処理装置選択手段603は、該重要度情報から同一の分割処理を依頼する情報処理装置の数を決定する(ステップS306)。情報処理装置選択手段603は管理テーブル700のCPU負荷率を参照して、CPU負荷率の低い順に、同一の分割処理を依頼する情報処理装置の数だけ情報処理装置を選択する(ステップS307)。
そしてIPアドレス変換手段604は、該分割処理に選択したすべての情報処理装置のIPアドレスを付加し、該分割処理をそれぞれIPアドレスを有する情報処理装置に送信する(ステップS308)。他の分割処理においても同様にして、分割処理を送信する情報処理装置の数を決定し、CPU負荷率の低い順に決定した数の情報処理装置を選択して、それぞれの情報処理装置に分割処理を送信する。
処理結果判断手段605は、受信した分割処理結果と同一の内容の分割処理結果がメモリ506に存在するか否かを判断する(ステップS309)。メモリ506に同一の内容の分割処理結果が存在しない場合には、処理結果判断手段605は、受信した分割処理結果をメモリ506に格納する(ステップS310)。メモリ506に同一の内容の分割処理結果がすでに存在する場合には、処理結果判断手段605は、受信した分割処理結果を破棄する(ステップ311)。
<負荷情報監視のフロー>
図4は、本実施例に係る負荷分散装置100の負荷情報監視のフローチャートである。障害監視手段606は、送信部504より情報処理装置104、105、106、107、108、109へ所定の時間間隔で監視パケットを送信する(ステップS401)。該障害監視手段606は、情報処理装置104、105、106、107、108、109からの応答パケットを監視し、所定の時間間隔で応答パケットを受信したか否か判断する(ステップS402)。該障害監視手段606は、応答パケットを送信した情報処理装置は正常に動作していると判断する(ステップS403)。また所定の時間経過しても負荷分散装置100が応答パケットを受信しない場合には、障害監視手段606は該応答パケットを送信するはずの情報処理装置に障害が発生していると判断し、該情報処理装置との接続を切断する(ステップS404)。
図4は、本実施例に係る負荷分散装置100の負荷情報監視のフローチャートである。障害監視手段606は、送信部504より情報処理装置104、105、106、107、108、109へ所定の時間間隔で監視パケットを送信する(ステップS401)。該障害監視手段606は、情報処理装置104、105、106、107、108、109からの応答パケットを監視し、所定の時間間隔で応答パケットを受信したか否か判断する(ステップS402)。該障害監視手段606は、応答パケットを送信した情報処理装置は正常に動作していると判断する(ステップS403)。また所定の時間経過しても負荷分散装置100が応答パケットを受信しない場合には、障害監視手段606は該応答パケットを送信するはずの情報処理装置に障害が発生していると判断し、該情報処理装置との接続を切断する(ステップS404)。
<管理テーブル>
図7は、本実施例に係る管理テーブル700である。管理テーブル700には情報処理装置104、105、106、107、108、109それぞれのIPアドレス701、最大処理性能702、CPU負荷率703、処理数704が記載されている。情報処理装置104のIPアドレス701は「193.168.254.2」、最大処理性能702は「5000tps」、CPU負荷率703は「20%」、処理数704は「1」である。情報処理装置105のIPアドレス701は「193.168.254.3」、最大処理性能702は「5000tps」、CPU負荷率703は「40%」、処理数704は「1」である。情報処理装置106のIPアドレス701は「193.168.254.4」、最大処理性能702は「5000tps」、CPU負荷率703は「90%」、処理数704は「3」である。情報処理装置107のIPアドレス701は「193.168.254.5」、最大処理性能702は「5000tps」、CPU負荷率703は「10%」、処理数704は「0」である。情報処理装置108のIPアドレス701は「193.168.254.6」、最大処理性能702は「5000tps」、CPU負荷率703は「25%」、処理数704は「1」である。情報処理装置109のIPアドレス701は「193.168.254.7」、最大処理性能702は「5000tps」、CPU負荷率703は「45%」、処理数704は「1」である。ここで本実施例では、簡略化のため情報処理装置104、105、106、107、108、109の最大処理性能702は「5000tps」と同一である。またtpsは「transaction per second」であり、単位時間あたりに実行可能な処理数を意味する単位である。
図7は、本実施例に係る管理テーブル700である。管理テーブル700には情報処理装置104、105、106、107、108、109それぞれのIPアドレス701、最大処理性能702、CPU負荷率703、処理数704が記載されている。情報処理装置104のIPアドレス701は「193.168.254.2」、最大処理性能702は「5000tps」、CPU負荷率703は「20%」、処理数704は「1」である。情報処理装置105のIPアドレス701は「193.168.254.3」、最大処理性能702は「5000tps」、CPU負荷率703は「40%」、処理数704は「1」である。情報処理装置106のIPアドレス701は「193.168.254.4」、最大処理性能702は「5000tps」、CPU負荷率703は「90%」、処理数704は「3」である。情報処理装置107のIPアドレス701は「193.168.254.5」、最大処理性能702は「5000tps」、CPU負荷率703は「10%」、処理数704は「0」である。情報処理装置108のIPアドレス701は「193.168.254.6」、最大処理性能702は「5000tps」、CPU負荷率703は「25%」、処理数704は「1」である。情報処理装置109のIPアドレス701は「193.168.254.7」、最大処理性能702は「5000tps」、CPU負荷率703は「45%」、処理数704は「1」である。ここで本実施例では、簡略化のため情報処理装置104、105、106、107、108、109の最大処理性能702は「5000tps」と同一である。またtpsは「transaction per second」であり、単位時間あたりに実行可能な処理数を意味する単位である。
本実施例において、負荷分散装置100は分割処理1を依頼する情報処理装置を選択した後、分割処理2を依頼する情報処理装置を選択する。情報処理装置選択手段603は、管理テーブル700のCPU負荷率703を参照して、CPU負荷率703の低い情報処理装置に分割処理1を依頼する。CPU負荷率703の低い情報処理装置は、CPU負荷率703が「20%」である情報処理装置104、CPU負荷率703が「10%」である情報処理装置107、CPU負荷率703が「25%」である情報処理装置108である。これにより情報処理装置選択手段603は、分割処理1を情報処理装置104,107、108に依頼する。そして情報処理装置104、105、106、107、108、109は、負荷情報を負荷分散装置100に送信する。負荷監視手段602は、情報処理装置104、105、106、107、108、109からそれぞれの情報処理装置の該負荷情報を受信する。負荷監視手段602は、該負荷情報を受信した後、管理テーブル700の負荷情報に該当する部分である、情報処理装置104、105、106、107、108、109のCPU負荷率703と処理数704を更新する。
図8は本実施例に係る管理テーブル800である。管理テーブル800は、情報処理装置選択手段603が分割処理1を情報処理装置104,107、108に依頼し、負荷監視手段602が管理テーブル700を更新した管理テーブルである。
情報処理装置104のIPアドレス801は「193.168.254.2」、最大処理性能802は「5000tps」、CPU負荷率803は「60%」、処理数804は「2」である。情報処理装置105のIPアドレス801は「193.168.254.3」、最大処理性能802は「5000tps」、CPU負荷率803は「40%」、処理数804は「1」である。情報処理装置106のIPアドレス801は「193.168.254.4」、最大処理性能802は「5000tps」、CPU負荷率803は「90%」、処理数804は「3」である。情報処理装置107のIPアドレス801は「193.168.254.5」、最大処理性能802は「5000tps」、CPU負荷率803は「55%」、処理数804は「1」である。情報処理装置108のIPアドレス801は「193.168.254.6」、最大処理性能802は「5000tps」、CPU負荷率803は「75%」、処理数804は「2」である。情報処理装置109のIPアドレス801は「193.168.254.7」、最大処理性能802は「5000tps」、CPU負荷率803は「45%」、処理数804は「1」である。
情報処理装置選択手段603は、管理テーブル800のCPU負荷率803を参照して、CPU負荷率803の低い情報処理装置に分割処理2を依頼する。CPU負荷率803の低い情報処理装置は、CPU負荷率803が「40%」である情報処理装置105、CPU負荷率803が「55%」である情報処理装置107、CPU負荷率803が「45%」である情報処理装置109である。これにより情報処理装置選択手段603は、分割処理2を情報処理装置105,107、109に依頼する。そして情報処理装置104、105、106、107、108、109は、負荷情報を負荷分散装置100に送信する。負荷監視手段602は、情報処理装置104、105、106、107、108、109からそれぞれの情報処理装置の該負荷情報を受信する。負荷監視手段602は、該負荷情報を受信した後、管理テーブル800の負荷情報に該当する部分である、情報処理装置104、105、106、107、108、109のCPU負荷率803と処理数804を更新する。
第2の実施例では、受信した分割処理結果と同一の内容の分割処理結果がメモリ506に存在する場合には、処理結果判断手段605が、受信した分割処理結果に対応する分割処理を処理している情報処理装置に対して、分割処理の中止を依頼する。
図9は、本実施例に係る負荷分散処理のフローチャートである。クライアント端末101、102,103が、負荷分散装置100に要求パケットを送信する(ステップS901)。処理分割手段601は、処理サイズ情報と格納部507に格納された分割テーブルを参照し、該処理サイズ情報に対応する該分割テーブル内の分割数を選択する(ステップS902)。処理分割手段601は、選択した分割数と負荷分散装置100に接続されている情報処理装置の数を比較する(ステップS903)。選択した分割数よりも多くの情報処理装置が負荷分散装置100に接続されている場合には、処理分割手段601は、該選択した分割数の分割処理を生成する(ステップS904)。選択した分割数よりも少ない数の分割数よりも負荷分散装置100に接続されている情報処理装置の数が少ない場合には、処理分割手段601は、負荷分散装置100に接続されている情報処理装置数の分割処理を生成する(ステップS905)。
そして情報処理装置選択手段603は、該処理要求に付加されている重要度情報と管理テーブル700を参照する。情報処理装置選択手段603は、該重要度情報から同一の分割処理を依頼する情報処理装置の数を決定する(ステップS906)。情報処理装置選択手段603は管理テーブル700のCPU負荷率を参照して、CPU負荷率の低い順に、同一の分割処理を依頼する情報処理装置の数だけ情報処理装置を選択する(ステップS907)。
そしてIPアドレス変換手段604は、該分割処理に選択したすべての情報処理装置のIPアドレスを付加し、該分割処理をそれぞれIPアドレスを有する情報処理装置に送信する(ステップS908)。他の分割処理においても同様にして、分割処理を送信する情報処理装置の数を決定し、CPU負荷率の低い順に決定した数の情報処理装置を選択して、それぞれの情報処理装置に分割処理を送信する。
処理結果判断手段605は、受信した分割処理結果と同一の内容の処理結果がメモリ506に存在するか否かを判断する(ステップS909)。メモリ506に同一の内容の分割処理結果が存在しない場合には、処理結果判断手段605は、受信した分割処理結果をメモリ506に格納する(ステップS910)。メモリ506に同一の内容の分割処理結果がすでに存在する場合には、処理結果判断手段605は、該分割処理結果に対応する分割処理を処理している情報処理装置に対して、該分割処理の中止を依頼する(ステップ911)。分割処理の中止の依頼を受信した情報処理装置は、分割処理が終了する。
次に、以上述べた通信装置の実施形態から抽出される技術的思想を請求項の記載形式に準じて付記として列挙する。本発明に係る技術的思想は上位概念から下位概念まで、様々なレベルやバリエーションにより把握できるものであり、以下の付記に本発明が限定されるものではない。
(付記1) クライアント端末から依頼があった処理を複数の情報処理装置に供給する負荷分散装置において、
該複数の情報処理装置の稼動状況を監視する負荷監視手段と、
該複数の情報処理装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択手段と、
該情報処理装置が実行した処理の処理結果を受信する受信手段と、
該受信手段が該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断手段と、
を有することを特徴とする負荷分散装置。
該複数の情報処理装置の稼動状況を監視する負荷監視手段と、
該複数の情報処理装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択手段と、
該情報処理装置が実行した処理の処理結果を受信する受信手段と、
該受信手段が該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断手段と、
を有することを特徴とする負荷分散装置。
(付記2) 付記1に記載の負荷分散装置において、
該処理結果判断手段は、該受信手段が同一内容の処理結果をすでに受信している場合には、該受信した処理結果を破棄することを特徴とする負荷分散装置。
該処理結果判断手段は、該受信手段が同一内容の処理結果をすでに受信している場合には、該受信した処理結果を破棄することを特徴とする負荷分散装置。
(付記3) 付記1に記載の負荷分散装置において、
該処理結果判断手段は、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得し、さらに該処理を実行する情報処理装置であって、該処理結果を送信してない情報処理装置に対して該処理の終了を依頼することを特徴とする負荷分散装置。
該処理結果判断手段は、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得し、さらに該処理を実行する情報処理装置であって、該処理結果を送信してない情報処理装置に対して該処理の終了を依頼することを特徴とする負荷分散装置。
(付記4) 付記1に記載の負荷分散装置は、
該処理結果判断手段において、取得した処理結果を該クライアント端末に送信する送信手段をさらに有することを特徴とする負荷分散装置。
該処理結果判断手段において、取得した処理結果を該クライアント端末に送信する送信手段をさらに有することを特徴とする負荷分散装置。
(付記5) 付記1に記載の負荷分散装置において、
該負荷監視手段は、該稼動状況として該情報処理装置のCPU負荷を監視することを特徴とする負荷分散装置。
該負荷監視手段は、該稼動状況として該情報処理装置のCPU負荷を監視することを特徴とする負荷分散装置。
(付記6) 付記1に記載の負荷分散装置において、
該負荷監視手段は、該情報処理装置よりそれぞれの情報処理装置の稼動状況を示す負荷情報を取得することを特徴とする負荷分散装置。
該負荷監視手段は、該情報処理装置よりそれぞれの情報処理装置の稼動状況を示す負荷情報を取得することを特徴とする負荷分散装置。
(付記7) 付記6に記載の負荷分散装置において、
該負荷監視手段は、所定の時間間隔で該負荷情報を取得することを特徴とする負荷分散装置。
該負荷監視手段は、所定の時間間隔で該負荷情報を取得することを特徴とする負荷分散装置。
(付記8) 付記7に記載の負荷分散装置において、
該負荷監視手段は、該所定の時間経過しても該負荷情報を受信しない場合は、該負荷情報を送信しない情報処理装置との接続を切り離すことを特徴とする負荷分散装置。
該負荷監視手段は、該所定の時間経過しても該負荷情報を受信しない場合は、該負荷情報を送信しない情報処理装置との接続を切り離すことを特徴とする負荷分散装置。
(付記9) クライアント端末から依頼があった処理を複数の情報処理装置に供給する負荷分散方法において、
該複数の情報処理装置の稼動状況を監視する負荷監視ステップと、
該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、
該情報処理装置が実行した処理の処理結果を受信する受信ステップと、
該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップと、
を有することを特徴とする負荷分散方法。
該複数の情報処理装置の稼動状況を監視する負荷監視ステップと、
該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、
該情報処理装置が実行した処理の処理結果を受信する受信ステップと、
該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップと、
を有することを特徴とする負荷分散方法。
(付記10) クライアント端末から依頼があった処理を情報処理装置に供給し、コンピュータによって実行される負荷分散プログラムであって、
複数の情報処理装置の稼動状況を監視する負荷監視ステップと、
該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、
該情報処理装置が実行した処理の処理結果を受信する受信ステップと、
該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップと、
を有することを特徴とする負荷分散プログラム。
複数の情報処理装置の稼動状況を監視する負荷監視ステップと、
該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、
該情報処理装置が実行した処理の処理結果を受信する受信ステップと、
該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップと、
を有することを特徴とする負荷分散プログラム。
100…負荷分散装置
101…クライアント端末
102…クライアント端末
103…クライアント端末
104…情報処理装置
105…情報処理装置
106…情報処理装置
107…情報処理装置
108…情報処理装置
109…情報処理装置
501…受信部
502…送信部
503…処理部
504…送信部
505…受信部
506…メモリ
507…格納部
601…処理分割手段
602…負荷監視手段
603…情報処理装置選択手段
604…IPアドレス変換手段
605…処理結果判断手段
606…障害監視手段
607…処理結果生成手段
101…クライアント端末
102…クライアント端末
103…クライアント端末
104…情報処理装置
105…情報処理装置
106…情報処理装置
107…情報処理装置
108…情報処理装置
109…情報処理装置
501…受信部
502…送信部
503…処理部
504…送信部
505…受信部
506…メモリ
507…格納部
601…処理分割手段
602…負荷監視手段
603…情報処理装置選択手段
604…IPアドレス変換手段
605…処理結果判断手段
606…障害監視手段
607…処理結果生成手段
Claims (5)
- クライアント端末から依頼があった処理を複数の情報処理装置に供給する負荷分散装置において、
該複数の情報処理装置の稼動状況を監視する負荷監視手段と、
該複数の情報処理装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択手段と、
該情報処理装置が実行した処理の処理結果を受信する受信手段と、
該受信手段が該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断手段と、
を有することを特徴とする負荷分散装置。 - 請求項1に記載の負荷分散装置において、
該処理結果判断手段は、該受信手段が同一内容の処理結果をすでに受信している場合には、該受信した処理結果を破棄することを特徴とする負荷分散装置。 - 請求項1に記載の負荷分散装置において、
該処理結果判断手段は、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得し、さらに該処理を実行する情報処理装置であって、該処理結果を送信してない情報処理装置に対して該処理の終了を依頼することを特徴とする負荷分散装置。 - クライアント端末から依頼があった処理を複数の情報処理装置に供給する負荷分散方法において、
該複数の情報処理装置の稼動状況を監視する負荷監視ステップと、
該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、
該情報処理装置が実行した処理の処理結果を受信する受信ステップと、
該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップと、
を有することを特徴とする負荷分散方法。 - クライアント端末から依頼があった処理を情報処理装置に供給し、コンピュータによって実行される負荷分散プログラムであって、
複数の情報処理装置の稼動状況を監視する負荷監視ステップと、
該複数の情報装置の稼動状況に応じて、該複数の情報処理装置の中から、処理を実行する情報処理装置を選択する情報処理装置選択ステップと、
該情報処理装置が実行した処理の処理結果を受信する受信ステップと、
該受信ステップにおいて、該処理結果と同一内容の処理結果をすでに受信したか否かを判断し、同一内容の処理結果を未だ受信していない場合には、該受信した処理結果を取得する処理結果判断ステップと、
を有することを特徴とする負荷分散プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006256350A JP2008077428A (ja) | 2006-09-21 | 2006-09-21 | 負荷分散装置、負荷分散方法及び負荷分散プログラム |
EP20070104793 EP1903750A1 (en) | 2006-09-21 | 2007-03-23 | Load distributing apparatus |
US11/730,128 US20080077931A1 (en) | 2006-09-21 | 2007-03-29 | Load distributing apparatus |
CNB2007100981036A CN100524227C (zh) | 2006-09-21 | 2007-04-13 | 负载分配设备 |
KR20070036924A KR100870166B1 (ko) | 2006-09-21 | 2007-04-16 | 부하 분산 장치, 부하 분산 방법 및 부하 분산 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006256350A JP2008077428A (ja) | 2006-09-21 | 2006-09-21 | 負荷分散装置、負荷分散方法及び負荷分散プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008077428A true JP2008077428A (ja) | 2008-04-03 |
Family
ID=39027631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006256350A Withdrawn JP2008077428A (ja) | 2006-09-21 | 2006-09-21 | 負荷分散装置、負荷分散方法及び負荷分散プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080077931A1 (ja) |
EP (1) | EP1903750A1 (ja) |
JP (1) | JP2008077428A (ja) |
KR (1) | KR100870166B1 (ja) |
CN (1) | CN100524227C (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685480A (zh) * | 2008-09-27 | 2010-03-31 | 国家电力调度通信中心 | 一种用于大电网安全稳定分析的并行计算方法和计算平台 |
JP5215900B2 (ja) * | 2009-02-13 | 2013-06-19 | 株式会社日立製作所 | 移動無線通信システムおよびアクセスゲートウェイ |
US9043401B2 (en) | 2009-10-08 | 2015-05-26 | Ebay Inc. | Systems and methods to process a request received at an application program interface |
US10104168B2 (en) | 2011-12-12 | 2018-10-16 | International Business Machines Corporation | Method for managing throughput in a distributed storage network |
US10176045B2 (en) | 2011-12-12 | 2019-01-08 | International Business Machines Corporation | Internet based shared memory in a distributed computing system |
US20130238900A1 (en) | 2011-12-12 | 2013-09-12 | Cleversafe, Inc. | Dispersed storage network secure hierarchical file directory |
US9674155B2 (en) | 2011-12-12 | 2017-06-06 | International Business Machines Corporation | Encrypting segmented data in a distributed computing system |
US10348640B2 (en) | 2011-12-12 | 2019-07-09 | International Business Machines Corporation | Partial task execution in a dispersed storage network |
US20180083930A1 (en) | 2011-12-12 | 2018-03-22 | International Business Machines Corporation | Reads for dispersed computation jobs |
US10146621B2 (en) | 2011-12-12 | 2018-12-04 | International Business Machines Corporation | Chaining computes in a distributed computing system |
US9141468B2 (en) | 2011-12-12 | 2015-09-22 | Cleversafe, Inc. | Managing memory utilization in a distributed storage and task network |
US10360106B2 (en) | 2011-12-12 | 2019-07-23 | International Business Machines Corporation | Throttled real-time writes |
US9584359B2 (en) | 2011-12-12 | 2017-02-28 | International Business Machines Corporation | Distributed storage and computing of interim data |
US9304857B2 (en) * | 2011-12-12 | 2016-04-05 | Cleversafe, Inc. | Retrieving data from a distributed storage network |
US10666596B2 (en) | 2011-12-12 | 2020-05-26 | Pure Storage, Inc. | Messaging via a shared memory of a distributed computing system |
US10346218B2 (en) | 2011-12-12 | 2019-07-09 | International Business Machines Corporation | Partial task allocation in a dispersed storage network |
EP3373555A1 (en) * | 2017-03-07 | 2018-09-12 | Thomson Licensing | Method to be implemented at a network element for managing instances of network functions, and corresponding network element |
KR102761526B1 (ko) * | 2024-06-03 | 2025-02-03 | 리벨리온 주식회사 | 인공지능 서비스 제공을 위한 로드 밸런싱 방법 및 시스템 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3480973B2 (ja) * | 1993-11-30 | 2003-12-22 | 富士通株式会社 | 並列処理システムの動作解析装置 |
US6185619B1 (en) * | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
JPH08235133A (ja) | 1995-02-28 | 1996-09-13 | Toshiba Corp | 多重処理システム |
JPH113323A (ja) | 1997-06-10 | 1999-01-06 | Nec Software Ltd | ジョブ実行の負荷分散装置 |
US6363496B1 (en) | 1999-01-29 | 2002-03-26 | The United States Of America As Represented By The Secretary Of The Air Force | Apparatus and method for reducing duration of timeout periods in fault-tolerant distributed computer systems |
US6389448B1 (en) * | 1999-12-06 | 2002-05-14 | Warp Solutions, Inc. | System and method for load balancing |
EP1311946B1 (en) * | 2000-07-27 | 2017-12-27 | Oracle International Corporation | System and method for concentration and load-balancing of requests |
WO2003100648A1 (en) * | 2002-05-28 | 2003-12-04 | Dai Nippon Printing Co., Ltd. | Parallel processing system |
US7761876B2 (en) * | 2003-03-20 | 2010-07-20 | Siemens Enterprise Communications, Inc. | Method and system for balancing the load on media processors based upon CPU utilization information |
JP2005182702A (ja) | 2003-12-24 | 2005-07-07 | Fujitsu Ltd | Ipネットワークにおけるアクセス制御方式 |
-
2006
- 2006-09-21 JP JP2006256350A patent/JP2008077428A/ja not_active Withdrawn
-
2007
- 2007-03-23 EP EP20070104793 patent/EP1903750A1/en not_active Withdrawn
- 2007-03-29 US US11/730,128 patent/US20080077931A1/en not_active Abandoned
- 2007-04-13 CN CNB2007100981036A patent/CN100524227C/zh not_active Expired - Fee Related
- 2007-04-16 KR KR20070036924A patent/KR100870166B1/ko not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1903750A1 (en) | 2008-03-26 |
CN101149689A (zh) | 2008-03-26 |
KR20080027117A (ko) | 2008-03-26 |
CN100524227C (zh) | 2009-08-05 |
US20080077931A1 (en) | 2008-03-27 |
KR100870166B1 (ko) | 2008-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008077428A (ja) | 負荷分散装置、負荷分散方法及び負荷分散プログラム | |
CN101370035B (zh) | 用于动态客户端/服务器网络管理的方法以及系统 | |
WO2020093500A1 (zh) | 智能调度方法、终端设备、边缘节点集群与智能调度系统 | |
EP3352431B1 (en) | Network load balance processing system, method, and apparatus | |
CN102447624A (zh) | 在服务器集群上实现负载均衡的方法、节点服务器及集群 | |
CN103312807A (zh) | 数据传输方法、装置及系统 | |
CN111182022A (zh) | 数据发送方法和装置、存储介质及电子装置 | |
CN112351083A (zh) | 业务处理方法、网络业务系统 | |
CN112104568A (zh) | 一种数据传输控制方法及网关 | |
CN108134986B (zh) | 报文传输方法及装置 | |
CN115473855A (zh) | 网络系统、数据传输方法 | |
CN113452778B (zh) | 会话保持方法、装置、设备、系统及存储介质 | |
CN111049915A (zh) | 一种容器云下消息队列代理网格及方法 | |
CN114490100B (zh) | 一种消息队列遥测传输负载均衡方法、装置及服务器 | |
CN111309467B (zh) | 任务分发方法及装置、电子设备及存储介质 | |
CN112073533A (zh) | 一种实时消息推送方法及系统 | |
CN114024968A (zh) | 一种基于中间设备的报文发送方法、装置和电子设备 | |
CN110247808B (zh) | 信息发送方法、装置、设备及可读存储介质 | |
KR102043031B1 (ko) | 서버 및 이를 이용한 부하 분산 방법 | |
JP4802159B2 (ja) | ネットワーク装置 | |
CN114338574A (zh) | 一种即时通讯方法、管理节点及系统 | |
CA2704857A1 (en) | Packet consolidation | |
JP2008245114A (ja) | コンテンツ配信システム | |
CN114268615B (zh) | 基于tcp连接的业务处理方法和系统 | |
JP5476415B2 (ja) | ネットワーク障害監視装置およびネットワーク障害監視方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091201 |