(57)【特許請求の範囲】
【請求項１】
複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置に転送する転送処理装置に、
前記複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出し、
前記複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出し、
算出した前記受信予測時刻のうち、算出した前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、該転送処理装置から他の転送処理装置に移行させる
処理を実行させる情報処理プログラム。
【請求項２】
前記データ転送処理の割当てを他の転送処理装置に移行させる処理は、前記受信予測時刻のうち、前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置の中で、データの転送量が他の転送元装置よりも大きい転送元装置に関するデータ転送処理の割当てを移行させる請求項１記載の情報処理プログラム。
【請求項３】
前記転送処理装置が各転送元装置からデータを受信したときに、各転送元装置につき、データの受信時刻及び前回のデータの受信時に記憶した前記最終受信時刻の差分時間を算出し、当該差分時間に基づいてデータの前記受信間隔を算出して記憶手段に記憶する請求項１又は２に記載の情報処理プログラム。
【請求項４】
前記受信間隔を算出したときに、前記転送元装置ごとに前記受信間隔の変動を示す値を算出して記憶手段に記憶し、
前記データ転送処理の割当てを他の転送処理装置に移行させる処理は、前記受信予測時刻のうち、前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置の中で、前記変動を示す値が他の転送元装置よりも小さい転送元装置に関するデータ転送処理の割当てを移行させる請求項３記載の情報処理プログラム。
【請求項５】
前記移行処理中に前記移行対象とする転送元装置からデータを受信したときに、記憶手段に記憶された前記移行時間を修正して更新する請求項１〜４のいずれか１つに記載の情報処理プログラム。
【請求項６】
前記データ転送処理の割当てを他の転送処理装置に移行させる処理は、前記受信予測時刻のうち、前記移行完了予測時刻よりも後であって、該移行完了予測時刻に最も近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを移行させる請求項１〜５のいずれか１つに記載の情報処理プログラム。
【請求項７】
複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置へと転送する複数の転送処理装置と１つ以上の転送管理装置とを備えたシステムにおける該転送管理装置に、
前記複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出し、
前記複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出し、
算出した前記受信予測時刻のうち、算出した前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、該転送処理装置から他の転送処理装置に移行させる
処理を実行させる情報処理プログラム。
【請求項８】
複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置に転送する転送処理装置であって、
前記複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出する手段と、
前記複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出する手段と、
算出した前記受信予測時刻のうち、算出した前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、該転送処理装置から他の転送処理装置に移行させる手段と
を備えた転送処理装置。
【請求項９】
複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置に転送する転送処理装置が、
前記複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出し、
前記複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出し、
算出した前記受信予測時刻のうち、算出した前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、該転送処理装置から他の転送処理装置に移行させる
手順を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理の負荷分散を行う技術に関する。
【背景技術】
【０００２】
情報処理を複数の処理機構で分散して行うシステムにおいては、負荷分散を適切に行うための様々な技術が提案されている。かかる分散処理においては、単に情報処理の割当てを行うのみならず、システムの稼働状況に応じて、割当てを移行することがある。
【０００３】
負荷分散を行う技術の例として、複数の情報処理部において情報処理を分散して行うシステムにおいて、エージェントが稼働率の低い情報処理部を選択して処理要求を割当てる技術が採用されている。この技術においては、情報処理部は、自身の処理状況に応じて、エージェントに処理要求の再割当て要求を送信する。エージェントは、再割当て要求を受け付けると、他の情報処理部の管理する処理要求を、再割当て要求を送信した情報処理部に移動させる。
【０００４】
また、他の例として、オブジェクト指向のクライアント・サーバシステムにおいて、サーバごとの負荷状況を管理し、負荷状況に応じてサーバオブジェクトを負荷の少ないサーバに移動させる技術がある。さらに、分散されたプラットフォームにおいてアプリケーションを実行するときに、所定のアルゴリズムに基づいてアプリケーション等の配布等を行う技術が提案されている。
【０００５】
さらに、クライアントからのリクエストをネットワーク上の複数のデータセンタのいずれかに割り振るときに、クライアントの位置及びデータセンタへの通信経路に基づき、処理遅延時間が少ないデータセンタに優先的に処理を割り振る技術が提案されている。
【０００６】
ここで、負荷分散システムの一態様として、データの転送元装置から送信されるデータを所定の転送先装置に転送する転送処理装置を複数備えたシステムがある。かかるシステム態様の１つの具体例を、図１に示す。データの転送元装置８０２では、顧客業務を実行する仮想マシン（ＶＭ：Virtual Machine）が構築されている。転送元装置８０２は、自装置で動作する１つ以上のＶＭに関するＶＭ統計情報を所定時間ごとに抽出し、抽出したＶＭ統計情報を、振分装置８０６に送信する。振分装置８０６は、いわゆるロードバランサとして機能し、受信したＶＭ統計情報を、複数の転送処理装置８０４のうち、当該転送元装置８０２のＶＭ統計情報の処理を割当てる１つの転送処理装置８０４に送信する。転送処理装置８０４は、受信したＶＭ統計情報をＶＭ毎に切り分けるとともに、ＶＭの提供先である顧客毎に統計処理等を行う転送先装置８０４毎にＶＭを振り分けて、転送する。なお、転送管理装置８０６は、転送処理装置８０４に対する転送元装置８０２に関するデータ転送処理の割当て状態を管理している。
【０００７】
そして、かかるシステム態様では、各転送処理装置８０４の処理状況に応じ、転送元装置８０２に関するデータ転送処理の割当てが、転送処理装置である一の転送処理装置８０４から他の転送処理装置８０４へと移行される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平９−２３１１８４号公報
【特許文献２】特開２０００−１０９３６号公報
【特許文献３】特開２００４−５２０６４１号公報
【特許文献４】特開２００６−３３２８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、前述のようなシステム態様において、割当ての移行処理が行われても、移行対象とする転送元装置が適切に選択されないことにより、システム全体としての処理効率を効果的に向上させられないことがあった。そして、前述したような従来技術においても、どの情報処理の割当てを移行するか、すなわち、移行の客体となる対象の選択の際には、必ずしも適切な対象が選択される工夫がなされていなかった。
【００１０】
以上のような問題点に鑑み、本技術は、特に、データの転送処理装置に対する転送元装置に関するデータ転送処理の割当ての移行において、適切な転送元装置を移行対象として選択することで、転送処理の負荷分散による処理効率をシステム全体として向上させることを目的とする。
【課題を解決するための手段】
【００１１】
本技術は、複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置に転送する転送処理装置、又は、複数の転送処理装置と１つ以上の転送管理装置とを備えたシステムにおける転送管理装置が、次のような処理を行う。すなわち、複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出する。また、複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを当該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出する。そして、算出した受信予測時刻のうち、算出した移行完了予測時刻よりも後であって、当該移行完了予測時刻に最も近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、当該転送処理装置から他の転送処理装置に移行させる。
【発明の効果】
【００１２】
本技術によれば、データの転送処理の負荷分散による処理効率をシステム全体として向上させることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】システムの全体構成の一例を示す図である。
【図２】システムの全体構成の一例を示す図である。
【図３】業務装置、収集装置及び転送処理装置の部分のシステム全体構成の一例を示す図である。
【図４】転送処理装置の一例の機能ブロック図である。
【図５】業務装置管理テーブルの一例の説明図である。
【図６】転送先テーブルの一例の説明図である。
【図７】共通情報テーブルの一例の説明図である。
【図８】セッション管理テーブルの一例の説明図である。
【図９】転送時刻テーブルの一例の説明図である。
【図１０】平均移行時間データの一例の説明図である。
【図１１】転送管理装置の一例の機能ブロック図である。
【図１２】転送処理装置管理テーブルの一例の説明図である。
【図１３】割当てテーブルの一例の説明図である。
【図１４】転送先テーブルの一例の説明図である。
【図１５】共通情報テーブルの一例の説明図である。
【図１６】各装置間の処理シーケンス（定期的なＶＭ統計情報の収集処理）の一例の説明図である。
【図１７】各装置間の処理シーケンス（転送処理装置のＣＰＵ使用率超過による業務装置割当て移行処理）の一例の説明図である。
【図１８】転送処理装置の処理シーケンス（定期的なＶＭ統計情報の収集処理）の一例の説明図である。
【図１９】転送時刻管理処理の一例を示すフローチャートである。
【図２０】転送処理装置の処理シーケンス（転送処理装置のＣＰＵ使用率超過による業務装置割当て移行処理）の一例の説明図である。
【図２１】移行対象選択処理の一例を示すフローチャートである。
【図２２】移行要求送受信処理の一例を示すフローチャートである。
【図２３】転送管理装置の処理シーケンス（転送処理装置の負荷情報受信時）の一例の説明図である。
【図２４】転送管理装置の処理シーケンス（業務装置割当て移行処理）の一例の説明図である。
【図２５】移行先選択処理の一例を示すフローチャートである。
【図２６】平均移行時間データを修正する場合における処理シーケンスの一例の説明図である。
【図２７】転送処理装置及び転送管理装置のハードウェア構成の一例の説明図である。
【発明を実施するための形態】
【００１４】
本明細書では、一の装置から受信したデータを他の装置へと転送する転送処理を行う転送処理装置を複数備え、転送処理の負荷分散を行っているシステムにおいて、データの転送処理の割当てを一の転送処理装置から他の転送処理装置に切り替える技術について説明する。
【００１５】
例えば、前述の図１に示したような従来のシステム態様の具体例において、転送処理装置８０４には、それぞれ、ＶＭ統計情報の送信元となる転送元装置８０２が割当てられ、振分装置８０６により、転送元装置８０２からのＶＭ統計情報が振り分けられる。そして、転送処理装置８０４は、転送元装置８０２からのＶＭ統計情報を受信すると、次のような処理を行う。すなわち、転送処理装置８０４は、まず、受信したＶＭ統計情報のテキストを先頭部分から解析する。この処理における転送処理装置８０４の処理負荷は、ＶＭ統計情報のテキストサイズに依存する。さらに、転送処理装置８０４は、受信したＶＭ統計情報をＶＭ毎に切り分けるとともに、ＶＭの提供先である顧客毎に統計処理等を行う転送先装置８０３毎に、ＶＭを振り分けて転送する。この処理における転送処理装置８０４の処理負荷は、ＶＭ統計情報に含まれるＶＭの数及び振り分け先の顧客数に依存する。
【００１６】
ここで、原則としては、振分装置８０６が、転送処理装置８０４に対する転送元装置８０２のＶＭ統計情報の振り分け（すなわち転送元装置８０２に関するデータ転送処理の割当て）を均等に行うため、各転送処理装置８０４間において処理負荷が著しく偏ることはない。しかし、例えば、転送元装置８０２で稼働するＶＭへのアクセス数が増減したりした場合、アクセスログ等が増減し、ＶＭ統計情報のデータ量に変動が生じる。また、ＶＭの数自体が増減することにより、ＶＭ統計情報のデータ量に変動が生じることもある。さらには、例えば、転送処理装置８０４において障害が発生した場合や、転送元装置８０２と転送処理装置８０４との間の通信において障害が発生した場合等には、障害発生中に転送元装置８０２が生成し続けたＶＭ統計情報が、障害復旧後にまとめて送信されることもある。これらのような負荷変動要素によって、転送処理装置８０４の処理負荷に偏りが生じることがある。そして、このように特定の転送処理装置８０４における処理負荷が増加すると、当該転送処理装置８０４におけるＶＭ統計情報の処理が所定時間内に終了せず、ＶＭ統計情報の利用効率が低下することとなる。そうすると、例えば、ＶＭ統計情報をリアルタイムに収集することが困難となり、ＶＭの提供サービスの品質の劣化時の顧客対応の遅れにつながる等の問題が生じるおそれがある。
【００１７】
このため、前述の具体例のようなシステム態様においては、転送処理装置に対する転送元装置に関するデータ転送処理の割当てを、転送処理装置の処理状態に応じて他の転送処理装置に移行する。
【００１８】
ここで、本技術では、特に、転送処理装置から転送元装置に転送対象データを要求して取得しにいくフェッチ方式ではなく、転送元装置から転送処理装置に（一方向的に）データを送信する態様のシステム構成を対象とする。かかるシステム構成の場合、転送処理装置は、転送元装置からデータが送信されるタイミングを制御することができない。このため、転送元装置を他の転送処理装置に割当てし直すときに、割当ての移行処理が完了するよりも前に、移行対象として決定した転送元装置からのデータの受信が始まってしまうことがある。したがって、本技術では、どの転送元装置を他の転送処理装置に割当てし直すかを決定するときに、転送元装置のそれぞれについて将来にデータを受信する受信予測時刻を算出するとともに、割当ての移行処理が完了する移行完了予測時刻を算出する。そして、データを受信する時刻が割当ての移行処理が完了する時刻よりも後であり（すなわち、割当ての移行処理の完了後に次のデータを受信することとなる）且つ他の転送元装置からのデータの受信予測時刻よりも移行完了予測時刻に近い（すなわち、データの受信予測時刻が早い）転送元装置を、移行対象として選択する。
【００１９】
これにより、他の転送処理装置に割当てを切り替える転送元装置が適切に選択され、しかも、割当ての移行処理が完了するよりも前に、移行対象として決定した転送元装置からのデータの受信が始まってしまうという不具合が発生する確率を低減させることができる。且つ、早期に受信するデータの転送処理が他の転送元装置に移行されることとなるため、転送元装置の負荷軽減が早期に効率良く行われる。このため、割当ての移行処理の精度を向上させ、確実に移行処理を行うことができるとともに移行処理がより効果的なものとなり、システム全体として、スケールアウトされた複数の転送処理装置の情報処理資源を有効活用し、データの転送処理を効率良く行うことが可能となる。
【００２０】
以下、かかる技術の一実施形態につき、図面を参照しつつ詳細に説明する。
本実施形態では、かかる技術を、前述の背景技術で示したシステム態様の具体例と同様に、サーバノードプールに構築したＶＭを顧客に提供するサービスを行うシステムにおいて、ＶＭの動作状況に関連する諸情報であるＶＭ統計情報を顧客に提供するシステム態様に適用した例を用いて説明する。具体的には、本システムでは、ＶＭが構築されたサーバである業務装置（転送元装置）が生成するＶＭ統計情報を、転送処理装置が、ＶＭ統計情報を収集するサーバである収集装置（転送先装置）に転送する。なお、ＶＭ統計情報には、例えばＶＭに割り当てられている物理資源の使用状況等の情報などが含まれており、かかるＶＭ統計情報は、顧客に対してサービス内容を可視化するために提供されるものである。また、このように転送処理装置を導入してＶＭ統計情報の転送処理を行うのは、業務装置のＶＭ統計情報をＶＭの提供先である顧客に応じた適切な収集装置に振り分けるという処理を、業務装置から切り離すためである。これにより、業務装置に構築されたＶＭの数や顧客の数が多くても、業務装置の負荷を増大させることなく、ＶＭ統計情報を効率的に収集装置に振り分けることができる。また、ＶＭの配置や収集装置の変更等、システム構成の変更にも柔軟に対応することができる。
【００２１】
［システム全体構成］
図２は、本実施形態に係るシステムの全体構成の概要を示す。本システムは、ＶＭ管理装置１、業務装置２、収集装置３、転送処理装置４、転送管理装置５及び振分装置６を有する。ＶＭ管理装置１、業務装置２、収集装置３、転送処理装置４、転送管理装置５及び振分装置６は、いずれもＣＰＵ（Central Processing Unit）及び記憶手段を備えた情報処理装置である。なお、本明細書において記憶手段とは、メモリ等の揮発性記憶装置又はストレージ等の不揮発性記憶装置の少なくともいずれか一方を指す。
【００２２】
ＶＭ管理装置１は、外部の顧客システム（図示省略）及び業務装置２と通信可能であり、顧客システムから受信する要求等に応じ、業務装置２にＶＭを構築する。さらに、ＶＭ管理装置１は、ＶＭが構築された業務装置２や、ＶＭ統計情報の転送先となる収集装置３の対応付け等を含んだシステム構成情報を、転送管理装置５に送信する。また、ＶＭ管理装置１は、業務装置２や収集装置３が追加等されることによりシステム構成が変更になった場合等にも、その変更内容を含んだシステム構成情報を転送管理装置５に送信する。
【００２３】
業務装置２は、顧客システムからの要求に応じたＶＭ管理装置１による制御に基づき、ＶＭが構築される装置である。また、業務装置２では、自装置に構築されたＶＭに関するＶＭ統計情報を所定時間ごとに抽出するエージェントが動作する。そして、業務装置２で動作するエージェントは、抽出したＶＭ統計情報を、ＨＴＴＰ（Hypertext Transfer Protocol）コネクションを生成して振分装置６に送信する。なお、以下、業務装置２のエージェントが行う処理を、単に業務装置２が行う処理であるものと表記して説明を行う。また、以下の説明で業務装置２のＩＰアドレスを用いる箇所は、業務装置２で動作するエージェントをシステム全体で一意に特定する識別子であるエージェントＩＤを用いるようにしてもよい。
【００２４】
収集装置３は、顧客に対してＶＭ統計情報を提供するアプリケーションが動作する装置である。すなわち、収集装置３は、転送処理装置４から送信されたＶＭ統計情報を受信して収集し、必要に応じてアプリケーション等で統計処理等を行って顧客システムに出力する。なお、収集装置３は顧客システムの一部であってもよい。
【００２５】
転送処理装置４は、業務装置２から振分装置６を経由して受信したＶＭ統計情報を、収集装置３に転送する処理を行う装置である。ＶＭ統計情報は、１つ又は複数のＶＭに関する情報を含んでいる。転送処理装置４は、転送管理装置５から、ＶＭとＶＭ統計情報の転送先の収集装置３との対応付け等の情報を受信し、自装置の記憶手段に記憶する。そして、業務装置２からＶＭ統計情報を受信すると、ＶＭ統計情報をＶＭごとに分離させた上で、転送先の収集装置３ごとに仕分けし、収集装置３に送信する。ここで、転送処理装置４は、自装置の処理負荷が大きいとき又は大きくなることが予測されるときに、自装置に割当てられている業務装置２の中から、他の転送処理装置４に割当てを移行するべき業務装置２を選択する。そして、転送処理装置４は、転送管理装置５に対して、選択した業務装置２に関するデータ転送処理の割当て移行要求を送信し、業務装置２に関するデータ転送処理の割当てを移行させる。なお、以下の説明において、転送処理装置４に対する、業務装置２に関するデータ転送処理の割当てを、単に、転送処理装置４に対する業務装置２の割当てと表記する。
【００２６】
転送管理装置５は、ＶＭ統計情報の転送処理全体を管理する装置である。転送管理装置５は、ＶＭ管理装置１からシステム構成情報を受信し、ＶＭとＶＭ統計情報の転送先の収集装置３の対応付け等の情報を転送処理装置４に通知する。また、転送管理装置５は、転送処理装置４から業務装置２に関するデータ転送処理の割当て移行要求を受信すると、どの転送処理装置４を割当ての移行先とするかを決定する。そして、転送管理装置５は、当該業務装置２から受信したＶＭ統計情報の振り分け先を移行先の転送処理装置４に変更する要求を、振分装置６に送信する。
【００２７】
振分装置６は、業務装置２から受信したＶＭ統計情報を、その業務装置２に関するデータ転送処理が割当てられた転送処理装置４に振り分けるロードバランサである。
【００２８】
図３は、本実施例における業務装置２、収集装置３、転送処理装置４、転送管理装置５及び振分装置６間のネットワーク接続態様について示している。業務装置２、収集装置３、転送処理装置４、転送管理装置５及び振分装置６には、いずれもＩＰアドレスが割り振られ、業務装置２のそれぞれと、振分装置６とは、１つのネットワーク７で相互に接続されている。一方、振分装置６はさらに別のネットワーク８に接続されている。このネットワークには、振分装置６、収集装置３及び転送処理装置４のそれぞれ、並びに、転送管理装置５が相互に接続されている。
【００２９】
なお、本実施例において、前述した各装置間のネットワーク７及びネットワーク８は、いずれもＬＡＮ（Local Area Network）接続で実現されているものとする。なお、ハブやルータ等の通信機器については図示を省略している。しかしながら、かかるネットワークは、ＬＡＮに限らず、例えばＷＡＮ（Wide Area Network）やインターネット等、いかなる手段で実現されてもよく、その通信方法は有線通信又は無線通信のいずれであってもよい。また、図２に示すネットワーク接続態様は一例にすぎず、例えば、業務装置２、収集装置３、転送処理装置４、転送管理装置５及び振分装置６が全て１つのネットワークに接続されていてもよい。さらに、図２に示す業務装置２、収集装置３及び転送処理装置４の数は一例に過ぎない。
【００３０】
［転送処理装置及び転送管理装置の構成］
次に、転送処理装置４及び転送管理装置５の構成について詳述する。
図４は、転送処理装置４の機能ブロック図の一例を示す。転送処理装置４は、図４に示すように、転送処理装置４が備える記憶手段において、業務装置管理テーブル１１、転送先テーブル１２、共通情報テーブル１３、セッション管理テーブル１４、転送時刻テーブル１５及び平均移行時間データ１６を有する。また、転送管理装置５は、プログラムがメモリにロードされＣＰＵにより実行されることによって実現される制御手段として、転送管理装置通信部２１、業務装置管理部２２、移行対象決定部２３、転送時刻管理部２４、移行時間管理部２５、収集部２６、転送部２７及び送信部２８を備える。
【００３１】
業務装置管理テーブル１１は、転送処理装置４に割当てられた業務装置２ごとに、転送処理に関係する諸情報が格納されるテーブルである。そして、業務装置管理テーブル１１は、図５に示すように、１つの（すなわち自装置の）転送処理装置４に割当てられた業務装置２のＩＰアドレス、定期的なＶＭ統計情報収集処理において業務装置２から送信されたＶＭ統計情報の前回の転送処理時の転送量である前回転送量、及び、前々回転送処理時の転送量である前々回転送量の項目を有する。さらに、業務装置管理テーブル１１は、転送元装置２の割当てを他の転送処理装置４に移行させることが可能か否かを示す移行可否情報である移行ステータスの項目を有する。
【００３２】
転送先テーブル１２は、転送処理装置４に割当てられた業務装置２に構築されたＶＭと、ＶＭ統計情報の転送先の収集装置３と、を対応付けるテーブルであり、図６に示すように、ＶＭを特定可能なＶＭ識別子及び収集装置３のＩＰアドレスの項目を有する。
【００３３】
共通情報データ１３は、各種判定に用いる閾値が格納されるデータであり、図７に示すように、ＶＭ統計情報の転送量の変動の大小を判定するのに用いる転送量変動閾値、及び、転送処理装置４の処理負荷の大小を判定するのに用いるＣＰＵ使用率閾値を含む。転送量変動閾値及びＣＰＵ使用率閾値は、いずれもシステム管理者等によって予め設定される情報である。
【００３４】
セッション管理テーブル１４は、業務装置２から振分装置６を介して転送処理装置４に対して転送対象データを送信する通信におけるセッションを管理するテーブルであり、図８に示すように、業務装置２のＩＰアドレス及びセッションの識別子であるセッションＩＤを含む。
【００３５】
転送時刻テーブル１５は、業務装置２から次にＶＭ統計情報を受信するタイミングを予測するのに用いるデータが格納されるテーブルであり、図９に示すように、業務装置２のＩＰアドレス、当該業務装置からＶＭ統計情報を最後に受信した時刻である最終受信時刻、及び、ＶＭ統計情報を受信する間隔を示す平均受信間隔、平均受信間隔の変動（揺らぎ幅）を示す平均受信間隔変動値を含む。
【００３６】
平均移行時間データ１６は、図１０に示すように、業務装置２の割当て移行処理に要する時間、すなわち、振分装置６におけるＶＭ統計情報の振り分け先の移行（切り替え）に要する時間を示すデータである。
【００３７】
転送管理装置通信部２１は、転送管理装置５との間におけるデータの送受信等を行う機能を有する。具体的には、転送管理装置通信部２１は、転送管理装置５から、ＶＭが構築された業務装置２や、ＶＭ統計情報の転送先となる収集装置３の対応付け等の諸情報を受信し、業務装置管理部２２や転送部２７に通知する。また、転送管理装置５に対し、自装置の負荷情報を送信する。この負荷情報は、例えば、転送処理装置４におけるＣＰＵ使用率を含む。また、本実施例では、ＣＰＵ使用率の内訳として、ＶＭ統計情報の転送量の変動が所定閾値よりも大きい業務装置２から受信するＶＭ統計情報の転送処理に費やされているＣＰＵ使用率の合計である変動大ＣＰＵ使用率を含む。さらに、転送管理装置通信部２１は、業務装置２の割当て移行要求を送信する。このとき、割当て移行処理が完了するまでに要する時間を計測して、移行時間管理部２５に通知する。
【００３８】
業務装置管理部２２は、転送処理装置４に割当てられた業務装置２に関連する諸情報を管理する。具体的には、業務装置管理部２２は、例えば、転送部２６で受信したＶＭ統計情報や、転送管理装置通信部２１から受信した転送管理装置５からの業務装置２の割当て変更の通知等に基づき、業務装置管理テーブル１１の更新（業務装置２のデータの追加や削除）を行う。また、業務装置管理部２２は、業務装置２からのＶＭ統計情報の受信状態に応じて、業務装置管理テーブル１１の移行ステータスを変更する。ここで、ＶＭ統計情報の受信状態とは、例えば、ＶＭ統計情報の収集処理の途中の状態であることや、前回転送量と前々回転送量との差分の変動が大きい状態等、割当ての移行対象とする業務装置２の選択に影響を及ぼすような全ての受信状態のことを示す。さらに、業務装置管理部２２は、移行対象決定部２３が他の装置に割当てを移行させる業務装置２を選択するときに、業務装置管理テーブル１１を参照して業務装置２に関する情報を取得し、移行対象決定部２３に通知する。また、業務装置管理部２２は、転送管理装置通信部２１から通知された、ＶＭ統計情報の転送先となる収集装置３の変更情報に基づいて、転送先テーブル１２を更新する処理等も行う。
【００３９】
移行対象決定部２３は、業務装置管理部２２から通知された業務装置２の情報に基づき、他の転送処理装置４に割当てを移行する１つ以上の業務装置２を選択する。このとき、移行対象決定部２３は、転送時刻テーブル１５を参照して、各業務装置２から将来にＶＭ統計情報を受信する受信予測時刻を算出する。さらに、移行対象決定部２３は、平均移行時間データを参照して、業務装置２の割当ての移行処理が完了する移行完了予測時刻を算出する。なお、これらの予測処理の内容の詳細については後述する。そして、移行対象決定部２３は、将来にＶＭ統計情報を受信する時刻が、割当ての移行処理が完了する時刻よりも後である１つ以上の業務装置２を選択する。そして、移行対象決定部２３は、選択した業務装置２を特定する情報の一例であるＩＰアドレスとともに、業務装置２の割当て変更要求を転送管理装置通信部２１に送信する。
【００４０】
転送時刻管理部２４は、業務装置２から振分装置６を介して送信されたＶＭ統計情報を最後に受信した時刻を、業務装置２ごとに転送時刻テーブル１５に記録する。このとき、転送時刻管理部２４は、ＶＭ統計情報を受信する平均受信間隔を算出し、同じく転送時刻テーブル１５に記録する。
【００４１】
移行時間管理部２６は、業務装置２の割当て移行要求を転送管理装置に送信したときに、割当ての移行処理が完了したという応答（すなわち、振分装置６におけるＶＭ統計情報の振り分け先の切り替え処理が完了したという応答）を受信するまでの時間を計測し、平均移行時間データ１６に記録する。
【００４２】
収集部２６は、業務装置２からＶＭ統計情報を受信し、転送部２７に転送する。
【００４３】
転送部２７は、ＶＭ統計情報のヘッダ及びボディを解析し、ＶＭ統計情報をＶＭごとに分離させる。さらに、転送先テーブル１２を参照し、ＶＭ統計情報が含むＶＭ識別子に基づき、ＶＭ統計情報の転送先となる収集装置３を特定する。そして、転送先の収集装置３を特定する情報を、ＶＭごとに分離させたＶＭ統計情報に対応付けて送信部２８に送信する。また、このとき転送部２７は、ＶＭ統計情報の転送量等を業務装置管理部２２に通知する。
【００４４】
送信部２８は、転送部２７から転送されたＶＭ統計情報を、転送先の収集装置３に対して送信する。なお、転送部２７は、転送管理装置通信部２１から通知された、ＶＭ統計情報の転送先となる収集装置３の変更情報に基づいて、転送先テーブル３３を更新する処理等も行う。
【００４５】
図１１は、転送管理装置５の機能ブロック図の一例を示す。転送管理装置５は、図１１に示すように、記憶手段において、転送処理装置管理テーブル３１、割当てテーブル３２、転送先テーブル３３及び共通情報テーブル３４を備える。また、転送管理装置５は、プログラムがメモリにロードされＣＰＵにより実行されることによって実現される制御手段として、ＶＭ管理装置通信部４１、転送処理装置通信部４２、振分装置通信部４３、転送処理装置管理部４５及び割当て決定部４５を備える。
【００４６】
転送処理装置管理テーブル３１は、転送処理装置４ごとに、転送処理装置４の負荷情報が格納されるテーブルであり、図１２に示すように、転送処理装置４のＩＰアドレスと、転送処理装置４におけるＣＰＵ使用率と、変動大ＣＰＵ使用率と、の項目を有する。
【００４７】
割当てテーブル３２は、転送処理装置４と、転送処理装置４のそれぞれに割当てられた業務装置２と、を対応付けるテーブルであり、図１３に示すように、転送処理装置４のＩＰアドレスと、業務装置２のＩＰアドレスと、の項目を有する。
【００４８】
転送先テーブル３３は、システム全体の業務装置２と、業務装置２に構築されたＶＭと、ＶＭ統計情報の転送先の収集装置３と、を対応付けるテーブルであり、図１４に示すように、業務装置２のＩＰアドレスと、ＶＭ識別子と、収集装置３のＩＰアドレスと、の項目を有する。
【００４９】
共通情報テーブル３４は、転送管理装置５が行う各種判定に用いる閾値が格納されるテーブルであり、図１５に示すように、ＣＰＵ使用率無条件割当閾値、ＣＰＵ使用率条件付き割当閾値、及び、変動大ＣＰＵ使用率閾値を含む。各閾値がどのように用いられるかについては、各処理の説明において後述する。
【００５０】
ＶＭ管理装置通信部４１は、ＶＭ管理装置１とのデータの送受信等を行う機能を有する。具体的には、ＶＭ管理装置通信部４１は、例えば、ＶＭ管理装置１からシステム構成情報を受信し、転送処理装置管理部４３に、受信したシステム構成情報を転送する。
【００５１】
転送処理装置通信部４２は、転送処理装置４との間におけるデータの送受信を行う機能を有する。転送処理装置通信部４２は、例えば、転送処理装置４から、転送処理装置４の負荷情報や業務装置２の割当て移行要求を受信し、転送処理装置管理部４５や割当て決定部４５に、受信した情報を通知する。また、転送処理装置通信部４２は、業務装置２の割当てを変更したことを示す通知や、ＶＭ統計情報の転送先となる収集装置３を特定する情報等を、転送処理装置４に送信する。
【００５２】
振分装置通信部４３は、振分装置６との間におけるデータの送受信を行う機能を有する。振分装置通信部４３は、例えば、業務装置２の割当てを変更した通知を、振分装置６に送信する。
【００５３】
転送処理装置管理部４５は、転送処理装置４に関連する諸情報を管理する。具体的には、転送処理装置管理部４５は、転送処理装置管理テーブル３１を参照して情報を取得する一方、ＶＭ管理装置通信部４１や転送処理装置通信部４２から転送された情報に基づき、転送処理装置管理テーブル３１を更新する。また、転送処理装置管理部４５は、ＶＭ管理装置通信部４１から転送される、ＶＭとＶＭ統計情報の転送先の収集装置３とを対応付ける情報に基づき、転送先テーブル３３を更新する処理も行う。
【００５４】
割当て決定部４５は、転送処理装置４から受信した業務装置２の割当て移行要求に応じて、割当て移行先とする転送処理装置４を選択する。そして、割当て決定部４５は、割当てテーブル３２に設定された業務装置２の割当て先の転送処理装置４を変更する。
【００５５】
なお、振分装置６は、ＶＭ統計情報の送受信で用いられるセッションＩＤと、そのセッションＩＤで送信されるＶＭ統計情報を振り分ける転送処理装置４のＩＰアドレスとが対応付けられた、振り分け先テーブルを有している。そして、振分装置６は、初回にＶＭ統計情報のＨＴＴＰコネクションをランダムに振り分けた際、どのセッションをどの転送処理装置４に振り分けたかを対応付ける情報を、この振り分け先テーブルに保持し、２回目以降は、振り分け先テーブルの設定に基づいてＶＭ統計情報の振り分けを行う。また、振分装置６は、転送管理装置から、業務装置２の割当てが移行された通知を受信すると、その通知に基づき、当該振り分け先テーブルにおける業務装置２の振り分け先の転送処理装置４のＩＰアドレスを、割当て移行指示に含まれる移行先の転送処理装置４のＩＰアドレスに変更する。
【００５６】
［各装置間における処理の概要］
次に、各装置における処理の概要につき、装置間の処理シーケンスを示して説明する。
図１６は、定期的なＶＭ統計情報の収集処理の概要を示す。
【００５７】
業務装置２は、自装置に構築されたＶＭのＶＭ統計情報を蓄積している。そして、業務装置２は、蓄積したＶＭ統計情報を振分装置６に対して送信する（１）。業務装置２は、ＶＭ統計情報の送信をいかなる契機で行ってもよいが（例えばタイマ設定で所定時間ごとに送信したり、ＶＭ統計情報が一定量蓄積されたことを契機として送信したりする等）、少なくとも、本技術では、等間隔若しくは等間隔に近い間隔でＶＭ統計情報が送信されることを前提としている。振分装置６は、業務装置２からＶＭ統計情報を受信すると、振り分け先テーブルを参照し、ＶＭ統計情報のセッションＩＤに対応付けられた転送処理装置４をＶＭ統計情報の振り分け先として特定する（２）。そして、振分装置６は、振り分け先の転送処理装置４に対し、ＶＭ統計情報を振り分ける（３）。転送処理装置４は、ＶＭ統計情報を受信すると、受信したＶＭ統計情報の転送先となる収集装置３を特定する（４）。そして、転送処理装置４は、特定した収集装置３に対し、ＶＭ統計情報を送信する（５）。また、転送処理装置４は、自装置の負荷情報を転送管理装置５に送信する（６）。各装置は（１）〜（６）の処理を繰り返す。なお、転送処理装置４は、（６）の自装置の負荷情報の送信処理を、ＶＭ統計情報の収集処理とは別途独立した処理として、所定時間ごとに行ってもよい。
【００５８】
次に、転送処理装置４に割当てられた業務装置２の割当てを他の転送処理装置４に移行させる処理を行う場合の一例として、転送処理装置４のＣＰＵ使用率がＣＰＵ使用率閾値を超過している場合における、業務装置２の割当て移行処理につき、図１７を用いて説明する。なお、転送処理装置４は、自装置のＣＰＵ使用率がＣＰＵ使用率閾値を超えていることを、どのタイミングで検出してもよい。なお、本説明では、ＣＰＵ利用率がＣＰＵ使用率閾値を超過している転送処理装置４を第１転送処理装置４、第１転送処理装置４に割当られている業務装置２の割当ての移行先となる転送処理装置４を第２転送処理装置４と表記して説明を行う。
【００５９】
第１転送処理装置４は、ＣＰＵ利用率がＣＰＵ使用率判定閾値を超過していることを検出する（１）。第１転送処理装置４は、自装置に転送処理が割当てられている１つ以上の業務装置２から、他の転送処理装置４に割当てを移行する１つ以上の業務装置２を選択する（２）。そして、第１転送処理装置４は、選択した業務装置２の割当てを他の転送処理装置４に移行する要求を、転送管理装置５に対して送信する（３）。一方、転送管理装置５は、第１転送処理装置４からの要求を受信すると、業務装置２の割当ての移行先となる第２転送処理装置４を選択し、第２転送処理装置４への割当て移行に伴うテーブルの更新等を行う（４）。そして、転送管理装置５は、振分装置６に対し、割当ての移行対象となった業務装置２からのＶＭ統計情報の振り分け先を第２転送処理装置４に変更する要求を送信する（５）。振分装置６は、当該要求を受信すると、割当ての移行対象となった業務装置２からのＶＭ統計情報の振り分け先を、通知された第２転送処理装置４に変更する（６）。そして、振分装置６は、振り分け先の変更処理が完了したことを、転送管理装置５に応答する（７）。転送管理装置５は、この応答を受信すると、第１転送処理装置４に対し、移行対象の業務装置２の割当てを第２転送処理装置４に移行する処理が完了した旨を応答する（８）。第１転送処理装置４では、この応答を受信すると、自装置に割当てられた業務装置２から、移行対象の業務装置２の情報を削除する（９）。さらに、転送管理装置５は、第２転送処理装置４に対し、移行対象の業務装置２を第２転送処理装置４に割当てた旨を通知する（１０）。第２転送処理装置４は、自装置に割当てられた業務装置２の情報に、移行対象の業務装置２を追加する（１１）。なお、（１０）及び（１１）の処理は必須ではなく、次回に第２転送処理装置４が振分装置６からＶＭ統計情報を受信したときに、そのＶＭ統計情報の送信元の業務装置２を特定することで、自装置に新たな業務装置２が割当てられたことを検出してもよい（以下、この（１０）及び（１１）の処理に関連する処理の説明についても同様）。また、（８）〜（９）の処理及び（１０）〜（１１）の処理は、どちらの処理が先に実行されてもよい。これらの処理全てが完了したときに、システム全体として業務装置４の割当て移行処理が完了することとなる。
【００６０】
なお、転送処理装置４に対する業務装置２の割当てを他の転送処理装置４に移行させる際、その移行対象とする業務装置２は、１つに限らず、複数であってもよい。また、転送処理装置４に割当てられた業務装置２の割当てを他の転送処理装置４に移行させる処理を行う契機は、転送処理装置４のＣＰＵ使用率がＣＰＵ使用率閾値を超過している場合に限らない。例えば、転送処理装置４は、業務装置管理テーブル１１における移行ステータスが「移行中」である業務装置２の転送量の合計が所定閾値を超えているとき等に、割当て移行要求を送信してもよい。この転送量としては、例えば、前回転送量を適用してもよいし、前回転送量及び前々回転送量の平均値を適用してもよい。さらには、例えば、業務装置管理テーブル１１で、各業務装置２からのＶＭ統計情報の転送を行う場合における転送処理装置４の負荷の大きさを特定できるデータを保持するようにしてもよい。そして、移行ステータスが「移行中」である業務装置２の負荷の大きさの合計が所定閾値よりも大きいときに、業務装置２の割当て移行処理を行うようにしてもよい。
【００６１】
なお、業務装置２におけるＶＭの構築状況や収集装置３の構成変更等のシステム構成変更が発生した場合、ＶＭ管理装置１は、転送管理装置５に対し、システム構成情報を送信する。このとき、転送管理装置５は、自装置で保持するテーブルにシステム構成情報を反映させるとともに、必要に応じて、転送処理装置４に当該システム構成情報を送信する。そして、転送処理装置４は、自装置で保持するテーブルに当該システム構成情報を反映させる。なお、システム構成情報が通知されるケースとしては、例えば、業務装置２が追加や削除等されることにより、いずれかの業務装置２においてＶＭが新たに構築されたり、あるいは削除されたり、他の業務装置２に移行されたりする場合がある。また、収集装置３が追加されたり削除されたりする場合等も想定される。
【００６２】
［転送処理装置の処理］
次に、転送処理装置４が備える各構成要素間において実行される処理シーケンスについて詳述する。
図１８は、定期的なＶＭ統計情報の収集処理において、転送処理装置４で実行される処理を示す。
【００６３】
収集部２６は、業務装置２から、ＶＭ統計情報を受信する（１）。このＶＭ統計情報は、送信元の業務装置２のＩＰアドレス及びセッションＩＤを含むヘッダと、ＶＭ識別子及びＶＭ統計情報の具体的な内容を示すデータを含むボディと、を有する。一度に送信されるＶＭ統計情報は、１つ又は複数のＶＭに関する情報を含み、ＶＭ統計情報の具体的な内容を示すデータは、ＶＭごとに、ＶＭ識別子と対応付けられている。なお、かかるＶＭ統計情報のデータ構造は一例に過ぎない。
【００６４】
そして、収集部２６は、受信したＶＭ統計情報を転送部２７に送信し、ＶＭ統計情報の転送処理を転送部２７に要求する（２）。
【００６５】
ＶＭ統計情報とともに転送処理の要求を受信した転送部２７は、次の処理を行う。
まず、転送部２７は、ＶＭ統計情報のヘッダを解析し、ＶＭ統計情報の送信元の業務装置２のＩＰアドレス及びセッションＩＤを取得し、セッション管理テーブル１４に格納する。なお、図示を省略しているが、収集部２６は、転送部２７でセッション管理テーブル１４への格納が済んだことを業務装置２に応答する。
【００６６】
そして、転送部２７は、少なくともＶＭ統計情報の送信元の業務装置２のＩＰアドレスを含んだ受信通知を、転送時刻管理部２４に送信する（３）。転送時刻管理部２４は、この受信通知を受信すると、転送時刻管理処理を実行する。この転送時刻管理処理の内容については図１９を用いて後述する（４）。
【００６７】
また、転送部２７は、少なくともＶＭ統計情報の送信元の業務装置２のＩＰアドレス及びセッションＩＤを含んだ受信通知を、業務装置管理部２２に送信する（５）。
【００６８】
ここで、業務装置管理部２２は、業務装置管理テーブル１１における、当該業務装置２に対応するレコードの移行ステータスを「移行不可」に変更する（６）。なお、（６）の処理は、ＶＭ統計情報の収集を開始する業務装置２の移行ステータスを変更する（記憶手段に記憶する）処理であり、換言すれば、業務装置２からのＶＭ統計情報の受信状態に応じて業務装置２の移行ステータスを変更する処理である。かかる処理は、次のような意義を有する。すなわち、業務装置２の割当てを他の転送処理装置４に移行することとなったとき、かりに、ＶＭ統計情報の収集処理の途中であって転送処理装置４がＶＭ統計情報を受信している途中の業務装置２が移行対象として選択されて移行処理がなされ、振分装置６に対して業務装置２から受信したＶＭ統計情報の振り分け先の変更要求が送信された場合、次のような可能性がある。すなわち、当該変更要求に応じ、振分装置６から業務装置２へと送信中のＶＭ統計情報の送信処理の中断を行った上で、変更後の業務装置２に対し再度ＶＭ統計情報を送信し直す仕様としている場合には、ＶＭ統計情報の収集処理が中断されてしまうこととなる。かりにそうなった場合、移行先の転送処理装置４は、再度そのＶＭ統計情報を初めから収集しなければならず、無駄な転送処理が生じることとなる。ここで、収集処理の対象となっている業務装置２の移行ステータスを「移行不可」としておくと、この業務装置２を移行対象として選択することが不可であることが特定可能となるため、業務装置２の割当てを他の転送処理装置４に移行するときに、当該業務装置２は選択されない（後述の図２０の（２）〜（４）参照）。このため、無駄な転送処理が生じることを回避することができる。
【００６９】
さらに、転送部２７は、ＶＭ統計情報のボディを解析し、ＶＭ統計情報のデータ量（すなわち転送量）を特定する。そして、転送部２７は、少なくともＶＭ統計情報の送信元の業務装置のＩＰアドレス及び転送量を含んだ受信通知を、業務装置管理部２２に送信する（７）。業務装置管理部２２は、業務装置管理テーブル１１における対象の業務装置２に対応するレコードの前々回転送量を前回転送量で書き換えた上で、前回転送量を、転送部２７から受信した転送量に変更する（８）。さらに、業務装置管理部２２は、前回転送量と前々回転送量との差分を算出する（９）。
【００７０】
ここで、業務装置管理部２２は、算出した差分が、共通情報テーブル１３の変動量閾値以下であれば、業務装置管理テーブル１１における対象業務装置２に対応するレコードの収集先ステータスを「移行可」にする（１０）。なお、（１０）の処理は、ＶＭ統計情報の転送量に応じて業務装置２の移行ステータスを変更する（記憶手段に記憶する）処理であり、換言すれば、業務装置２からのＶＭ統計情報の受信状態に応じて業務装置２の移行ステータスを変更する処理である。かかる処理は、次のような意義を有する。すなわち、前回転送量と前々回転送量との差分が転送量変動閾値以下であるということは、この業務装置２が送信するＶＭ統計情報の転送量の変動が比較的少ない可能性が高いということを示している。このため、この業務装置２の割当てを他の転送処理装置４に移行させても、移行される側の転送処理装置４において転送処理に伴う負荷が不安定になる可能性が低い。したがって、この業務装置２を移行対象としてもよいとするものである。なお、前回転送量と前々回転送量との差分が転送量変動閾値を超過している場合には、移行ステータスは「移行不可」のまま維持されることとなる。
【００７１】
さらなる処理として、転送部２７は、転送先テーブル１２を参照し、受信したＶＭ統計情報に含まれるＶＭ識別子に対応する転送先の収集装置３のＩＰアドレスを特定する（１１）。そして、転送部２７は、送信部２８に対し、特定した転送先の収集装置３のＩＰアドレスとともに、収集装置３に対してＶＭ統計情報を転送する要求を送信する（１２）。送信部２８は、転送部２７から要求を受信すると、受信した転送先の収集装置３のＩＰアドレスを用いて、ＶＭ統計情報を収集装置３に送信する（１３）。
【００７２】
さらに、業務装置管理部２２は、転送処理装置４の負荷情報を生成し、負荷情報の送信要求を転送管理装置通信部２１に送信する（１４）。具体的には、業務装置管理部２２は、自装置（転送処理装置４）のＣＰＵ使用率、変動大ＣＰＵ使用率を特定する。そして、ＣＰＵ使用率及び変動大ＣＰＵ使用率を負荷情報に含めて転送管理装置通信部２１に送信する。転送管理装置通信部２１は、負荷情報を転送管理装置５に送信する（１５）。
【００７３】
なお、（１）〜（１３）の処理は、転送処理装置４に割当てられている各業務装置２について実行する。また、（３）〜（４）の処理及び（５）〜（６）の処理は、いずれが先に実行されてもよく、両方を並行して行ってもよい。さらに、（７）〜（１０）の処理及び（１１）〜（１３）の処理は、（５）〜（６）の処理が終わっていることを条件として実行されるものであり、いずれが先に実行されてもよく、両方を並行して行ってもよい。また、前述したように、（１４）及び（１５）の負荷情報の送信処理は、ＶＭ統計情報の収集処理とは別途独立した処理として、所定時間ごとに行ってもよい。
【００７４】
ここで、転送時刻管理部が実行する転送時刻管理処理につき、図１９のフローチャートを参照しつつ説明する。
（Ｓ１）転送時刻管理部２４は、ＶＭ統計情報の送信元の業務装置２からＶＭ統計情報を最後に（すなわち前回に）受信した時刻を取得する。具体的には、転送時刻管理部２４は、転送時刻テーブル１５を参照し、ＶＭ統計情報の送信元の業務装置２のＩＰアドレスに対応する最終受信時刻を取得する。そして、転送時刻管理部２４は、現在の時刻と最終受信時刻との差分時間、すなわち、前回のＶＭ統計情報の受信時刻から今回のＶＭ統計情報の受信時刻までの間隔を算出する。
【００７５】
（Ｓ２）転送時刻管理部２４は、Ｓ１で算出した最新の差分時間を反映させた平均受信間隔を算出する。この算出は様々な方法によって実現でき、一例としては、次式によって算出可能である。
T_new = βT+(1-β)T_old
（T_new：算出対象の平均受信間隔、T_old：前回までの平均受信間隔、T：Ｓ１で算出した差分時間、β：更新係数（0<β<1））
この式で用いる前回までの平均受信間隔は、転送時刻テーブル１５に格納された、ＶＭ統計情報の送信元の業務装置２のＩＰアドレスに対応する平均受信間隔である。また、更新係数は、システム管理者等が予め転送処理装置４の記憶装置に設定しておく。この更新係数を大きくすればするほど、計算結果の平均受信間隔に、今回算出した差分時間がより大きく反映されることとなる。
【００７６】
（Ｓ３）転送時刻管理部２４は、転送時刻テーブル１５に格納された前回までの平均受信間隔と、Ｓ２で算出した平均受信間隔とに基づき、平均受信間隔の変動（揺らぎ幅）を示す変動値を算出する。この変動値として、転送時刻管理部２４は、例えば、前回の平均受信間隔と今回の平均受信間隔との差分を算出する。なお、変動値の算出方法はこれに限らず、例えば、前回の平均受信間隔と今回の平均受信間隔に基づいて偏差を算出してもよい。
【００７７】
（Ｓ４）転送時刻管理部２４は、転送時刻テーブル１５に格納された、ＶＭ統計情報の送信元の業務装置２のＩＰアドレスに対応する平均受信間隔及び平均受信間隔変動値を、算出した平均受信間隔及び変動値で更新する。
【００７８】
（Ｓ５）転送時刻管理部２４は、転送時刻テーブル１５に格納された、ＶＭ統計情報の送信元の業務装置２のＩＰアドレスに対応する最終受信時刻を、現在の時刻で更新する。
【００７９】
なお、例えば業務装置２からＶＭ統計情報が送信される間隔が固定的に決まっており、転送処理装置４において受信する間隔が一定である場合等には、例えば、次のようにしてもよい。すなわち、転送処理装置４による処理によって平均受信間隔を算出して転送時刻テーブル１５に設定するのではなく、システム管理者等が、受信間隔として、予め固定値を記憶手段に設定しておいてもよい。
【００８０】
図２０は、転送処理装置４に割当てられた業務装置２の割当てを他の転送処理装置４に移行させる処理を行う場合の一例として、転送処理装置４のＣＰＵ使用率が閾値を超過しているため、当該転送処理装置４に対する業務装置２の割当てを他の転送処理装置４に移行させる処理を示すシーケンス図である。
【００８１】
移行対象決定部２３は、自装置のＣＰＵ使用率が共通情報テーブル１３のＣＰＵ使用率閾値を超過していることを検出すると、業務装置管理部２２に対し、自装置に割当てられている業務装置２のうち、他の転送処理装置４に割当てを移行することが可能な業務装置２を通知するように要求する（１）。業務装置管理部２２は、移行対象決定部２３から要求を受信すると、業務装置管理テーブル１１を参照し、自装置に割当てられた業務装置２のうち、移行ステータスが「移行可」である１つ以上の業務装置２のＩＰアドレスを取得する（２）。そして、業務装置管理部２２は、取得した１つ以上の業務装置２のＩＰアドレスを移行対象決定部２３に通知する（３）。
【００８２】
移行対象決定部２３は、業務装置管理部２２から通知された業務装置２の中から移行対象を選択する移行対象選択処理を実行する（４）。なお、移行対象選択処理の内容については図２１を用いて後述する。
【００８３】
そして、移行対象決定部２３は、選択した業務装置２を、業務装置管理部２２に通知する（５）。業務装置管理部２２は、業務装置管理テーブル１１における、選択された業務装置２の移行ステータスを、「移行中」に変更する（６）。そして、業務装置管理部２２は、移行対象決定部２３に対し、業務装置管理テーブル１１の変更を行ったことを応答する（７）。移行対象決定部２３は、この応答を受信すると、セッション管理テーブル１４を参照し、選択した業務装置２に対応するセッションＩＤを取得する。そして、移行対象決定部２３は、転送管理装置通信部２１に対し、取得したセッションＩＤとともに、業務装置２の割当て移行要求を送信する（８）。
【００８４】
転送管理装置通信部２１は、転送管理装置５に対して業務装置２の割当て移行要求の送信し、転送管理装置５から、割当て移行処理を行った旨の応答を受信する移行要求送受信処理を実行する（９）。この移行要求送受信処理には、移行処理が行われた時刻及び割当て移行要求の送信から応答の受信までの時間、すなわち、移行処理に要した移行時間を計測する処理が含まれる。移行要求送受信処理の内容については図２２を用いて後述する。転送管理装置通信部２１は、転送管理装置５から応答を受信すると、業務装置管理部２２に対し、割当て移行処理が完了したことを示す通知を行う（１０）。業務装置管理部２２では、転送管理装置通信部２１から通知を受信すると、業務装置管理テーブル１１やセッション管理テーブル１４における、移行対象となった業務装置２のレコードを削除する（１１）。
【００８５】
また一方で、転送管理装置通信部２１は、転送管理装置５から応答を受信すると、移行要求送受信処理によって計測された移行時間を、移行時間管理部２５に送信する（１３）。移行時間管理部２５は、移行時間を受信すると、平均移行時間を算出する（１４）。なお、この算出は様々な方法により実現でき、一例としては、次式によって算出可能である。
T_new = βT+(1-β)T_old
（T_new：算出対象の平均移行時間、T_old：前回までの平均移行時間、T：転送管理装置通信部２１から通知された移行時間、β：更新係数（0<β<1））
前回までの平均受信間隔については、移行時間管理部２５は、平均移行時間データ１６を参照する。また、更新係数は、システム管理者等が予め転送処理装置４の記憶装置に設定しておく。この更新係数を大きくすればするほど、計算結果の平均移行時間に、今回計測した移行時間がより大きく反映される。
【００８６】
ここで、移行対象決定部２３が実行する移行対象選択処理につき、図２１のフローチャートを参照しつつ説明する。
【００８７】
（Ｓ１１）移行対象決定部２３は、「移行可」の業務装置２が存在するか否か、すなわち、業務装置管理部２２から１以上の業務装置２が通知されたか否かを判定する。「移行可」の業務装置２が存在する場合には、Ｓ１２に進み（Ｙｅｓ）、存在しない場合には、Ｓ１６に進む（Ｎｏ）。
【００８８】
（Ｓ１２）移行対象決定部２３は、業務装置管理部２２から通知された１つ以上の業務装置２につき、ＶＭ統計情報を将来受信する受信予測時刻、具体的には次回受信する受信予測時刻を算出する。また、移行対象決定部２３は、割当ての移行処理が完了する移行完了予測時刻を算出する。そして、ＶＭ統計情報の次回の受信予測時刻が割当ての移行完了予測時刻よりも後である業務装置２を選択する。具体的には、移行対象決定部２３は、各業務装置２につき、転送時刻テーブル１５及び平均移行時間データ１６を参照し、転送時刻テーブル１５に設定された最終受信時刻に平均受信間隔を加算した時刻を算出し、ＶＭ統計情報を次回受信する受信予測時刻とする。一方で、現在時刻に平均移行時間データ１６の平均移行時間を加算した時刻を算出し、割当ての移行完了予測時刻とする。そして、次回のＶＭ統計情報の受信予測時刻が、移行完了予測時刻よりも遅い業務装置２が存在するか否かを判定する。なお、かかる条件を満たす業務装置２は、換言すれば、[最終受信時刻 + 平均受信間隔] > [現在時刻 + 平均移行時間] を満たす業務装置２である。例えば、転送時刻テーブル１５のデータが図９に示す内容であって、平均移行時間データが図１０に示す内容（２秒）であり、現在時刻が［5:09 ’54］である場合を想定する。この具体例では、割当ての移行完了予測時刻は、［5:11 ’54］となる。一方、業務装置ＩＰアドレス［10.0.0.1］、［10.0.0.2］、［10.0.0.3］、［10.0.0.4］の業務装置２におけるＶＭ統計情報を次回受信する受信予測時刻は、それぞれ［5:11 ’40］、［5:11 ’58］、［5:11 ’50］、［5:12 ’15］である。したがって、前記条件を満たす業務装置２は、ＩＰアドレス［10.0.0.2］及び［10.0.0.4］の業務装置２となる。
【００８９】
かかる業務装置２が存在する場合には、Ｓ１３に進み（Ｙｅｓ）、存在しない場合には、Ｓ１６に進む（Ｎｏ）。
【００９０】
（Ｓ１３）移行対象決定部２３は、次回のＶＭ統計情報の受信予測時刻が、移行完了予測時刻よりも後の業務装置２のうち、受信予測時刻が最も早い（min[最終受信時刻＋平均受信間隔]）業務装置２を選択する。換言すれば、移行対象決定部２３は、次回のＶＭ統計情報の受信予測時刻が、移行完了予測時刻よりも後であって、移行完了予測時刻に最も近い受信予測時刻に対応する業務装置２を選択する。なお、前記具体例では、ＩＰアドレス［10.0.0.2］の業務装置２が選択される。このように最終受信時刻に平均受信間隔を加算した時刻が早い業務装置２を選択することで、転送処理装置４の負荷軽減を早期に達成することができる。
【００９１】
（Ｓ１４）移行対象決定部２３は、Ｓ１３で選択した業務装置２、すなわち、次回のＶＭ統計情報の受信予測時刻が最も早い業務装置２が複数あるか（すなわち同時刻の業務装置２が複数あるか）否かを判定する。複数ある場合には、Ｓ１５に進み（Ｙｅｓ）、１つである場合には、処理を終了する（Ｎｏ）。
【００９２】
（Ｓ１５）移行対象決定部２３は、転送時刻テーブル１５を参照し、Ｓ１３で選択した業務装置２のうち、平均受信間隔変動値が最も小さい業務装置２を選択する。これにより、ＶＭ統計情報を次回受信する時刻として予測した時刻と実際にＶＭ統計情報を受信する時間との誤差を小さくすることができる。
【００９３】
（Ｓ１６）移行対象決定部２３は、割当てを移行することが可能な業務装置２が存在しないことを示すエラー処理を行う。かかるエラー処理は、例えば転送管理装置通信部２１を介して転送管理装置５にアラームを送信してもよいし、いかなる方法で行ってもよい。
【００９４】
ここで、移行対象決定部２３は、次回のＶＭ統計情報の受信予測時刻が、移行完了予測時刻よりも遅いという条件を満たす業務装置２のうち、例えば、転送量が最も大きい業務装置２を選択してもよい。これにより、業務装置２の割当ての移行による自装置の処理負担の軽減を効率的に行うことができる。また、他の例として、移行対象決定部２３は、かかる条件を満たす業務装置２のうち、例えば、前回転送量と前々回転送量との間の変動が最も小さい業務装置２を選択してもよい。これにより、割当ての移行先の転送処理装置４における動作の安定を図ることができる。
【００９５】
また、移行対象選択処理においては、業務装置２を複数選択してもよい。この場合には、次回のＶＭ統計情報の受信予測時刻が、移行完了予測時刻よりも遅い業務装置２のうち、受信予測時刻が、他の業務装置２の次回のＶＭ統計情報の受信予測時刻よりも移行完了予測時刻に近い（すなわち早い）業務装置２を選択すればよい。
【００９６】
さらに、移行対象決定部２３は、前述の条件を満たす業務装置２から、転送量の合計が所定値以上になるように業務装置２を複数選択してもよい。こうすることで、転送処理装置４の負荷が急上昇した場合にも、転送処理装置４の負荷を大きく低減させることができる。
【００９７】
次に、転送管理装置通信部２１が実行する移行要求送受信処理につき、図２２のフローチャートを参照しつつ説明する。
【００９８】
（Ｓ２１）転送管理装置通信部２１は、現在時刻を、割当て移行要求を送信時刻として記憶装置に記憶しておく。
【００９９】
（Ｓ２２）転送管理装置通信部２１は、転送管理装置５に対し、割当て移行要求を送信する。この割当て移行要求には、移行対象として選択された１つ以上の業務装置２のＩＰアドレスと、セッションＩＤが付されている。
【０１００】
（Ｓ２３）転送管理装置通信部２１は、転送管理装置５から、Ｓ２２の割当て移行要求に対する応答を受信する。
【０１０１】
（Ｓ２４）転送管理装置通信部２１は、Ｓ２３の応答が正常であるか、すなわち、割当て移行処理が正常に完了したか否かを判定する。応答が正常である場合には、Ｓ２５に進み（Ｙｅｓ）、応答が正常でない場合には、Ｓ２６に進む（Ｎｏ）。
【０１０２】
（Ｓ２５）転送管理装置通信部２１は、Ｓ２１で記憶しておいた割当て移行要求を送信時刻と、応答を受信した現在時刻との差分時間を、移行時間として算出する。
【０１０３】
（Ｓ２６）転送管理装置通信部２１は、割当て移行処理が失敗したことを示すエラー処理を行う。かかるエラー出力は、例えば転送管理装置通信部２１を介して転送管理装置５にアラームを送信してもよいし、いかなる方法で行ってもよい。
【０１０４】
なお、業務装置２の割当て移行処理によって新たに業務装置２を割当てられた側の転送処理装置４では、次のような処理が実行される。すなわち、転送管理装置通信部２１が、転送管理装置５から、業務装置２のＩＰアドレス及びセッションＩＤとともに、当該業務装置２が新たに割当てられた旨の通知を受信すると、業務装置管理部２２が、業務装置管理テーブル１１及びセッション管理テーブル１４に、当該業務装置２に対応するレコードを追加する。そして、転送管理装置通信部２１が、転送管理装置５に対し、転送処理装置４における業務装置追加処理を行った旨を応答する。
【０１０５】
ここで、転送処理装置４は、例えば、業務装置２の割当ての移行通知のみならず、転送管理装置５から様々なシステム構成情報を受信したときにも、自装置で保持する情報に反映させる処理を行う。例えば、転送処理装置４に割当てられた業務装置２で稼働するＶＭのＶＭ統計情報の転送先となる収集装置３に変更が生じた場合には、転送処理装置４は次のような処理を行う。すなわち、転送処理装置４は、転送管理装置５から、ＶＭの識別子及び変更後の収集装置３のＩＰアドレスを含んだ変更通知を受信すると、転送先テーブル１２における、受信した変更通知のＶＭ識別子に対応する収集装置３のＩＰアドレスを、変更後の収集装置３のＩＰアドレスに変更する。
【０１０６】
［転送管理装置の処理］
次に、転送管理装置５が備える各構成要素間において実行される処理シーケンスについて詳述する。
図２３は、転送処理装置４から定期的に負荷情報を受信した場合における処理を示す。
【０１０７】
転送処理装置通信部４２は、転送処理装置４から負荷情報を受信し（１）、受信した負荷情報を転送処理装置管理部４３に送信する（２）。転送処理装置管理部４３は、転送処理装置管理テーブル３１に対し受信した負荷情報を反映させる更新を行う（３）。そして、転送処理装置管理部４３は、転送処理装置通信部４２に対して負荷情報を更新した旨の応答をし（４）、転送処理装置通信部４２は、負荷情報の送信元の転送処理装置４に対し、負荷情報を更新した旨の応答を送信する（５）。
【０１０８】
図２４は、転送処理装置４から業務装置２の割当ての移行要求を受信した場合に、業務装置２の割当ての移行を行う処理を示す。
【０１０９】
転送処理装置通信部４２は、転送処理装置４から、１つ以上の業務装置２のＩＰアドレスとともに、当該業務装置２の割当てを他の転送処理装置４に移行させる要求を受信する（１）。転送処理装置通信部４２は、受信した業務装置２のＩＰアドレス及び当該要求の送信元の転送処理装置４のＩＰアドレスを割当て決定部４５に通知する（２）。割当て決定部４５は、転送処理装置管理部４３に対し、要求の送信元の転送処理装置４以外の転送処理装置４の負荷情報の要求を送信する（３）。転送処理装置管理部４３は、転送処理装置管理テーブル３１を参照し、各転送処理装置４の負荷情報を取得して、割当て決定部４５に送信する（４）。
【０１１０】
割当て決定部４５は、転送処理装置管理部４３から受信した、各転送処理装置４の負荷情報に基づき、業務装置２の割当ての移行先とする転送処理装置４を選択する移行先選択処理を実行する（５）。なお、この移行先選択処理の内容については図２５で後述する。そして、割当て決定部４５は、決定した業務装置２の移行先となる転送処理装置４のＩＰアドレスを、転送処理装置管理部４３に通知する（６）。
【０１１１】
転送処理装置管理部４２は、割当て決定部４５から通知された転送処理装置４のＩＰアドレスに基づき、割当てテーブル３２を更新する（７）。具体的には、移行対象の１つ以上の業務装置２のＩＰアドレスに対応する転送処理装置４のＩＰアドレスを、割当て決定部４５で選択された転送処理装置４のＩＰアドレスに変更する。そして、転送処理装置管理部４３は、この更新処理が完了した旨を、割当て決定部４５に応答する（８）。
【０１１２】
割当て決定部４５は、振分装置通信部４３に対し、業務装置２の割当てが移行されたことを示す通知の送信を要求する（９）。振分装置通信部４３は、振分装置６に対し、業務装置２の割当てが移行された通知、すなわち、業務装置２から受信したＶＭ統計情報の振り分け先の変更要求を送信する（１０）。この要求には、割当て決定部４５で選択された転送処理装置４のＩＰアドレス及び転送処理装置４から受信したセッションＩＤが付される。
【０１１３】
なお、振分装置６では、当該要求を受信すると、振り分け先テーブルのデータのうち、通知されたセッションＩＤに対応する転送処理装置４のＩＰアドレスを、通知された移行先の転送処理装置４のＩＰアドレスに変更する。そして、変更が完了したことを示す応答を転送管理装置５に返す。
【０１１４】
振分装置通信部４３は、振分装置６から振り分け先の変更が完了したことを示す応答を受信すると、その内容を割当て決定部４５に対して応答する（１１）。
【０１１５】
割当て決定部４５は、転送処理装置通信部４２に対し、割当て決定部４５で選択された転送処理装置４のＩＰアドレスを通知するとともに、業務装置２の割当て変更処理を行ったことを応答する（１２）。転送処理装置通信部４２は、業務装置２の割当ての移行元であった転送処理装置４に対し、割当て移行処理が完了した旨を応答する一方、割当て決定部４５から通知された転送処理装置４のＩＰアドレスを用いて、業務装置２の割当ての移行先となった転送処理装置４に対し、業務装置２の転送処理が割当てられたことの通知を送信する（１３）。
【０１１６】
ここで、転送管理装置５の割当て決定部４５における移行先選択処理につき、図２５のフローチャートを用いて説明する。
【０１１７】
割当て決定部４５は、転送処理装置管理部４３から、１つ以上の業務装置２の割当て移行要求の送信元の転送処理装置４以外の各転送処理装置４のＣＰＵ使用率及び変動大ＣＰＵ使用率を含んだ負荷情報を受信する（Ｓ３１）。そして、割当て決定部４５は、ＣＰＵ使用率が、共通情報テーブル３４に設定されているＣＰＵ使用率無条件割当閾値以下の転送処理装置４が存在するか否かを判定する（Ｓ３２）。割当て決定部４５は、ＣＰＵ使用率がＣＰＵ使用率無条件割当閾値以下の転送処理装置４があれば（Ｙｅｓ）、その中から最もＣＰＵ使用率が低い転送処理装置４を選択する（Ｓ３３）。なお、このＳ３３の処理は、例えば、新たに転送処理装置４が導入されたときに、新たな転送処理装置４に重点的に転送処理を割り当てることを主たる目的としている。一方、割当て決定部４５は、ＣＰＵ使用率がＣＰＵ使用率無条件割付閾値以下の転送処理装置４がなければ（Ｎｏ）、さらに、ＣＰＵ使用率が、共通情報テーブル３４に設定されているＣＰＵ使用率条件付割当閾値以下の転送処理装置４が存在するか否かを判定する（Ｓ３４）。そして、割当て決定部４５は、ＣＰＵ使用率がＣＰＵ使用率条件付割当閾値以下の転送処理装置４が存在するときには（Ｙｅｓ）、さらに、変動大ＣＰＵ使用率が、共通情報テーブル３４に設定されている変動大ＣＰＵ使用率閾値以下の転送処理装置４が存在するか否かを判定する（Ｓ３５）。割当て決定部４５は、変動大ＣＰＵ使用率が変動大ＣＰＵ使用率閾値以下の転送処理装置４が存在するときには、その中から、最も変動大ＣＰＵ使用率の低い転送処理装置４を選択する（Ｓ３６）。このＳ３６の処理により、転送量の変動が大きい転送処理を行っている割合が少ない転送処理装置４、即ち、比較的動作の安定した転送処理装置４を選択することができるため、移行先の転送処理装置４の動作が不安定になる可能性を低くすることができる。一方、前記Ｓ３４の判定において、ＣＰＵ使用率がＣＰＵ使用率条件付割当閾値以下の転送処理装置４が存在しないときには（Ｎｏ）、割当て決定部４５は、いずれの転送処理装置４も選択せずに処理を終了する。これにより、ＣＰＵ使用率が高い転送処理装置４しか存在しない場合には、業務装置２の割当て移行処理自体を行わないものとすることができる。同様に、前記Ｓ３５の判定において、変動大ＣＰＵ使用率が変動大ＣＰＵ使用率合計以下の転送処理装置４が存在しないときにも（Ｎｏ）、いずれの転送処理装置４も選択せずに処理を終了する。これにより、かりにＣＰＵ使用率が比較的低い転送処理装置４が存在する場合でも、動作が不安定な転送処理装置４しか存在しない場合（換言すれば、ＣＰＵ使用率が急に上昇する蓋然性のある転送処理装置４しか存在しない場合）には、業務装置２の割当て移行処理自体を行わないものとすることができる。なお、このようにいずれの転送処理装置４も選択せずに処理を終了するときには、例えばエラー処理をするようにしてもよい。
【０１１８】
なお、割当て決定部４５は、割当ての移行対象の業務装置２が複数ある場合には、それぞれの業務装置２について、前述の移行先選択処理を繰り返し、割当ての移行先とする転送処理装置４を選択する。
【０１１９】
また、転送管理装置５は、業務装置２の割当てを移行させる処理ではなく、例えば、ＶＭ管理装置１から、新たな業務装置２が増設された内容のシステム構成情報を受信した場合等において、転送処理装置４に新たな業務装置２を割当てるとき等にも、前記と同様の処理によって、割当て先となる転送処理装置４を決定する。そして、割当てテーブル３２にその変更を反映させる更新を行い、転送処理装置４に対して、業務装置２を割当てた旨の通知を送信する。また、例えば、業務装置２がシステムから削除されたとき等においても、割当てテーブル３２にその変更を反映させる更新を行うとともに、その業務装置２が割当てられている転送処理装置４に対し、業務装置２の削除通知を送信する。さらに、例えば、転送処理装置４に割当てられた業務装置２で稼働するＶＭのＶＭ統計情報の転送先となる収集装置３に変更が生じた場合には、転送管理装置５は、転送先テーブル３３にその変更を反映させた上で、その業務装置２が割当てられた転送処理装置４に対し、収集装置３の変更通知を送信する。
【０１２０】
［まとめ］
以上のような転送処理装置４及び転送管理装置５の処理によれば、次のような作用及び効果を奏する。
【０１２１】
すなわち、転送処理装置４の業務装置管理部２２は、業務装置２の割当てを他の業務装置２に移行させるときに、業務装置２からのＶＭ統計情報の受信状態に応じて、業務装置管理テーブル１１の移行ステータスを変更する。そして、移行対象決定部２３は、この移行ステータスに応じて、移行対象とする業務装置２を決定する。このため、移行対象決定部２３は、業務装置２の状態に鑑みて適切な業務装置２を選択することができる。その結果、システム全体として、複数の転送処理装置４の情報処理資源を有効活用し、データの転送処理を効率良く行うことが可能となる。
【０１２２】
ここで、前記の転送処理装置４の処理によれば、業務装置２のそれぞれについて次にＶＭ統計情報を受信する時刻を予測するとともに、振分装置６における割当ての移行処理が完了する時刻を予測する。そして、ＶＭ統計情報を受信する時刻が割当ての移行処理が完了する時刻よりも後であり、且つ、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い業務装置２が、移行対象として選択される。このため、割当ての移行処理が完了するよりも前に、移行対象として決定した業務装置２からのＶＭ統計情報の受信が始まってしまうという不具合が発生する確率を低減させることができる。さらに、早期に受信するデータの転送処理が他の転送元装置に移行されることとなるため、転送元装置の負荷軽減が早期に効率良く行われる。なお、この機能は、前述の移行ステータスの変更処理の有無に関わらず実現することが可能である。
【０１２３】
例えば、業務装置２がＸ台存在し、各業務装置２が３０秒に１回の頻度でＶＭ統計情報を送信する場合において、業務装置２の割当て移行処理の移行時間が１秒かかる動作環境を想定する。この場合、単にいずれかの業務装置２を移行対象として選択する場合には、（１/Ｘ）*（Ｘ/３０）＝１/３０（約３．２％）の割合で、割当ての移行処理が完了するよりも前に、移行対象として決定した業務装置２からのＶＭ統計情報の受信が始まってしまう状況が発生し得る。しかし、前記の転送処理装置４の処理によれば、かかる状況が発生する割合をほぼ０に近づけることができる。
【０１２４】
ここで、前記の処理を行ってもなお、移行処理が完了するよりも前に移行対象として決定した業務装置２からのＶＭ統計情報の受信が始まってしまった場合には、転送処理装置４は、平均移行時間データ１６をより長くするように修正してもよい。この処理を、図２６に示す。具体的には、定期的なＶＭ統計情報の収集処理において、収集部２６は、業務装置２からＶＭ統計情報を受信する（１）。この処理は、図１８の（１）の処理に対応する。そして、収集部２６は、業務装置管理テーブル１１におけるＶＭ統計情報の送信元の業務装置２の移行ステータスを参照し、移行ステータスが「移行中」であることを特定した場合（２）、移行時間管理部２５に対してアラームを送信する（３）。一方、移行時間管理部２５は、アラームを受信すると、平均移行時間データ１６の時間をより長く変更する（４）。こうすることにより、図２１のＳ１２において業務装置２の割当ての移行処理が完了する時刻として予測される時刻が、より遅くなることとなる。このため、次回に業務装置２の割当て移行処理が行われるときに、次回の転送対象データの受信がより遅い業務装置２が選択されることとなる。したがって、移行処理が完了するよりも前に移行対象として決定した業務装置２からのＶＭ統計情報の受信が始まってしまう確率を、より低くすることができる。なお、平均移行時間データ１６の時間をどれ位長くするかを決定するときには、いかなる方法を適用してもよい。例えば、所定時間を固定値として予め記憶手段に設定しておき、その所定時間だけ長くしてもよい。また、平均移行時間が全体として長くなる傾向にある場合には、平均移行時間データ１６の平均移行時間を直接変更するのではなく、平均移行時間の算出に用いる更新係数をより大きい値に変更し、より新しい移行時間が反映されるようにしてもよい。
【０１２５】
一方、前述した転送管理装置５の処理によれば、業務装置２の割当ての移行処理において、転送処理装置４で適切な業務装置２が移行対象として選択されることに加え、移行先とする転送処理装置４も適切に選択することができる。具体的には、転送管理装置５は、転送処理装置４の負荷情報を定期的に受信して転送処理装置管理テーブル３１に格納しておき、この負荷情報に基づいて、移行先とする転送処理装置４を選択する。ここで、転送管理装置５は、転送処理装置４のＣＰＵ使用率のみならず、変動大ＣＰＵ使用率を参照し、変動大ＣＰＵ使用率が閾値よりも低い転送処理装置４を選択することで、比較的動作の安定した転送処理装置４を選択することができる。
【０１２６】
なお、前記実施例では、転送処理装置４において移行対象とする業務装置２を選択していた。しかし、例えば、かかる業務装置２の選択処理も含めて転送管理装置５側で行うことも可能である。すなわち、転送処理装置４は、業務装置管理テーブル１１や共通情報データ１３の内容を転送管理装置５に通知するのみとし、転送管理装置５において、これらの情報に基づき、割当ての移行対象とする業務装置２を選択するようにしてもよい。
【０１２７】
さらには、転送管理装置５を含まないシステム構成において、転送処理装置４が、自装置が転送処理を行っている業務装置２の割当てを、他の転送処理装置に移行させることも考えられる。かかる場合においても、転送処理装置４において移行対象の業務装置を選択する構成を適用することは可能である。
【０１２８】
また、振分装置６を用いてＶＭ統計情報を振り分けるシステム構成は一例に過ぎず、例えば、業務装置２は、ＶＭ統計情報を直接転送処理装置４に対して送信してもよい。この場合、ＶＭ統計情報の送信先が直接業務装置２に設定され、管理されることとなる。そして、転送管理装置５は、割当て移行通知を、業務装置２に対して送信し、業務装置２が、自装置におけるＶＭ統計情報の送信先の設定を変更することとなる。
【０１２９】
［ハードウェア構成］
図２７は、かかる技術が具現化された転送処理装置及び転送管理装置のハードウェア構成の一例を示す。本装置は、ＣＰＵ９０１、メモリ９０２、ストレージ９０３、可搬記憶媒体駆動装置９０４、入出力装置９０５及び通信インタフェース９０６を備える。
【０１３０】
ＣＰＵ９０１は、制御ユニット、演算ユニット及び命令デコーダ等を含み、実行ユニットが、命令デコーダで解読されたプログラムの命令に従い、制御ユニットより出力される制御信号に応じ、演算ユニットを用いて算術・論理演算を実行する。なお、ＣＰＵ９０１は、ＣＰＵコアが複数設けられている構成でもよい。
【０１３１】
メモリ９０２は、例えばＲＡＭ（Random Access Memory）等であり、ＣＰＵ９０１で実行されるプログラムがロードされるとともに、ＣＰＵ９０１の処理に用いるデータが格納されるメインメモリである。また、ストレージ９０３は、例えばＨＤＤ（Hard Disk Drive）やフラッシュメモリ等であり、プログラムや各種データが格納される。可搬記憶媒体駆動装置９０４は、可搬記憶媒体９０７に記憶されたデータやプログラムを読み出す装置である。可搬記憶媒体９０７は、例えば磁気ディスク、光ディスク、光磁気ディスク又はフラッシュメモリ等である。なお、物理ＣＰＵ９０１は、メモリ９０２やストレージ９０３と協働しつつ、ストレージ９０３や可搬記憶媒体９０７に格納されたプログラムを実行する。なお、物理ＣＰＵ９０１が実行するプログラムや、アクセス対象となるデータは、当該装置と通信可能な他の装置に格納されていてもよい。
【０１３２】
入出力装置９０５は例えばキーボード等やディスプレイ等であり、ユーザ操作等による動作命令を受け付ける一方、情報処理装置による処理結果を出力する。通信インタフェース９０６は例えばＬＡＮカード等であり、外部とのデータ通信を可能にする。前述した装置の各構成要素は、バス９０８で接続されている。
【０１３３】
なお、前述した情報処理装置の機能的構成及び物理的構成は、前述の態様に限るものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。
【０１３４】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置に転送する転送処理装置に、
前記複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出し、
前記複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出し、
算出した前記受信予測時刻のうち、算出した前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、該転送処理装置から他の転送処理装置に移行させる
処理を実行させる情報処理プログラム。
【０１３５】
（付記２）前記転送元装置に関するデータ転送処理の割当てを他の転送処理装置に移行させる処理は前記受信予測時刻のうち、前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置の中で、データの転送量が他の転送元装置よりも大きい転送元装置に関するデータ転送処理の割当てを移行させる付記１記載の情報処理プログラム。
【０１３６】
（付記３）前記複数の転送元装置のいずれかからデータを受信したときに、該転送元装置につき、データの受信時刻及び前回のデータの受信時に記憶した前記最終受信時刻の差分時間を算出し、当該差分時間に基づいてデータの前記受信間隔を算出して記憶手段に記憶する付記１又は２に記載の情報処理プログラム。
【０１３７】
（付記４）前記受信間隔を算出したときに、前記受信間隔の変動を示す値を算出して記憶手段に記憶し、
前記転送元装置に関するデータ転送処理の割当てを他の転送処理装置に移行させる処理は、前記受信予測時刻のうち、前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置の中で、前記変動を示す値が他の転送元装置よりも小さい転送元装置に関するデータ転送処理の割当てを移行させる付記３記載の情報処理プログラム。
【０１３８】
（付記５）前記転送元装置に関するデータ転送処理の割当てを他の転送処理装置に移行させる処理は、移行に要した時間を計測し、当該計測時間に基づいた移行時間を算出して記憶手段に記憶する付記１〜４のいずれか１つに記載の情報処理プログラム。
【０１３９】
（付記６）前記移行処理中に前記移行対象とする転送元装置からデータを受信したときに、記憶手段に記憶された前記移行時間を修正して更新する付記１〜５のいずれか１つに記載の情報処理プログラム。
【０１４０】
（付記７）前記複数の転送元装置のいずれかからデータを受信したときに、受信したデータの転送量の履歴を記憶手段に記憶しておき、該履歴においてデータの転送量の変動が所定閾値よりも大きい場合、該転送元装置の前記移行可否情報を、割当て移行不可とする付記１〜６のいずれか１つに記載の情報処理プログラム。
【０１４１】
（付記８）前記転送元装置に関するデータ転送処理の割当てを他の転送処理装置に移行させる処理は、前記受信予測時刻のうち、前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置のうち、データの転送量の合計が所定値以上になるように転送元装置を複数選択する付記１〜７のいずれか１つに記載の情報処理プログラム。
【０１４２】
（付記９）前記転送元装置に関するデータ転送処理の割当てを他の転送処理装置に移行させる処理は、前記受信予測時刻のうち、前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置の中で、データの転送量の変動が他の転送元装置よりも小さい転送元装置を選択する付記１〜８のいずれか１つに記載の情報処理プログラム。
【０１４３】
（付記１０）複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置に転送する転送処理装置であって、
前記複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出する手段と、
前記複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出する手段と、
算出した前記受信予測時刻のうち、算出した前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、該転送処理装置から他の転送処理装置に移行させる手段と
を備えた転送処理装置。
【０１４４】
（付記１１）複数の転送元装置から所定時間ごとに送信されるデータを対応する転送先装置に転送する転送処理装置が、
前記複数の転送元装置のそれぞれについて、データの最終受信時刻及びデータの受信間隔に基づいて、将来のデータの受信予測時刻を算出し、
前記複数の転送元装置のうちいずれかの転送元装置に関するデータ転送処理の割当てを該転送処理装置から他の転送処理装置に移行する際に要する移行時間に基づいて移行完了予測時刻を算出し、
算出した前記受信予測時刻のうち、算出した前記移行完了予測時刻よりも後であって、他の転送元装置からのデータの受信予測時刻よりも該移行完了予測時刻に近い受信予測時刻に対応する転送元装置に関するデータ転送処理の割当てを、該転送処理装置から他の転送処理装置に移行させる
手順を実行する情報処理方法。
【符号の説明】
【０１４５】
１…ＶＭ管理装置、２…業務装置、３…収集装置、４…転送処理装置、５…転送管理装置、１１…業務装置管理テーブル、１２…転送先テーブル、１３…共通情報テーブル、１４…セッション管理テーブル、１５…転送時刻テーブル、１６…平均移行時間データ、２１…転送管理装置通信部、２２…業務装置管理部、２３…移行対象決定部、２４…転送時刻管理部、２５…移行時間管理部、２６…収集部、２７…転送部、２８…送信部、３１…転送処理装置管理テーブル、３２…割当てテーブル、３３…転送先テーブル、３４…共通情報テーブル、４１…ＶＭ管理装置通信部、４２…転送処理装置通信部、４３…振分装置通信部、４４…転送処理装置管理部、４５…割当て決定部
【図１】
0005609730.tif 000002
【図２】
0005609730.tif 000003
【図３】
0005609730.tif 000004
【図４】
0005609730.tif 000005
【図５】
0005609730.tif 000006
【図６】
0005609730.tif 000007
【図７】
0005609730.tif 000008
【図８】
0005609730.tif 000009
【図９】
0005609730.tif 000010
【図１０】
0005609730.tif 000011
【図１１】
0005609730.tif 000012
【図１２】
0005609730.tif 000013
【図１３】
0005609730.tif 000014
【図１４】
0005609730.tif 000015
【図１５】
0005609730.tif 000016
【図１６】
0005609730.tif 000017
【図１７】
0005609730.tif 000018
【図１８】
0005609730.tif 000019
【図１９】
0005609730.tif 000020
【図２０】
0005609730.tif 000021
【図２１】
0005609730.tif 000022
【図２２】
0005609730.tif 000023
【図２３】
0005609730.tif 000024
【図２４】
0005609730.tif 000025
【図２５】
0005609730.tif 000026
【図２６】
0005609730.tif 000027
【図２７】
0005609730.tif 000028