(57)【要約】  スケジューリングシステム（１１０）は、スケジューラ（１１３）と、処理時間予測ユニット（１１１）と、設定ユニット（１１２）と、を備えている。スケジューラ（１１３）は、処理の実行要求に基づいて複数のデータ処理システム（１２０ａ）の少なくとも一のデータ処理システム（１２０ａ）に処理を割り当てる。処理時間予測ユニット（１１１）は、処理が第１の処理であるときに第１の処理が完了するまでの時間を予測する。設定ユニット（１１２）は、予測された時間に基づいて第１の処理に所定情報を付加する。
2013030908.tif 000002
【特許請求の範囲】
【請求項１】
処理の実行要求に基づいて複数のデータ処理システムの少なくとも一のデータ処理システムに前記処理を割り当てるスケジューラと、
前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測する処理時間予測ユニットと、
予測された前記時間に基づいて前記第１の処理に所定情報を付加する設定ユニットと、
を含むことを特徴とするスケジューリングシステム。
【請求項２】
前記設定ユニットは、
前記予測された時間と所定時間とを比較する比較ユニットと、
比較結果に基づいて前記第１の処理に前記所定情報を付加する付加ユニットと、
を含むことを特徴とする請求項１に記載のスケジューリングシステム。
【請求項３】
前記予測された時間が前記所定時間よりも小さいときに、複数のデータ処理システムの情報を収集する情報収集ユニットを含むこと
を特徴とする請求項２に記載のスケジューリングシステム。
【請求項４】
複数のデータ処理システムの情報を収集する情報収集ユニットを含み、
前記処理時間予測ユニットは、前記処理が第２の処理であるときに、前記情報収集ユニットが情報を収集する収集時間および前記第２の処理がスケジューリングされてから実行が完了するまでの処理時間を測定すること
を特徴とする請求項１または請求項２に記載のスケジューリングシステム。
【請求項５】
前記処理時間予測ユニットは、前記収集時間および前記処理時間の平均値を計算し、前記平均値に基づいて、前記第１の処理の実行が完了するまでの時間を予測すること
を特徴とする請求項４に記載のスケジューリングシステム。
【請求項６】
前記所定情報は、前記少なくとも一のデータ処理システムにおける前記第１の処理の強制実行を指示する情報を含むこと
を特徴とする請求項１乃至請求項５の何れか一に記載のスケジューリングシステム。
【請求項７】
前記複数のデータ処理システムとの間で無線接続された携帯端末である
ことを特徴とする請求項１乃至請求項６の何れか一に記載のスケジューリングシステム。
【請求項８】
前記第１の処理は、前記所定時間内に完了する制約が設定された処理である
ことを特徴とする請求項２乃至請求項５の何れか一に記載のスケジューリングシステム。
【請求項９】
スケジューラによって割り当てられた処理を受け付ける受付ユニットと、
自己の負荷量を判定する負荷量判定ユニットと、
前記処理に所定情報が付加されているか否かを判定する所定情報判定ユニットと、
前記自己の負荷量と前記所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する処理ユニットと、
を含むことを特徴とするデータ処理システム。
【請求項１０】
前記処理ユニットは、前記負荷量が所定値を超えるとともに前記所定情報が付加されているときに、前記少なくとも一の処理を破棄すること
を特徴とする請求項９に記載のデータ処理システム。
【請求項１１】
前記処理ユニットは、優先度の最も低い処理を前記少なくとも一の処理として選択すること
を特徴とする請求項９または請求項１０に記載のデータ処理システム。
【請求項１２】
前記スケジューラとの間で無線接続された携帯端末である
ことを特徴とする請求項９乃至請求項１１の何れか一に記載のデータ処理システム。
【請求項１３】
複数のデータ処理システムに含まれる第１データ処理システムは、処理の実行要求に基づく前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測し、
前記予測された時間に基づいて前記第１の処理に所定情報を付加し、
前記複数のデータ処理システムに含まれる第２データ処理システムに前記第１の処理を割り当てること
を特徴とするスケジューリング方法。
【請求項１４】
前記予測された時間が所定時間よりも小さいときに、前記複数のデータ処理システムの情報を収集し、
前記収集された情報に基づいて前記第２データ処理システムに前記第１の処理を割り当てること
を特徴とする請求項１３に記載のスケジューリング方法。
【請求項１５】
前記予測された時間が所定時間よりも大きいときに前記第１の処理に所定情報を付加し、
前記第２データ処理システムに前記第１の処理を割り当てること
を特徴とする請求項１３に記載のスケジューリング方法。
【請求項１６】
前記複数のデータ処理システムは、互いに無線接続された携帯端末である
ことを特徴とする請求項１３乃至請求項１５の何れか一に記載のスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューリングシステム、データ処理システムおよびスケジューリング方法に関する。
【背景技術】
【０００２】
従来、グリッドコンピューティングのように、インターネットなどのネットワークで有線接続された複数の計算機を統一的に扱う分散処理技術が知られている。たとえば、プッシュ型の分散処理システムにおいて、マスタ端末が計算端末の処理実行状況などのパラメータを常時に収集（パラメータ収集）することにより、計算端末の状態を考慮したスケジューリングを行う技術が知られている（たとえば、下記特許文献１参照。）。【０００３】
また、分散処理によって実行される処理の中には、制限時間内に完了することが求められるリアルタイム制約のある処理も存在する。一方、近年、携帯端末の性能向上が目覚ましく、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）の演算能力および無線通信速度が向上している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１５２６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、携帯端末を計算ノードとした分散処理システムを構築する場合に、通信を伴うパラメータ収集を常時行うと携帯端末のバッテリ消費量が多くなる。これに対して、パラメータ収集を行わずに処理の割当を行うことが考えられるが、スケジューリングを適切に行うことができず割当拒絶の可能性が高まり、割当拒絶により処理が遅延するという問題がある。また、処理の割当時にパラメータ収集を行うことも考えられるが、パラメータ収集にかかる時間により処理が遅延するという問題がある。【０００６】
本発明は、上述した従来技術による問題点を解消するため、処理の遅延を抑えることができるスケジューリングシステム、データ処理システムおよびスケジューリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数のデータ処理システムに含まれる第１データ処理システムは、処理の実行要求に基づく前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測し、前記予測された時間に基づいて前記第１の処理に所定情報を付加し、前記複数のデータ処理システムに含まれる第２データ処理システムに前記第１の処理を割り当てるスケジューリングシステム、データ処理システムおよびスケジューリング方法が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、処理の遅延を抑えることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる通信システムの一例を示す図である。
【図２】図２は、各装置のハードウェア構成の一例を示す図である。
【図３】図３は、予測時間の一例を示す図である。
【図４】図４は、通信システムの適用例を示す図である。
【図５】図５は、マスタ端末による処理の一例を示すフローチャートである。
【図６】図６は、マスタ端末によるパラメータ収集処理の一例を示すフローチャートである。
【図７】図７は、計算端末による処理の一例を示すフローチャートである。
【図８−１】図８−１は、予測時間が所定時間内である場合の通信システムの動作の一例を示す図である。
【図８−２】図８−２は、予測時間が所定時間を超える場合の通信システムの動作の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかるスケジューリングシステム、データ処理システムおよびスケジューリング方法の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
（実施の形態にかかる通信システム）
図１は、実施の形態にかかる通信システムの一例を示す図である。図１に示すように、実施の形態にかかる通信システム１００は、スケジューリングシステム１１０と、データ処理システム群１２０と、を含んでいる。スケジューリングシステム１１０およびデータ処理システム群１２０は、たとえばアドホック通信によって互いに通信可能な携帯端末である。
【００１２】
スケジューリングシステム１１０（第１データ処理システム）は、入力された処理の実行要求に基づいて、データ処理システム群１２０の少なくとも一のデータ処理システム（第２データ処理システム）に対して、処理の割当を行うことで処理を実行させるデータ処理システムである。たとえば、スケジューリングシステム１１０は、データ処理システム群１２０に含まれる複数のデータ処理システムに対して処理を分散して割り当てる分散処理を行う。分散処理としてはたとえばＧｌｏｂｕｓ  Ｔｏｏｌｋｉｔを挙げることができる。
【００１３】
また、スケジューリングシステム１１０は、データ処理システム群１２０に含まれる一のデータ処理システムに対して処理を割り当ててもよい。また、スケジューリングシステム１１０は、データ処理システム群１２０のうちの処理を割り当てたデータ処理システムから処理の実行結果を受信してもよい。
【００１４】
データ処理システム群１２０は、スケジューリングシステム１１０との間で通信が可能なデータ処理システムである。データ処理システム群１２０の少なくとも一のデータ処理システムは、スケジューリングシステム１１０から割り当てられた処理を実行する。また、データ処理システム群１２０のうちのスケジューリングシステム１１０から処理を割り当てられたデータ処理システムは、処理の実行結果をスケジューリングシステム１１０へ送信してもよい。
【００１５】
＜スケジューリングシステムの構成例＞
スケジューリングシステム１１０は、処理時間予測ユニット１１１と、設定ユニット１１２と、スケジューラ１１３と、を備えている。また、スケジューリングシステム１１０は、情報収集ユニット１１４を備えていてもよい。ここでは、スケジューリングシステム１１０はデータ処理システム群１２０に含まれるデータ処理システム１２０ａに処理を割り当てるとする。処理時間予測ユニット１１１および設定ユニット１１２には、スケジューリングシステム１１０がデータ処理システム群１２０の少なくとも一のデータ処理システムへ割り当てる処理の実行要求が入力される。
【００１６】
処理時間予測ユニット１１１は、入力された実行要求にかかる処理が第１の処理であるときに、データ処理システム１２０ａに割り当てた第１の処理が完了するまでの時間を予測する。第１の処理は、たとえば、所定時間内に処理が完了する旨の制約が設定された緊急性の高い処理である。緊急性の高い分散処理の一例としては、たとえば、高解像度かつ高圧縮なビデオチャットなどの、リアルタイム性が要求され、かつ高圧縮なため伸張処理が重い処理などが挙げられる。処理時間予測ユニット１１１は、予測した時間（以下、予測時間と称する）を設定ユニット１１２へ出力する。
【００１７】
設定ユニット１１２は、処理時間予測ユニット１１１から出力された予測時間に基づいて、入力された実行要求に所定情報を付加する。所定情報は、たとえば、第１の処理を強制的に実行すること（強制実行）を指示する情報（強制フラグ）を含む。設定ユニット１１２は、具体的には、比較ユニット１１５と、付加ユニット１１６と、を含んでいる。
【００１８】
比較ユニット１１５は、処理時間予測ユニット１１１から出力された予測時間と所定時間とを比較する。所定時間は、たとえば第１の処理において要求される制約時間である。すなわち、これにより、第１の処理を制約時間内に完了できるか否かを判断することができる。比較ユニット１１５は、比較結果を付加ユニット１１６へ出力する。
【００１９】
付加ユニット１１６は、入力された実行要求に対して、比較ユニット１１５から出力された比較結果に基づいて所定情報を付加する。たとえば、付加ユニット１１６は、予測時間が所定時間以上である旨の比較結果が比較ユニット１１５から出力された場合は第１の処理の実行要求に所定情報を付加する。
【００２０】
また、付加ユニット１１６は、予測時間が所定時間未満である旨の比較結果が比較ユニット１１５から出力された場合は第１の処理の実行要求に所定情報を付加しない。また、付加ユニット１１６は、第１の処理とは異なる処理の実行要求に対しては所定情報を付加しない。付加ユニット１１６は、所定情報を付加し、または所定情報を付加しなかった実行要求をスケジューラ１１３へ出力する。
【００２１】
スケジューラ１１３は、設定ユニット１１２から出力された実行要求にかかる処理をデータ処理システム群１２０の少なくとも一のデータ処理システムへ割り当てる。また、スケジューラ１１３は、情報収集ユニット１１４から出力された情報に基づいて処理を割り当ててもよい。ここでは、スケジューラ１１３はデータ処理システム群１２０に含まれるデータ処理システム１２０ａに処理を割り当てる。そして、スケジューラ１１３は、データ処理システム１２０ａに割り当てた処理の実行を指示する処理割当情報を出力する。スケジューラ１１３から出力された処理割当情報は、たとえば図示しない通信ユニットによってデータ処理システム１２０ａへ送信される。
【００２２】
情報収集ユニット１１４は、データ処理システム群１２０に含まれるデータ処理システムの情報を収集する。情報収集ユニット１１４が収集する情報は、たとえば、データ処理システム群１２０の負荷量（たとえばプロセッサ使用率や実行中のプロセス数）などの状態を示すパラメータである。また、パラメータには、たとえば、データ処理システム群１２０（計算ノード）の数、処理能力、現在割り当てられている処理の量、計算ノードとの通信時間などの情報が含まれていてもよい。情報収集ユニット１１４は、収集した情報をスケジューラ１１３へ出力する。これにより、スケジューラ１１３は、データ処理システム群１２０の負荷量などのパラメータに基づいて処理の割り当てを行うことができる。
【００２３】
また、処理時間予測ユニット１１１は、入力された実行要求にかかる処理が第２の処理であるときに、情報収集ユニット１１４が情報を収集する収集時間および第２の処理がスケジューリングされてから実行が完了するまでの処理時間を測定してもよい。第２の処理は、たとえば、所定時間内に処理が完了することが求められない処理である。そして、処理時間予測ユニット１１１は、収集時間および処理時間の平均値を計算し、算出した平均値に基づいて、第１の処理の実行が完了するまでの時間を予測してもよい。
【００２４】
＜データ処理システムの構成例＞
データ処理システム１２０ａは、受付ユニット１２１と、判定ユニット１２２と、負荷量判定ユニット１２３と、処理ユニット１２４と、を含んでいる。データ処理システム群１２０のうちのデータ処理システム１２０ａとは異なるデータ処理システムも、たとえばデータ処理システム１２０ａと同様の構成を含んでいる。
【００２５】
受付ユニット１２１は、スケジューリングシステム１１０のスケジューラ１１３によって割り当てられた処理を受け付ける。具体的には、受付ユニット１２１は、スケジューリングシステム１１０から送信された処理割当情報を受信する。受付ユニット１２１は、受信した実行要求を判定ユニット１２２へ出力する。
【００２６】
判定ユニット１２２は、受付ユニット１２１から出力された処理割当情報にかかる処理を受け付けるか否かを判断する。たとえば、判定ユニット１２２は、処理割当情報に所定情報が付加されているか否かを判定する所定情報判定ユニットの機能を有する。さらに、判定ユニット１２２は、負荷量判定ユニット１２３から出力される負荷量に基づいて処理を受け付けるか否かを判断してもよい。判定ユニット１２２は、処理を受け付けると判断した場合は処理割当情報を処理ユニット１２４へ出力し、処理を受け付けないと判断した場合は処理割当情報を処理ユニット１２４へ出力しない。
【００２７】
負荷量判定ユニット１２３は、データ処理システム１２０ａ（自己）の負荷量を判定する。負荷量は、たとえばプロセッサ使用率や実行中のプロセス数などのパラメータである。負荷量判定ユニット１２３は、判定結果を処理ユニット１２４へ出力する。また、データ処理システム１２０ａは、負荷量判定ユニット１２３から出力された判定結果をスケジューリングシステム１１０の情報収集ユニット１１４へ送信してもよい。
【００２８】
処理ユニット１２４は、判定ユニット１２２から出力された処理割当情報にかかる処理を実行する。また、処理ユニット１２４は、処理割当情報に所定情報が付加されていた場合に、負荷量判定ユニット１２３から出力された判定結果に基づいて、既に割り当てられている少なくとも一の処理を破棄する。
【００２９】
具体的には、処理ユニット１２４は、所定情報が付加された処理割当情報が判定ユニット１２２から出力され、負荷量が所定値を超えている旨の判定結果が負荷量判定ユニット１２３から出力されたときに、少なくとも一の処理を破棄する。たとえば、処理ユニット１２４は、既に割り当てられている処理のうちの優先度が最も低い処理を選択し、選択した処理を破棄する。
【００３０】
処理ユニット１２４は、このように、データ処理システム１２０ａの負荷量と所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する。これにより、所定情報が付加された処理割当情報を受信し、自己の負荷量が大きい場合は、処理割当情報にかかる処理とは異なる処理を破棄して負荷量を軽減することができる。このため、受信した処理割当情報にかかる処理を実行することができる。
【００３１】
このように、通信システム１００において、スケジューリングシステム１１０は、緊急性の高い実行要求を受け付けた場合に、データ処理システム１２０ａに処理を割り当てる際に強制力を付加する。また、データ処理システム１２０ａは、スケジューリングシステム１１０から処理の割当を受けると、強制力が付加されているかを判断し、強制力が付加されていればたとえば無条件で処理割当を受け付ける。
【００３２】
また、スケジューリングシステム１１０は、パラメータ収集を行う場合に処理が完了するまでの時間を予測し、予測時間が制約時間より長い場合に処理に強制力を付加し、予測時間が制約時間以下である場合は処理に強制力を付加しない。
【００３３】
これにより、制約時間内に処理が完了しないと予測される場合は、パラメータ収集を行わないことで処理を短時間で割り当てることができる。また、処理の割当拒否を禁止することで割当拒否による遅延を回避することができる。
【００３４】
また、制約時間内に処理が完了すると予測される場合は、パラメータ収集を行うことで処理の割当拒否を回避することができる。また、処理の割当拒否を禁止しないことで、割当拒否の禁止によりデータ処理システム１２０ａが過負荷となることによる他の処理の完了時間の遅延を回避することができる。また、パラメータ収集を常時行わなくてもよいため、スケジューリングシステム１１０およびデータ処理システム群１２０の消費電力を低減することができる。
【００３５】
（各装置のハードウェア構成）
図２は、各装置のハードウェア構成の一例を示す図である。図１に示したスケジューリングシステム１１０およびデータ処理システム１２０ａのそれぞれは、たとえば図２に示す情報処理装置２００によって実現することができる。情報処理装置２００は、ＣＰＵ２０１と、メインメモリ２０２と、補助メモリ２０３と、ユーザインタフェース２０４と、通信インタフェース２０５と、を備えている。ＣＰＵ２０１、メインメモリ２０２、補助メモリ２０３、ユーザインタフェース２０４および通信インタフェース２０５は、バス２１０によって接続されている。
【００３６】
ＣＰＵ２０１は、情報処理装置２００の全体の制御を司る。また、情報処理装置２００はＣＰＵ２０１を複数備えていてもよい。メインメモリ２０２は、たとえばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリ２０２は、ＣＰＵ２０１のワークエリアとして使用される。補助メモリ２０３は、たとえば、ハードディスク、フラッシュメモリなどの不揮発メモリである。補助メモリ２０３には、情報処理装置２００を動作させる各種のプログラムが記憶されている。補助メモリ２０３に記憶されたプログラムは、メインメモリ２０２にロードされてＣＰＵ２０１によって実行される。
【００３７】
ユーザインタフェース２０４は、たとえば、ユーザからの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばキー（たとえばキーボード）やリモコンなどによって実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどによって実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース２０４は、ＣＰＵ２０１によって制御される。
【００３８】
通信インタフェース２０５は、たとえば、無線によって情報処理装置２００の外部との間で通信を行う通信インタフェースである。たとえばスケジューリングシステム１１０の通信インタフェース２０５は、データ処理システム１２０ａの通信インタフェース２０５との間で無線通信を行う。通信インタフェース２０５は、ＣＰＵ２０１によって制御される。
【００３９】
図１に示したスケジューリングシステム１１０において、処理の実行要求は、たとえばユーザインタフェース２０４や通信インタフェース２０５によって入力される。また、処理時間予測ユニット１１１、設定ユニット１１２およびスケジューラ１１３は、たとえばＣＰＵ２０１によって実行されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：オペレーティングシステム）の機能として実現することができる。また、情報収集ユニット１１４は、たとえば通信インタフェース２０５によって実現することができる。また、設定ユニット１１２から出力された処理割当情報は、たとえば通信インタフェース２０５によってデータ処理システム１２０ａへ送信される。
【００４０】
図１に示したデータ処理システム１２０ａにおいて、受付ユニット１２１は、たとえば通信インタフェース２０５によって実現することができる。判定ユニット１２２、負荷量判定ユニット１２３および処理ユニット１２４は、たとえばＣＰＵ２０１によって実行されるＯＳの機能として実現することができる。
【００４１】
（予測時間の一例）
図３は、予測時間の一例を示す図である。図３に示す予測時間３１０は、処理時間予測ユニット１１１によって算出される予測時間である。図３に示すように、予測時間３１０は、たとえば、パラメータ収集時間３２１と、スケジューリング時間３２２と、ディスパッチ時間３２３と、処理実行時間３２４と、の合計に相当する時間である。
【００４２】
パラメータ収集時間３２１は、情報収集ユニット１１４によるパラメータ収集にかかる時間である。処理時間予測ユニット１１１は、たとえば、過去に情報収集ユニット１１４がパラメータ収集に要した時間を計測しておき、直近数回の平均値を算出することによってパラメータ収集時間３２１を算出することができる。
【００４３】
スケジューリング時間３２２は、スケジューラ１１３によるスケジューリングにかかる時間である。処理時間予測ユニット１１１は、たとえば、スケジューリングアルゴリズム、処理の数、データ処理システム群１２０（計算ノード）の数などに基づいてスケジューリング時間３２２を算出することができる。
【００４４】
ディスパッチ時間３２３は、スケジューラ１１３による処理の割当（ディスパッチ）にかかる時間である。処理時間予測ユニット１１１は、たとえば、処理の量および通信速度に基づいてディスパッチ時間３２３を算出することができる。
【００４５】
処理実行時間３２４は、処理をディスパッチした後、データ処理システム群１２０のうちの少なくとも一のデータ処理システムが処理を実行し、実行結果がスケジューリングシステム１１０へ返ってくるまでにかかる時間である。処理時間予測ユニット１１１は、たとえば、処理量とデータ処理システム群１２０の処理能力に基づいて処理実行時間３２４を算出することができる。処理量は、たとえば処理の実行要求に含まれている情報である。処理能力は、たとえば過去に行った処理の処理量と処理完了時間を計測しておき、直近数回の平均を用いることで算出することができる。
【００４６】
（通信システムの適用例）
図４は、通信システムの適用例を示す図である。図４に示すアドホックネットワーク４００は、図１に示した通信システム１００を適用した通信システムである。アドホックネットワーク４００は、マスタ端末４１０と、計算端末４２１〜４２３と、を含んでいる。マスタ端末４１０および計算端末４２１〜４２３のそれぞれは、互いに無線接続されてアドホック通信を行う無線通信端末である。
【００４７】
ここでは、マスタ端末４１０が図１に示したスケジューリングシステム１１０として動作する。また、計算端末４２１〜４２３が図１に示したデータ処理システム群１２０として動作する。たとえば、計算端末４２１が図１に示したデータ処理システム１２０ａに対応する。
【００４８】
このように、基地局を介さず端末間で直接通信を行うアドホックネットワーク４００に通信システム１００を適用することで、基地局の圏外エリアなどでも端末同士がアドホックネットワーク４００で接続し、分散処理システムを構築することができる。以下、マスタ端末４１０が計算端末４２１に処理を割り当てる場合について説明する。
【００４９】
（マスタ端末による処理）
図５は、マスタ端末による処理の一例を示すフローチャートである。マスタ端末４１０は、たとえば図５に示す各ステップを実行する。まず、処理時間予測ユニット１１１が、処理の実行要求を受け付けたか否かを判断し（ステップＳ５０１）、処理の実行要求を受け付けるまで待つ（ステップＳ５０１：Ｎｏのループ）。
【００５０】
ステップＳ５０１において、処理の実行要求を受け付けると（ステップＳ５０１：Ｙｅｓ）、処理時間予測ユニット１１１が現在時刻ｔ０を取得する（ステップＳ５０２）。つぎに、処理時間予測ユニット１１１が、ステップＳ５０１において受け付けた実行要求にかかる処理にリアルタイム制約があるか（第１の処理か）否かを判断する（ステップＳ５０３）。
【００５１】
ステップＳ５０３において、実行要求にかかる処理にリアルタイム制約がない場合（ステップＳ５０３：Ｎｏ）は、マスタ端末４１０は、ステップＳ５０８へ移行する。実行要求にかかる処理にリアルタイム制約がある場合（ステップＳ５０３：Ｙｅｓ）は、処理時間予測ユニット１１１が、情報収集ユニット１１４によるデータ処理システム群１２０のパラメータ収集を実施済みか否かを判断する（ステップＳ５０４）。
【００５２】
ステップＳ５０４において、パラメータ収集を実施済みである場合（ステップＳ５０４：Ｙｅｓ）は、マスタ端末４１０は、ステップＳ５０８へ移行する。パラメータ収集を実施済みでない場合（ステップＳ５０４：Ｎｏ）は、処理時間予測ユニット１１１が、実行要求にかかる処理が完了するまでの予測時間を算出する（ステップＳ５０５）。つぎに、比較ユニット１１５が、ステップＳ５０５によって算出された予測時間が、リアルタイム制約にかかる制約時間（所定時間）未満か否かを判断する（ステップＳ５０６）。
【００５３】
ステップＳ５０６において、予測時間が制約時間未満でない場合（ステップＳ５０６：Ｎｏ）は、マスタ端末４１０は、ステップＳ５０８へ移行する。予測時間が制約時間未満である場合（ステップＳ５０６：Ｙｅｓ）は、付加ユニット１１６が、実行要求にかかる処理に強制フラグ（所定情報）を付加する（ステップＳ５０７）。
【００５４】
つぎに、スケジューラ１１３が、実行要求にかかる処理のスケジューリングを行う（ステップＳ５０８）。つぎに、スケジューラ１１３が、ステップＳ５０８におけるスケジューリングの結果に基づいて、実行要求にかかる処理をデータ処理システム群１２０の少なくとも一のデータ処理システムにディスパッチする（ステップＳ５０９）。
【００５５】
つぎに、スケジューラ１１３が、ステップＳ５０９におけるディスパッチに対するディスパッチ先からの拒絶があるか否かを判断する（ステップＳ５１０）。ディスパッチに対する拒絶がある場合（ステップＳ５１０：Ｙｅｓ）は、スケジューラ１１３が、ステップＳ５０８へ戻って再度スケジューリングを行う。ディスパッチに対する拒絶がない場合（ステップＳ５１０：Ｎｏ）は、スケジューラ１１３が、ステップＳ５０９におけるディスパッチに対する全ての処理結果が返ってきたか否かを判断し（ステップＳ５１１）、全ての処理結果が返ってくるまで待つ（ステップＳ５１１：Ｎｏのループ）。
【００５６】
ステップＳ５１１において、全ての処理結果が返ってくると（ステップＳ５１１：Ｙｅｓ）、マスタ端末４１０は、返ってきた処理結果をユーザへ通知する（ステップＳ５１２）。ステップＳ５１２による通知は、たとえば図２に示したユーザインタフェース２０４によって行うことができる。
【００５７】
つぎに、処理時間予測ユニット１１１が、ステップＳ５０２によって取得したｔ０を現在時刻から減算することによって、スケジューリングから処理完了までの所要時間を算出する（ステップＳ５１３）。ステップＳ５１３によって算出される所要時間は、図３に示したスケジューリング時間３２２、ディスパッチ時間３２３および処理実行時間３２４の合計時間に相当する。
【００５８】
つぎに、処理時間予測ユニット１１１が、ステップＳ５１３によって算出した所要時間をマスタ端末４１０のメモリに記憶し（ステップＳ５１４）、一連の処理を終了する。以上の各ステップにより、マスタ端末４１０は、実行要求にかかる処理にリアルタイム制約があるかを判断し、処理の完了の予測時間より制約時間が短かった場合に強制力を付加して処理を割り当てることができる。
【００５９】
（マスタ端末によるパラメータ収集処理）
図６は、マスタ端末によるパラメータ収集処理の一例を示すフローチャートである。マスタ端末４１０の情報収集ユニット１１４は、パラメータ収集処理としてたとえば以下の各ステップを実行する。まず、情報収集ユニット１１４は、パラメータ収集イベントが発生したか否かを判断し（ステップＳ６０１）、パラメータ収集イベントが発生するまで待つ（ステップＳ６０１：Ｎｏのループ）。パラメータ収集イベントは、パラメータ収集の契機となるイベントであり、たとえば周期的に発生する。
【００６０】
ステップＳ６０１において、パラメータ収集イベントが発生すると（ステップＳ６０１：Ｙｅｓ）、情報収集ユニット１１４は、現在時刻ｔ０を取得する（ステップＳ６０２）。つぎに、情報収集ユニット１１４は、データ処理システム群１２０からパラメータを受信することによってパラメータ収集を行う（ステップＳ６０３）。
【００６１】
つぎに、情報収集ユニット１１４は、ステップＳ６０２によって取得したｔ０を現在時刻から減算することによって、パラメータ収集時間を算出する（ステップＳ６０４）。ステップＳ６０４によって算出される所要時間は、図３に示したパラメータ収集時間３２１に相当する。つぎに、情報収集ユニット１１４が、ステップＳ６０４によって算出したパラメータ収集時間をマスタ端末４１０のメモリに記憶し（ステップＳ６０５）、一連の処理を終了する。以上の各ステップにより、情報収集ユニット１１４は、パラメータ収集イベントの発生時にパラメータ収集時間を取得することができる。
【００６２】
（予測時間の算出の一例）
図５に示したステップＳ５０５において予測時間の算出の一例について説明する。たとえば、処理時間予測ユニット１１１は、図５のステップＳ５１４によって記憶された所要時間と、図６のステップＳ６０５によって記憶されたパラメータ収集時間と、の合計を算出することによって図３に示した予測時間３１０を算出することができる。
【００６３】
また、処理時間予測ユニット１１１は、所要時間が複数回分記憶されている場合は、記憶された各所要時間の平均値に基づいて予測時間３１０を算出してもよい。また、処理時間予測ユニット１１１は、パラメータ収集時間が複数回分記憶されている場合は、記憶された各パラメータ収集時間の平均値に基づいて予測時間３１０を算出してもよい。
【００６４】
（計算端末による処理）
図７は、計算端末による処理の一例を示すフローチャートである。計算端末４２１は、たとえば以下の各ステップを実行する。なお、ここでは計算端末４２１の処理について説明するが、計算端末４２２，４２３の処理についても同様である。まず、受付ユニット１２１が、マスタ端末４１０から処理をディスパッチされたか否かを判断し（ステップＳ７０１）、処理をディスパッチされるまで待つ（ステップＳ７０１：Ｎｏのループ）。具体的には、受付ユニット１２１は、マスタ端末４１０から処理割当情報を受信したか否かによって処理をディスパッチされたか否かを判断する。
【００６５】
ステップＳ７０１において、処理をディスパッチされると（ステップＳ７０１：Ｙｅｓ）、受付ユニット１２１が、計算端末４２１の負荷量（たとえば実行中のプロセス数）が閾値未満か否かを判断する（ステップＳ７０２）。負荷量が閾値未満である場合（ステップＳ７０２：Ｙｅｓ）は、判定ユニット１２２が、ステップＳ７０１におけるディスパッチを受け付ける（ステップＳ７０３）。つぎに、処理ユニット１２４が、受け付けたディスパッチにかかる処理を実行し（ステップＳ７０４）、一連の処理を終了する。
【００６６】
ステップＳ７０２において、負荷量が閾値以上である場合（ステップＳ７０２：Ｎｏ）は、判定ユニット１２２が、ディスパッチにかかる処理に強制フラグが付加されているか否かを判断する（ステップＳ７０５）。強制フラグが付加されている場合（ステップＳ７０５：Ｙｅｓ）は、処理ユニット１２４が、実行中または実行予定の他の処理を破棄し（ステップＳ７０６）、ステップＳ７０３へ移行する。
【００６７】
ステップＳ７０５において、強制フラグが付加されていない場合（ステップＳ７０５：Ｎｏ）は、計算端末４２１が、ステップＳ７０１におけるディスパッチを拒絶し（ステップＳ７０７）、一連の処理を終了する。ステップＳ７０７において、計算端末４２１は、たとえば、通信インタフェース２０５を介してマスタ端末４１０へ拒絶通知を送信することによってディスパッチを拒絶する。
【００６８】
以上の各ステップにより、計算端末４２１は、強制フラグが付加された処理がディスパッチされた場合は、負荷量が高くても他の処理を破棄することによってディスパッチされた処理を優先的に実行することができる。
【００６９】
（通信システムの動作）
図８−１は、予測時間が所定時間内である場合の通信システムの動作の一例を示す図である。図８−１において、図３に示した部分と同様の部分については同一の符号を付して説明を省略する。図８−１において、所定時間８１０は、比較ユニット１１５において比較される所定時間（制約時間）である。
【００７０】
図８−１に示すように、予測時間３１０が所定時間８１０以下である場合は、スケジューリングシステム１１０はパラメータ収集８２１、スケジューリング８２２およびディスパッチ８２３を行い、データ処理システム１２０ａは処理実行８２４を行う。また、ディスパッチ８２３においては強制フラグは付加されない（強制なし）。
【００７１】
この場合は、予測時間３１０が所定時間８１０以下であるため、パラメータ収集８２１、スケジューリング８２２、ディスパッチ８２３および処理実行８２４は所定時間８１０以下の時間で完了することが期待できる。また、パラメータ収集８２１を行うため、ディスパッチ８２３に対するデータ処理システム１２０ａの拒絶を回避することができる。
【００７２】
図８−２は、予測時間が所定時間を超える場合の通信システムの動作の一例を示す図である。図８−２において、図３または図８−１に示した部分と同様の部分については同一の符号を付して説明を省略する。
【００７３】
図８−２に示すように、予測時間３１０が所定時間８１０より長い場合は、スケジューリングシステム１１０は、パラメータ収集８２１を行わず、スケジューリング８２２およびディスパッチ８２３を行う。また、ディスパッチ８２３においては強制フラグが付加される（強制あり）。
【００７４】
この場合は、パラメータ収集８２１を行わない分だけスケジューリング８２２の開始が早くなるため、スケジューリング８２２、ディスパッチ８２３および処理実行８２４は所定時間８１０以下の時間で完了することが可能になる。また、ディスパッチ８２３には強制フラグが付加されるため、データ処理システム１２０ａによる割当拒絶による遅延を回避することができる。
【００７５】
このように、実施の形態にかかる通信システム１００によれば、計算端末に割り当てる処理の完了にかかる時間を予測し、処理の完了に時間がかかりそうな場合は処理の割当を強制にして割当拒絶による遅延を回避することができる。このため、処理の割当候補の計算端末のパラメータを常に収集しなくても処理の制約時間（リアルタイム制約）を守ることができる。
【００７６】
以上説明したように、スケジューリングシステム、データ処理システムおよびスケジューリング方法によれば、処理の遅延を抑えることができる。パラメータ収集を常に実行しなくてもよいため、消費電力を低減することができる。
【符号の説明】
【００７７】
１００  通信システム
１２０  データ処理システム群
２１０  バス
３１０  予測時間
４００  アドホックネットワーク
４１０  マスタ端末
４２１〜４２３  計算端末
８１０  所定時間
【図１】
2013030908.tif 000003
【図２】
2013030908.tif 000004
【図３】
2013030908.tif 000005
【図４】
2013030908.tif 000006
【図５】
2013030908.tif 000007
【図６】
2013030908.tif 000008
【図７】
2013030908.tif 000009
【図８−１】
2013030908.tif 000010
【図８−２】
2013030908.tif 000011
【手続補正書】
【提出日】平成26年1月30日(2014.1.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理の実行要求に基づいて複数のデータ処理システムの少なくとも一のデータ処理システムに前記処理を割り当てるスケジューラと、
前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測する処理時間予測ユニットと、
予測された前記時間に基づいて前記第１の処理に所定情報を付加する設定ユニットと、
を含むことを特徴とするスケジューリングシステム。
【請求項２】
前記設定ユニットは、
前記予測された時間と所定時間とを比較する比較ユニットと、
比較結果に基づいて前記第１の処理に前記所定情報を付加する付加ユニットと、
を含むことを特徴とする請求項１に記載のスケジューリングシステム。
【請求項３】
前記予測された時間が前記所定時間よりも小さいときに、複数のデータ処理システムの情報を収集する情報収集ユニットを含むこと
を特徴とする請求項２に記載のスケジューリングシステム。
【請求項４】
複数のデータ処理システムの情報を収集する情報収集ユニットを含み、
前記処理時間予測ユニットは、前記処理が第２の処理であるときに、前記情報収集ユニットが情報を収集する収集時間および前記第２の処理がスケジューリングされてから実行が完了するまでの処理時間を測定すること
を特徴とする請求項１または請求項２に記載のスケジューリングシステム。
【請求項５】
前記処理時間予測ユニットは、前記収集時間および前記処理時間の平均値を計算し、前記平均値に基づいて、前記第１の処理の実行が完了するまでの時間を予測すること
を特徴とする請求項４に記載のスケジューリングシステム。
【請求項６】
前記所定情報は、前記少なくとも一のデータ処理システムにおける前記第１の処理の強制実行を指示する情報を含むこと
を特徴とする請求項１乃至請求項５の何れか一に記載のスケジューリングシステム。
【請求項７】
スケジューラによって割り当てられた処理を受け付ける受付ユニットと、
自己の負荷量を判定する負荷量判定ユニットと、
前記処理に所定情報が付加されているか否かを判定する所定情報判定ユニットと、
前記自己の負荷量と前記所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する処理ユニットと、
を含むことを特徴とするデータ処理システム。
【請求項８】
前記処理ユニットは、前記負荷量が所定値を超えるとともに前記所定情報が付加されているときに、前記少なくとも一の処理を破棄すること
を特徴とする請求項７に記載のデータ処理システム。
【請求項９】
前記処理ユニットは、優先度の最も低い処理を前記少なくとも一の処理として選択すること
を特徴とする請求項７または請求項８に記載のデータ処理システム。
【請求項１０】
複数のデータ処理システムに含まれる第１データ処理システムは、処理の実行要求に基づく前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測し、
前記予測された時間に基づいて前記第１の処理に所定情報を付加し、
前記複数のデータ処理システムに含まれる第２データ処理システムに前記第１の処理を割り当てること
を特徴とするスケジューリング方法。
【請求項１１】
前記予測された時間が所定時間よりも小さいときに、前記複数のデータ処理システムの情報を収集し、
前記収集された情報に基づいて前記第２データ処理システムに前記第１の処理を割り当てること
を特徴とする請求項１０に記載のスケジューリング方法。
【請求項１２】
前記予測された時間が所定時間よりも大きいときに前記第１の処理に所定情報を付加し、
前記第２データ処理システムに前記第１の処理を割り当てること
を特徴とする請求項１０に記載のスケジューリング方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューリングシステム、データ処理システムおよびスケジューリング方法に関する。
【背景技術】
【０００２】
従来、グリッドコンピューティングのように、インターネットなどのネットワークで有線接続された複数の計算機を統一的に扱う分散処理技術が知られている。たとえば、プッシュ型の分散処理システムにおいて、マスタ端末が計算端末の処理実行状況などのパラメータを常時に収集（パラメータ収集）することにより、計算端末の状態を考慮したスケジューリングを行う技術が知られている（たとえば、下記特許文献１参照。）。
【０００３】
また、分散処理によって実行される処理の中には、制限時間内に完了することが求められるリアルタイム制約のある処理も存在する。一方、近年、携帯端末の性能向上が目覚ましく、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）の演算能力および無線通信速度が向上している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１５２６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、携帯端末を計算ノードとした分散処理システムを構築する場合に、通信を伴うパラメータ収集を常時行うと携帯端末のバッテリ消費量が多くなる。これに対して、パラメータ収集を行わずに処理の割当を行うことが考えられるが、スケジューリングを適切に行うことができず割当拒絶の可能性が高まり、割当拒絶により処理が遅延するという問題がある。また、処理の割当時にパラメータ収集を行うことも考えられるが、パラメータ収集にかかる時間により処理が遅延するという問題がある。
【０００６】
本発明は、上述した従来技術による問題点を解消するため、処理の遅延を抑えることができるスケジューリングシステム、データ処理システムおよびスケジューリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数のデータ処理システムに含まれる第１データ処理システムは、処理の実行要求に基づく前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測し、前記予測された時間に基づいて前記第１の処理に所定情報を付加し、前記複数のデータ処理システムに含まれる第２データ処理システムに前記第１の処理を割り当てるスケジューリングシステム、データ処理システムおよびスケジューリング方法が提案される。
【発明の効果】
【０００８】
本発明の一側面によれば、処理の遅延を抑えることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる通信システムの一例を示す図である。
【図２】図２は、各装置のハードウェア構成の一例を示す図である。
【図３】図３は、予測時間の一例を示す図である。
【図４】図４は、通信システムの適用例を示す図である。
【図５】図５は、マスタ端末による処理の一例を示すフローチャートである。
【図６】図６は、マスタ端末によるパラメータ収集処理の一例を示すフローチャートである。
【図７】図７は、計算端末による処理の一例を示すフローチャートである。
【図８−１】図８−１は、予測時間が所定時間内である場合の通信システムの動作の一例を示す図である。
【図８−２】図８−２は、予測時間が所定時間を超える場合の通信システムの動作の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかるスケジューリングシステム、データ処理システムおよびスケジューリング方法の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
（実施の形態にかかる通信システム）
図１は、実施の形態にかかる通信システムの一例を示す図である。図１に示すように、実施の形態にかかる通信システム１００は、スケジューリングシステム１１０と、データ処理システム群１２０と、を含んでいる。スケジューリングシステム１１０およびデータ処理システム群１２０は、たとえばアドホック通信によって互いに通信可能な携帯端末である。
【００１２】
スケジューリングシステム１１０（第１データ処理システム）は、入力された処理の実行要求に基づいて、データ処理システム群１２０の少なくとも一のデータ処理システム（第２データ処理システム）に対して、処理の割当を行うことで処理を実行させるデータ処理システムである。たとえば、スケジューリングシステム１１０は、データ処理システム群１２０に含まれる複数のデータ処理システムに対して処理を分散して割り当てる分散処理を行う。分散処理としてはたとえばＧｌｏｂｕｓ  Ｔｏｏｌｋｉｔを挙げることができる。
【００１３】
また、スケジューリングシステム１１０は、データ処理システム群１２０に含まれる一のデータ処理システムに対して処理を割り当ててもよい。また、スケジューリングシステム１１０は、データ処理システム群１２０のうちの処理を割り当てたデータ処理システムから処理の実行結果を受信してもよい。
【００１４】
データ処理システム群１２０は、スケジューリングシステム１１０との間で通信が可能なデータ処理システムである。データ処理システム群１２０の少なくとも一のデータ処理システムは、スケジューリングシステム１１０から割り当てられた処理を実行する。また、データ処理システム群１２０のうちのスケジューリングシステム１１０から処理を割り当てられたデータ処理システムは、処理の実行結果をスケジューリングシステム１１０へ送信してもよい。
【００１５】
＜スケジューリングシステムの構成例＞
スケジューリングシステム１１０は、処理時間予測ユニット１１１と、設定ユニット１１２と、スケジューラ１１３と、を備えている。また、スケジューリングシステム１１０は、情報収集ユニット１１４を備えていてもよい。ここでは、スケジューリングシステム１１０はデータ処理システム群１２０に含まれるデータ処理システム１２０ａに処理を割り当てるとする。処理時間予測ユニット１１１および設定ユニット１１２には、スケジューリングシステム１１０がデータ処理システム群１２０の少なくとも一のデータ処理システムへ割り当てる処理の実行要求が入力される。
【００１６】
処理時間予測ユニット１１１は、入力された実行要求にかかる処理が第１の処理であるときに、データ処理システム１２０ａに割り当てた第１の処理が完了するまでの時間を予測する。第１の処理は、たとえば、所定時間内に処理が完了する旨の制約が設定された緊急性の高い処理である。緊急性の高い分散処理の一例としては、たとえば、高解像度かつ高圧縮なビデオチャットなどの、リアルタイム性が要求され、かつ高圧縮なため伸張処理が重い処理などが挙げられる。処理時間予測ユニット１１１は、予測した時間（以下、予測時間と称する）を設定ユニット１１２へ出力する。
【００１７】
設定ユニット１１２は、処理時間予測ユニット１１１から出力された予測時間に基づいて、入力された実行要求に所定情報を付加する。所定情報は、たとえば、第１の処理を強制的に実行すること（強制実行）を指示する情報（強制フラグ）を含む。設定ユニット１１２は、具体的には、比較ユニット１１５と、付加ユニット１１６と、を含んでいる。
【００１８】
比較ユニット１１５は、処理時間予測ユニット１１１から出力された予測時間と所定時間とを比較する。所定時間は、たとえば第１の処理において要求される制約時間である。すなわち、これにより、第１の処理を制約時間内に完了できるか否かを判断することができる。比較ユニット１１５は、比較結果を付加ユニット１１６へ出力する。
【００１９】
付加ユニット１１６は、入力された実行要求に対して、比較ユニット１１５から出力された比較結果に基づいて所定情報を付加する。たとえば、付加ユニット１１６は、予測時間が所定時間以上である旨の比較結果が比較ユニット１１５から出力された場合は第１の処理の実行要求に所定情報を付加する。
【００２０】
また、付加ユニット１１６は、予測時間が所定時間未満である旨の比較結果が比較ユニット１１５から出力された場合は第１の処理の実行要求に所定情報を付加しない。また、付加ユニット１１６は、第１の処理とは異なる処理の実行要求に対しては所定情報を付加しない。付加ユニット１１６は、所定情報を付加し、または所定情報を付加しなかった実行要求をスケジューラ１１３へ出力する。
【００２１】
スケジューラ１１３は、設定ユニット１１２から出力された実行要求にかかる処理をデータ処理システム群１２０の少なくとも一のデータ処理システムへ割り当てる。また、スケジューラ１１３は、情報収集ユニット１１４から出力された情報に基づいて処理を割り当ててもよい。ここでは、スケジューラ１１３はデータ処理システム群１２０に含まれるデータ処理システム１２０ａに処理を割り当てる。そして、スケジューラ１１３は、データ処理システム１２０ａに割り当てた処理の実行を指示する処理割当情報を出力する。スケジューラ１１３から出力された処理割当情報は、たとえば図示しない通信ユニットによってデータ処理システム１２０ａへ送信される。
【００２２】
情報収集ユニット１１４は、データ処理システム群１２０に含まれるデータ処理システムの情報を収集する。情報収集ユニット１１４が収集する情報は、たとえば、データ処理システム群１２０の負荷量（たとえばプロセッサ使用率や実行中のプロセス数）などの状態を示すパラメータである。また、パラメータには、たとえば、データ処理システム群１２０（計算ノード）の数、処理能力、現在割り当てられている処理の量、計算ノードとの通信時間などの情報が含まれていてもよい。情報収集ユニット１１４は、収集した情報をスケジューラ１１３へ出力する。これにより、スケジューラ１１３は、データ処理システム群１２０の負荷量などのパラメータに基づいて処理の割り当てを行うことができる。
【００２３】
また、処理時間予測ユニット１１１は、入力された実行要求にかかる処理が第２の処理であるときに、情報収集ユニット１１４が情報を収集する収集時間および第２の処理がスケジューリングされてから実行が完了するまでの処理時間を測定してもよい。第２の処理は、たとえば、所定時間内に処理が完了することが求められない処理である。そして、処理時間予測ユニット１１１は、収集時間および処理時間の平均値を計算し、算出した平均値に基づいて、第１の処理の実行が完了するまでの時間を予測してもよい。
【００２４】
＜データ処理システムの構成例＞
データ処理システム１２０ａは、受付ユニット１２１と、判定ユニット１２２と、負荷量判定ユニット１２３と、処理ユニット１２４と、を含んでいる。データ処理システム群１２０のうちのデータ処理システム１２０ａとは異なるデータ処理システムも、たとえばデータ処理システム１２０ａと同様の構成を含んでいる。
【００２５】
受付ユニット１２１は、スケジューリングシステム１１０のスケジューラ１１３によって割り当てられた処理を受け付ける。具体的には、受付ユニット１２１は、スケジューリングシステム１１０から送信された処理割当情報を受信する。受付ユニット１２１は、受信した実行要求を判定ユニット１２２へ出力する。
【００２６】
判定ユニット１２２は、受付ユニット１２１から出力された処理割当情報にかかる処理を受け付けるか否かを判断する。たとえば、判定ユニット１２２は、処理割当情報に所定情報が付加されているか否かを判定する所定情報判定ユニットの機能を有する。さらに、判定ユニット１２２は、負荷量判定ユニット１２３から出力される負荷量に基づいて処理を受け付けるか否かを判断してもよい。判定ユニット１２２は、処理を受け付けると判断した場合は処理割当情報を処理ユニット１２４へ出力し、処理を受け付けないと判断した場合は処理割当情報を処理ユニット１２４へ出力しない。
【００２７】
負荷量判定ユニット１２３は、データ処理システム１２０ａ（自己）の負荷量を判定する。負荷量は、たとえばプロセッサ使用率や実行中のプロセス数などのパラメータである。負荷量判定ユニット１２３は、判定結果を処理ユニット１２４へ出力する。また、データ処理システム１２０ａは、負荷量判定ユニット１２３から出力された判定結果をスケジューリングシステム１１０の情報収集ユニット１１４へ送信してもよい。
【００２８】
処理ユニット１２４は、判定ユニット１２２から出力された処理割当情報にかかる処理を実行する。また、処理ユニット１２４は、処理割当情報に所定情報が付加されていた場合に、負荷量判定ユニット１２３から出力された判定結果に基づいて、既に割り当てられている少なくとも一の処理を破棄する。
【００２９】
具体的には、処理ユニット１２４は、所定情報が付加された処理割当情報が判定ユニット１２２から出力され、負荷量が所定値を超えている旨の判定結果が負荷量判定ユニット１２３から出力されたときに、少なくとも一の処理を破棄する。たとえば、処理ユニット１２４は、既に割り当てられている処理のうちの優先度が最も低い処理を選択し、選択した処理を破棄する。
【００３０】
処理ユニット１２４は、このように、データ処理システム１２０ａの負荷量と所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する。これにより、所定情報が付加された処理割当情報を受信し、自己の負荷量が大きい場合は、処理割当情報にかかる処理とは異なる処理を破棄して負荷量を軽減することができる。このため、受信した処理割当情報にかかる処理を実行することができる。
【００３１】
このように、通信システム１００において、スケジューリングシステム１１０は、緊急性の高い実行要求を受け付けた場合に、データ処理システム１２０ａに処理を割り当てる際に強制力を付加する。また、データ処理システム１２０ａは、スケジューリングシステム１１０から処理の割当を受けると、強制力が付加されているかを判断し、強制力が付加されていればたとえば無条件で処理割当を受け付ける。
【００３２】
また、スケジューリングシステム１１０は、パラメータ収集を行う場合に処理が完了するまでの時間を予測し、予測時間が制約時間より長い場合に処理に強制力を付加し、予測時間が制約時間以下である場合は処理に強制力を付加しない。
【００３３】
これにより、制約時間内に処理が完了しないと予測される場合は、パラメータ収集を行わないことで処理を短時間で割り当てることができる。また、処理の割当拒否を禁止することで割当拒否による遅延を回避することができる。
【００３４】
また、制約時間内に処理が完了すると予測される場合は、パラメータ収集を行うことで処理の割当拒否を回避することができる。また、処理の割当拒否を禁止しないことで、割当拒否の禁止によりデータ処理システム１２０ａが過負荷となることによる他の処理の完了時間の遅延を回避することができる。また、パラメータ収集を常時行わなくてもよいため、スケジューリングシステム１１０およびデータ処理システム群１２０の消費電力を低減することができる。
【００３５】
（各装置のハードウェア構成）
図２は、各装置のハードウェア構成の一例を示す図である。図１に示したスケジューリングシステム１１０およびデータ処理システム１２０ａのそれぞれは、たとえば図２に示す情報処理装置２００によって実現することができる。情報処理装置２００は、ＣＰＵ２０１と、メインメモリ２０２と、補助メモリ２０３と、ユーザインタフェース２０４と、通信インタフェース２０５と、を備えている。ＣＰＵ２０１、メインメモリ２０２、補助メモリ２０３、ユーザインタフェース２０４および通信インタフェース２０５は、バス２１０によって接続されている。
【００３６】
ＣＰＵ２０１は、情報処理装置２００の全体の制御を司る。また、情報処理装置２００はＣＰＵ２０１を複数備えていてもよい。メインメモリ２０２は、たとえばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリ２０２は、ＣＰＵ２０１のワークエリアとして使用される。補助メモリ２０３は、たとえば、ハードディスク、フラッシュメモリなどの不揮発メモリである。補助メモリ２０３には、情報処理装置２００を動作させる各種のプログラムが記憶されている。補助メモリ２０３に記憶されたプログラムは、メインメモリ２０２にロードされてＣＰＵ２０１によって実行される。
【００３７】
ユーザインタフェース２０４は、たとえば、ユーザからの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばキー（たとえばキーボード）やリモコンなどによって実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどによって実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース２０４は、ＣＰＵ２０１によって制御される。
【００３８】
通信インタフェース２０５は、たとえば、無線によって情報処理装置２００の外部との間で通信を行う通信インタフェースである。たとえばスケジューリングシステム１１０の通信インタフェース２０５は、データ処理システム１２０ａの通信インタフェース２０５との間で無線通信を行う。通信インタフェース２０５は、ＣＰＵ２０１によって制御される。
【００３９】
図１に示したスケジューリングシステム１１０において、処理の実行要求は、たとえばユーザインタフェース２０４や通信インタフェース２０５によって入力される。また、処理時間予測ユニット１１１、設定ユニット１１２およびスケジューラ１１３は、たとえばＣＰＵ２０１によって実行されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：オペレーティングシステム）の機能として実現することができる。また、情報収集ユニット１１４は、たとえば通信インタフェース２０５によって実現することができる。また、設定ユニット１１２から出力された処理割当情報は、たとえば通信インタフェース２０５によってデータ処理システム１２０ａへ送信される。
【００４０】
図１に示したデータ処理システム１２０ａにおいて、受付ユニット１２１は、たとえば通信インタフェース２０５によって実現することができる。判定ユニット１２２、負荷量判定ユニット１２３および処理ユニット１２４は、たとえばＣＰＵ２０１によって実行されるＯＳの機能として実現することができる。
【００４１】
（予測時間の一例）
図３は、予測時間の一例を示す図である。図３に示す予測時間３１０は、処理時間予測ユニット１１１によって算出される予測時間である。図３に示すように、予測時間３１０は、たとえば、パラメータ収集時間３２１と、スケジューリング時間３２２と、ディスパッチ時間３２３と、処理実行時間３２４と、の合計に相当する時間である。
【００４２】
パラメータ収集時間３２１は、情報収集ユニット１１４によるパラメータ収集にかかる時間である。処理時間予測ユニット１１１は、たとえば、過去に情報収集ユニット１１４がパラメータ収集に要した時間を計測しておき、直近数回の平均値を算出することによってパラメータ収集時間３２１を算出することができる。
【００４３】
スケジューリング時間３２２は、スケジューラ１１３によるスケジューリングにかかる時間である。処理時間予測ユニット１１１は、たとえば、スケジューリングアルゴリズム、処理の数、データ処理システム群１２０（計算ノード）の数などに基づいてスケジューリング時間３２２を算出することができる。
【００４４】
ディスパッチ時間３２３は、スケジューラ１１３による処理の割当（ディスパッチ）にかかる時間である。処理時間予測ユニット１１１は、たとえば、処理の量および通信速度に基づいてディスパッチ時間３２３を算出することができる。
【００４５】
処理実行時間３２４は、処理をディスパッチした後、データ処理システム群１２０のうちの少なくとも一のデータ処理システムが処理を実行し、実行結果がスケジューリングシステム１１０へ返ってくるまでにかかる時間である。処理時間予測ユニット１１１は、たとえば、処理量とデータ処理システム群１２０の処理能力に基づいて処理実行時間３２４を算出することができる。処理量は、たとえば処理の実行要求に含まれている情報である。処理能力は、たとえば過去に行った処理の処理量と処理完了時間を計測しておき、直近数回の平均を用いることで算出することができる。
【００４６】
（通信システムの適用例）
図４は、通信システムの適用例を示す図である。図４に示すアドホックネットワーク４００は、図１に示した通信システム１００を適用した通信システムである。アドホックネットワーク４００は、マスタ端末４１０と、計算端末４２１〜４２３と、を含んでいる。マスタ端末４１０および計算端末４２１〜４２３のそれぞれは、互いに無線接続されてアドホック通信を行う無線通信端末である。
【００４７】
ここでは、マスタ端末４１０が図１に示したスケジューリングシステム１１０として動作する。また、計算端末４２１〜４２３が図１に示したデータ処理システム群１２０として動作する。たとえば、計算端末４２１が図１に示したデータ処理システム１２０ａに対応する。
【００４８】
このように、基地局を介さず端末間で直接通信を行うアドホックネットワーク４００に通信システム１００を適用することで、基地局の圏外エリアなどでも端末同士がアドホックネットワーク４００で接続し、分散処理システムを構築することができる。以下、マスタ端末４１０が計算端末４２１に処理を割り当てる場合について説明する。
【００４９】
（マスタ端末による処理）
図５は、マスタ端末による処理の一例を示すフローチャートである。マスタ端末４１０は、たとえば図５に示す各ステップを実行する。まず、処理時間予測ユニット１１１が、処理の実行要求を受け付けたか否かを判断し（ステップＳ５０１）、処理の実行要求を受け付けるまで待つ（ステップＳ５０１：Ｎｏのループ）。
【００５０】
ステップＳ５０１において、処理の実行要求を受け付けると（ステップＳ５０１：Ｙｅｓ）、処理時間予測ユニット１１１が現在時刻ｔ０を取得する（ステップＳ５０２）。つぎに、処理時間予測ユニット１１１が、ステップＳ５０１において受け付けた実行要求にかかる処理にリアルタイム制約があるか（第１の処理か）否かを判断する（ステップＳ５０３）。
【００５１】
ステップＳ５０３において、実行要求にかかる処理にリアルタイム制約がない場合（ステップＳ５０３：Ｎｏ）は、マスタ端末４１０は、ステップＳ５０８へ移行する。実行要求にかかる処理にリアルタイム制約がある場合（ステップＳ５０３：Ｙｅｓ）は、処理時間予測ユニット１１１が、情報収集ユニット１１４によるデータ処理システム群１２０のパラメータ収集を実施済みか否かを判断する（ステップＳ５０４）。
【００５２】
ステップＳ５０４において、パラメータ収集を実施済みである場合（ステップＳ５０４：Ｙｅｓ）は、マスタ端末４１０は、ステップＳ５０８へ移行する。パラメータ収集を実施済みでない場合（ステップＳ５０４：Ｎｏ）は、処理時間予測ユニット１１１が、実行要求にかかる処理が完了するまでの予測時間を算出する（ステップＳ５０５）。つぎに、比較ユニット１１５が、ステップＳ５０５によって算出された予測時間が、リアルタイム制約にかかる制約時間（所定時間）未満か否かを判断する（ステップＳ５０６）。
【００５３】
ステップＳ５０６において、予測時間が制約時間未満でない場合（ステップＳ５０６：Ｎｏ）は、マスタ端末４１０は、ステップＳ５０８へ移行する。予測時間が制約時間未満である場合（ステップＳ５０６：Ｙｅｓ）は、付加ユニット１１６が、実行要求にかかる処理に強制フラグ（所定情報）を付加する（ステップＳ５０７）。
【００５４】
つぎに、スケジューラ１１３が、実行要求にかかる処理のスケジューリングを行う（ステップＳ５０８）。つぎに、スケジューラ１１３が、ステップＳ５０８におけるスケジューリングの結果に基づいて、実行要求にかかる処理をデータ処理システム群１２０の少なくとも一のデータ処理システムにディスパッチする（ステップＳ５０９）。
【００５５】
つぎに、スケジューラ１１３が、ステップＳ５０９におけるディスパッチに対するディスパッチ先からの拒絶があるか否かを判断する（ステップＳ５１０）。ディスパッチに対する拒絶がある場合（ステップＳ５１０：Ｙｅｓ）は、スケジューラ１１３が、ステップＳ５０８へ戻って再度スケジューリングを行う。ディスパッチに対する拒絶がない場合（ステップＳ５１０：Ｎｏ）は、スケジューラ１１３が、ステップＳ５０９におけるディスパッチに対する全ての処理結果が返ってきたか否かを判断し（ステップＳ５１１）、全ての処理結果が返ってくるまで待つ（ステップＳ５１１：Ｎｏのループ）。
【００５６】
ステップＳ５１１において、全ての処理結果が返ってくると（ステップＳ５１１：Ｙｅｓ）、マスタ端末４１０は、返ってきた処理結果をユーザへ通知する（ステップＳ５１２）。ステップＳ５１２による通知は、たとえば図２に示したユーザインタフェース２０４によって行うことができる。
【００５７】
つぎに、処理時間予測ユニット１１１が、ステップＳ５０２によって取得したｔ０を現在時刻から減算することによって、スケジューリングから処理完了までの所要時間を算出する（ステップＳ５１３）。ステップＳ５１３によって算出される所要時間は、図３に示したスケジューリング時間３２２、ディスパッチ時間３２３および処理実行時間３２４の合計時間に相当する。
【００５８】
つぎに、処理時間予測ユニット１１１が、ステップＳ５１３によって算出した所要時間をマスタ端末４１０のメモリに記憶し（ステップＳ５１４）、一連の処理を終了する。以上の各ステップにより、マスタ端末４１０は、実行要求にかかる処理にリアルタイム制約があるかを判断し、処理の完了の予測時間より制約時間が短かった場合に強制力を付加して処理を割り当てることができる。
【００５９】
（マスタ端末によるパラメータ収集処理）
図６は、マスタ端末によるパラメータ収集処理の一例を示すフローチャートである。マスタ端末４１０の情報収集ユニット１１４は、パラメータ収集処理としてたとえば以下の各ステップを実行する。まず、情報収集ユニット１１４は、パラメータ収集イベントが発生したか否かを判断し（ステップＳ６０１）、パラメータ収集イベントが発生するまで待つ（ステップＳ６０１：Ｎｏのループ）。パラメータ収集イベントは、パラメータ収集の契機となるイベントであり、たとえば周期的に発生する。
【００６０】
ステップＳ６０１において、パラメータ収集イベントが発生すると（ステップＳ６０１：Ｙｅｓ）、情報収集ユニット１１４は、現在時刻ｔ０を取得する（ステップＳ６０２）。つぎに、情報収集ユニット１１４は、データ処理システム群１２０からパラメータを受信することによってパラメータ収集を行う（ステップＳ６０３）。
【００６１】
つぎに、情報収集ユニット１１４は、ステップＳ６０２によって取得したｔ０を現在時刻から減算することによって、パラメータ収集時間を算出する（ステップＳ６０４）。ステップＳ６０４によって算出される所要時間は、図３に示したパラメータ収集時間３２１に相当する。つぎに、情報収集ユニット１１４が、ステップＳ６０４によって算出したパラメータ収集時間をマスタ端末４１０のメモリに記憶し（ステップＳ６０５）、一連の処理を終了する。以上の各ステップにより、情報収集ユニット１１４は、パラメータ収集イベントの発生時にパラメータ収集時間を取得することができる。
【００６２】
（予測時間の算出の一例）
図５に示したステップＳ５０５において予測時間の算出の一例について説明する。たとえば、処理時間予測ユニット１１１は、図５のステップＳ５１４によって記憶された所要時間と、図６のステップＳ６０５によって記憶されたパラメータ収集時間と、の合計を算出することによって図３に示した予測時間３１０を算出することができる。
【００６３】
また、処理時間予測ユニット１１１は、所要時間が複数回分記憶されている場合は、記憶された各所要時間の平均値に基づいて予測時間３１０を算出してもよい。また、処理時間予測ユニット１１１は、パラメータ収集時間が複数回分記憶されている場合は、記憶された各パラメータ収集時間の平均値に基づいて予測時間３１０を算出してもよい。
【００６４】
（計算端末による処理）
図７は、計算端末による処理の一例を示すフローチャートである。計算端末４２１は、たとえば以下の各ステップを実行する。なお、ここでは計算端末４２１の処理について説明するが、計算端末４２２，４２３の処理についても同様である。まず、受付ユニット１２１が、マスタ端末４１０から処理をディスパッチされたか否かを判断し（ステップＳ７０１）、処理をディスパッチされるまで待つ（ステップＳ７０１：Ｎｏのループ）。具体的には、受付ユニット１２１は、マスタ端末４１０から処理割当情報を受信したか否かによって処理をディスパッチされたか否かを判断する。
【００６５】
ステップＳ７０１において、処理をディスパッチされると（ステップＳ７０１：Ｙｅｓ）、受付ユニット１２１が、計算端末４２１の負荷量（たとえば実行中のプロセス数）が閾値未満か否かを判断する（ステップＳ７０２）。負荷量が閾値未満である場合（ステップＳ７０２：Ｙｅｓ）は、判定ユニット１２２が、ステップＳ７０１におけるディスパッチを受け付ける（ステップＳ７０３）。つぎに、処理ユニット１２４が、受け付けたディスパッチにかかる処理を実行し（ステップＳ７０４）、一連の処理を終了する。
【００６６】
ステップＳ７０２において、負荷量が閾値以上である場合（ステップＳ７０２：Ｎｏ）は、判定ユニット１２２が、ディスパッチにかかる処理に強制フラグが付加されているか否かを判断する（ステップＳ７０５）。強制フラグが付加されている場合（ステップＳ７０５：Ｙｅｓ）は、処理ユニット１２４が、実行中または実行予定の他の処理を破棄し（ステップＳ７０６）、ステップＳ７０３へ移行する。
【００６７】
ステップＳ７０５において、強制フラグが付加されていない場合（ステップＳ７０５：Ｎｏ）は、計算端末４２１が、ステップＳ７０１におけるディスパッチを拒絶し（ステップＳ７０７）、一連の処理を終了する。ステップＳ７０７において、計算端末４２１は、たとえば、通信インタフェース２０５を介してマスタ端末４１０へ拒絶通知を送信することによってディスパッチを拒絶する。
【００６８】
以上の各ステップにより、計算端末４２１は、強制フラグが付加された処理がディスパッチされた場合は、負荷量が高くても他の処理を破棄することによってディスパッチされた処理を優先的に実行することができる。
【００６９】
（通信システムの動作）
図８−１は、予測時間が所定時間内である場合の通信システムの動作の一例を示す図である。図８−１において、図３に示した部分と同様の部分については同一の符号を付して説明を省略する。図８−１において、所定時間８１０は、比較ユニット１１５において比較される所定時間（制約時間）である。
【００７０】
図８−１に示すように、予測時間３１０が所定時間８１０以下である場合は、スケジューリングシステム１１０はパラメータ収集８２１、スケジューリング８２２およびディスパッチ８２３を行い、データ処理システム１２０ａは処理実行８２４を行う。また、ディスパッチ８２３においては強制フラグは付加されない（強制なし）。
【００７１】
この場合は、予測時間３１０が所定時間８１０以下であるため、パラメータ収集８２１、スケジューリング８２２、ディスパッチ８２３および処理実行８２４は所定時間８１０以下の時間で完了することが期待できる。また、パラメータ収集８２１を行うため、ディスパッチ８２３に対するデータ処理システム１２０ａの拒絶を回避することができる。
【００７２】
図８−２は、予測時間が所定時間を超える場合の通信システムの動作の一例を示す図である。図８−２において、図３または図８−１に示した部分と同様の部分については同一の符号を付して説明を省略する。
【００７３】
図８−２に示すように、予測時間３１０が所定時間８１０より長い場合は、スケジューリングシステム１１０は、パラメータ収集８２１を行わず、スケジューリング８２２およびディスパッチ８２３を行う。また、ディスパッチ８２３においては強制フラグが付加される（強制あり）。
【００７４】
この場合は、パラメータ収集８２１を行わない分だけスケジューリング８２２の開始が早くなるため、スケジューリング８２２、ディスパッチ８２３および処理実行８２４は所定時間８１０以下の時間で完了することが可能になる。また、ディスパッチ８２３には強制フラグが付加されるため、データ処理システム１２０ａによる割当拒絶による遅延を回避することができる。
【００７５】
このように、実施の形態にかかる通信システム１００によれば、計算端末に割り当てる処理の完了にかかる時間を予測し、処理の完了に時間がかかりそうな場合は処理の割当を強制にして割当拒絶による遅延を回避することができる。このため、処理の割当候補の計算端末のパラメータを常に収集しなくても処理の制約時間（リアルタイム制約）を守ることができる。
【００７６】
以上説明したように、スケジューリングシステム、データ処理システムおよびスケジューリング方法によれば、処理の遅延を抑えることができる。パラメータ収集を常に実行しなくてもよいため、消費電力を低減することができる。
【００７７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００７８】
（付記１）処理の実行要求に基づいて複数のデータ処理システムの少なくとも一のデータ処理システムに前記処理を割り当てるスケジューラと、
前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測する処理時間予測ユニットと、
予測された前記時間に基づいて前記第１の処理に所定情報を付加する設定ユニットと、
を含むことを特徴とするスケジューリングシステム。
【００７９】
（付記２）前記設定ユニットは、
前記予測された時間と所定時間とを比較する比較ユニットと、
比較結果に基づいて前記第１の処理に前記所定情報を付加する付加ユニットと、
を含むことを特徴とする付記１に記載のスケジューリングシステム。
【００８０】
（付記３）前記予測された時間が前記所定時間よりも小さいときに、複数のデータ処理システムの情報を収集する情報収集ユニットを含むこと
を特徴とする付記２に記載のスケジューリングシステム。
【００８１】
（付記４）複数のデータ処理システムの情報を収集する情報収集ユニットを含み、
前記処理時間予測ユニットは、前記処理が第２の処理であるときに、前記情報収集ユニットが情報を収集する収集時間および前記第２の処理がスケジューリングされてから実行が完了するまでの処理時間を測定すること
を特徴とする付記１または２に記載のスケジューリングシステム。
【００８２】
（付記５）前記処理時間予測ユニットは、前記収集時間および前記処理時間の平均値を計算し、前記平均値に基づいて、前記第１の処理の実行が完了するまでの時間を予測すること
を特徴とする付記４に記載のスケジューリングシステム。
【００８３】
（付記６）前記所定情報は、前記少なくとも一のデータ処理システムにおける前記第１の処理の強制実行を指示する情報を含むこと
を特徴とする付記１〜５のいずれか一つに記載のスケジューリングシステム。
【００８４】
（付記７）前記複数のデータ処理システムとの間で無線接続された携帯端末である
ことを特徴とする付記１〜６のいずれか一つに記載のスケジューリングシステム。
【００８５】
（付記８）前記第１の処理は、前記所定時間内に完了する制約が設定された処理である
ことを特徴とする付記２〜５のいずれか一つに記載のスケジューリングシステム。
【００８６】
（付記９）スケジューラによって割り当てられた処理を受け付ける受付ユニットと、
自己の負荷量を判定する負荷量判定ユニットと、
前記処理に所定情報が付加されているか否かを判定する所定情報判定ユニットと、
前記自己の負荷量と前記所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する処理ユニットと、
を含むことを特徴とするデータ処理システム。
【００８７】
（付記１０）前記処理ユニットは、前記負荷量が所定値を超えるとともに前記所定情報が付加されているときに、前記少なくとも一の処理を破棄すること
を特徴とする付記９に記載のデータ処理システム。
【００８８】
（付記１１）前記処理ユニットは、優先度の最も低い処理を前記少なくとも一の処理として選択すること
を特徴とする付記９または１０に記載のデータ処理システム。
【００８９】
（付記１２）前記スケジューラとの間で無線接続された携帯端末である
ことを特徴とする付記９〜１１のいずれか一つに記載のデータ処理システム。
【００９０】
（付記１３）複数のデータ処理システムに含まれる第１データ処理システムは、処理の実行要求に基づく前記処理が第１の処理であるときに前記第１の処理が完了するまでの時間を予測し、
前記予測された時間に基づいて前記第１の処理に所定情報を付加し、
前記複数のデータ処理システムに含まれる第２データ処理システムに前記第１の処理を割り当てること
を特徴とするスケジューリング方法。
【００９１】
（付記１４）前記予測された時間が所定時間よりも小さいときに、前記複数のデータ処理システムの情報を収集し、
前記収集された情報に基づいて前記第２データ処理システムに前記第１の処理を割り当てること
を特徴とする付記１３に記載のスケジューリング方法。
【００９２】
（付記１５）前記予測された時間が所定時間よりも大きいときに前記第１の処理に所定情報を付加し、
前記第２データ処理システムに前記第１の処理を割り当てること
を特徴とする付記１３に記載のスケジューリング方法。
【００９３】
（付記１６）前記複数のデータ処理システムは、互いに無線接続された携帯端末である
ことを特徴とする付記１３〜１５のいずれか一つに記載のスケジューリング方法。
【符号の説明】
【００９４】
１００  通信システム
１２０  データ処理システム群
２１０  バス
３１０  予測時間
４００  アドホックネットワーク
４１０  マスタ端末
４２１〜４２３  計算端末
８１０  所定時間
【国際調査報告】
2013030908.tif 000012
2013030908.tif 000013
2013030908.tif 000014
2013030908.tif 000015