(57)【要約】【課題】複数の計算機を用いた分散処理により、各処理の応答時間およびターンアラウンド時間を短くできるようにする。【解決手段】気象コンテンツ作成装置１００（分散処理装置の一例）は、気象情報サーバ装置２１０から配信される複数の気象データ１９１ａ（処理データの一例）それぞれを計算機Ａ２０１、計算機Ｂ２０２、・・・のいずれかに割り当てて気象コンテンツ１９１ｂを作成する。処理予定時間補正部１２２は各計算機の過去の処理時間に基づいて各計算機の今後の処理時間を予測する。計算機割当部１３３は、優先度順に選択された気象データ１９１ａに対して、各計算機で当該気象データ１９１ａを処理した場合の終了予定時刻を予測処理時間に基づいて算出し、終了予定時刻が最も早い計算機に当該気象データ１９１ａの処理を割り当てる。【選択図】図１
2010079504.tif 000002
【特許請求の範囲】
【請求項１】
複数に分類されると共に分類毎にデータ量が一定である複数分類のデータを複数の計算機を用いて処理する分散処理装置であり、
前記複数の計算機それぞれが前記複数分類それぞれのデータの処理に要した過去の処理時間をデータの分類毎に前記複数の計算機それぞれの過去処理時間として記憶媒体を用いて記憶する過去処理時間記憶部と、
前記過去処理時間記憶部によりデータの分類毎に記憶された前記複数の計算機それぞれの過去処理時間に基づいて、前記複数の計算機それぞれが前記複数分類それぞれのデータの処理に要する予測の処理時間をデータの分類毎に前記複数の計算機それぞれの予測処理時間としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて算出する予測処理時間算出部と、
新たに発生した前記複数分類いずれかのデータである発生データの分類をＣＰＵを用いて識別する分類識別部と、
前記分類識別部により識別された前記発生データの分類と、前記予測処理時間算出部によりデータの分類毎に算出された前記複数の計算機それぞれの予測処理時間とに基づいて、前記複数の計算機それぞれが前記発生データの処理に要する予測の処理時間を計算機毎に発生データ処理時間としてＣＰＵを用いて特定する発生データ処理時間特定部と、
前記発生データ処理時間特定部により計算機毎に特定された発生データ処理時間に基づいて、前記複数の計算機それぞれが前記発生データを処理した場合に前記発生データの処理が終了する予測時刻を計算機毎に発生データ終了時刻としてＣＰＵを用いて算出する発生データ終了時刻算出部と、
前記発生データ終了時刻算出部により計算機毎に算出された発生データ終了時刻に基づいて、前記複数の計算機から前記発生データを処理させる処理計算機をＣＰＵを用いて決定する処理計算機決定部と、
前記処理計算機決定部により決定された処理計算機に前記発生データの処理をＣＰＵを用いて命令する処理命令部と
を備えることを特徴とする分散処理装置。
【請求項２】
前記過去処理時間記憶部は、
前記処理計算機が前記発生データの処理に要した時間を前記過去処理時間として記憶する
ことを特徴とする請求項１記載の分散処理装置。
【請求項３】
前記分散処理装置は、
前記発生データの優先度をデータの分類毎に予め定められた優先度に基づいてＣＰＵを用いて識別する優先度識別部と、
処理待ちの複数の発生データそれぞれの処理順を前記優先度識別部により識別された各発生データの優先度に基づいてＣＰＵを用いて決定する処理順決定部とを備え、
前記処理命令部は、
前記処理待ちの複数の発生データそれぞれの処理を前記処理順決定部により決定された処理順に前記処理計算機に命令する
ことを特徴とする請求項１〜請求項２いずれかに記載の分散処理装置。
【請求項４】
前記発生データ終了時刻算出部は、
前記処理待ちの複数の発生データから一つの発生データを前記処理順決定部により決定された処理順に選択し、選択した一つの発生データの発生データ終了時刻を計算機毎に算出し、
前記処理計算機決定部は、
前記発生データ終了時刻算出部により計算機毎に算出された発生データ終了時刻に基づいて前記一つの発生データの処理計算機を決定し、
前記処理命令部は、
前記処理計算機決定部により決定された処理計算機に前記一つの発生データの処理を命令する
ことを特徴とする請求項３記載の分散処理装置。
【請求項５】
前記分散処理装置は、
前記発生データ終了時刻に基づいて処理中の発生データの処理遅延をＣＰＵを用いて検出する処理遅延検出部を備え、
前記発生データ終了時刻算出部は、
前記処理遅延検出部により処理中の発生データの処理遅延が検出された場合、処理待ちの発生データの発生データ終了時刻を計算機毎に再計算し、
前記処理計算機決定部は、
前記発生データ終了時刻算出部により計算機毎に再計算された発生データ終了時刻に基づいて前記処理待ちの発生データの処理計算機を再決定し、
前記処理命令部は、
前記処理計算機決定部により再決定された処理計算機に前記処理待ちの発生データの処理を命令する
ことを特徴とする請求項１〜請求項４いずれかに記載の分散処理装置。
【請求項６】
前記分散処理装置は、
前記複数の計算機それぞれの異常をＣＰＵを用いて検出する計算機異常検出部を備え、
前記発生データ終了時刻算出部は、
前記計算機異常検出部により異常が検出された計算機を除いた残りの正常な計算機毎に前記発生データ終了時刻を算出し、
前記処理計算機決定部は、
前記発生データ終了時刻算出部により正常な計算機毎に算出された発生データ終了時刻に基づいていずれかの正常な計算機を前記処理計算機として決定し、
前記処理命令部は、
前記処理計算機決定部により決定された処理計算機に前記発生データの処理を命令する
ことを特徴とする請求項１〜請求項５いずれかに記載の分散処理装置。
【請求項７】
複数の計算機と請求項１〜請求項６いずれかに記載の分散処理装置とを有する分散処理システム。
【請求項８】
複数に分類されると共に分類毎にデータ量が一定である複数分類のデータを複数の計算機を用いて処理する分散処理装置の分散処理方法であり、
前記複数の計算機それぞれが前記複数分類それぞれのデータの処理に要した過去の処理時間をデータの分類毎に前記複数の計算機それぞれの過去処理時間として記憶媒体を用いて記憶する過去処理時間記憶部を用いて、
予測処理時間算出部が、前記過去処理時間記憶部によりデータの分類毎に記憶された前記複数の計算機それぞれの過去処理時間に基づいて、前記複数の計算機それぞれが前記複数分類それぞれのデータの処理に要する予測の処理時間をデータの分類毎に前記複数の計算機それぞれの予測処理時間としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて算出する予測処理時間算出処理を実行し、
分類識別部が、新たに発生した前記複数分類いずれかのデータである発生データの分類をＣＰＵを用いて識別する分類識別処理を実行し、
発生データ処理時間特定部が、前記分類識別部により識別された前記発生データの分類と、前記予測処理時間算出部によりデータの分類毎に算出された前記複数の計算機それぞれの予測処理時間とに基づいて、前記複数の計算機それぞれが前記発生データの処理に要する予測の処理時間を計算機毎に発生データ処理時間としてＣＰＵを用いて特定する発生データ処理時間特定処理を実行し、
発生データ終了時刻算出部が、前記発生データ処理時間特定部により計算機毎に特定された発生データ処理時間に基づいて、前記複数の計算機それぞれが前記発生データを処理した場合に前記発生データの処理が終了する予測時刻を計算機毎に発生データ終了時刻としてＣＰＵを用いて算出する発生データ終了時刻算出処理を実行し、
処理計算機決定部が、前記発生データ終了時刻算出部により計算機毎に算出された発生データ終了時刻に基づいて、前記複数の計算機から前記発生データを処理させる処理計算機をＣＰＵを用いて決定する処理計算機決定処理を実行し、
処理命令部が、前記処理計算機決定部により決定された処理計算機に前記発生データの処理をＣＰＵを用いて命令する処理命令処理を実行する
ことを特徴とする分散処理装置の分散処理方法。
【請求項９】
請求項８記載の分散処理方法をコンピュータに実行させる分散処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、気象コンテンツの作成（データ処理の一例）を複数の計算機を用いて実行する分散処理装置、分散処理システム、分散処理方法および分散処理プログラムに関するものである。
【背景技術】
【０００２】
従来技術では次のように構成され動作する。
（１）構成
分散処理システムにおいて、各計算機の性能または負荷の少なくとも一方に基づいてプログラムが実行する処理の優先順位を決定する優先順位決定手段を有する。
（２）動作
（Ａ）処理の緊急度を用いた管理
各計算機の性能と負荷および各処理の緊急度から、各処理の処理優先順位を決定して変更するとともに、各処理の実行に適した計算機を決定する。また、同一処理を行う複数のプログラムが存在する場合には、各計算機の性能と負荷および各処理の緊急度を考慮して、これらのプログラムの中から最適な優先順位を有するプログラムを選択する。
高性能の計算機には低い優先順位を与え、低性能の計算機には高い優先順位を与えることにより、計算機の性能に関わらず同程度の迅速さで各処理を完了させることができる。
また、処理の緊急度から個々の計算機の優先順位を決定するため、低い優先度の処理が高い優先度の処理に先んじて完了するという逆転現象を避けることができ、より厳密なリアルタイム性を保証することが可能となる。
（Ｂ）処理の時間制約を用いた管理
各計算機の性能と負荷およびプログラムが実行する処理の時間制約と処理量を考慮して、プログラムの実行に適した優先順位を決定する。
これにより、新たに発生した時間制約の短い処理を既に割り付けられている時間制約の長い処理に先んじて実行させる、といったようなことが可能となる。また、時間制約が近づいている場合には処理の時間制約を短くしてより高い優先順位に割り当てることにより、新たに発生した処理が既に割り付けられている処理の実行を妨げないようにすることもできる。
【特許文献１】特開平０７−２８２０１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来技術では、計算機の性能、計算機の負荷、処理の緊急性および時間制約の４つのパラメータを主に用いて、処理を実行する計算機の選択、処理の優先順位の決定および処理の時間制約の決定を行うことを主な機能としていた。
この場合、既に実行中の処理があとどの程度で終了するか、新たに発生した処理がどの程度の処理時間を要するか、ということに関する情報や予測がない。このため、緊急度の高い処理であっても実行してみると他の緊急度の低い処理よりも処理完了が遅くなる可能性があり、リアルタイム性を欠く場合が発生しうる状態となる。
【０００４】
本発明は、例えば、複数の計算機を用いた分散処理により、各処理の応答時間およびターンアラウンド時間を短くできるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の分散処理装置は、複数に分類されると共に分類毎にデータ量が一定である複数分類のデータを複数の計算機を用いて処理する分散処理装置であり、前記複数の計算機それぞれが前記複数分類それぞれのデータの処理に要した過去の処理時間をデータの分類毎に前記複数の計算機それぞれの過去処理時間として記憶媒体を用いて記憶する過去処理時間記憶部と、前記過去処理時間記憶部によりデータの分類毎に記憶された前記複数の計算機それぞれの過去処理時間に基づいて、前記複数の計算機それぞれが前記複数分類それぞれのデータの処理に要する予測の処理時間をデータの分類毎に前記複数の計算機それぞれの予測処理時間としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて算出する予測処理時間算出部と、新たに発生した前記複数分類いずれかのデータである発生データの分類をＣＰＵを用いて識別する分類識別部と、前記分類識別部により識別された前記発生データの分類と、前記予測処理時間算出部によりデータの分類毎に算出された前記複数の計算機それぞれの予測処理時間とに基づいて、前記複数の計算機それぞれが前記発生データの処理に要する予測の処理時間を計算機毎に発生データ処理時間としてＣＰＵを用いて特定する発生データ処理時間特定部と、前記発生データ処理時間特定部により計算機毎に特定された発生データ処理時間に基づいて、前記複数の計算機それぞれが前記発生データを処理した場合に前記発生データの処理が終了する予測時刻を計算機毎に発生データ終了時刻としてＣＰＵを用いて算出する発生データ終了時刻算出部と、前記発生データ終了時刻算出部により計算機毎に算出された発生データ終了時刻に基づいて、前記複数の計算機から前記発生データを処理させる処理計算機をＣＰＵを用いて決定する処理計算機決定部と、前記処理計算機決定部により決定された処理計算機に前記発生データの処理をＣＰＵを用いて命令する処理命令部とを備える。
【発明の効果】
【０００６】
本発明によれば、過去の処理時間に基づいて処理計算機を決定することにより、例えば、各処理の応答時間およびターンアラウンド時間を短くすることができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は、実施の形態１における気象コンテンツ作成システム９００の構成図である。
実施の形態１における気象コンテンツ作成システム９００の構成について、図１に基づいて以下に説明する。
【０００８】
気象コンテンツ作成システム９００（分散処理システムの一例）は、気象情報サーバ装置２１０から順次配信される気象データ１９１ａを複数の計算機２００で分散処理して気象コンテンツ１９１ｂを生成するシステムである。気象コンテンツ１９１ｂは気象データ１９１ａを加工して作成される電子データである。気象データ１９１ａは気象コンテンツ作成システム９００により分散処理されるデータの一例であり、気象コンテンツ作成システム９００により分散処理されるデータは気象データ１９１ａ以外のデータであっても構わない。
【０００９】
気象情報サーバ装置２１０は、気象庁や日本気象協会（ＪＷＡ）などの機関に設けられる装置であり、気象関連の各種データを配信する。例えば、気象情報サーバ装置２１０は、アメダスレーダーのデータ（以下、アメダスデータという）を１０分毎に配信し、また、気象衛星ひまわりのデータ（以下、ひまわりデータという）を３０分毎に配信する。
アメダスデータやひまわりデータなど、各種の気象データ１９１ａ（複数分類のデータの一例）は、データの種類（分類）毎に、データ量（データサイズ）が一定であると共に、実行される処理が予め決められている。ここで、「データ量が一定」とは、データ量の完全一致だけでなく、データ量にある程度の差がある場合も意味する。
【００１０】
気象コンテンツ作成システム９００は、気象コンテンツ作成装置１００および複数の計算機２００（計算機Ａ２０１、計算機Ｂ２０２、・・・）を備える。
【００１１】
気象コンテンツ作成装置１００（分散処理装置の一例）は、気象情報サーバ装置２１０から配信された気象データ１９１ａと同じ分類のデータを処理したときに複数の計算機２００それぞれが要した過去の処理時間に基づいて、配信された気象データ１９１ａを複数の計算機２００いずれかに振り分ける。
気象コンテンツ作成装置１００は、気象データ収集部１１０、処理分類パターン管理部１２０、処理状況管理部１３０、気象コンテンツ作成命令部１４０、気象データ記憶部１９１および管理表記憶部１９２を備える。
【００１２】
気象データ収集部１１０は、気象情報サーバ装置２１０から順次配信される各種の気象データ１９１ａを通信装置を用いて受信する。
【００１３】
処理分類パターン管理部１２０は、処理分類パターン判定部１２１および処理予定時間補正部１２２を備え、処理分類パターン表１９２ａを管理する。
処理分類パターン表１９２ａは、気象データ１９１ａの分類（アメダスデータ、ひまわりデータなど）（後述する「処理分類パターン」）毎に処理優先度と各計算機２００の処理予定時間を示す。処理分類パターン表１９２ａの詳細については後述する。
【００１４】
処理分類パターン判定部１２１（分類識別部の一例）は、気象データ収集部１１０が新たに受信した気象データ１９１ａ（発生データの一例）の分類をデータ種別、データＩＤ、データ量、配信元などの情報に基づいてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて識別する。例えば、気象データ１９１ａにはデータ種別情報が含まれ、処理分類パターン判定部１２１は気象データ１９１ａに含まれるデータ種別情報を参照して気象データ１９１ａの分類を識別する。
以下、処理分類パターン判定部１２１により識別された気象データ１９１ａの分類を示す情報を「処理分類情報１２１ａ」という。
【００１５】
処理予定時間補正部１２２（予測処理時間算出部の一例）は、計算機２００それぞれが気象データ１９１ａの処理に要した過去の処理時間を気象データ１９１ａの分類毎に計算機２００それぞれの「過去処理時間」として処理時間管理表１９２ｃに設定する。そして、処理予定時間補正部１２２は、処理時間管理表１９２ｃに基づいて、計算機２００それぞれが処理分類パターン表１９２ａの処理に要する予測の処理時間を処理分類パターン表１９２ａの分類毎に計算機２００それぞれの予測処理時間（後述する「処理予定時間」）としてＣＰＵを用いて算出する。
【００１６】
処理状況管理部１３０は、処理分類パターン表読込部１３１、処理待ち優先順位決定部１３２、計算機割当部１３３および割当情報出力部１３４を備え、処理状況管理表１９２ｂを管理する。
処理状況管理表１９２ｂは、各気象データ１９１ａの割当計算機、処理優先順位、開始時刻、終了予定時刻を示す。処理状況管理表１９２ｂの詳細については後述する。
【００１７】
処理分類パターン表読込部１３１（優先度識別部の一例）は、処理分類パターン表１９２ａを参照し、処理分類情報１２１ａに基づいて気象データ１９１ａの優先度をＣＰＵを用いて識別する。
また、処理分類パターン表読込部１３１（発生データ処理時間特定部の一例）は、処理分類パターン表１９２ａを参照し、処理分類情報１２１ａに基づいて気象データ１９１ａの予測処理時間（発生データ処理時間の一例）を計算機２００毎にＣＰＵを用いて特定する。
【００１８】
処理待ち優先順位決定部１３２（処理順決定部の一例）は、処理待ちの各気象データ１９１ａの処理順（後述する「処理優先順位」）を処理分類パターン表読込部１３１により識別された優先度に基づいてＣＰＵを用いて決定する。
【００１９】
計算機割当部１３３（発生データ終了時刻算出部の一例）は、処理分類パターン表読込部１３１により計算機２００毎に特定された各気象データ１９１ａの予測処理時間に基づいて、各気象データ１９１ａの処理が終了する予測終了時刻（後述する「終了予定時刻」）（発生データ終了時刻の一例）を計算機２００毎にＣＰＵを用いて算出する。
そして、計算機割当部１３３（処理計算機決定部の一例）は、計算機２００毎に算出した予測終了時刻に基づいて、各気象データ１９１ａを処理させる処理計算機（後述する「割当計算機」）をＣＰＵを用いて決定する。
具体的に、計算機割当部１３３は、処理待ちの各気象データ１９１ａから一つの気象データ１９１ａを処理待ち優先順位決定部１３２により決定された処理順に選択し、選択した気象データ１９１ａ（後述する「選択データ」）の予測終了時刻を計算機２００毎に算出し、選択した気象データ１９１ａを処理させる処理計算機を計算機２００毎に算出した予測終了時刻に基づいて決定する。
【００２０】
割当情報出力部１３４は、処理待ち優先順位決定部１３２により決定された気象データ１９１ａの処理順に、計算機割当部１３３により選択された気象データ１９１ａと計算機割当部１３３により決定された処理計算機とを示す情報を「割当情報１３４ａ」として気象コンテンツ作成命令部１４０に出力する。
【００２１】
気象コンテンツ作成命令部１４０（処理命令部の一例）は、割当情報１３４ａに基づいて、気象データ１９１ａの処理を処理計算機にＣＰＵを用いて命令する。
そして、気象コンテンツ作成命令部１４０は、気象データ１９１ａの処理により作成された気象コンテンツ１９１ｂを計算機２００から受信し、気象データ１９１ａの処理が完了したことを示す「処理完了通知１４０ａ」を処理状況管理部１３０に出力する。
【００２２】
気象データ記憶部１９１は、気象情報サーバ装置２１０から配信され気象データ収集部１１０により受信された各気象データ１９１ａおよび各計算機２００により作成され気象コンテンツ作成命令部１４０により受信された各気象コンテンツ１９１ｂを記憶媒体を用いて記憶する。
管理表記憶部１９２（過去処理時間記憶部）は、処理分類パターン表１９２ａ、処理状況管理表１９２ｂおよび処理時間管理表１９２ｃを記憶媒体を用いて記憶する。
【００２３】
複数の計算機２００（計算機Ａ２０１、計算機Ｂ２０２、・・・）はそれぞれ、気象コンテンツ作成装置１００から処理命令された気象データ１９１ａに対してＣＰＵを用いて分類に応じた所定の処理を実行し、気象データ１９１ａを処理して作成した気象コンテンツ１９１ｂを気象コンテンツ作成装置１００に返信する。
以下、気象コンテンツ作成システム９００が有する計算機２００を計算機Ａ２０１と計算機Ｂ２０２との２台として説明する。但し、気象コンテンツ作成システム９００は３台以上の計算機２００を有してもよい。
【００２４】
図２は、実施の形態１における気象コンテンツ作成装置１００の外観の一例を示す図である。
図２において、気象コンテンツ作成装置１００は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（コンパクトディスク装置）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ＬＡＮ９４２（ローカルエリアネットワーク）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
【００２５】
図３は、実施の形態１における気象コンテンツ作成装置１００のハードウェア資源の一例を示す図である。
図３において、気象コンテンツ作成装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。また、入力データが記憶されている記憶機器は入力機器、入力装置あるいは入力部の一例であり、出力データが記憶される記憶機器は出力機器、出力装置あるいは出力部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力機器、入力装置あるいは入力部の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力機器、出力装置あるいは出力部の一例である。
【００２６】
通信ボード９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信ボード９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
【００２７】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、ＯＳ９２１、ウィンドウシステム９２２により実行される。
【００２８】
上記プログラム群９２３には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００２９】
ファイル群９２４には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。情報などはファイル群９２４に含まれるものの一例である。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。これらのＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）等の記録媒体に記録される。また、データや信号値は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００３０】
また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法をコンピュータに実行させるものである。
【００３１】
図４は、実施の形態１における気象コンテンツ作成装置１００の分散処理方法（気象データ発生時）を示すフローチャートである。
気象データ１９１ａが配信されたときに気象コンテンツ作成装置１００が実行する処理について、図４に基づいて以下に説明する。
気象コンテンツ作成装置１００の各「〜部」は、以下に説明する処理をＣＰＵを用いて実行する。
【００３２】
気象データ収集部１１０は新たに気象データ１９１ａが配信されるのを待ち（Ｓ１１０）、処理分類パターン判定部１２１は新たに配信された気象データ１９１ａの分類を判定する（Ｓ１２０）。
処理分類パターン表読込部１３１は新たに配信された気象データ１９１ａを含めて処理待ちの各気象データ１９１ａの処理優先度および処理予定時間を処理分類パターン表１９２ａから取得し（Ｓ１３０）、処理待ち優先順位決定部１３２は処理優先度に基づいて処理待ちの各気象データ１９１ａの処理優先順位を決定する（Ｓ１４０）。
計算機割当部１３３は処理優先順位と処理予定時間とに基づいて処理待ちの各気象データ１９１ａを割り当てる割当計算機を決定し、決定した割当計算機を示す情報を処理状況管理表１９２ｂに設定する（Ｓ１５０）。
以下に、Ｓ１１０〜Ｓ１５０の詳細について説明する。
【００３３】
＜Ｓ１１０＞
気象データ収集部１１０は気象情報サーバ装置２１０から新たに気象データ１９１ａが配信されるのを待ち、新たに配信された気象データ１９１ａを受信し、受信した気象データ１９１ａを気象データ記憶部１９１に記憶する。そして、気象データ収集部１１０は、新たに気象データ１９１ａが配信されたことを示す気象データ通知１１０ａを処理分類パターン管理部１２０に出力する。気象データ通知１１０ａは新たに配信された気象データ１９１ａのデータＩＤを含む。
以下、新たに配信された気象データ１９１ａを「新規データ」という。また、各気象データ１９１ａはデータＩＤ「ＩＤｘｘｘ」（ｘｘｘは配信順の通番）で識別されるものとする。
新規データが受信された場合（ＹＥＳ）、処理はＳ１２０に進む。
【００３４】
＜Ｓ１２０：分類識別処理の一例＞
処理分類パターン管理部１２０の処理分類パターン判定部１２１はＳ１１０において気象データ収集部１１０により出力された気象データ通知１１０ａを入力し、入力した気象データ通知１１０ａに示されるデータＩＤに基づいて気象データ記憶部１９１から新規データを取得する。次に、処理分類パターン判定部１２１は、取得した新規データの分類（アメダスデータ、ひまわりデータなど）をデータ種別、データＩＤ、データ量、配信元などの情報に基づいて判定する。そして、処理分類パターン判定部１２１は、判定した新規データの分類を示す処理分類情報１２１ａを処理状況管理部１３０に出力する。
例えば、各気象データ１９１ａにはデータ種別情報が含まれ、処理分類パターン判定部１２１は新規データに含まれるデータ種別情報を参照して気象データ１９１ａの分類を判定する。
気象データ１９１ａに対して実行される処理（気象データ１９１ａの処理）は、気象データ１９１ａの分類によって決まる。以下、気象データ１９１ａの分類を「処理分類パターン」という。また、「処理分類パターン」は「ＰＴｘｘｘ」（ｘｘｘは通番）で識別されるものとする。
Ｓ１２０の後、処理はＳ１３０に進む。
【００３５】
＜Ｓ１３０：優先度識別処理、発生データ処理時間特定処理の一例＞
処理状況管理部１３０の処理分類パターン表読込部１３１はＳ１２０において処理分類パターン判定部１２１により出力された新規データの処理分類情報１２１ａを入力し、新規データを含めて処理待ちの各気象データ１９１ａの処理優先度および処理予定時間を処理分類パターン表１９２ａから取得する。処理分類パターン表１９２ａは管理表記憶部１９２に記憶されている。
処理優先度は気象データ１９１ａの分類毎の優先度を意味し、処理待ちの各気象データ１９１ａは処理優先度に基づいた順番にいずれかの計算機２００に割り当てられる。計算機２００の割り当てについては後述する。
処理予定時間は、各計算機２００が当該分類の気象データ１９１ａの処理に要するであろう予測の処理時間を意味し、過去実績の処理時間に基づいて算出される。気象データ１９１ａは分類によってデータ量がおおよそ一定であると共に実行される処理が決まっている。このため、気象データ１９１ａの処理に要する時間は計算機２００毎にほぼ一定となる。
以下、処理待ちの気象データ１９１ａを「処理待ちデータ」という。
Ｓ１３０の後、処理はＳ１４０に進む。
次に、処理分類パターン表１９２ａについて説明する。
【００３６】
図５は、実施の形態１における処理分類パターン表１９２ａを示す図である。
図５に示すように、処理分類パターン表１９２ａは、気象データ１９１ａの「処理分類パターン」に対応付けられて「処理優先度」および各計算機２００の「処理予定時間」が設定される。処理分類パターン表１９２ａは管理表記憶部１９２に記憶される。
「処理優先度」は「処理分類パターン」毎に予め定められ、「処理予定時間」は処理予定時間補正部１２２により算出され設定される。処理予定時間補正部１２２による「処理予定時間」の算出方法については後述する。
【００３７】
例えば、新規データの処理分類情報１２１ａが処理分類パターンとして「ＰＴ００４」を示す場合、処理分類パターン表読込部１３１は、図５に示す処理分類パターン表１９２ａを参照し、処理分類パターン「ＰＴ００４」に対応付けられている処理優先度「１」、計算機Ａ２０１の処理予定時間「１０秒」および計算機Ｂ２０２の処理予定時間「１５秒」を新規データの処理優先度および処理予定時間として取得する。処理優先度は昇順で示され、「１」が最も高いものとする。
さらに、処理分類パターン表読込部１３１は、新規データの処理優先度および処理予定時間と共に、各処理待ちデータ（新規データを除く）の処理優先度および処理予定時間を処理分類パターン表１９２ａから取得する。
各処理待ちデータのデータＩＤおよび処理分類パターンは処理状況管理表１９２ｂに設定されている。処理状況管理表１９２ｂについては後述する。
【００３８】
図４に戻り、分散処理方法（気象データ発生時）の続き（Ｓ１４０〜）について説明する。
【００３９】
＜Ｓ１４０：処理順決定処理の一例＞
処理待ち優先順位決定部１３２は、Ｓ１３０において取得された各処理待ちデータ（新規データを含む）の処理優先度に基づいて、各処理待ちデータの処理優先順位を決定する。そして、処理待ち優先順位決定部１３２は、決定した処理優先順位を処理状況管理表１９２ｂに設定する。処理状況管理表１９２ｂは管理表記憶部１９２に記憶されている。
「処理優先順位」は各処理待ちデータの優先順位を意味し、各処理待ちデータは処理優先順位が示す順番にいずれかの計算機２００に割り当てられる。計算機２００の割当については後述する。
Ｓ１４０において、処理待ち優先順位決定部１３２は、処理優先度の高い順で且つ配信時刻の早い順になるように各処理待ちデータの処理優先順位を決定する。つまり、処理待ち優先順位決定部１３２は、処理優先度の低い処理待ちデータの処理優先順位よりも処理優先度の高い処理待ちデータの処理優先順位を高くする。さらに、処理待ち優先順位決定部１３２は、複数の処理待ちデータが同じ処理優先度（＝同じ分類）である場合、後に配信された処理待ちデータの処理優先順位よりも先に配信された処理待ちデータの処理優先順位を高くする。
Ｓ１４０の後、処理はＳ１５０に進む。
次に、処理状況管理表１９２ｂについて説明する。
【００４０】
図６は、実施の形態１における処理状況管理表１９２ｂを示す図である。
図６に示すように、処理状況管理表１９２ｂは、気象データ１９１ａの「データＩＤ」に対応付けられて「割当計算機」「処理状況」「処理分類パターン」「処理優先順位」「開始時刻」および「終了予定時刻」が設定される。処理状況管理表１９２ｂは管理表記憶部１９２に記憶される。
処理状況管理表１９２ｂは、さらに、各気象データ１９１ａの処理優先度および処理予定時間を含んでもよい。
「処理状況」は、処理の「実行中」であるか又は処理の「実行待ち」であるかを示す。「処理状況」が「実行待ち」である各気象データ１９１ａが処理待ちデータである。
「開始時刻」は処理が開始される予定時刻を示し、「終了予定時刻」は処理が終了する予定時刻を示す。「開始時刻」および「終了予定時刻」は処理分類パターン表１９２ａ（図５参照）の「処理予定時間」に基づいて算出される。「開始時刻」および「終了予定時刻」の算出方法については後述する。
【００４１】
例えば、全計算機２００（計算機Ａ、計算機Ｂ）が気象データ１９１ａの処理を実行しているときに、新たに「ＩＤ００３（ＰＴ００１）」「ＩＤ００４（ＰＴ００３）」「ＩＤ００５（ＰＴ００１）」「ＩＤ００６（ＰＴ００２）」の順に配信された各気象データ１９１ａを処理待ちデータとする。（）内は処理分類パターンを示す。この場合、各処理待ちデータの処理優先度は、図５に示す処理分類パターン表１９２ａに基づいて、「２（ＩＤ００３）」「４（ＩＤ００４）」「２（ＩＤ００５）」「３（ＩＤ００６）」となる。（）内はデータＩＤを示す。処理待ち優先順位決定部１３２は、処理優先度の高い順（昇順）で且つ配信時刻の早い順として、各処理待ちデータの処理優先順位を「ＩＤ００３（２）」「ＩＤ００５（２）」「ＩＤ００６（３）」「ＩＤ００４（４）」の順にする。（）内は処理優先度を示す。
Ｓ１４０において、処理待ち優先順位決定部１３２は、決定した各処理待ちデータの「処理優先順位」を図６に示すように処理状況管理表１９２ｂに設定する。
【００４２】
図７は、実施の形態１におけるＳ１４０のフローチャートである。
実施の形態１におけるＳ１４０の処理の流れについて、図７に基づいて以下に説明する。
以下に説明する処理（Ｓ１４１〜Ｓ１４５）により、処理状況管理表１９２ｂ（図６参照）には各処理待ちデータの処理優先順位が設定される。
【００４３】
＜Ｓ１４１＞
まず、処理待ち優先順位決定部１３２は、処理状況管理表１９２ｂに新規データ用レコードを追加する。そして、処理待ち優先順位決定部１３２は、新規データ用レコードに新規データのデータＩＤおよび処理分類パターンを設定する。新規データ用レコードに設定される新規データのデータＩＤおよび処理分類パターンは、Ｓ１２０において処理分類パターン判定部１２１により出力された処理分類情報１２１ａが示す情報である。さらに、処理待ち優先順位決定部１３２は、新規データ用レコードの「処理状況」に「実行待ち」を設定する。
【００４４】
＜Ｓ１４２〜Ｓ１４３ａ＞
次に、処理待ち優先順位決定部１３２は処理状況管理表１９２ｂの各レコードを検索し（Ｓ１４２）、新規データと同じ処理分類パターン（＝同じ処理優先度）の処理待ちデータが有るか判定する（Ｓ１４３ａ）。
【００４５】
＜Ｓ１４４ａ＞
Ｓ１４３ａにおいて新規データと同じ処理分類パターン（＝同じ処理優先度）の処理待ちデータが有った場合、処理待ち優先順位決定部１３２は、新規データと同じ処理分類パターンの処理待ちデータのうち処理優先順位が最も低い処理待ちデータ（＝処理優先順位の値が最も大きい処理待ちデータ）を特定する。そして、処理待ち優先順位決定部１３２は、特定した処理待ちデータの処理優先順位に「１」加算した値を新規データの処理優先順位として新規データ用レコードの「処理優先順位」に設定する。
例えば、新規データと同じ処理分類パターンの処理待ちデータが３つ有り、その３つの処理待ちデータの処理優先順位が「３」「４」「５」である場合、処理待ち優先順位決定部１３２は、その３つのうちで最も低い処理優先順位である「５」に「１」を加算した値「６」を新規データ用レコードの「処理優先順位」に設定する。
【００４６】
＜Ｓ１４３ｂ＞
Ｓ１４３ａにおいて新規データと同じ処理分類パターン（＝同じ処理優先度）の処理待ちデータが無かった場合、処理待ち優先順位決定部１３２は、新規データより処理優先度が高い処理待ちデータ（＝新規データより処理優先度の値が大きい処理待ちデータ）が有るか判定する。
このとき、処理待ち優先順位決定部１３２は、Ｓ１３０において処理分類パターン表読込部１３１により処理分類パターン表１９２ａから取得された新規データの処理優先度とその他の各処理待ちデータの処理優先度とを比較して判定を行う。
例えば、新規データの処理優先度が「３」である場合、処理待ち優先順位決定部１３２は、処理優先度が「１」または「２」である処理待ちデータが有るか判定する。
【００４７】
＜Ｓ１４４ｂ＞
Ｓ１４３ｂにおいて新規データより処理優先度が高い処理待ちデータが有った場合、処理待ち優先順位決定部１３２は、新規データより処理優先度が高い処理待ちデータのうち処理優先順位が最も低い処理待ちデータを特定する。そして、処理待ち優先順位決定部１３２は、特定した処理待ちデータの処理優先順位に「１」加算した値を新規データの処理優先順位として新規データ用レコードの「処理優先順位」に設定する。
例えば、新規データより処理優先度が高い処理待ちデータが２つ有り、その２つの処理待ちデータの処理優先順位が「１」「２」である場合、処理待ち優先順位決定部１３２は、その２つのうちで最も低い処理優先順位である「２」に「１」を加算した値「３」を新規データ用レコードの「処理優先順位」に設定する。
【００４８】
＜Ｓ１４４ｃ＞
Ｓ１４３ｂにおいて新規データより処理優先度が高い処理待ちデータが無かった場合、処理待ち優先順位決定部１３２は、新規データ用レコードの「処理優先順位」に最も高い処理優先順「１」を設定する。
【００４９】
＜Ｓ１４５＞
Ｓ１４４ａ、Ｓ１４４ｂまたはＳ１４４ｃの後、処理待ち優先順位決定部１３２は新規データより処理優先度が低い処理待ちデータを特定する。このとき、処理待ち優先順位決定部１３２は、Ｓ１３０において処理分類パターン表読込部１３１により処理分類パターン表１９２ａから取得された新規データの処理優先度とその他の各処理待ちデータの処理優先度とを比較して処理待ちデータの特定を行う。そして、処理待ち優先順位決定部１３２は、特定した各処理待ちデータのレコードを処理状況管理表１９２ｂから検索し、検索により得られた各レコードの「処理優先順位」にそれぞれ「１」加算した値を設定する。
例えば、新規データの処理優先度が「３」である場合、処理待ち優先順位決定部１３２は、処理優先度が「４」以上である各処理待ちデータのレコードを処理状況管理表１９２ｂから検索する。そして、処理待ち優先順位決定部１３２は、検索により得られた各レコードの「処理優先順位」に設定されている値が「５」「６」「７」・・・である場合、処理待ち優先順位決定部１３２は、検索により得られた各レコードの「処理優先順位」にそれぞれ「１」加算した値「６」「７」「８」・・・を設定する。
【００５０】
Ｓ１４１〜Ｓ１４５により、新規データを含む各処理待ちデータの処理優先順位が処理優先度の高い順で且つ配信時刻の早い順になるように処理状況管理表１９２ｂに設定される。
【００５１】
図４に戻り、分散処理方法（気象データ発生時）の続き（Ｓ１５０）を説明する。
【００５２】
＜Ｓ１５０：発生データ終了時刻算出処理、処理計算機決定処理の一例＞
Ｓ１４０の後、計算機割当部１３３は、各処理待ちデータからＳ１４０において決定された処理優先順位の順番に一つずつ処理待ちデータを選択する。以下、選択された一つの処理待ちデータを「選択データ」という。次に、計算機割当部１３３は、各計算機２００が選択データを処理した場合に選択データの処理が完了する予測時刻を計算機２００毎に終了予定時刻として算出する。このとき、計算機割当部１３３は、Ｓ１３０において取得された処理予定時間に基づいて終了予定時刻を算出する。終了予定時刻の算出については後述する。そして、計算機割当部１３３は、終了予定時刻が最も早い計算機２００を選択データを割り当てる割当計算機に決定し、決定した割当計算機を識別する情報を処理状況管理表１９２ｂ（図６参照）の選択データのレコードに設定する。
「割当計算機」は当該処理待ちデータを処理させるいずれかの計算機２００を示し、各処理待ちデータは割当計算機により分類に応じた所定の処理を実行される。
Ｓ１５０において、処理待ち優先順位決定部１３２は、各処理待ちデータが処理優先順位の高い順に終了するように割当計算機を決定する。
【００５３】
図８は、実施の形態１におけるＳ１５０のフローチャートである。
実施の形態１におけるＳ１５０の処理の流れについて、図８に基づいて以下に説明する。
【００５４】
＜Ｓ１５１＞
まず、計算機割当部１３３は、処理状況管理表１９２ｂを参照して各処理待ちデータから最も優先順位の高い処理待ちデータ（処理優先順位＝「１」）を特定し、特定した処理待ちデータのデータＩＤを変数「データα」に設定する。「データα」は選択データを示す。
さらに、計算機割当部１３３は、処理状況管理表１９２ｂを参照して各計算機２００が処理しているデータ（処理状況＝「実行中」）のデータＩＤを計算機２００毎の変数「データｎ」（ｎ：Ａ、Ｂ、・・・）に設定する。
例えば、計算機割当部１３３は、図６に示す処理状況管理表１９２ｂを参照して、「データα」に「ＩＤ００３」を設定し、「データＡ」に「ＩＤ００１」を設定し、「データＢ」に「ＩＤ００２」を設定する。
【００５５】
＜Ｓ１５２：発生データ終了時刻算出処理の一例＞
次に、計算機割当部１３３は、処理状況管理表１９２ｂからデータｎの終了予定時刻を取得し、データｎの終了予定時刻にＳ１３０において取得されたデータαの処理予定時間を加算した時刻を変数「終了予定時刻ｎα」に設定する。「終了予定時刻ｎα」は計算機ｎがデータαを実行した場合に処理が完了する予測時刻を示す。
例えば、「データα（ＩＤ００３）」の処理予定時間が計算機Ａ２０１で５秒、計算機Ｂ２０２で１０秒である場合、計算機割当部１３３は、図６に示す処理状況管理表１９２ｂを参照して、「終了予定時刻Ａα」に「０：００：５０」（ＩＤ００１の終了予定時刻「０：００：４５」から５秒後の時刻）を設定し、「終了予定時刻Ｂα」に「０：０１：００」（ＩＤ００２の終了予定時刻「０：００：５０」から１０秒後の時刻）を設定する。
【００５６】
＜Ｓ１５３：処理計算機決定処理の一例＞
次に、計算機割当部１３３は、Ｓ１５２において設定した各計算機２００の終了予定時刻ｎαを比較し、終了予定時刻ｎαが最も早い時刻である計算機ｍを特定する。計算機ｍは割当計算機を示す。
例えば、「終了予定時刻Ａα」が「０：００：５０」であり、「終了予定時刻Ｂα」が「０：０１：００」である場合、計算機割当部１３３は、計算機Ｂを割当計算機として特定する。
【００５７】
＜Ｓ１５４＞
そして、計算機割当部１３３は、処理状況管理表１９２ｂのデータαのレコードに割当計算機（計算機ｍ）、開始時刻（Ｓ１５３において特定された計算機ｍが処理するデータｍの終了予定時刻）および終了予定時刻ｍαを設定する。
例えば、データαが「ＩＤ００３」、割当計算機が「計算機Ａ」、データＡの終了予定時刻が「０：００：４５」、終了予定時刻Ａαが「０：００：５０」である場合、計算機割当部１３３は、図６の処理状況管理表１９２ｂに示すように、「ＩＤ００３」のレコードに割当計算機、開始時刻および終了予定時刻を更新する。
【００５８】
＜Ｓ１５５＞
次に、計算機割当部１３３は、処理状況管理表１９２ｂを参照し、データαより優先順位の低い処理待ちデータが有るか判定する。
【００５９】
＜Ｓ１５６＞
データαより優先順位の低い処理待ちデータが有る場合、計算機割当部１３３は、「データｍ」に現データαを設定すると共に、「データα」に現データαの次に優先順位の低い処理待ちデータのデータＩＤを設定する。
例えば、現データαが「ＩＤ００３」（処理優先順位：１）である場合、計算機割当部１３３は、図６の処理状況管理表１９２ｂを参照し、「データＡ」に現データα「ＩＤ００３」を設定すると共に、「データα」に「ＩＤ００５」（処理優先順位：２）を設定する。
【００６０】
以降、データαより優先順位の低い処理待ちデータが無くなるまで、Ｓ１５２〜Ｓ１５６が繰り返し実行される。
【００６１】
Ｓ１５１〜Ｓ１５６により、各処理待ちデータの処理が早く終了するように各処理待ちデータをいずれかの計算機２００に割り当てることができる。
【００６２】
Ｓ１５１において、新規データより優先順位の高い各処理待ちデータには割当計算機の変更は無いものとして、「データα」に優先順位の最も高い処理待ちデータではなく新規データを設定してもよい。
【００６３】
以上が、気象コンテンツ作成装置１００の分散処理方法（気象データ発生時）である。
【００６４】
図９は、実施の形態１における気象コンテンツ作成装置１００の分散処理方法（気象コンテンツ作成完了時）を示すフローチャートである。
計算機２００による処理が完了して気象コンテンツ１９１ｂが作成されたときに気象コンテンツ作成装置１００が実行する処理について、図９に基づいて以下に説明する。
気象コンテンツ作成装置１００の各「〜部」は、以下に説明する処理をＣＰＵ用いて実行する。
【００６５】
気象コンテンツ作成命令部１４０はいずれかの計算機２００により気象コンテンツ１９１ｂが作成されるのを待ち（Ｓ２１０）、処理予定時間補正部１２２は気象コンテンツ１９１ｂの作成にかかった処理時間を処理時間管理表１９２ｃに設定し（Ｓ２２０）。
割当情報出力部１３４は処理状況管理表１９２ｂに基づいて次に処理させる気象データ１９１ａを特定し、特定した気象データ１９１ａを示す割当情報１３４ａを気象コンテンツ作成命令部１４０に出力する（Ｓ２３０）。
気象コンテンツ作成命令部１４０は、割当情報１３４ａに基づいて、次に処理させる気象データ１９１ａを気象コンテンツ１９１ｂを作成した計算機２００に送信する（Ｓ２４０）。
以下に、Ｓ２１０〜Ｓ２４０の詳細について説明する。
【００６６】
＜Ｓ２１０＞
気象コンテンツ作成命令部１４０はいずれかの計算機２００から気象コンテンツ１９１ｂが送信されるのを待ち、送信された気象コンテンツ１９１ｂを受信し、受信した気象コンテンツ１９１ｂを気象データ記憶部１９１に記憶する。そして、気象コンテンツ作成命令部１４０は、気象データ１９１ａの処理の完了を意味する処理完了通知１４０ａを処理分類パターン管理部１２０および処理状況管理部１３０に出力する。気象データ１９１ａを処理して気象コンテンツ１９１ｂを作成した計算機２００は、気象コンテンツ１９１ｂの送信と共に、自計算機の識別情報、処理した気象データ１９１ａのデータＩＤおよび処理分類パターン、処理に要した時間（以下、「処理時間」という）を通知するものとする。処理完了通知１４０ａは、計算機２００から通知された計算機２００の識別情報、データＩＤ、処理分類パターンおよび処理時間を含むものとする。
気象コンテンツ１９１ｂが受信された場合（ＹＥＳ）、処理はＳ２２０およびＳ２３０に進む。
【００６７】
＜Ｓ２２０＞
処理分類パターン管理部１２０の処理予定時間補正部１２２はＳ２１０において気象コンテンツ作成命令部１４０により出力された処理完了通知１４０ａを入力し、入力した処理完了通知１４０ａに基づいて処理時間を計算機２００と処理分類パターンとに対応付けて処理時間管理表１９２ｃに追加設定する。処理時間管理表１９２ｃは管理表記憶部１９２に記憶されている。
Ｓ２２０の後、処理はＳ２３０に進む。
次に、処理時間管理表１９２ｃについて説明する。
【００６８】
図１０は、実施の形態１における処理時間管理表１９２ｃを示す図である。
図１０に示すように、処理時間管理表１９２ｃは、計算機２００の識別情報「計算機」に対応付けられて「処理分類パターン」および「処理時間」が設定される。処理時間管理表１９２ｃは管理表記憶部１９２に記憶される。
【００６９】
例えば、処理完了通知１４０ａが計算機２００の識別情報として「計算機Ａ」を示し、処理分類パターンとして「ＰＴ００１」を示し、処理時間として「５．１秒」を示す場合、処理予定時間補正部１２２は、「計算機」が「計算機Ａ」であり且つ「処理分類パターン」が「ＰＴ００１」である処理時間管理表１９２ｃのレコードの「処理時間」に「５．１秒」を追加する。
【００７０】
処理分類パターン表１９２ａ（図５参照）の「処理予定時間」は、処理時間管理表１９２ｃに設定された「処理時間」に基づいて算出される。処理予定時間の算出方法については後述する。
【００７１】
図９に戻り、分散処理方法（気象コンテンツ作成完了時）の続き（Ｓ２３０〜）を説明する。
【００７２】
＜Ｓ２３０＞
処理状況管理部１３０の割当情報出力部１３４はＳ２１０において気象コンテンツ作成命令部１４０により出力された処理完了通知１４０ａを入力する。次に、割当情報出力部１３４は、入力した処理完了通知１４０ａに示される計算機２００を割当計算機とする各処理待ちデータのうちで最も優先順位の高い処理待ちデータを次に処理させる気象データ１９１ａとして処理状況管理表１９２ｂ（図６参照）から特定する。そして、処理完了通知１４０ａに示される計算機２００と特定した処理待ちデータのデータＩＤとを含めた割当情報１３４ａを気象コンテンツ作成命令部１４０に出力する。
例えば、処理完了通知１４０ａが計算機２００の識別情報として「計算機Ａ」、データＩＤとして「ＩＤ００１」を示す場合、割当情報出力部１３４は、図６に示す処理状況管理表１９２ｂを参照し、「計算機Ａ」と「ＩＤ００３」とを示す割当情報１３４ａを気象コンテンツ作成命令部１４０に出力する。
【００７３】
また、割当情報出力部１３４は処理状況管理表１９２ｂを以下のように更新する。
（１）処理完了通知１４０ａに示されるデータＩＤのレコードを削除。
（２）特定した処理待ちデータのレコードに対して「処理状況」を「実行待ち」から「実行中」に変更すると共に「処理優先順位」を初期化する。
（３）特定した処理待ちデータより処理優先順位が低い各処理待ちデータの「処理優先順位」をそれぞれ「１」減算して繰り上げる。
【００７４】
例えば、処理完了通知１４０ａが計算機２００の識別情報として「計算機Ａ」、データＩＤとして「ＩＤ００１」を示す場合、割当情報出力部１３４は、図６に示す処理状況管理表１９２ｂから「ＩＤ００１」のレコードを削除し、「ＩＤ００３」のレコードに対して「処理状況」を「実行中」に変更すると共に「処理優先順位」を初期化し、「ＩＤ００４」「ＩＤ００５」「ＩＤ００６」のレコードの「処理優先順位」をそれぞれ「３」「１」「２」に変更する。
【００７５】
その他、割当情報出力部１３４は、「開始時刻」「終了予定時刻」を更新してもよい。具体的に、割当情報出力部１３４は、特定した処理待ちデータの「開始時刻」を現在時刻で更新すると共に、更新した「開始時刻」に処理予定時間を加算した時刻で「終了予定時刻」を更新してもよい。さらに、割当情報出力部１３４は、前述したＳ１５０を実行して、各処理待ちデータの「割当計算機」「開始時刻」「終了予定時刻」を更新してもよい。
【００７６】
図９に戻り、分散処理方法（気象コンテンツ作成完了時）の続き（Ｓ２４０）を説明する。
【００７７】
＜Ｓ２４０：処理命令処理の一例＞
気象コンテンツ作成命令部１４０はＳ２３０において割当情報出力部１３４により出力された割当情報１３４ａを入力し、入力した割当情報１３４ａに示されるデータＩＤで識別される気象データ１９１ａを気象データ記憶部１９１から取得する。そして、気象コンテンツ作成命令部１４０は、取得した気象データ１９１ａを割当情報１３４ａに示される計算機２００に送信して所定の処理の実行を命令し、気象データ１９１ａから気象コンテンツ１９１ｂを作成させる。
【００７８】
以上が、気象コンテンツ作成装置１００の分散処理方法（気象コンテンツ作成完了時）である。
【００７９】
次に、処理予定時間の算出方法（予測処理時間算出処理の一例）について説明する。
処理分類パターン表１９２ａ（図５参照）の「処理予定時間」は処理時間管理表１９２ｃ（図１０参照）に設定された「処理時間」に基づいて算出される。
処理予定時間補正部１２２は、所定の契機に、処理時間管理表１９２ｃに処理分類パターン毎に設定された各計算機２００の処理時間に基づいて各計算機２００の処理予定時間を処理分類パターン毎に算出し、処理分類パターン毎に算出した各計算機２００の処理予定時間を処理分類パターン表１９２ａに設定する。
例えば、処理予定時間補正部１２２は、前述のＳ２２０時に毎回、所定時間の経過毎または所定数の処理時間が追加される度に処理予定時間を算出し、算出した処理予定時間で処理分類パターン表１９２ａを更新する。但し、処理予定時間は一度算出された後、更新されなくても構わない。
例えば、処理予定時間補正部１２２は、処理時間管理表１９２ｃに設定された処理時間の平均値を処理予定時間として算出する。処理予定時間の算出に用いる処理時間は、設定されている全処理時間、最近設定された所定件数（例えば、直近１００件）の処理時間、特異値を除いた各処理時間またはその他の方法で選択された各処理時間のいずれであっても構わない。処理予定時間補正部１２２は、最近設定された直近１件の処理時間をそのまま処理予定時間としても構わない。
【００８０】
上記で説明した気象コンテンツ作成装置１００は、計算機２００毎の処理状況を監視し、新たに発生した処理（気象データ１９１ａ）に対して処理分類パターンを判断し、過去の実績から処理時間の予測をする。これにより、気象コンテンツ作成装置１００は、各処理を効率的に実行し、各処理のターンアラウンド時間およびレスポンス時間を最小化することができる。また、気象コンテンツ作成装置１００は、特別に優先度の高い処理に対しては既に実行待ちになっている処理を追い越してより高い優先順位を与えるので、緊急度・優先度の高い処理を早期に処理することもできる。
【００８１】
実施の形態１において以下のような気象コンテンツ作成装置１００について説明した。
複数の端末（計算機２００）のうち１台の端末を利用して気象コンテンツ作成処理を実行する場合、気象コンテンツ作成装置１００は、これから実行しようとしている処理をどの端末で実行すれば最も早く終了できるかを決定する。
発生する処理（気象データ１９１ａ）はその処理内容によって分類することができ、各分類の処理は同じ端末であればその処理時間はほぼ一定となる。この場合、各端末により各分類の処理に要する各処理時間は、最初に実行された実績を記憶しておくことにより予測可能となる。
【００８２】
気象コンテンツ作成装置１００は、既に実行中の処理に対して、以下の手段を備える。
（１）各端末での処理状況を一括管理する手段（処理状況管理表１９２ｂ）。
（２）それらの処理がいつ終了するかを予測する手段（計算機割当部１３３）。
気象コンテンツ作成装置１００は、これから実行しようとしている処理に対して、以下の手段を備える。
（１）既存の分類のどれにあたるかを識別する手段（処理分類パターン判定部１２１）。
（２）その処理にかかる時間を予測する手段（処理予定時間補正部１２２、処理分類パターン表読込部１３１）。
さらに、気象コンテンツ作成装置１００は、これらの情報から、これから実行しようとしている処理をどの端末で実行すれば最も早く終了することができるかを決定する手段（計算機割当部１３３）を備える。
さらに、気象コンテンツ作成装置１００は、付帯機能として、同時に複数の処理が発生した場合にそれらの優先度を識別する手段（処理分類パターン表読込部１３１、処理待ち優先順位決定部１３２）を備える。
【００８３】
気象コンテンツ作成装置１００は、上記のような構成により、既に実行中の処理に対して各端末での処理状況を一括管理し、それらの処理がいつ終了するかを予測することができる。さらに、気象コンテンツ作成装置１００は、これから実行しようとしている処理に対して既存の分類のどれにあたるかを識別し、その処理にかかる時間を予測することができる。さらに、気象コンテンツ作成装置１００は、これから実行しようとしている処理をどの端末で実行すれば最も早く終了することができるかを決定することができる。また、気象コンテンツ作成装置１００は、同時に複数の処理が発生した場合でも、処理の優先度が高い処理を識別して優先度の高い処理を先に処理することができる。
そして、気象コンテンツ作成装置１００は、（１）各処理の応答時間が速くなる、（２）システムの信頼性が高くなる、（３）負荷分散ができる、などの効果を奏する。
ＣＰＵやメモリなどのハードウェアの性能に基づいて処理時間を予測する方法も考えられるが、気象コンテンツ作成装置１００は、過去の処理時間の実績値に基づいて以後の処理時間を予測することにより、より正確に処理時間を予測し、より的確に各処理をいずれかの端末に割り振ることができる。
例えば、ＣＰＵやメモリなどのハードウェアが同じである複数の端末で同一データに対して同一処理を行っても、各端末のメモリに多くの断片化が生じていれば、メモリのアクセス効率の違いにより処理時間が端末毎に異なる。このため、過去の処理時間の実績値に基づいて以後の処理時間を予測する方がハードウェア性能に基づいて処理時間を予測するよりも正確に処理時間を予測することができる、ともいえる。
【００８４】
実施の形態２．
実施の形態２では、計算機２００の処理が遅延し、計算機２００の処理時間が処理予定時間より延びてしまった場合に、各処理待ちデータをいずれかの計算機２００に割り当て直す形態について説明する。
以下、実施の形態１と異なる事項について主に説明し、説明を省略した事項については実施の形態１と同様であるものとする。
【００８５】
図１１は、実施の形態２における気象コンテンツ作成システム９００の構成図である。
実施の形態２における気象コンテンツ作成システム９００の構成について、図１１に基づいて以下に説明する。
【００８６】
気象コンテンツ作成装置１００の処理状況管理部１３０は、実施の形態１の構成に加え、実行中処理状況監視部１３５を備える。
【００８７】
実行中処理状況監視部１３５（処理遅延検出部の一例）は、終了予定時刻（発生データ終了時刻の一例）に基づいて処理中の気象データ１９１ａ（発生データの一例）の処理遅延をＣＰＵを用いて検出する。
例えば、実行中処理状況監視部１３５は、定期的に処理状況管理表１９２ｂ（図６参照）を参照し、「処理状況」が「実行中」である各レコードの「終了予定時刻」と現在時刻とを比較し、現在時刻が終了予定時刻を過ぎている場合に処理遅延が生じていると判定する。処理遅延が生じていると判定した実行中処理状況監視部１３５は、変数「処理遅延フラグ」に処理遅延が生じたことを示す「１」を設定する。
【００８８】
計算機割当部１３３（発生データ終了時刻算出部の一例）は、実行中処理状況監視部１３５により処理中の気象データ１９１ａの処理遅延が検出された場合、各処理待ちデータの終了予定時刻を計算機２００毎に再計算する。
そして、計算機割当部１３３（処理計算機決定部の一例）は、計算機２００毎に再計算した終了予定時刻に基づいて各処理待ちデータの割当計算機を再決定する。
気象コンテンツ作成命令部１４０（処理命令部の一例）は、計算機割当部１３３により再決定された割当計算機に気象データ１９１ａの処理を命令する。
【００８９】
図１２は、実施の形態２における分散処理方法（気象コンテンツ作成完了時）を示すフローチャートである。
図１２に示すフローチャートは、実施の形態１のフローチャート（図９参照）に、Ｓ２２１〜Ｓ２２３が加わったものである。
処理予定時間補正部１２２は処理遅延の有無を判定し（Ｓ２２１）、処理遅延が有った場合、処理予定時間補正部１２２が処理予定時間を更新すると共に（Ｓ２２２）、計算機割当部１３３が計算機２００を割り当て直す（Ｓ２２３）。
以下、Ｓ２２１〜Ｓ２２３の詳細について説明し、他の処理の説明を省略する。
【００９０】
＜Ｓ２２１＞
Ｓ２２０の後、処理予定時間補正部１２２は、実行中処理状況監視部１３５による処理遅延の検出の有無を判定する。例えば、処理予定時間補正部１２２は、処理遅延フラグに「１」が設定されている場合に処理遅延の検出有りと判定する。
処理遅延有りの場合、処理はＳ２２２に進み、処理遅延無しの場合、処理はＳ２３０に進む。
【００９１】
＜Ｓ２２２：予測処理時間算出処理の一例＞
Ｓ２２１において処理遅延有りの場合、処理予定時間補正部１２２は、実施の形態１で説明した「処理予定時間の算出方法」を実行し、処理分類パターン表１９２ａの各処理予定時間を更新する。
これにより、処理予定時間補正部１２２は、遅延が生じた処理が完了した場合にその遅延した処理時間を反映して処理予定時間を更新することができる。
Ｓ２２２の後、処理はＳ２２３に進む。
【００９２】
＜Ｓ２２３：発生データ終了時刻算出処理、処理計算機決定処理の一例＞
Ｓ２２２の後、計算機割当部１３３は、実施の形態１で説明したＳ１５０と同様に、各処理待ちデータの割当計算機を決定する（図８参照）。
Ｓ１５２において「処理予定時刻ｎα」を算出するとき、計算機割当部１３３は、計算機ｎにより処理されているデータｎの「終了予定時刻」と現在時刻を比較する。そして、計算機割当部１３３は、現在時刻が「終了予定時刻」を過ぎている場合、「終了予定時刻」を現在時刻で更新し、更新した「終了予定時刻」を用いて「処理予定時刻ｎα」を算出する。
例えば、データｎの終了予定時刻が「０：００：４５」、現在時刻が「０：００：５０」、データαの処理予定時間が「５秒」である場合、計算機割当部１３３は、データｎの「終了予定時間」に現在時刻「０：００：５０」を設定し、現在時刻から５秒後の時刻「０：００：５５」を「処理予定時刻ｎα」として算出する。
Ｓ１５０のその他の処理（図８参照）は、実施の形態１で説明した処理と同じである。
これにより、計算機割当部１３３は、処理遅延により延びた終了予定時刻に基づいて、各処理待ちデータに対して適切な割当計算機を決定することができる。
【００９３】
実施の形態２では、以下のような気象コンテンツ作成装置１００について説明した。
気象コンテンツ作成装置１００は、付帯機能として、過去の分類毎の処理時間の実績と異なる処理時間となった場合に、それを最新の処理時間として記憶する手段（処理予定時間補正部１２２）を備える。
これにより、処理予定時間に対して処理遅延が発生した場合であっても、気象コンテンツ作成装置１００は、各気象データ１９１ａに適切な計算機２００を割り当て、各気象データ１９１ａの処理終了時刻を早めることができる。
【００９４】
実施の形態３．
実施の形態３では、いずれかの計算機２００に異常が発生した場合に、各処理待ちデータをいずれかの正常な計算機２００に割り当て直す形態について説明する。
以下、実施の形態１〜２と異なる事項について主に説明し、説明を省略した事項については実施の形態１〜２と同様であるものとする。
【００９５】
図１３は、実施の形態３における気象コンテンツ作成システム９００の構成図である。
実施の形態３における気象コンテンツ作成システム９００の構成について、図１３に基づいて以下に説明する。
【００９６】
気象コンテンツ作成装置１００は、実施の形態１または２の構成に加え、計算機稼働監視部１５０を備える。
【００９７】
計算機稼働監視部１５０（計算機異常検出部の一例）は、複数の計算機２００それぞれの異常をＣＰＵを用いて検出する。
【００９８】
計算機割当部１３３（発生データ終了時刻算出部の一例）は、計算機稼働監視部１５０により異常が検出された計算機２００を除いた残りの正常な計算機２００毎に終了予定時刻を算出する。
そして、計算機割当部１３３（処理計算機決定部の一例）は、正常な計算機２００毎に算出した終了予定時刻に基づいて正常な計算機２００を割当計算機として決定する。
気象コンテンツ作成命令部１４０（処理命令部の一例）は、計算機割当部１３３により決定された割当計算機に気象データ１９１ａの処理を命令する。
【００９９】
図１４は、実施の形態３における分散処理方法（計算機監視）を示すフローチャートである。
各計算機２００の監視時に気象コンテンツ作成装置１００が実行する処理について、図１４に基づいて以下に説明する。
気象コンテンツ作成装置１００の各「〜部」は、以下の処理をＣＰＵを用いて実行する。
【０１００】
＜Ｓ３１０＞
計算機稼働監視部１５０は、正常に稼働していない異常計算機が有るか判定する。
例えば、計算機稼働監視部１５０は、各計算機２００に応答要求メッセージを送信する。そして、計算機稼働監視部１５０は、応答要求メッセージに対する応答メッセージを送ってきた計算機２００を正常に稼働している正常計算機と判定し、応答メッセージを送ってこなかった計算機２００を正常に稼働していない異常計算機と判定する。
異常計算機が有る場合、処理はＳ３２０に進み、異常計算機が無い場合、処理は終了する。
【０１０１】
＜Ｓ３２０：発生データ終了時刻算出処理、処理計算機決定処理の一例＞
Ｓ３１０において異常計算機が有った場合、計算機割当部１３３は、異常計算機を除いた残りの正常計算機を対象にして、実施の形態１で説明したＳ１５０と同じく、各処理待ちデータの割当計算機を決定する（図８参照）。
【０１０２】
以上の処理（Ｓ３１０〜Ｓ３２０）は定期的に実行される。
これにより、いずれかの計算機２００に異常が発生した場合であっても、その異常計算機に割り当てられていた各処理待ちデータをいずれかの正常計算機に割り当て、全ての気象データ１９１ａを処理することができる。
【０１０３】
実施の形態３では、以下のような気象コンテンツ作成装置１００について説明した。
気象コンテンツ作成装置１００は、付帯機能として、正常に稼動しているかどうかを識別する識別手段（計算機稼働監視部１５０）を備える。
これにより、複数の端末（計算機２００）の内いずれかの端末（または複数台の端末）が正常稼動していない場合でも、気象コンテンツ作成装置１００は、それらの端末を避けて処理を実行することができる。
【図面の簡単な説明】
【０１０４】
【図１】実施の形態１における気象コンテンツ作成システム９００の構成図。
【図２】実施の形態１における気象コンテンツ作成装置１００の外観の一例を示す図。
【図３】実施の形態１における気象コンテンツ作成装置１００のハードウェア資源の一例を示す図。
【図４】実施の形態１における気象コンテンツ作成装置１００の分散処理方法（気象データ発生時）を示すフローチャート。
【図５】実施の形態１における処理分類パターン表１９２ａを示す図。
【図６】実施の形態１における処理状況管理表１９２ｂを示す図。
【図７】実施の形態１におけるＳ１４０のフローチャート。
【図８】実施の形態１におけるＳ１５０のフローチャート。
【図９】実施の形態１における気象コンテンツ作成装置１００の分散処理方法（気象コンテンツ作成完了時）を示すフローチャート。
【図１０】実施の形態１における処理時間管理表１９２ｃを示す図。
【図１１】実施の形態２における気象コンテンツ作成システム９００の構成図。
【図１２】実施の形態２における分散処理方法（気象コンテンツ作成完了時）を示すフローチャート。
【図１３】実施の形態３における気象コンテンツ作成システム９００の構成図。
【図１４】実施の形態３における分散処理方法（計算機監視）を示すフローチャート。
【符号の説明】
【０１０５】
１００  気象コンテンツ作成装置、１１０  気象データ収集部、１１０ａ  気象データ通知、１２０  処理分類パターン管理部、１２１  処理分類パターン判定部、１２１ａ  処理分類情報、１２２  処理予定時間補正部、１３０  処理状況管理部、１３１  処理分類パターン表読込部、１３２  処理待ち優先順位決定部、１３３  計算機割当部、１３４  割当情報出力部、１３４ａ  割当情報、１３５  実行中処理状況監視部、１４０  気象コンテンツ作成命令部、１４０ａ  処理完了通知、１５０  計算機稼働監視部、１５０ａ  異常検出通知、１９１  気象データ記憶部、１９１ａ  気象データ、１９１ｂ  気象コンテンツ、１９２  管理表記憶部、１９２ａ  処理分類パターン表、１９２ｂ  処理状況管理表、１９２ｃ  処理時間管理表、２００  計算機、２０１  計算機Ａ、２０２  計算機Ｂ、２１０  気象情報サーバ装置、９００  気象コンテンツ作成システム、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９０８  マイク、９０９  スピーカー、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2010079504.tif 000003
【図２】
2010079504.tif 000004
【図３】
2010079504.tif 000005
【図４】
2010079504.tif 000006
【図５】
2010079504.tif 000007
【図６】
2010079504.tif 000008
【図７】
2010079504.tif 000009
【図８】
2010079504.tif 000010
【図９】
2010079504.tif 000011
【図１０】
2010079504.tif 000012
【図１１】
2010079504.tif 000013
【図１２】
2010079504.tif 000014
【図１３】
2010079504.tif 000015
【図１４】
2010079504.tif 000016