(57)【要約】      （修正有）【課題】モデル検査方式を用いたソースコード検証システムにおいて、分散処理により検証処理を分散させることで、検証処理時間を短縮する負荷分散システムを提供する。【解決手段】入力情報重み付け部２３が、プログラム情報やモデル化情報といった、モデル検査方式のプロセスのインプットとなる情報から各プロセスの重みを定数化してモデル検査のプロセス単位で重み付けを行い、重み付けされたプロセスを基にジョブを生成する。装置別重み合計値算出部４１が、プロセス毎の重みの合計値をジョブの重みとし、分散先装置決定部４２が、各ジョブの重みと分散先の装置が持つ重み合計値に基づき、次に投入するジョブの分散先装置を決定してジョブを投入して各処理装置にジョブを分散することで、分散先装置に対して負荷を均等に分散する。【選択図】図１
2012043010.tif 000002
【特許請求の範囲】
【請求項１】
ソースコード及び論理モデルを入力情報として受け取り、前記入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施する処理装置と、
プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配する分散装置と
を含む
負荷分散システム。
【請求項２】
請求項１に記載の負荷分散システムであって、
前記処理装置は、
ソースコード及び論理モデルを前記入力情報として受け取る入力情報格納部と、
前記入力情報を基に、プロセス毎の重み計算式を検索するプロセス検索部と、
前記入力情報と、発見された重み計算式を基に、プロセス毎の重みを算出する入力情報重み付け部と
を具備する
負荷分散システム。
【請求項３】
請求項１又は２に記載の負荷分散システムであって、
前記分散装置は、
分散先装置の候補となる各処理装置が持つプロセス毎の重みを合計して、ジョブの重みを算出する装置別重み合計値計測部と、
ジョブの重みに基づいて分散先装置を決定する分散先装置決定部と、
前記決定された分散先装置に対して、ジョブを投入するジョブ分散部と
を具備する
負荷分散システム。
【請求項４】
請求項１乃至３のいずれか一項に記載の負荷分散システムで使用される処理装置。
【請求項５】
請求項１乃至３のいずれか一項に記載の負荷分散システムで使用される分散装置。
【請求項６】
処理装置において、ソースコード及び論理モデルを入力情報として受け取り、前記入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施することと、
分散装置において、プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配することと
を含む
負荷分散方法。
【請求項７】
請求項６に記載の負荷分散方法であって、
前記処理装置において、
前記入力情報を基に、プロセス毎の重み計算式を検索することと、
前記入力情報と、発見された重み計算式を基に、プロセス毎の重みを算出することと
を更に含む
負荷分散方法。
【請求項８】
請求項６又は７に記載の負荷分散方法であって、
前記分散装置において、
分散先装置の候補となる各処理装置が持つプロセス毎の重みを合計して、ジョブの重みを算出することと、
ジョブの重みに基づいて分散先装置を決定することと、
前記決定された分散先装置に対して、ジョブを投入することと
を更に含む
負荷分散方法。
【請求項９】
請求項６乃至８のいずれか一項に記載の負荷分散方法における処理装置としての動作をプロセッサに実行させるためのプログラム。
【請求項１０】
請求項６乃至８のいずれか一項に記載の負荷分散方法における分散装置としての動作をプロセッサに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷分散システムに関し、特にモデル検査方式を用いたソースコード検証システムにおける負荷分散システムに関する。
【背景技術】
【０００２】
従来のモデル検査方式を用いたソースコード検証システムでは、検証対象となるソースコード規模に関わらず同一の装置及びプロセッサ上で検証処理を行うため、ソースコード規模が大きい場合に多大な検証時間が必要となっていた。
【０００３】
モデルとは、ソースコードを「Ｃｏｎｔｒｏｌ  Ｆｌｏｗ  Ｇｒａｐｈ」に変換後、論理式化したものである。
【０００４】
モデル検査方式とは、モデルを利用して、プログラム実行時における全てのデータパターン、全ての処理パスを網羅して検証する方式である。
【０００５】
ソースコード検証システムとは、プログラムのビルド（ｂｕｉｌｄ）前、もしくはビルド時に、プログラムを動かすことなく、記述ミスや動作時の不具合を発見することを可能とするシステムである。
【０００６】
ビルドとは、ソースコードのコンパイルやライブラリのリンク等を行い、最終的な実行可能ファイルを作成することである。
【０００７】
関連する技術として、特許文献１（特開２００４−２８７８０１号公報）に情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラムが開示されている。この関連技術では、プロセッサの空き状況から分散先装置を決定する。また、プロセッサの空き状況から分散先装置を決定する。また、候補コンピュータの転送状態と未負荷状態資源の状態によって管理する。また、候補コンピュータの転送状態と未負荷状態資源の状態によって管理する。また、単位時間に処理すべき情報量を計測することにより、要求された情報処理の負荷の大きさを算出する。また、負荷の大きさ、稼働状況監視結果、他装置性能情報によって決定する。また、主コンピュータから候補コンピュータに送付されるデータ及び処理結果のサイズを基に算出する。また、予め複数のタスク実行条件の各々に応じて定められている係数値を重み付けする。
【０００８】
また、特許文献２（特開２００９−０５３７５６公報）にソースコード検証処理時間計算装置及び方法が開示されている。この関連技術では、ソースコード検証処理時間計算装置は、プロパティ抽出部とプロパティカウント部とを備える。プロパティ抽出部は、ソースコードをモデル化したモデル情報からプロパティ情報を抽出する。プロパティカウント部は、プロパティ情報に基づいてソースコードのソースコード検証のタイムアウト時間を演算する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−２８７８０１号公報
【特許文献２】特開２００９−０５３７５６公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、モデル検査方式を用いたソースコード検証システムにおいて、分散処理により検証処理を分散させることで、検証処理時間を短縮する負荷分散システムを提供することである。
【００１１】
分散処理とは、複数のコンピュータ又はプロセッサを利用して、計算処理を分散させることである。
【課題を解決するための手段】
【００１２】
本発明の負荷分散システムは、処理装置と、分散装置とを含む。処理装置は、ソースコード及び論理モデルを入力情報として受け取り、入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施する。分散装置は、プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配する。
【００１３】
本発明の負荷分散方法では、処理装置において、ソースコード及び論理モデルを入力情報として受け取り、入力情報を基に、モデル検査のプロセスによって異なる重みの計算を実施することと、分散装置において、プロセス毎の重みからジョブの重みを求め、ジョブの重みから分散先の処理装置を決定し、決定された分散先の処理装置にジョブを分配することとを含む。
【００１４】
本発明のプログラムは、上記の負荷分散方法における処理装置及び分散装置のいずれかの処理を、プロセッサに実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。
【発明の効果】
【００１５】
分散先の処理装置に対して、ほぼ均等に負荷を分散できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の負荷分散システムの構成例を示す図である。
【図２】本発明における負荷分散処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１７】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
図１に示すように、本発明の負荷分散システムは、入力装置１と、処理装置２と、記憶装置３と、分散装置４を含む。
【００１８】
［全体構成］
入力装置１は、ソースコードや論理モデル等の情報（入力情報）を入力するための装置である。処理装置２は、プロセス単位で重み付けを行う。記憶装置３は、重み付けに関する情報を記憶する。分散装置４は、重み付けされたプロセスを基にジョブを生成し、プロセス毎の重みの合計値をジョブの重みとし、各ジョブの重みに応じて該当する分散先の処理装置にジョブを分配する。
【００１９】
なお、処理装置２は、複数でも良い。記憶装置３は、処理装置２と一体化していても良い。処理装置２と分散装置４は、互いに独立しているものとする。
【００２０】
［ジョブとプロセスの関係］
１つの処理について連続して実行される複数のプロセスは、１つのジョブとして扱われる。すなわち、複数のプロセスが集まって１つのジョブとなる。無論、１つのジョブにつき、プロセスが１つの場合もある。
【００２１】
［各装置の構成］
処理装置２は、入力情報格納部２１と、プロセス検索部２２と、入力情報重み付け部２３を備える。
【００２２】
記憶装置３は、入力情報記憶部３１と、プロセス別重み付けルール記憶部３２と、重み記憶部３３を備える。
【００２３】
分散装置４は、装置別重み合計値算出部４１と、分散先装置決定部４２と、ジョブ分散部４３を備える。
【００２４】
入力情報格納部２１は、入力装置１から与えられたソースコードや論理モデル等の情報を、入力情報記憶部３１に格納する。
【００２５】
なお、入力情報格納部２１は、入力装置１から与えられた全ての情報の中から、ソースコードや論理モデル等の情報を必要に応じて抽出して、入力情報記憶部３１に格納するようにしても良い。例えば、入力情報格納部２１は、予め設定された条件に従い、特定のプログラム言語で記述されたソースコードや論理モデル等の情報のみ抽出して、入力情報記憶部３１に格納するものでも良い。ソースコードや論理モデルの種別は、文書構造や拡張子で判断することが可能である。
【００２６】
また、入力情報格納部２１は、入力情報を入力情報記憶部３１に格納した旨、又は入力情報自体を、プロセス検索部２２に通知するようにしても良い。
【００２７】
プロセス検索部２２は、定期的に入力情報記憶部３１を監視して、又は入力情報格納部２１からの通知を基に、入力情報記憶部３１に格納された情報を取得する。
【００２８】
プロセス検索部２２は、入力情報記憶部３１に格納された情報を基に、プロセス別重み付けルール記憶部３２に格納された重み計算式（重み付けルール）の情報群の中から、該当する重み計算式の情報を検索し、発見された重み計算式の情報を入力情報重み付け部２３に通知する。
【００２９】
入力情報重み付け部２３は、プロセス検索部２２から通知された、入力情報記憶部３１に格納された情報と、プロセス別重み付けルール記憶部３２に格納された重み計算式の情報から、プロセス毎に重みを算出し、算出された重みを重み記憶部３３に格納する。
【００３０】
ここでは、入力情報重み付け部２３は、重み計算式に基づき、プログラム情報やモデル化情報といった、モデル検査方式のプロセスのインプットとなる情報から、各プロセスの重みを定数化する。
【００３１】
また、入力情報重み付け部２３は、算出された重みを重み記憶部３３に格納した旨、又は算出された重み自体を、装置別重み合計値計測部４１に通知するようにしても良い。
【００３２】
入力情報記憶部３１は、入力装置１から与えられたソースコードや論理モデル等の情報を記憶する。
【００３３】
プロセス別重み付けルール記憶部３２は、モデル検査のプロセス毎に用意されている重み計算式の情報を記憶する。
【００３４】
重み記憶部３３は、入力情報重み付け部２３で算出された重みを記憶する。
【００３５】
装置別重み合計値計測部４１は、定期的に重み記憶部３３を監視して、又は入力情報重み付け部２３からの通知を基に、重み記憶部３３に格納された重みを取得する。
【００３６】
なお、実際には、分散装置４が重み記憶部３３を備えていても良い。すなわち、分散装置４が、複数の処理装置が持つプロセス毎の重みを一元管理するようにすることも可能である。この場合、重み記憶部３３は、処理装置の識別情報と、その処理装置の重みとを対応付けて記憶するものとする。
【００３７】
装置別重み合計値計測部４１は、分散先装置の候補となる各処理装置が持つプロセス毎の重みの合計値を算出する。ここでは、装置別重み合計値計測部４１は、処理装置毎に、ジョブ単位で、重み記憶部３３に格納されたプロセス毎の重みから、重み合計値を算出する。算出された重み合計値は、それらのプロセスにより構成されるジョブの重みとなる。
【００３８】
分散先装置決定部４２は、装置別重み合計値計測部４１で算出された重み合計値（ジョブの重み）から分散先装置を決定する。ここでは、分散先装置決定部４２は、算出された重み合計値が最も小さい処理装置を、分散先装置として決定する。
【００３９】
なお、実際には、分散先装置決定部４２は、算出された重み合計値に応じて（重み合計値の大きさの順に）、分散先の処理装置の優先度と、その処理装置に振り分けるジョブの量を決定するようにしても良い。
【００４０】
ジョブ分散部４３は、分散先装置決定部４２で決定した分散先装置に対して、ジョブを投入する。
【００４１】
なお、ジョブ分散部４３は、投入するジョブについて、プロセス毎の重みに応じてジョブを生成するようにしても良い。例えば、ジョブ分散部４３は、各ジョブの重みが均等になるように、各プロセスを組み合わせてジョブを生成しても良い。或いは、性能の低い処理装置用に重みの小さいプロセスを組み合わせて負荷の小さいジョブを生成したり、高性能な処理装置用に重みの大きいプロセスを組み合わせて負荷の大きいジョブを生成したりしても良い。
【００４２】
［ハードウェアの例示］
入力装置１の例として、キーボードやキーパッド、画面上のキーパッド、タッチパネル（ｔｏｕｃｈ  ｐａｎｅｌ）、タブレット（ｔａｂｌｅｔ）、又は、ＩＣチップや記憶媒体を読み込む読取装置等が考えられる。或いは、入力装置１は、外部の入力装置や記憶装置から情報を取得するためのインターフェース（Ｉ／Ｆ：ｉｎｔｅｒｆａｃｅ）でも良い。
【００４３】
処理装置２、記憶装置３、及び分散装置４の例として、ＰＣ（パソコン）、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、処理装置２及び分散装置４は、プロセッサでも良い。記憶装置３は、メモリでも良い。また、処理装置２、記憶装置３、及び分散装置４は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、処理装置２、記憶装置３、及び分散装置４は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））でも良い。
【００４４】
他にも、記憶装置３の例として、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を用いたストレージ装置等が考えられる。
【００４５】
また、入力装置１、処理装置２、記憶装置３、及び分散装置４を接続するネットワークの例として、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、バックボーン（Ｂａｃｋｂｏｎｅ）、ケーブルテレビ（ＣＡＴＶ）回線、固定電話網、携帯電話網、ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ａ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、専用線（ｌｅａｓｅ  ｌｉｎｅ）、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、シリアル通信回線、データバス等が考えられる。
【００４６】
入力情報格納部２１、プロセス検索部２２、入力情報重み付け部２３、装置別重み合計値算出部４１、分散先装置決定部４２、及びジョブ分散部４３の例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））等が考えられる。
【００４７】
入力情報記憶部３１、プロセス別重み付けルール記憶部３２、及び重み記憶部３３の例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のリムーバブルディスクや、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等の記憶媒体（メディア）等が考えられる。
【００４８】
但し、実際には、これらの例に限定されない。
【００４９】
［負荷分散処理］
次に、図２のフローチャートを参照して、本発明の負荷分散処理について、詳細に説明する。
【００５０】
（１）ステップＡ１
まず、入力情報格納部２１は、入力装置１から与えられた情報を受け取り、受け取った情報を入力情報記憶部３１に格納する。
【００５１】
（２）ステップＡ２
次に、プロセス検索部２２は、入力情報記憶部３１に格納されている情報を基に、プロセス別重み付けルール記憶部３２から、プロセス毎の重み計算式を検索する。
【００５２】
（３）ステップＡ３
次に、入力情報重み付け部２３は、入力情報記憶部３１に格納されている情報と、プロセス別重み付けルール記憶部３２から抽出された重み計算式を基に、プロセス毎の重みを算出する。算出された重みは、重み記憶部３３に格納する。
【００５３】
（４）ステップＡ４
次に、装置別重み合計値算出部４１は、各分散先の処理装置が保持しているプロセス毎の重み合計値を算出する。具体的には、装置別重み合計値計測部４１は、処理装置毎に、ジョブ単位で、重み記憶部３３に格納されたプロセス毎の重みの合計値を算出し、この重み合計値をジョブの重みとする。
【００５４】
（５）ステップＡ５
次に、分散先装置決定部４２は、装置別重み合計値算出部４１で算出した重み合計値（ジョブの重み）から、分散先装置を決定する。このとき、ジョブの重みが一番小さくなる装置を分散先装置として決定する。
【００５５】
（６）ステップＡ６
次に、ジョブ分散部４３は、分散先装置決定部４２で決定した分散先の処理装置へジョブを投入する。
【００５６】
［重み計算式（重み付けルール）の例］
本発明の負荷分散システムでは、重み計算式（重み付けルール）として、最初に実行したプロセスの入力規模、実行時間から、係数値を計算・決定する。
【００５７】
ここでは、モデル検査方式のプロセスは、以下の通りである。
「ソースコードのモデル化」→「モデル検査」
【００５８】
各プロセスの入力情報は、以下の通りである。
ソースコードのモデル化：ソースコード
モデル検査            ：モデル
【００５９】
各プロセスの入力規模は、以下の通りである。
処理１：ソースコード＝３、モデル＝５
処理２：ソースコード＝４、モデル＝７
【００６０】
各プロセスの実行時間は、以下の通りである。
処理１：ソースコードのモデル化＝５分、モデル検査＝１０分
【００６１】
処理１における各プロセスの入力規模×実行時間を算出する。
ソースコードのモデル化：３×５＝１５
モデル検査            ：５×１０＝５０
【００６２】
処理１における各プロセスの比を算出する。
ここで算出された数値を係数値とする。
「ソースコードのモデル化」：「モデル検査」＝１５：５０＝３：１０
【００６３】
処理２の入力規模に係数値を掛け合わせて、各プロセスの重みを算出する。
ソースコードのモデル化：４×３＝１２
モデル検査            ：７×１０＝７０
【００６４】
以降の処理についても同様に各プロセスの重みを算出する。
【００６５】
［実施結果］
本発明により、分散先の処理装置に対して、ほぼ均等に負荷を分散できるようになる。
【００６６】
また、従来手法では付与できなかった重みを、モデル検査の各プロセスに付与、定数化できるようになる。その結果、分散先の処理装置に対して負荷を均等に配分し、全体的な処理時間の短縮を可能にする。
【００６７】
［本発明の特徴］
本発明は、モデル検査における分散装置の負荷分散方法に関する。
【００６８】
本発明では、モデル検査方式を用いたソースコード検証システムの分散処理方法について、モデル検査のプロセス単位で重み付けを行い、重み付けされたプロセスを基にジョブを生成し、プロセス毎の重みの合計値をジョブの重みとし、各ジョブの重みに応じて各処理装置にジョブを分散することで、分散先装置に対して負荷を均等に分散する手法を用いる。
【００６９】
具体的には、プログラム情報やモデル化情報といった、モデル検査方式のプロセスのインプットとなる情報から各プロセスの重みを定数化し、分散先の処理装置が持つ重み合計値から次に投入するジョブの分散先装置を決定する。これにより、負荷の分散を均等化することを可能とする。
【００７０】
本発明では、入力ソースコード規模、モデルサイズを利用する。
【００７１】
本発明では、モデル検査の各プロセスをそれぞれ１つの処理単位として分散実行する。
【００７２】
本発明では、分散先装置が保持している各プロセスの重み合計値をジョブの重みとし、ジョブの重みによって分散先装置を決定し、分散先装置を管理する。
【００７３】
本発明では、モデル検査の各プロセス及び各プロセスのインプット情報から、負荷の大きさを算出する。例えば、モデルサイズとモデル検査プロセスに割り当てられているデフォルト（初期設定）の係数から、負荷の大きさを算出する。
【００７４】
本発明では、ソースコード規模、モデルサイズから計測した重みに対し、モデル検査の各プロセスに与えられる係数値を掛け合わせる。
【００７５】
本発明では、各プロセスのインプット情報の大きさと実行時間を掛け合わせたものに対し、各プロセスの比を取ることで、係数値を決定する。
【００７６】
本発明では、モデル検査方式のプロセスのインプット情報から、各プロセスの重みを定数化して分散処理を行うことで、分散先装置に対して均等に負荷配分を行う。
【００７７】
本発明に係る負荷分散装置は、処理装置内に設置され、モデル検査のプロセスによって異なる重みの計算を実施する。
【００７８】
或いは、本発明に係る負荷分散装置は、処理装置内に設置され、モデル検査のプロセスによって異なる重みの計算式の情報を提供する。
【００７９】
或いは、本発明に係る負荷分散装置は、分散装置内に設置され、装置毎に存在するジョブの重みを計算する。
【００８０】
或いは、本発明に係る負荷分散装置は、分散装置内に設置され、装置毎のジョブの重みから分散先装置を決定する。
【００８１】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【００８２】
１…  入力装置
２…  処理装置
２１…  入力情報格納部
２２…  プロセス検索部
２３…  入力情報重み付け部
３…  記憶装置
３１…  入力情報記憶部
３２…  プロセス別重み付けルール記憶部
３３…  重み記憶部
４…  分散装置
４１…  装置別重み合計値算出部
４２…  分散先装置決定部
４３…  ジョブ分散部
【図１】
2012043010.tif 000003
【図２】
2012043010.tif 000004