JP5630800B2 - 情報処理システムおよび負荷分散方法 - Google Patents

情報処理システムおよび負荷分散方法 Download PDF

Info

Publication number
JP5630800B2
JP5630800B2 JP2008521229A JP2008521229A JP5630800B2 JP 5630800 B2 JP5630800 B2 JP 5630800B2 JP 2008521229 A JP2008521229 A JP 2008521229A JP 2008521229 A JP2008521229 A JP 2008521229A JP 5630800 B2 JP5630800 B2 JP 5630800B2
Authority
JP
Japan
Prior art keywords
processing
request
sub
description
processed
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
JP2008521229A
Other languages
English (en)
Other versions
JPWO2007145238A1 (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 JP2008521229A priority Critical patent/JP5630800B2/ja
Publication of JPWO2007145238A1 publication Critical patent/JPWO2007145238A1/ja
Application granted granted Critical
Publication of JP5630800B2 publication Critical patent/JP5630800B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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

Description

本発明は、複数の被処理装置に対する処理を複数の情報処理装置で分担して実行する情報処理システムに関する。
Webサーバ等の被処理装置に対してアプリケーションプログラムの配付等の処理を行う情報処理システムにおいては、被処理装置の数が増えてくると、全ての被処理装置に対する処理が完了するまでに多くの時間がかかるようになる。このような問題を解決するために有効な技術が非特許文献1に記載されている。
非特許文献1に記載されるシステムでは、処理を実行する複数の処理装置と、複数の処理要求を蓄積するキューとを備え、キューに蓄積された複数の処理要求を各処理装置に分配して並列に実行させることにより、処理時間の短縮と複数の処理装置の負荷分散とを図っている。この技術を用いれば、例えば、10台の処理装置を使って100台のWebサーバに同じアプリケーションプログラムを配付する場合、100台のWebサーバへのアプリケーションプログラムの配付を要求する合計100個の処理要求をキューに蓄積し、それら100個の処理要求を10個ずつ各処理装置に割り当てて実行させれば、1台の処理装置で配付を行う場合に比べて約1/10の時間で済む。この例では、処理要求を各処理装置に均等に分配したが、性能の高い処理装置には性能の低い処理装置よりも多くの処理要求を分配することで、負荷を調整することも可能になる。
Robert H. Halstead, Jr.,"MULTILISP: a language for concurrent symbolic computation", ACM Transactions on Programming Languages and Systems(TOPLAS),1985
しかしながら、上述したように関連する技術は、処理要求単位での負荷分散であるため、1つの処理要求で処理する被処理装置の数を1台にしておかなければ、きめ細かな負荷分散が行えない。このため、被処理装置の数が膨大になるに従って、作成しなければならない処理要求の数も膨大になるという課題があった。
反対に、作成する処理要求数を削減するために1つの処理要求で処理する被処理装置の数を増やすと、性能の高い処理装置では支障はないが、性能の低い処理装置では負荷が異常に高まって処理の遅延が発生するという問題が生じる。
本発明はこのような事情に鑑みて提案されたものであり、その目的は、作成された処理要求単位よりも小さな単位で負荷分散が行える情報処理システムを提供することにある。
本発明の第1の情報処理システムは、複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、
前記メイン装置には、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部が備えられる一方、
前記各サブ装置には、前記要求記憶部に記憶された処理要求を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定し、処理すべき処理要求を、この処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段が備えられ該要求分割手段により分割された処理要求を前記処理手段が実行することを特徴とする。
『作用』
本発明にあっては、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を、処理手段が同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割することによって、作成された処理要求単位よりも小さな単位での負荷分散を実現する。処理要求の分割は、処理手段を備える各サブ装置側で実施する。また、処理手段が同時に処理可能な台数の被処理装置の記述の選択を、各サブ装置と各被処理装置との間のネットワーク帯域や遅延などの情報を参照して行うようにしても良い。
本発明によれば、システム管理者が作成した処理要求単位よりも小さな単位で負荷分散が可能になる。その理由は、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を、処理手段が同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割するためである。
また本発明によれば、1つの処理要求で処理する被処理装置の数を1台にしておく必要がないため、処理要求を作成するシステム管理者の負担が軽減される。
『第1の実施の形態』
図1を参照すると、本発明の第1の実施の形態にかかる情報処理システムは、複数のサブ装置1000と、これら複数のサブ装置1000に通信可能に接続されたメイン装置100とから構成されている。また、各サブ装置1000は、ネットワーク3000を通じて複数の被処理装置2000と接続されている。
メイン装置100は、被処理装置2000に対して実行すべき処理を記述した処理要求を記憶し管理するコンピュータであり、記憶装置110とデータ処理装置120とを備えている。
記憶装置110は、ハードディスク装置などで構成され、1以上の処理要求を記憶する要求記憶部111を有する。要求記憶部111に記憶される個々の処理要求は、処理対象となる複数の被処理装置2000の記述とそれらに対する処理内容の記述とを含む。被処理装置2000の記述としては、IPアドレスなど、処理対象となる被処理装置2000を一意に識別できる文字列が使用される。処理内容の記述とは、アプリケーションプログラムの配付など、被処理装置2000に対して実行すべき処理の内容を定義したものである。
データ処理装置120は、コンピュータのCPUなどで構成され、要求記憶部111への処理要求の入出力を管理する要求管理手段121を有する。この要求管理手段121と要求記憶部111とは、例えば市販のデータベースプログラムにより実現することができる。
各々のサブ装置1000は、被処理装置2000に対する処理を互いに分担して実行するコンピュータであり、入力装置1010、データ処理装置1020、出力装置1030および記憶装置1040を備えている。
入力装置1010は、キーボード等で構成され、利用者が各種のデータをサブ装置1000に入力するのに利用される。また、本実施の形態の場合、入力装置1010から入力された処理要求は、メイン装置100の要求管理手段121に送信されて要求記憶部111に記憶されるようになっている。
出力装置1030は、ディスプレイ装置や印刷装置等で構成され、各種のデータを利用者に提示するために利用される。また、本実施の形態の場合、メイン装置100の要求管理手段121を通じて要求記憶部111から読み出した処理結果を出力装置1030から出力できるようになっている。
データ処理装置1020は、コンピュータのCPUなどで構成され、要求分割手段1021と処理手段1022とを有する。
処理手段1022は、要求分割手段1021から要求された処理を被処理装置2000に対して実行する手段である。
要求分割手段1021は、メイン装置100の要求記憶部111から要求管理手段121を通じて処理要求を読み出して処理手段1022に処理させる手段である。要求分割手段1021は、処理要求に含まれる処理対象装置数(被処理装置2000の数)が処理手段1022の処理性能により定まる被処理装置の処理可能数を超える場合には、処理要求を分割する。具体的には、未実行の処理要求を、処理手段1022に処理させる1以上の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する。
記憶装置1040は、ハードディスク等で構成され、処理手段1022の性能情報を記憶する性能記憶部1041を有する。性能記憶部1041に記憶される性能情報としては、データ処理装置1020を構成するCPUのクロック周波数など静的な性能情報でも良いし、その時点のCPU使用率や空きメモリ量など負荷状態を示す情報であっても良い。また、同時に処理可能な被処理装置の台数そのものでも良い。
被処理装置2000は、Webサーバなど、処理の対象となるコンピュータである。
ネットワーク3000は、イーサネット(登録商標)などで構成されるLANや、インターネットなどである。図1では、各サブ装置1000と被処理装置2000とがネットワーク3000により接続されているが、各サブ装置1000とメイン装置100との間もネットワーク3000により接続される構成であっても良い。
次に本実施の形態の動作を説明する。
1)処理要求の登録
被処理装置2000に対して何らかの処理を実行する場合、システム管理者は、任意のサブ装置1000の入力装置1010から処理要求を入力する(図2のステップS101)。入力する処理要求は、処理対象となる全ての被処理装置2000の記述とそれらに対する処理内容の記述とを含む。関連する技術のように個々の被処理装置2000毎の処理要求を作成する必要はない。但し、処理対象となる全ての被処理装置2000の記述を1つの処理要求に記述する必要性は必ずしもなく、幾つかの処理要求に分けて記述することも勿論可能である。
サブ装置1000の入力装置1010から入力された処理要求は、メイン装置100の要求管理手段121を通じて要求記憶部111に記憶される(ステップS102)。
2)処理要求の処理
各サブ装置1000のデータ処理装置1020における要求分割手段1021は、メイン装置100の要求記憶部111に未実行の処理要求が存在するかどうかを定期的に検索している(図3のステップS111)。未実行の処理要求が検索されなかった場合(ステップS112でNO)、一定時間待機し(ステップS113)、ステップS111に戻って検索を再び実行する。
未実行の処理要求が検索された場合(ステップS112でYES)、当該処理要求を解析して処理対象となっている被処理装置2000の台数(処理対象装置数)を抽出する(ステップS114)。次に、性能記憶部1041から処理手段1022の性能情報を読み出し、前記抽出した処理対象装置数を処理手段1022が処理可能かどうかを判定する(ステップS115)。処理可能であれば、当該未実行の処理要求に対して自サブ装置1000が処理することをコミットする(ステップS117)。しかし、前記抽出した処理対象装置数が処理手段1022の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合(ステップS115でNO)、当該未実行の処理要求を、処理手段1022に処理させる1以上の被処理装置2000の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置2000の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する(ステップS116)。そして、前者の処理要求に対して自サブ装置1000が処理を実行することをコミットする(ステップS117)。
ステップS116の詳細を図4に示す。要求分割手段1021は、まず、要求記憶部111に存在した未実行の処理要求中から処理手段1022の処理可能台数分の被処理装置の記述を抽出する(ステップS1161)。これは、記述の並びの先頭から順に抽出しても良いし、ランダムに抽出しても良い。次に、抽出した被処理装置の記述を元の未実行の処理要求中から削除する(ステップS1162)。最後に、抽出した被処理装置の記述を含む新たな未実行の処理要求を作成し、要求記憶部111に追加する(ステップS1163)。
次に要求分割手段1021は、処理要求のコミットに成功したかどうかを判定する(ステップS118)。コミットに成功した場合はステップS119の処理へ進み、失敗した場合にはステップS111に戻って新たな未実行の処理要求の検索を繰り返す。処理要求のコミットは、ステップS111で検索した未実行の処理要求に対して他のサブ装置1000が実行することをコミットしていた場合、失敗する。このとき、ステップS116の処理要求の分割も無効化される。すなわち、要求記憶部111に存在する或る1つの未実行の処理要求に対する分割処理や未実行の処理要求の引き受けは複数のサブ装置2000間で排他的に行われる。
処理要求のコミットに成功した場合、要求分割手段1021は、コミットした処理要求を処理手段1022に通知し、処理手段1022は通知された処理要求を実行する(ステップS119)。これにより、処理手段1022からネットワーク3000経由で該当する被処理装置2000がアクセスされ、処理要求中で記述された処理が実行される。処理手段1022は、処理要求の処理を終えると、その処理結果をメイン装置100の要求管理手段121を通じて要求記憶部111に書き込む(ステップS120)。その後、制御が要求分割手段1021に戻され、ステップS111から再び処理が繰り返される。
3)処理結果の参照
メイン装置100の要求記憶部111に記憶された処理要求の処理結果を参照する場合、システム管理者は、任意のサブ装置1000の入力装置1010から参照要求を入力する(図5のステップS131)。入力された参照要求は、サブ装置1000からメイン装置100の要求管理手段121に送られ、要求管理手段121により要求記憶部111から処理要求の処理結果が取り出された要求元のサブ装置1000に返却される(ステップS132)。サブ装置1000は、返却された処理結果を出力装置1030から出力する(ステップS133)。
次に簡単な例を挙げて、本実施の形態の動作をより具体的に説明する。例としては、被処理装置2000がWebサーバ、サブ装置1000がWebサーバに対してアプリケーションプログラムの配付を行う配付サーバとする。また、WebサーバはWebサーバ1〜4の合計4台、配付サーバは配付サーバA、Bの合計2台とし、各配付サーバA、Bは最大で2台のWebサーバに対して同時にアプリケーションプログラムの配付が行える性能を有するものとする。
図6(a)は要求記憶部111に1つの未実行の処理要求RQ1が記憶されている状態を示している。処理要求RQ1は、処理対象となるWebサーバの記述部とそれらに対する処理内容の記述部とを含む。Webサーバの記述部には、各WebサーバのIPアドレスが列挙されている。処理内容の記述部には、処理種別を表す「内容」があり、ここでは「配付」が設定されている。処理内容の記述部にはさらに、処理の状態が未実行、実行中、実行済の何れかを表す「状態」、処理を実行する配付サーバの識別子を示す「処理装置」、配付するアプリケーションプログラムが存在する場所を示す「アプリ」の各項目がある。
2台の配付サーバA、Bのうち、配付サーバAが図6(a)に示した状態の処理要求RQ1を検索したとすると、この処理要求RQ1には4台の処理対象装置が記述されており、処理手段1022の処理可能台数を超えるため、要求分割手段1021により図6(b)に示すような処理対象装置が2台の2つの処理要求RQ11、RQ12に分割し、その一方の処理要求RQ11の「状態」に「実行中」、「処理装置」に「配付サーバA」を設定し、処理手段1022に処理要求RQ11の処理を行わせる。これにより、配付サーバAの処理手段1022は、Webサーバ1、2へアプリケーションプログラムの配付を開始する。
他方の配付サーバBが図6(b)の状態にある要求記憶部111を検索すると、未実行の処理要求RQ12が検索される。この処理要求RQ12には2台の処理対象装置が記述されており、処理手段1022の処理可能台数を超えないため、要求分割手段1021により図6(c)に示すように、処理要求RQ12の「状態」に「実行中」、「処理装置」に「配付サーバB」を設定し、処理手段1022に処理要求RQ12の処理を行わせる。これにより、配付サーバBの処理手段1022は、Webサーバ3、4へアプリケーションプログラムの配付を開始する。
配付サーバA、Bの処理手段1022によるアプリケーションプログラムの配付処理が完了すると、その処理結果が要求記憶部111の処理要求RQ11、RQ12の「状態」に反映され、図6(d)に示すように「実行済」が設定される。
次に本実施の形態の効果を説明する。
本実施の形態によれば、作成された処理要求単位よりも小さな単位での負荷分散が可能になる。その理由は、要求記憶部111に記憶された未実行の処理要求を必要に応じて2つの処理要求に分割する要求分割手段1021を各サブ装置1000に備えているからである。この結果、各被処理装置毎の処理要求を作成する場合に比べて、処理要求を作成するシステム管理者の負担を大幅に削減することが可能になる。また、各被処理装置毎の処理要求を作成する場合に比べて、各サブ装置1000は何度も処理要求を取りにいく必要がないという効果もある。
また本実施の形態によれば、各サブ装置1000で処理可能な未実行の処理要求の検索や処理要求の分割を複数のサブ装置1000が並列的に実行するため、負荷分散のための処理が特定の装置に集中することがない。
『第2の実施の形態』
図7を参照すると、本発明の第2の実施の形態は、図1に示した第1の実施の形態と比較して、各サブ装置1000の記憶装置1040に選択基準情報記憶部1042を備え、要求分割手段1021が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部1042に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。
選択基準情報記憶部1042に記憶される選択基準情報としては、自サブ装置1000と各被処理装置2000との間のネットワーク帯域、通信遅延時間、各被処理装置2000の優先順位などがある。
選択基準情報として、自サブ装置1000と各被処理装置2000との間のネットワーク帯域を使用する場合、要求分割手段1021は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置1000との間のネットワーク帯域の大きい上位N個(Nは自サブ装置1000の処理手段1022の処理可能台数。以下同じ)を抽出する。
選択基準情報として、自サブ装置1000と各被処理装置2000との間のネットワーク遅延時間を使用する場合、要求分割手段1021は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置1000との間のネットワーク遅延時間の小さい上位N個を抽出する。
選択基準情報として、各被処理装置2000の優先順位を使用する場合、要求分割手段1021は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位N個を抽出する。
次に、第1の実施の形態の説明で用いた例と同じ簡単な例を用いて、本実施の形態の動作をより具体的に説明する。
2台の配付サーバA、Bのうち、配付サーバAが図8(a)に示した状態の処理要求RQ1を検索したとすると、この処理要求RQ1には4台の処理対象装置が記述されており、処理手段1022の処理可能台数を超えるため、要求分割手段1021により図8(b)に示すような処理対象装置が2台の2つの処理要求RQ11、RQ12に分割し、その一方の処理要求RQ11の「状態」に「実行中」、「処理装置」に「配付サーバA」を設定し、処理手段1022に処理要求RQ11の処理を行わせる。ここで、図8(b)と図6(b)とを比較すると、図6(b)の処理要求RQ11がWebサーバ1、2を処理対象としているのに対し、図8(b)の処理要求RQ11ではWebサーバ1、3を処理対象としている点が相違する。これは、aaa.aaa.aaa.xxxのサブネットワークに属するWebサーバ1、3の方が、bbb.bbb.bbb.xxxのサブネットワークに属するWebサーバ2、4より配付サーバAからのネットワーク遅延が小さいという選択基準情報によって選択が行われたためである。これにより、配付サーバAの処理手段1022は、少ないネットワーク遅延でもってWebサーバ1、3へアプリケーションプログラムの配付を行うことが可能となる。
他方の配付サーバBが図8(b)の状態にある要求記憶部111を検索すると、未実行の処理要求RQ12が検索される。この処理要求RQ12には2台の処理対象装置が記述されており、処理手段1022の処理可能台数を超えないため、要求分割手段1021により図8(c)に示すように、処理要求RQ12の「状態」に「実行中」、「処理装置」に「配付サーバB」を設定し、処理手段1022に処理要求RQ12の処理を行わせる。これにより、配付サーバBの処理手段1022は、Webサーバ2、4へアプリケーションプログラムの配付を開始する。配付サーバA、Bの処理手段1022によるアプリケーションプログラムの配付処理が完了すると、その処理結果が要求記憶部111の処理要求RQ11、RQ12の「状態」に反映され、図8(d)に示すように「実行済」が設定される。
次に本実施の形態の効果を説明する。
本実施の形態によれば、第1の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部1042に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。
『第3の実施の形態』
図9を参照すると、本発明に関連する第3の実施の形態にかかる情報処理システムは、複数のサブ装置1100と、これら複数のサブ装置1100に通信可能に接続されたメイン装置200とから構成されている。また、各サブ装置1100は、ネットワーク3000を通じて複数の被処理装置2000と接続されている。
メイン装置200は、被処理装置2000に対して実行すべき処理を記述した処理要求を記憶し管理するコンピュータであり、記憶装置110、130とデータ処理装置120とを備えている。
記憶装置110は、第1の実施の形態におけるものと同じであり、1以上の処理要求を記憶する。
データ処理装置120は、コンピュータのCPUなどで構成され、要求管理手段121と要求分割手段122とを有する。
要求管理手段121は、第1の実施の形態におけるものと同じであり、要求記憶部111への処理要求の入出力を管理する。
要求分割手段122は、要求記憶部111に記憶された処理要求を要求管理手段121を通じて読み出し、必要に応じて分割して各サブ装置1100に分配する手段である。要求分割手段122は、未実行の処理要求に含まれる処理対象装置数(被処理装置2000の数)が、要求分配先のサブ装置1100における処理手段1022の処理性能により定まる被処理装置の処理可能数を超える場合には、処理要求を分割する。具体的には、未実行の処理要求を、サブ装置1100の処理手段1022に処理させる1以上の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する。
記憶装置130は、ハードディスクなどで構成され、各サブ装置1100における処理手段1022の性能情報を記憶する性能記憶部131を有する。性能記憶部131に記憶される性能情報としては、各サブ装置1100のデータ処理装置1020を構成するCPUのクロック周波数など静的な性能情報でも良いし、その時点のCPU使用率や空きメモリ量など負荷状態を示す情報であっても良い。また、同時に処理可能な被処理装置の台数そのものでも良い。
各々のサブ装置1100は、被処理装置2000に対する処理を互いに分担して実行するコンピュータであり、入力装置1010、データ処理装置1020および出力装置1030を備えている。
入力装置1010および出力装置1030は、第1の実施の形態におけるものと同じである。
データ処理装置1020は、コンピュータのCPUなどで構成され、処理手段1022を有する。処理手段1022は、メイン装置200の要求分割手段1021から要求された処理を被処理装置2000に対して実行する手段である。
被処理装置2000およびネットワーク3000は、第1の実施の形態におけるものと同じである。図9では、各サブ装置1100と被処理装置2000とがネットワーク3000により接続されているが、各サブ装置1100とメイン装置200との間もネットワーク3000により接続される構成であっても良い。
次に本実施の形態の動作を説明する。
1)処理要求の登録
メイン装置200の要求記憶部111への処理要求の登録は、第1の実施の形態と同様に任意のサブ装置1100の入力装置1010から行える(図2のステップS101、S102)。
2)処理要求の処理
メイン装置200のデータ処理装置120における要求分割手段122は、要求記憶部111に未実行の処理要求が存在するかどうかを定期的に検索している(図10のステップS201)。未実行の処理要求が検索されなかった場合(ステップS202でNO)、一定時間待機し(ステップS203)、ステップS201の処理に戻って検索を再び実行する。
未実行の処理要求が検索された場合(ステップS202でYES)、当該未実行の処理要求を処理させるサブ装置1100を選択する(ステップS204)。この選択には、処理要求の処理が可能な複数のサブ装置1100をラウンドロビン方式で選択するなど、任意の方法を使用することができる。次に、当該処理要求を解析して処理対象となっている被処理装置2000の台数を抽出する(ステップS205)。次に、性能記憶部131から前記選択したサブ装置1100の処理手段1022の性能情報を読み出し、前記抽出した処理対象装置数を当該処理手段1022が処理可能かどうかを判定する(ステップS206)。
処理可能であれば、当該未実行の処理要求を処理させるべく当該サブ装置1100へ送信する(ステップS208)。しかし、前記抽出した処理対象装置数が当該サブ装置1100の処理手段1022の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合(ステップS206でNO)、当該未実行の処理要求を、当該サブ装置1100の処理手段1022に処理させる1以上の被処理装置2000の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置2000の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する(ステップS207および図4)。そして、前者の処理要求を処理させるべく当該サブ装置1100へ送信する(ステップS208)。その後、ステップS201の処理に戻って前述した処理を繰り返す。
サブ装置1100の処理手段1022は、メイン装置200から処理要求を受信すると(図11のステップS211)、その処理要求を実行する(ステップS212)。これにより、処理手段1022からネットワーク3000経由で該当する被処理装置2000がアクセスされ、処理要求中で記述された処理が実行される。処理手段1022は、処理要求の処理を終えると、その処理結果をメイン装置200の要求管理手段121を通じて要求記憶部111に書き込む(ステップS213)。
3)処理結果の参照
メイン装置200の要求記憶部111に記憶された処理要求の処理結果の参照は、第1の実施の形態と同様に、任意のサブ装置1100の入力装置1010および出力装置1030を用いて行うことができる(図5のステップS131〜S133)。
次に、第1の実施の形態の説明で用いた例と同じ簡単な例(図6)を用いて、本実施の形態の動作をより具体的に説明する。
メイン装置200の要求分割手段122が、図6(a)に示した状態の処理要求RQ1を検索し、それを処理する配付サーバとして配付サーバAを選択したとすると、この処理要求RQ1には4台の処理対象装置が記述されており、配付サーバAの処理手段1022の処理可能台数を超えるため、図6(b)に示すような処理対象装置が2台の2つの処理要求RQ11、RQ12に分割し、その一方の処理要求RQ11を配付サーバAに送信して処理させる。このとき要求分割手段122は、処理要求RQ11の「状態」に「実行中」、「処理装置」に「配付サーバA」を設定する。
続いてメイン装置200の要求分割手段122が、図6(b)の状態の処理要求RQ12を検索し、それを処理する配付サーバとして配付サーバBを選択したとすると、この処理要求RQ12には2台の処理対象装置が記述されており、配付サーバBの処理手段1022の処理可能台数を超えないため、処理要求RQ12を配付サーバBに送信して処理させる。このとき要求分割手段122は、図6(c)に示すように、処理要求RQ12の「状態」に「実行中」、「処理装置」に「配付サーバB」を設定する。
配付サーバAおよび配付サーバBは、処理手段1022によるアプリケーションプログラムの配付処理が完了すると、その処理結果を要求記憶部111の処理要求RQ11、RQ12の「状態」に反映する。これにより、図6(d)に示すように「実行済」が設定される。
次に本実施の形態の効果を説明する。
本実施の形態によれば、作成された処理要求単位よりも小さな単位での負荷分散が可能になる。その理由は、要求記憶部111に記憶された未実行の処理要求を必要に応じて2つの処理要求に分割する要求分割手段122をメイン装置200に備えているからである。この結果、各被処理装置毎の処理要求を作成する場合に比べて、処理要求を作成するシステム管理者の負担を大幅に削減することが可能になる。
また本実施の形態によれば、各サブ装置1100に処理させる未実行の処理要求の検索や処理要求の分割をメイン装置200側で実施するため、各サブ装置1100の負荷を軽減することができる。
『第4の実施の形態』
図12を参照すると、本発明に関連する第4の実施の形態は、図9に示した第3の実施の形態と比較して、メイン装置200の記憶装置130に選択基準情報記憶部132を備え、要求分割手段122が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部132に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。
選択基準情報記憶部132に記憶される選択基準情報としては、各サブ装置1100と各被処理装置2000との間のネットワーク帯域、通信遅延時間、各被処理装置2000の優先順位などがある。
選択基準情報として、各サブ装置1100と各被処理装置2000との間のネットワーク帯域を使用する場合、要求分割手段122は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置1100との間のネットワーク帯域の大きい上位N個(Nは当該サブ装置1100の処理手段1022の処理可能台数。以下同じ)を抽出する。
選択基準情報として、各サブ装置1100と各被処理装置2000との間のネットワーク遅延時間を使用する場合、要求分割手段122は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置1100との間のネットワーク遅延時間の小さい上位N個を抽出する。
選択基準情報として、各被処理装置2000の優先順位を使用する場合、要求分割手段122は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位N個を抽出する。
次に、第3の実施の形態の説明で用いた例と同じ簡単な例(図8)を用いて、本実施の形態の動作をより具体的に説明する。
メイン装置200の要求分割手段122が、図8(a)に示した状態の処理要求RQ1を検索し、それを処理する配付サーバとして配付サーバAを選択したとすると、この処理要求RQ1には4台の処理対象装置が記述されており、配付サーバAの処理手段1022の処理可能台数を超えるため、図8(b)に示すような処理対象装置が2台の2つの処理要求RQ11、RQ12に分割し、その一方の処理要求RQ11を配付サーバAに送信して処理させる。ここで、図8(b)と図6(b)とを比較すると、図6(b)の処理要求RQ11がWebサーバ1、2を処理対象としているのに対し、図8(b)の処理要求RQ11ではWebサーバ1、3を処理対象としている点が相違する。これは、aaa.aaa.aaa.xxxのサブネットワークに属するWebサーバ1、3の方が、bbb.bbb.bbb.xxxのサブネットワークに属するWebサーバ2、4より配付サーバAからのネットワーク遅延が小さいという選択基準情報によって選択が行われたためである。これにより、配付サーバAの処理手段1022は、少ないネットワーク遅延でもってWebサーバ1、3へアプリケーションプログラムの配付を行うことが可能となる。
続いてメイン装置200の要求分割手段122が、図8(b)の状態の処理要求RQ12を検索し、それを処理する配付サーバとして配付サーバBを選択したとすると、この処理要求RQ12には2台の処理対象装置が記述されており、配付サーバBの処理手段1022の処理可能台数を超えないため、処理要求RQ12を配付サーバBに送信して処理させる。その後、配付サーバAおよび配付サーバBにおいて、アプリケーションプログラムの配付処理が完了すると、その処理結果が要求記憶部111の処理要求RQ11、RQ12の「状態」に反映され、図8(d)に示すように「実行済」が設定される。
次に本実施の形態の効果を説明する。
本実施の形態によれば、第3の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部132に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。
『第5の実施の形態』
図13を参照すると、本発明に関連する第5の実施の形態は、図9に示した第3の実施の形態と比較して、メイン装置200のデータ処理装置120が要求分割手段122の代わりに要求分割手段123を備えている点と、各サブ装置1100のデータ処理装置1020が新たに立候補手段1023を備えている点で相違する。
各サブ装置1100の立候補手段1023は、自装置の処理手段1022が処理要求の処理を行える状態にある場合、メイン装置200の要求記憶部111を定期的に検索し、未実行の処理要求に対して該要求を処理する処理手段の候補として自装置の識別子を書き込む機能を有する。
メイン装置200の要求分割手段123は、要求記憶部111中の未実行の処理要求を処理させるサブ装置1100をその処理要求に対して立候補しているサブ装置1100の中から選択する点が、第3の実施の形態における要求分割手段122と相違する。
次に本実施の形態の動作を説明する。
1)処理要求の登録
13 メイン装置200の要求記憶部111への処理要求の登録は、第3の実施の形態と同様に任意のサブ装置1100の入力装置1010から行える(図2のステップS101、S102)。
2)処理要求の処理
各サブ装置1100のデータ処理装置1020における立候補手段1023は、自装置の処理手段1022が処理要求の処理を行える場合、図14に示した処理を実行する。まず、メイン装置200の要求記憶部111に未実行の処理要求が存在するかどうかを検索する(図14のステップS301)。未実行の処理要求が検索されなかった場合(ステップS302でNO)、一定時間待機し(ステップS303)、ステップS301に戻って検索を再び実行する。
未実行の処理要求が検索された場合(ステップS302でYES)、当該処理要求中に当該処理要求を処理する候補装置として自装置の識別子を書き込む(ステップS304)。そして、メイン装置200から結果が返されるのを待つ。若し、自装置が選ばれなかった場合は(ステップS305でNO)、ステップS301に戻って検索を再び実行する。自装置が選ばれた結果、メイン装置200から処理要求が送信されてきた場合には、受信した処理要求を処理手段1022に実行させる(ステップS306)。そして、その実行完了後に処理結果を要求記憶部111へ反映する(ステップS307)。
他方、メイン装置200のデータ処理装置120における要求分割手段123は、要求記憶部111に未実行かつ候補者の設定がある処理要求が存在するかどうかを定期的に検索している(図15のステップS311)。未実行かつ候補者ありの処理要求が検索されなかった場合(ステップS312でNO)、一定時間待機し(ステップS313)、ステップS311の処理に戻って検索を再び実行する。
未実行かつ候補者ありの処理要求が検索された場合(ステップS312でYES)、立候補者の中から当該未実行の処理要求を処理させるサブ装置1100を選択する(ステップS314)。次に、落選者がいた場合にはそのサブ装置1100へその旨を通知した後(ステップS315)、当選したサブ装置1100に関して以下の処理を実行する。
まず、当該処理要求を解析して処理対象となっている被処理装置2000の台数を抽出する(ステップS316)。次に、性能記憶部131から当選したサブ装置1100の処理手段1022の性能情報を読み出し、前記抽出した処理対象装置数を当該処理手段1022が処理可能かどうかを判定する(ステップS317)。処理可能であれば、当該未実行の処理要求を処理させるべく当該サブ装置1100へ送信する(ステップS319)。他方、前記抽出した処理対象装置数が当該サブ装置1100の処理手段1022の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合(ステップS317でNO)、当該未実行の処理要求を、当該サブ装置1100の処理手段1022に処理させる1以上の被処理装置2000の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置2000の記述とそれらに対する処理内容の記述とを含む処理要求とに分割する(ステップS318および図4)。そして、前者の処理要求を処理させるべく当該サブ装置1100へ送信する(ステップS319)。その後、ステップS311の処理に戻って前述した処理を繰り返す。
3)処理結果の参照
メイン装置200の要求記憶部111に記憶された処理要求の処理結果の参照は、第3の実施の形態と同様に、任意のサブ装置1100の入力装置1010および出力装置1030を用いて行うことができる(図5のステップS131〜S133)。
次に、第1の実施の形態の説明で用いた例と同じ簡単な例を用いて、本実施の形態の動作をより具体的に説明する。
図16(a)に示される未実行の処理要求RQ1がメイン装置200の要求記憶部111に記憶されている状態において、配付サーバAと配付サーバBの2台のサーバが図14の処理を実行したとする。この場合、配付サーバAおよび配付サーバBは、未実行の処理要求RQ1を検索し、図16(b)に示すように、処理要求RQ1の「処理装置」に自装置の識別子を書き込む(図14のステップS304)。
その後、メイン装置200の要求分割手段123が、図16(b)に示した状態の処理要求RQ1を検索したとする。この場合、配付サーバAと配付サーバBの2台のサーバが候補者として記載されているので、要求分割手段123は、性能記憶部131を参照して例えばより高性能な方の配付サーバを選択する(図15のステップS314)。今の場合、配付サーバAを選択したとする。次に、要求分割手段123は、処理要求RQ1には4台の処理対象装置が記述されており、配付サーバAの処理手段1022の処理可能台数を超えるため、図16(c)に示すような処理対象装置が2台の2つの処理要求RQ11、RQ12に分割し、その一方の処理要求RQ11を配付サーバAに送信して処理させる。このとき要求分割手段123は、処理要求RQ11の「状態」に「実行中」、「処理装置」に「配付サーバA」を設定する。他方、配付サーバBには選ばれなかった旨を通知する。
落選した配付サーバBは、再び未実行の処理要求を検索すると、処理要求RQ12が見つかるので、それに対して立候補を行う。メイン装置200の要求分割手段123が、次回検索するまでに他の立候補者が出てこなかったとすると、処理要求RQ12の処理は配付サーバBに決定され、図16(d)に示すように処理要求RQ12の「状態」に「実行中」、「処理装置」に「配付サーバB」が設定される。
配付サーバAおよび配付サーバBは、処理手段1022によるアプリケーションプログラムの配付処理が完了すると、その処理結果を要求記憶部111の処理要求RQ11、RQ12の「状態」に反映する。これにより、図16(e)に示すように「実行済」が設定される。
次に本実施の形態の効果を説明する。
本実施の形態によれば、第3の実施の形態と同様の効果が得られるとともに、処理要求を適切なサブ装置1100に処理させることができる。その理由は、未実行の処理要求に対してその処理を望むサブ装置の中から実行装置を選択しているためである。
なお、本実施の形態では、メイン装置200の要求分割手段123は、サブ装置1100の処理手段1022が処理可能な被処理装置の台数および当選者の決定に際して、性能記憶部131に記憶された性能情報を参照した。しかし、立候補したサブ装置1100が処理要求の「処理装置」の箇所に自装置の識別子と自装置の性能情報を書き込み、要求分配手段123がこの書き込まれた性能情報に基づいて、処理可能台数および当選者を決定するようにしても良い。
『第6の実施の形態』
図17を参照すると、本発明に関連する第6の実施の形態は、図13に示した第5の実施の形態と比較して、メイン装置200の記憶装置130に選択基準情報記憶部132を備え、要求分割手段123が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部132に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。
選択基準情報記憶部132に記憶される選択基準情報としては、各サブ装置1100と各被処理装置2000との間のネットワーク帯域、通信遅延時間、各被処理装置2000の優先順位などがある。
選択基準情報として、各サブ装置1100と各被処理装置2000との間のネットワーク帯域を使用する場合、要求分割手段123は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置1100との間のネットワーク帯域の大きい上位N個(Nは当該サブ装置1100の処理手段1022の処理可能台数。以下同じ)を抽出する。
選択基準情報として、各サブ装置1100と各被処理装置2000との間のネットワーク遅延時間を使用する場合、要求分割手段123は、未実行の処理要求に含まれる被管理装置の記述から、その処理要求を処理するために選択したサブ装置1100との間のネットワーク遅延時間の小さい上位N個を抽出する。
選択基準情報として、各被処理装置2000の優先順位を使用する場合、要求分割手段123は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位N個を抽出する。
次に本実施の形態の効果を説明する。
本実施の形態によれば、第5の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部132に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。
『第7の実施の形態』
図18を参照すると、本発明を適用した第7の実施の形態は、図9に示した第3の実施の形態と比較して、メイン装置200のデータ処理装置120が要求分割手段122の代わりに候補者選択手段124を備えている点と、各サブ装置1100が、データ処理装置1020に新たに要求分割手段1024を備え、性能記憶部1041を有する記憶装置1040を備えている点で相違する。
各サブ装置1100の要求分割手段1024は、自装置の処理手段1022が処理要求の処理を行える状態にある場合、メイン装置200の要求記憶部111を定期的に検索し、未実行の処理要求に対して該要求を処理する処理手段の候補として自装置の識別子を書き込む機能を有する。また、要求分割手段1024は、自装置が処理装置として選択された場合に、処理要求を必要に応じて分割する機能を有する。
各サブ装置1100の性能記憶部1041には、第1の実施の形態と同様な処理手段1022の性能情報が記憶されている。
メイン装置200の立候補選択手段124は、要求記憶部111中の未実行の処理要求を処理させるサブ装置1100をその処理要求に対して立候補しているサブ装置1100の中から選択する手段である。
次に本実施の形態の動作を説明する。
1)処理要求の登録
メイン装置200の要求記憶部111への処理要求の登録は、第3の実施の形態と同様に任意のサブ装置1100の入力装置1010から行える(図2のステップS101、S102)。
2)処理要求の処理
各サブ装置1100のデータ処理装置1020における要求分割手段1024は、自装置の処理手段1022が処理要求の処理を行える場合、図19に示した処理を実行する。まず、メイン装置200の要求記憶部111に未実行の処理要求が存在するかどうかを検索する(ステップS401)。未実行の処理要求が検索されなかった場合(ステップS402でNO)、一定時間待機し(ステップS403)、ステップS401に戻って検索を再び実行する。
未実行の処理要求が検索された場合(ステップS402でYES)、当該処理要求中に当該処理要求を処理する候補装置として自装置の識別子を書き込む(ステップS404)。そして、メイン装置200から結果が返されるのを待つ。若し、自装置が選ばれなかった場合は(ステップS405でNO)、ステップS401に戻って検索を再び実行する。自装置が選ばれた場合、以下のような処理を実行する。
まず、自装置が実行装置として選ばれた未実行の処理要求を要求管理手段121を通じて要求記憶部111から参照し、それを解析することで処理対象となっている被処理装置2000の台数を抽出する(ステップS406)。次に、性能記憶部1041から処理手段1022の性能情報を読み出し、前記抽出した処理対象装置数を処理手段1022が処理可能かどうか判定する(ステップS407)。処理可能であれば、当該未実行の処理要求を処理手段1022により実行する(ステップS409)。しかし、前記抽出した処理対象装置数が処理手段1022の処理性能から定まる処理可能台数を超えており、処理できないと判定した場合(ステップS407でNO)、当該未実行の処理要求を、処理手段1022に処理させる1以上の被処理装置2000の記述とそれらに対する処理内容の記述とを含む処理要求と、残りの被処理装置2000の記述とそれらに対する処理内容の記述とを含む未実行の処理要求とに分割する(ステップS408)。そして、前者の処理要求を処理手段1022により実行する(ステップS409)。次に、処理手段1022は、処理要求の処理を終えると、その処理結果をメイン装置200の要求管理手段121を通じて要求記憶部111に書き込む(ステップS410)。
他方、メイン装置200のデータ処理装置120における候補者選択手段124は、要求記憶部111に未実行かつ候補者ありの処理要求が存在するかどうかを定期的に検索している(図20のステップS421)。未実行かつ候補者ありの処理要求が検索されなかった場合(ステップS422でNO)、一定時間待機し(ステップS423)、ステップS421の処理に戻って検索を再び実行する。
未実行かつ候補者ありの処理要求が検索された場合(ステップS422でYES)、性能記憶部131に記憶された性能情報を参照して、立候補者の中から当該未実行の処理要求を処理させるサブ装置1100を選択する(ステップS424)。そして、各立候補者に当落の結果を通知する(ステップS425)。その後、ステップS421の処理に戻って前述した処理を繰り返す。
3)処理結果の参照
メイン装置200の要求記憶部111に記憶された処理要求の処理結果の参照は、第3の実施の形態と同様に、任意のサブ装置1100の入力装置1010および出力装置1030を用いて行うことができる(図5のステップS131〜S133)。
次に、第5の実施の形態の説明で用いた例と同じ簡単な例(図16)を用いて、本実施の形態の動作をより具体的に説明する。
図16(a)に示される未実行の処理要求RQ1がメイン装置200の要求記憶部111に記憶されている状態において、配付サーバAと配付サーバBの2台のサーバが図19の処理を実行したとする。この場合、配付サーバAおよび配付サーバBは、未実行の処理要求RQ1を検索し、図16(b)に示すように、処理要求RQ1の「処理装置」に自装置の識別子を書き込む(図19のステップS404)。
その後、メイン装置200の候補者選択手段124が、図16(b)に示した状態の処理要求RQ1を検索したとする。この場合、配付サーバAと配付サーバBの2台のサーバが候補者として記載されているので、候補者選択手段124は、性能記憶部131を参照して例えばより高性能な方の配付サーバを選択する(図20のステップS424)。今の場合、配付サーバAを選択したとする。次に、候補者選択手段124は、配付サーバAに対しては当選を、配付サーバBに対しては落選をそれぞれ通知する(ステップS425)。
当選の通知を受けた配付サーバAの要求分割手段1024は、処理要求RQ1に4台の処理対象装置が記述されているため、自サーバAの処理手段1022の処理可能台数を超えると判断し、図16(c)に示すような処理対象装置が2台の2つの処理要求RQ11、RQ12に分割し、その一方の処理要求RQ11を自サーバAの処理手段1022に処理させる。このとき要求分割手段1024は、処理要求RQ11の「状態」に「実行中」、「処理装置」に「配付サーバA」を設定する。
他方、落選の通知を受けた配付サーバBは、再び未実行の処理要求を検索する。そして処理要求RQ12を見つけると、それに対して立候補を行う。メイン装置200の立候補選択手段124が、次回検索するまでに他の立候補者が出てこなかったとすると、処理要求RQ12の処理は配付サーバBに決定され、図16(d)に示すように処理要求RQ12の「状態」に「実行中」、「処理装置」に「配付サーバB」が設定される。
配付サーバAおよび配付サーバBは、処理手段1022によるアプリケーションプログラムの配付処理が完了すると、その処理結果を要求記憶部111の処理要求RQ11、RQ12の「状態」に反映する。これにより、図16(e)に示すように「実行済」が設定される。
次に本実施の形態の効果を説明する。
本実施の形態によれば、第3の実施の形態と同様の効果が得られるとともに、処理要求を適切なサブ装置1100に処理させることができる。その理由は、未実行の処理要求に対してその処理を望むサブ装置の中から実行装置を選択しているためである。
また本実施の形態によれば、処理要求の分割を各サブ装置1100側で行うため、メイン装置200の負荷集中を防止することができる。
なお、本実施の形態では、メイン装置200の候補者選択手段124は当選者の決定に際して、性能記憶部131に記憶された性能情報を参照した。しかし、立候補したサブ装置1100が処理要求の「処理装置」の箇所に自装置の識別子と自装置の性能情報を書き込み、候補者選択手段124がこの書き込まれた性能情報に基づいて、当選者を決定するようにしても良い。
『第8の実施の形態』
図21を参照すると、本発明を適用した第8の実施の形態は、図18に示した第7の実施の形態と比較して、各サブ装置1100の記憶装置1040に選択基準情報記憶部1042を備え、要求分割手段1024が未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部1042に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択する点が相違する。
選択基準情報記憶部1042に記憶される選択基準情報としては、自サブ装置1100と各被処理装置2000との間のネットワーク帯域、通信遅延時間、各被処理装置2000の優先順位などがある。
選択基準情報として、自サブ装置1100と各被処理装置2000との間のネットワーク帯域を使用する場合、要求分割手段1024は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置1100との間のネットワーク帯域の大きい上位N個(Nは当該サブ装置1100の処理手段1022の処理可能台数。以下同じ)を抽出する。
選択基準情報として、自サブ装置1100と各被処理装置2000との間のネットワーク遅延時間を使用する場合、要求分割手段1024は、未実行の処理要求に含まれる被管理装置の記述から、自サブ装置1100との間のネットワーク遅延時間の小さい上位N個を抽出する。
選択基準情報として、各被処理装置2000の優先順位を使用する場合、要求分割手段1024は、未実行の処理要求に含まれる被管理装置の記述から、優先順位の高い上位N個を抽出する。
次に本実施の形態の効果を説明する。
本実施の形態によれば、第7の実施の形態と同様の効果が得られると同時に、処理要求の分割をより適切に行うことが可能となる。その理由は、未実行の処理要求中から処理可能台数分の被処理装置の記述を抽出する際、選択基準情報記憶部1042に記憶された選択基準情報を参照して、適切な被処理装置の記述を選択するためである。
次に、本発明の他の実施形態について説明する。
前記要求分割手段を各処理手段毎に備えてもよいものである。
複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、前記メイン装置に前記要求記憶部を備え、前記各サブ装置に前記処理手段と前記要求分割手段とを備えてもよいものである。
前記各サブ装置の要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定するようにしてもよいものである。
前記各サブ装置の要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込むものであり、且つ、前記メイン装置に、前記要求記憶部に記憶された処理要求を処理すべきサブ装置を当該処理要求に対して識別子を書き込んだサブ装置の中から選択する候補者選択手段を備えるようにしてもよいものである。
前記要求分割手段を複数の処理手段に共通に備えるようにしてもよいものである。
複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、前記メイン装置に前記要求記憶部と前記要求分割手段とを備え、前記各サブ装置に前記処理手段を備えるようにしてもよいものである。
前記メイン装置の要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求と該処理要求を処理させるサブ装置を決定するようにしてもよいものである。
前記各サブ装置に、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込む立候補手段を備え、前記メイン装置の要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求を決定し、且つ該処理要求に対して識別子を書き込んだサブ装置の中から当該処理要求を処理させるサブ装置を決定するようにしてもよいものである。
選択基準情報を記憶する選択基準情報記憶部を備え、前記要求分割手段は、前記処理手段の処理能力に見合った数の被処理装置の記述を前記選択基準情報を参照して選択するようにしてもよいものである。
本発明の実施形態に係る負荷分散方法は、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部と、処理要求を分担して実行する複数の処理手段とを備えた情報処理システムにおける負荷分散方法であって、要求分割手段が、前記要求記憶部に記憶された処理要求を、前記処理手段の処理能力に見合った数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する第1のステップと、前記分割された処理要求を前記処理手段が実行する第2のステップとを含む構成として構築してもよいものである。
本発明の実施形態に係る情報処理装置は、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続され、処理要求を実行する処理手段と、前記要求記憶部に記憶された処理要求を、前記処理手段の処理能力に見合った数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段とを備える構成として構築してもよいものである。
前記要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定するようにしてもよいものである。
前記要求分割手段は、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込み、前記メイン装置から自サブ装置が当該処理要求を実行する装置として選択されるのを待ち合わせるようにしてもよいものである。
処理要求を実行する処理手段を備えた複数のサブ装置と通信可能に接続され、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部と、該要求記憶部に記憶された処理要求を、前記処理手段の処理能力に見合った数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段とを備えるようにしてもよいものである。
前記要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求と該処理要求を処理させるサブ装置を決定するようにしてもよいものである。
前記要求分割手段は、前記要求記憶部を定期的に検索して処理すべき処理要求を決定し、且つ該処理要求に対して識別子を書き込んだサブ装置の中から当該処理要求を処理させるサブ装置を決定するようにしてもよいものである。
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、本発明のメイン装置およびサブ装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。メイン装置用のプログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるメイン装置として機能させる。また、サブ装置用のプログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるサブ装置として機能させる。また、メイン装置とサブ装置とは物理的に別々のコンピュータである必要はなく、サブ装置として使用するコンピュータをメイン装置として稼動させることも可能である。
以上のように、本発明は、複数の被処理装置を複数の処理装置で分散して処理するシステムに有用であり、特にアプリケーションプログラムの配信などネットワークを通じて複数の被処理装置を管理するシステムに用いるのに適している。
本発明の第1の実施の形態のブロック図である。 本発明の第1の実施の形態における処理要求の登録処理の一例を示すフローチャートである。 本発明の第1の実施の形態におけるサブ装置のデータ処理装置の処理例を示すフローチャートである。 本発明の第1の実施の形態における処理要求の分割処理の一例を示すフローチャートである。 本発明の第1の実施の形態における処理要求の処理結果の参照処理の一例を示すフローチャートである。 本発明の第1の実施の形態における要求記憶部に記憶された処理要求の状態遷移の一例を示す図である。 本発明の第2の実施の形態のブロック図である。 本発明の第2の実施の形態における要求記憶部に記憶された処理要求の状態遷移の一例を示す図である。 本発明に関連する第3の実施の形態のブロック図である。 本発明に関連する第3の実施の形態におけるメイン装置の要求分割手段の処理例を示すフローチャートである。 本発明に関連する第3の実施の形態におけるサブ装置の処理手段の処理例を示すフローチャートである。 本発明に関連する第4の実施の形態のブロック図である。 本発明に関連する第5の実施の形態のブロック図である。 本発明に関連する第5の実施の形態におけるサブ装置のデータ処理装置の処理例を示すフローチャートである。 本発明に関連する第5の実施の形態におけるメイン装置の要求分割手段の処理例を示すフローチャートである。 本発明に関連する第5の実施の形態における要求記憶部に記憶された処理要求の状態遷移の一例を示す図である。 本発明に関連する第6の実施の形態のブロック図である。 本発明を適用した第7の実施の形態のブロック図である。 本発明を適用した第7の実施の形態におけるサブ装置のデータ処理装置の処理例を示すフローチャートである。 本発明を適用した第7の実施の形態におけるメイン装置の候補者選択手段の処理例を示すフローチャートである。 本発明を適用した第8の実施の形態のブロック図である。
符号の説明
100、200…メイン装置
110…記憶装置
111…要求記憶部
120…データ処理装置
121…要求管理手段
122、123…要求分割手段
124…候補者選択手段
130…記憶装置
131…性能記憶部
132…選択基準情報記憶部
1000…サブ装置
1010…入力装置
1020…データ処理装置
1021、1024…要求分割手段
1022…処理手段
1023…立候補手段
1030…出力装置
1040…記憶装置
1041…性能記憶部
1042…選択基準情報記憶部
2000…被処理装置
3000…ネットワーク

Claims (8)

  1. 複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、
    前記メイン装置には、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部が備えられる一方、
    前記各サブ装置には、前記要求記憶部に記憶された処理要求を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定し、処理すべき処理要求を、この処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段が備えられ該要求分割手段により分割された処理要求を前記処理手段が実行することを特徴とする情報処理システム。
  2. 複数のサブ装置と、該複数のサブ装置と通信可能なメイン装置とを備え、
    前記メイン装置には、処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部と、前記要求記憶部に記憶された処理要求を処理すべきサブ装置を当該処理要求に対して識別子を書き込んだサブ装置の中から選択する候補者選択手段が備えられる一方、
    前記各サブ装置には、前記メイン装置の要求記憶部を定期的に検索して自サブ装置での処理を望む処理要求に自サブ装置の識別子を書き込む手段と、前記メイン装置の候補者選択手段によって処理要求を処理すべきサブ装置として選択された際に、処理すべき処理要求を、該処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段が備えられ該要求分割手段により分割された処理要求を前記処理手段が実行することを特徴とする情報処理システム。
  3. 選択基準情報を記憶する選択基準情報記憶部を備え、
    前記要求分割手段は、前記処理すべき処理要求とされた処理要求に記述された処理内容を前記処理手段によって同時に処理可能な台数の被処理装置の記述を前記選択基準情報を参照して選択することを特徴とする請求項1または請求項2記載の情報処理システム。
  4. 処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を有するメイン装置と、処理要求を分担して実行する処理手段と前記要求記憶部に記憶された処理要求を分割する要求分割手段を有する複数のサブ装置とを備えた情報処理システムにおける負荷分散方法であって、
    前記各サブ装置の要求分割手段が、前記メイン装置の要求記憶部に記憶された処理要求を定期的に検索して自サブ装置で処理すべき処理要求を自ら決定し、処理すべき処理要求を、前記決定された処理要求に記述された処理内容を該サブ装置の処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する第1のステップと、
    前記分割された処理要求を前記処理手段が実行する第2のステップとを含むことを特徴とする負荷分散方法。
  5. 処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続され、処理要求を実行する処理手段と、
    前記メイン装置の要求記憶部に記憶された処理要求を定期的に検索して前記処理手段で処理すべき処理要求を自ら決定し、該処理すべき処理要求を、この処理要求に記述された処理内容を前記処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段とを備えることを特徴とする情報処理装置。
  6. 処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続され、処理要求を実行する処理手段と、
    前記メイン装置の要求記憶部を定期的に検索して自らが備える処理手段での処理を望む処理要求に自らの識別子を書き込み、前記メイン装置から自らが当該処理要求を実行する装置として選択されるのを待ち合わせ、前記メイン装置によって処理要求を処理すべき装置として選択されると、この処理要求を、該処理要求に記述された処理内容を自らの処理手段によって同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割することを特徴とする情報処理装置。
  7. 処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続されたコンピュータを、
    前記要求記憶部に記憶された処理要求を定期的に検索して、この処理要求を、該処理要求に記述された処理内容を自らが同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段と、該要求分割手段により分割された処理要求を実行する処理手段として機能させるためのプログラム。
  8. 処理対象となる複数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求を記憶する要求記憶部を備えたメイン装置と通信可能に接続されたコンピュータを、
    前記メイン装置の要求記憶部を定期的に検索して自らが処理を望む処理要求に自らの識別子を書き込み、前記メイン装置から自らが当該処理要求を実行する装置として選択されるのを待ち合わせ、前記メイン装置によって処理要求を処理すべき装置として選択されると、この処理要求を、該処理要求に記述された処理内容を自らが同時に処理可能な台数の被処理装置の記述とそれらに対する処理内容の記述とを含む処理要求に分割する要求分割手段と、該要求分割手段により分割された処理要求を実行する処理手段として機能させるためのプログラム。
JP2008521229A 2006-06-16 2007-06-13 情報処理システムおよび負荷分散方法 Active JP5630800B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008521229A JP5630800B2 (ja) 2006-06-16 2007-06-13 情報処理システムおよび負荷分散方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006166962 2006-06-16
JP2006166962 2006-06-16
PCT/JP2007/061878 WO2007145238A1 (ja) 2006-06-16 2007-06-13 情報処理システムおよび負荷分散方法
JP2008521229A JP5630800B2 (ja) 2006-06-16 2007-06-13 情報処理システムおよび負荷分散方法

Publications (2)

Publication Number Publication Date
JPWO2007145238A1 JPWO2007145238A1 (ja) 2009-11-05
JP5630800B2 true JP5630800B2 (ja) 2014-11-26

Family

ID=38831752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008521229A Active JP5630800B2 (ja) 2006-06-16 2007-06-13 情報処理システムおよび負荷分散方法

Country Status (3)

Country Link
EP (1) EP2031511A4 (ja)
JP (1) JP5630800B2 (ja)
WO (1) WO2007145238A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7422396B2 (ja) 2020-04-21 2024-01-26 D-テック合同会社 生体物質の検査装置および生体物質の検査用の容器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025369A (en) * 1988-08-25 1991-06-18 David Schwartz Enterprises, Inc. Computer system
JP2004062686A (ja) * 2002-07-30 2004-02-26 Dainippon Printing Co Ltd 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
WO2005091137A1 (ja) * 2004-03-19 2005-09-29 International Business Machines Corporation コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892945A (en) * 1996-03-21 1999-04-06 Oracle Corporation Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules
JP2000242614A (ja) * 1999-02-22 2000-09-08 Nippon Steel Corp 分散処理システムおよびその方法、分散処理を行うための端末装置および記録媒体
JP2001344199A (ja) * 2000-06-02 2001-12-14 Nec Corp 分散型処理システム及び方法並びに記録媒体
JP2002358293A (ja) * 2001-05-31 2002-12-13 Nec Corp 実行時負荷分散システム及び実行時負荷分散方法並びにプログラム
US7093004B2 (en) * 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
JP2006166962A (ja) 2004-12-13 2006-06-29 Sanyo Product Co Ltd 遊技台に組み込まれる遊技球弾発ユニットの製造方法と装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5025369A (en) * 1988-08-25 1991-06-18 David Schwartz Enterprises, Inc. Computer system
JP2004062686A (ja) * 2002-07-30 2004-02-26 Dainippon Printing Co Ltd 並列処理システム、サーバ、並列処理方法、プログラム、及び、記録媒体
WO2005091137A1 (ja) * 2004-03-19 2005-09-29 International Business Machines Corporation コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7422396B2 (ja) 2020-04-21 2024-01-26 D-テック合同会社 生体物質の検査装置および生体物質の検査用の容器

Also Published As

Publication number Publication date
EP2031511A4 (en) 2010-03-24
WO2007145238A1 (ja) 2007-12-21
EP2031511A1 (en) 2009-03-04
JPWO2007145238A1 (ja) 2009-11-05

Similar Documents

Publication Publication Date Title
US8438282B2 (en) Information processing system and load sharing method
US11675815B1 (en) Multi-cluster warehouse
JP6764989B2 (ja) 要求処理技術
US9032017B1 (en) Method and system for transparent read-write query routing when load balancing databases
CN106233277B (zh) 资源管理系统及方法
US9229754B2 (en) Dynamic scaling of management infrastructure in virtual environments
JP6172649B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
CN102402462A (zh) 用于对启用gpu的虚拟机进行负载平衡的技术
JP5733680B2 (ja) コマンド実行装置、コマンド実行システム、コマンド実行方法およびコマンド実行プログラム
JP2007034414A (ja) データベース管理システム及び方法
US9697028B1 (en) Directed placement for request instances
WO2012117534A1 (ja) 計算機システムおよびその制御方法
US9141677B2 (en) Apparatus and method for arranging query
US11556391B2 (en) CPU utilization for service level I/O scheduling
US8972676B2 (en) Assigning device adaptors and background tasks to use to copy source extents to target extents in a copy relationship
JP2005338985A (ja) 記憶領域管理方法及びシステム
EP2824570A1 (en) Host providing system and host providing method
US8140478B2 (en) Commit rate management with decoupled commit operations
GB2480764A (en) Load balancing traffic manager for multiple server cluster with multiple parallel queues running substantially independently
JP5630800B2 (ja) 情報処理システムおよび負荷分散方法
US9256648B2 (en) Data handling in a cloud computing environment
CN110659312B (zh) 数据处理的方法、装置、设备和计算机存储介质
US9304829B2 (en) Determining and ranking distributions of operations across execution environments
KR101754713B1 (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법
JP5674850B2 (ja) データベース管理システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130123

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130130

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141002

R150 Certificate of patent or registration of utility model

Ref document number: 5630800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150