(57)【要約】【課題】資源のより効率的な利用を可能とする資源管理装置および資源管理方法を提供する。【解決手段】資源管理装置が、資源と、処理内容と、処理割り当て開始時間と、処理割り当て終了時間と、を対応して表す第１のテーブルと、資源と、資源提供者と、を対応して表す第２のテーブルと、処理内容と、要処理時間と、を対応して表す第３のテーブルと、資源提供者と、この資源提供者の行動種別と、この行動種別での行動時間帯と、を対応して表す第４のテーブルと、を有し、第４のテーブルを用いて、資源提供者の提供する資源での処理を制御する。【選択図】図１
2007164642.tif 000002
【特許請求の範囲】
【請求項１】
資源と、処理内容と、処理割り当て開始時間と、処理割り当て終了時間と、を対応して表す第１のテーブルと、
資源と、資源提供者と、を対応して表す第２のテーブルと、
処理内容と、要処理時間と、を対応して表す第３のテーブルと、
資源提供者と、この資源提供者の行動種別と、この行動種別での行動時間帯と、を対応して表す第４のテーブルと、
処理内容と、処理開始時間と、処理終了期限と、を含む実行依頼情報を受信する実行依頼情報受信部と、
前記第1、第２、第３、第４のテーブル、および前記受信される実行依頼情報に基づいて、前記第１のテーブルを更新するテーブル更新部と、
前記更新される第１のテーブルに基づき、資源に処理を実行させる処理実行部と、
を具備することを特徴とする資源管理装置。
【請求項２】
前記テーブル更新部が、
前記第１、第４のテーブル、および前記受信される実行依頼情報に基づいて、処理への割り当て可能時間帯を算出する時間帯算出部と、
前記処理開始時間および前記要処理時間に基づいて、処理終了予定時間を算出する終了予定時間算出部と、
前記算出される処理終了予定時間および前記算出される割り当て可能時間帯に基づいて、処理内容の割り当て可否を判定する割り当て可否判定部と、
前記割り当て可否判定部が割り当て可能と判定した処理内容を前記第１のテーブルに追加登録する追加登録部と、を有する
ことを特徴とする請求項１記載の資源管理装置。
【請求項３】
前記第１のテーブルが、資源の起動の要否を表す起動要否情報をさらに有し、
前記テーブル更新部が、前記算出される割り当て可能時間帯および前記第４のテーブルに基づいて、前記資源の起動の要否を判定する起動要否判定部をさらに有し、
前記終了予定時間算出部が、前記起動要否判定の結果に基づいて、処理終了予定時間を算出し、
前記追加登録部が、前記起動要否判定の結果に基づいて、起動要否情報を前記第１のテーブルに追加登録する
ことを特徴とする請求項２記載の資源管理装置。
【請求項４】
前記第１、第３のテーブル、および実行依頼情報が、オペレーティングシステム識別情報をさらに有し、
前記起動要否判定部が、前記第１，第３のテーブルでのオペレーティングシステムの対応関係に基づいて、前記資源の起動の要否を判定する
ことを特徴とする請求項３記載の資源管理装置。
【請求項５】
前記資源が本体と補助記憶装置とを有し、
前記資源管理装置が、前記本体から前記補助記憶装置の切り離しを制御する切り離し制御部と、前記本体の起動を制御する起動制御部と、をさらに具備する
ことを特徴とする請求項１記載の資源管理装置。
【請求項６】
資源提供者の位置情報を受信する位置情報受信部と、
前記受信される位置情報に基づいて、処理割り当て開始時間を予測する予測部と、をさらに具備し、
前記テーブル更新部が、前記第1、第２、第３、第４のテーブル、前記受信される実行依頼情報、および前記予測される処理割り当て開始時間に基づいて、前記第１のテーブルを更新する
ことを特徴とする請求項１記載の資源管理装置。
【請求項７】
前記第１、第３のテーブル、および前記実行依頼情報が、オペレーティングシステム識別情報をさらに有し、
前記資源管理装置が、前記実行依頼情報に含まれるオペレーティングシステム識別情報を蓄積するオペレーティングシステム識別情報蓄積部と、
前記蓄積されるオペレーティングシステム識別情報に基づき、オペレーティングシステムの優先度を決定する優先度決定部と、
前記決定される優先度に基づいて、資源の起動を制御する起動制御部と、をさらに具備する
ことを特徴とする請求項１記載の資源管理装置。
【請求項８】
処理内容と、処理開始時間と、処理終了期限と、を含む実行依頼情報を受信するステップと、
資源と、処理内容と、処理割り当て開始時間と、処理割り当て終了時間と、を対応して記憶する第１のテーブル、資源と、資源提供者と、を対応して記憶する第２のテーブル、処理内容と、要処理時間と、を対応して記憶する第３のテーブル、資源提供者と、この資源提供者の行動種別と、この行動種別での行動時間帯と、を対応して記憶する第４のテーブル、および前記受信される実行依頼情報に基づいて、前記第１のテーブルを更新するステップと、
前記更新される第１のテーブルに基づき、資源に処理を実行させるステップと、
を具備することを特徴とする資源管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、資源を管理する資源管理装置および資源管理方法に関する。
【背景技術】
【０００２】
資源提供者（計算機の管理利用者）が使用していない資源（計算機）を用いて処理を行うグリッドシステムが用いられている。
ここで、資源の提供の開始、終了は資源提供者からの自発的な行為によって行われるのが通例である。即ち、資源提供者が自己の資源をオンタイムでグリッドシステムに参加させることで資源の提供が開始され。また、資源提供者が自己の資源をグリッドシステムから離脱させることで資源の提供が中止される。
なお、複数の資源管理装置によって分散管理される分散システムにおいて、資源を事前に予約するジョブを実行する際に予約の失敗が連続して発生することを避ける技術が公開されている（特許文献１参照）。
【特許文献１】特開２００４−３０２７４８
【発明の開示】
【発明が解決しようとする課題】
【０００３】
資源提供者が資源の提供の開始、終了を制御すると、効率的な計算機の利用上、次のような不都合が生じる。即ち、資源提供者の恣意で資源の提供の開始、中止がなされ、資源提供のスケジューリングが困難である。例えば、資源提供者の資源の提供を突然中止する可能性がある。また、ＯＳが起動されていない計算機に対して、ジョブの割り付け処理を行う際、時間的なずれが生じる可能性がある。
上記に鑑み、本発明は資源のより効率的な利用を可能とする資源管理装置および資源管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明の一態様に係る資源管理装置は、資源と、処理内容と、処理割り当て開始時間と、処理割り当て終了時間と、を対応して表す第１のテーブルと、資源と、資源提供者と、を対応して表す第２のテーブルと、処理内容と、要処理時間と、を対応して表す第３のテーブルと、資源提供者と、この資源提供者の行動種別と、この行動種別での行動時間帯と、を対応して表す第４のテーブルと、処理内容と、処理開始時間と、処理終了期限と、を含む実行依頼情報を受信する実行依頼情報受信部と、
前記第1、第２、第３、第４のテーブル、および前記受信される実行依頼情報に基づいて、前記第１のテーブルを更新するテーブル更新部と、前記更新される第１のテーブルに基づき、資源に処理を実行させる処理実行部と、を具備することを特徴とする。
【０００５】
本発明の一態様に係る資源管理方法は、処理内容と、処理開始時間と、処理終了期限と、を含む実行依頼情報を受信するステップと、資源と、処理内容と、処理割り当て開始時間と、処理割り当て終了時間と、を対応して記憶する第１のテーブル、資源と、資源提供者と、を対応して記憶する第２のテーブル、処理内容と、要処理時間と、を対応して記憶する第３のテーブル、資源提供者と、この資源提供者の行動種別と、この行動種別での行動時間帯と、を対応して記憶する第４のテーブル、および前記受信される実行依頼情報に基づいて、前記第１のテーブルを更新するステップと、前記更新される第１のテーブルに基づき、資源に処理を実行させるステップと、を具備することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、資源のより効率的な利用を可能とする資源管理装置および資源管理方法を提供できる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
（第１の実施の形態）
図１は本発明の第１実施形態に係るグリッドシステムを表すシステム構成図である。図２は、本実施形態に係るマスターホスト１２の機能構成の詳細を表す機能構成図である。
グリッドシステムは、クライアント１１、マスターホスト１２、提供計算機１３、資源提供者スケジュール記憶部１４、データサーバ１５を備える。
【０００８】
クライアント１１は、マスターホスト１２にジョブの処理を依頼する機能部、例えば、コンピュータである。クライアント１１は、データを入力する入力部、データを出力する出力部、およびデータを表示する表示部を有する。入力部より実行依頼情報が入力され、マスターホスト１２に送信されることで、ジョブの処理が依頼される。マスターホスト１２から送信されるジョブの実行結果は出力部、表示部で出力、表示される。
【０００９】
図３は、実行依頼情報の一例を表す模式図である。
実行依頼情報は、ジョブ名、ジョブ開始時刻、期限、利用ＯＳ名を含む。
「ジョブ名」は、ジョブの名称であり、提供計算機１３で実行されるジョブを識別する情報の一種である。
「ジョブ開始時刻」は、ジョブの実行が開始される時間である。
「期限」は、ジョブの実行の終了の期限である。
「利用ＯＳ名」は、ジョブの実行に利用されるＯＳ（オペレーティング・システム）の名称であり、ＯＳを識別する情報の一種である。
【００１０】
マスターホスト１２は、グリッドシステムの制御を行い、提供計算機１３の資源の有効利用を図るシステム部、例えば、コンピュータである。なお、この詳細は後述する。
提供計算機１３（１３（１）、１３（２））は、グリッドシステムに提供される資源、例えば、コンピュータ（計算機）である。ここで、資源は、計算、情報処理等の処理能力をいう。提供計算機１３は、提供計算機本体１３１、ハードディスク（ＨＤ）等の補助記憶装置１３２に区分される。提供計算機本体１３１は、入力部、出力部、表示部、記憶部を備える。ここでは、例として、２台の提供計算機１３を表しているが、この数は１台、あるいは３台以上であっても差し支えない。
【００１１】
資源提供者スケジュール記憶部１４は、提供計算機１３を管理利用する者（資源提供者）の行動予定（スケジュール）を記憶する。スケジュール管理ソフトウェア（例えば、サイボウズ）等によって、資源提供者のスケジュール（電子スケジュール表）が資源提供者スケジュール記憶部１４に電子的に読み書きされる。
なお、資源提供者スケジュール記憶部１４は、マスターホスト１２から読み取り可能であれば、種々の構成を採用でき、例えば、マスターホスト１２と独立したコンピュータとすることができる。
【００１２】
資源提供者スケジュール記憶部１４には、資源提供者名、行動種別、行動開始時刻、および行動終了時刻の情報が対応して記憶される。資源提供者スケジュール記憶部１４の記憶内容は、資源提供者と、この資源提供者の行動種別と、この行動種別での行動時間帯と、を対応して表す第４のテーブルに対応する。
「資源提供者名」は、提供計算機１３の管理利用者を識別する情報である。
「行動種別」は、その資源提供者の行動を識別する情報、例えば、仕事（会議、実験等）、外出、休暇、勤務時間外（帰宅中）である。この内、仕事以外の種別、例えば、外出、休暇、勤務時間外（帰宅中）が提供計算機１３の資源をグリッドシステムに提供可能であることを表す。
「行動開始時刻」は、その資源提供者がその行動種別の行動を開始する時刻である。
「行動終了時刻」は、その資源提供者がその行動種別の行動を終了する時刻である。
【００１３】
データサーバ１５は、提供計算機１３が利用するＯＳ（operating system）やアプリケーション・プログラムを格納する補助記憶装置１５１を有する、例えば、コンピュータである。
【００１４】
マスターホスト１２は、データ記録部２１、ＣＰＵ名取得部２２、計算機登録情報取得部２３、割り当て情報取得部２４、計算機スケジュール設定部２５、割り当て判定部２６、資源提供時間帯取得部２７、実行処理部２８を有する。
【００１５】
データ記録部２１は、データを記憶するものであり、計算機登録テーブルＴ１、ジョブ実行時間テーブルＴ２、計算機スケジュールテーブルＴ３、割り当て候補テーブルＴ４が記憶されている。なお、「テーブル」とは、一般に複数の情報が対応付けられた情報の集合体であるが、単一の情報をテーブルと称してもよい。これは後のテーブルＴ５〜Ｔ８でも同様である。
【００１６】
計算機登録テーブルＴ１には、計算機ＩＤ、計算機性能、資源提供者名の情報が対応して表される。計算機登録テーブルＴ１は、資源と、資源提供者と、を対応して表す第２のテーブルに対応する。
図４は、計算機登録テーブルＴ１の一例を表す模式図である。
「計算機ＩＤ」は、提供計算機１３を識別する情報（IDentifier）であり、本実施形態では計算機名を用いている。なお、「計算機名」は、計算機の名称であり、提供計算機１３自体を識別する情報の一種である。
「計算機性能」は、提供計算機１３の性能を識別する情報であり、本実施形態ではＣＰＵ名を用いている。ＣＰＵによって処理速度が異なることによる。なお、「ＣＰＵ名」は、提供計算機１３のＣＰＵの名称であり、ＣＰＵを識別する情報の一種である。
「資源提供者名」は、提供計算機１３の管理利用者を識別する情報である。
【００１７】
ジョブ実行時間テーブルＴ２には、ジョブ名、実行環境、実行時間の情報が対応して表される。ジョブ実行時間テーブルＴ２は、処理内容と、要処理時間と、を対応して表す第３のテーブルに対応する。
図５は、ジョブ実行時間テーブルＴ２の一例を表す模式図である。
「ジョブ名」は、ジョブの名称であり、提供計算機１３で実行されるジョブを識別する情報の一種である。
「実行環境」は、ジョブが実行される環境（ジョブの処理速度に影響する要因）を識別する情報であり、本実施形態ではＯＳ名、ＣＰＵ名で表される。「ＯＳ名」は、提供計算機１３のＯＳを識別する情報であり、オペレーティングシステム識別情報として機能する。
「実行時間」は、所定の実行環境において、各ジョブの実行処理に要する時間を表わす情報である。
【００１８】
計算機スケジュールテーブルＴ３には、処理するジョブの割り当て情報が表される。計算機スケジュールテーブルＴ３は、資源と、処理内容と、処理割り当て開始時間と、処理割り当て終了時間と、を対応して表す第１のテーブルに対応する。
図６は、計算機スケジュールテーブルＴ３の一例を表す模式図である。
計算機名、ジョブ名、ジョブ割り当て開始時間、ジョブ割り当て終了時間、ＯＳ名、ＯＳ起動フラグが対応して表される。
「ジョブ割り当て開始時刻」は、その提供計算機１３へのジョブの割り当てが開始する時刻を表す。
「ジョブ割り当て終了時刻」は、その提供計算機１３へのジョブの割り当てが終了する時刻を表す。
「ＯＳ起動フラグ」は、その提供計算機１３でのＯＳの起動の要否を表し、資源の起動の要否を表す起動要否情報として機能する。「ＯＳ起動フラグ」がＯＮのときには、ＯＳの起動がなされる。「ＯＳ起動フラグ」がＯＮでない（ＯＦＦ）ときには、ＯＳの起動がなされない。
【００１９】
割り当て候補テーブルＴ４には、提供計算機１３へのジョブの割り当ての際に用いられる一時的な情報が表される。
図７は、割り当て候補テーブルＴ４の一例を表す模式図である。計算機名、ジョブ開始時間、ジョブ実行予想終了時刻、ＯＳ起動フラグが対応して表される。
「ジョブ開始時間」は、その提供計算機１３でジョブの実行が開始する時刻を表す（候補の計算機の割り当て可能時間帯）。
「ジョブ実行予想終了時刻」は、その提供計算機１３でのジョブの実行の予想終了時刻を表す。
【００２０】
ＣＰＵ名取得部２２は、クライアント１１からの実行依頼情報に対応するＣＰＵ名を取得する。具体的には、実行依頼情報に含まれるジョブ名と利用ＯＳ名と対応して、ジョブ実行時間テーブルＴ２中のＣＰＵ名を取得する。
計算機登録情報取得部２３は、計算機登録テーブルＴ１から、ＣＰＵ名取得部２２によって取得されたＣＰＵ名に対応する計算機名とその資源提供者名を取得する。
割り当て情報取得部２４は、計算機スケジュールテーブルＴ３から、ジョブ開始時刻から期限までの割り当て情報を取得する。
計算機スケジュール設定部２５は、計算機スケジュールテーブルＴ３にジョブの割り当て情報を記録するものであり、追加登録部に対応する。
【００２１】
割り当て判定部２６は、ジョブの割り当ての可能性を判定し、その結果を割り当て候補テーブルＴ４に書き込む。具体的には、計算機スケジュールテーブルＴ３から取得した計算機に関するジョブの割り当て情報と、資源提供者スケジュール記憶部１４から取得した資源提供時間帯とを用いて、ジョブの割り当ての可能性が判定される。
割り当て判定部２６は、処理への割り当て可能時間帯を算出する時間帯算出部、処理終了予定時間を算出する終了予定時間算出部、処理内容の割り当て可否を判定する割り当て可否判定部、および資源の起動の要否を判定する起動要否判定部として機能する。
【００２２】
資源提供時間帯取得部２７は、資源提供者スケジュール記憶部１４から資源提供時間を取得して、割り当て判定部２６に送る。資源提供時間帯取得部２７は、指定した資源提供者名に関する資源提供時間を資源提供者スケジュール記憶部１４から取得する。資源提供時間は、資源提供者スケジュール記憶部１４に設定されている行動種別のうち、外出、休暇、勤務時間外（帰宅中）に関する情報を取得することになる。
【００２３】
図８は、資源提供時間帯取得部２７が資源提供者スケジュール記憶部１４から取得する資源提供者スケジュール情報の一例を表す模式図である。
資源提供者名、行動種別、行動開始時刻、および行動終了時刻の情報が対応して表される。
「資源提供者名」は、提供計算機１３の管理者、または利用者を識別する情報である。
「行動種別」は、その資源提供者の行動を識別する情報、例えば、外出、休暇、勤務時間外（帰宅中）である。提供計算機１３の資源をグリッドシステムに提供可能であることを表す行動種別（提供計算機１３付近での仕事以外）が表される。
「行動開始時刻」は、その資源提供者がその行動種別の行動を開始する時刻である。
「行動終了時刻」は、その資源提供者がその行動種別の行動を終了する時刻である。
実行処理部２８は、計算機スケジュールテーブルＴ３からジョブの割り当て情報を取得して、提供計算機１３でのＯＳの起動やジョブの実行処理を制御する。
【００２４】
なお、マスターホスト１２は、提供計算機本体１３１から補助記憶装置１３２の切り離しを制御する切り離し制御部、および提供計算機本体１３１の起動を制御する起動制御部として機能する。
【００２５】
（第１の実施形態でのグリッドシステムの動作）
グリッドシステムの動作手順を説明する。
図９は、本実施形態に係るグリッドシステムの基本的な動作手順の一例を表すフロー図である。図１０は、図９のステップＳ１７の詳細を表すフロー図である。図１１は、図９のステップＳ１９の詳細を表すフロー図である。
【００２６】
Ａ．マスターホスト１２の設定（ステップＳ１１）
マスターホスト１２に、以下の事前設定を行う。
・提供計算機１３の計算機名、ＣＰＵ名、資源提供者名の情報をデータ記録部２１の計算機登録テーブルＴ１に登録する（図４参照）。
・グリッドシステムとして扱う可能性があるジョブに関して、ジョブ名、ＯＳ名、ＣＰＵ名、および実行時間をマスターホスト１２内のデータ記録部２１のジョブ実行時間テーブルＴ２に登録する（図５参照）。
【００２７】
Ｂ．資源提供者スケジュール記憶部１４への入力（ステップＳ１２）
提供計算機１３を提供する資源提供者は、資源提供者スケジュール記憶部１４に対して自身の予定を逐次入力していくものとする。
【００２８】
Ｃ．クライアント１１からの実行依頼情報の受信（ステップＳ１３）
クライアント１１からマスターホスト１２に実行依頼情報を送ることで、ジョブの実行依頼がなされる。例えば、前述の図３に示した実行依頼情報が受信される。
【００２９】
Ｄ．ＣＰＵ名の取得（ステップＳ１４）
クライアント１１からの実行依頼情報を受けたマスターホスト１２では、ＣＰＵ名取得部２２がＣＰＵ名を取得し、計算機登録情報取得部２３に送る。実行依頼情報のジョブ名（ＪＯＢ３）、利用ＯＳ名(Windows2000（登録商標）)の情報をもとに、ジョブ実行時間テーブルＴ２で該当するＣＰＵ名(pentium3,pentium4,pentium5)を取得する。
【００３０】
Ｅ．計算機名および資源提供者名の取得（ステップＳ１５）
計算機登録情報取得部２３は、ＣＰＵ名に対応する計算機名（マシンＡ、マシンＢ）と資源提供者名（提供者Ａ、提供者Ｂ）を計算機登録テーブルＴ１から取得し、計算機名は割り当て情報取得部２４に、資源提供者名は資源提供時間帯取得部２７にそれぞれ送る。
【００３１】
Ｆ．計算機割り当て情報および資源提供時間帯情報の取得（ステップＳ１６）
（１）割り当て情報取得部２４が、計算機割り当て情報を計算機スケジュールテーブルＴ３（図６参照）から取得し、割り当て判定部２６に送る。即ち、計算機登録情報取得部２３から送られた計算機名に対応するジョブ開始時刻から期限までの計算機割り当て情報を計算機スケジュールテーブルＴ３から取得する。ここで、計算機割り当て情報は、提供計算機１３でのジョブの割り当てを表す。
なお、図１２は、図６の計算機スケジュールを時系列で表す模式図であり、実行依頼されたＪＯＢ３が割り当てられる状況を点線で表す。
【００３２】
（２）資源提供時間帯取得部２７が、資源提供時間帯情報を取得し（図８参照）、割り当て判定部２６に送る。なお、図１３は、図８の資源提供者スケジュールを時系列で表す模式図である。
計算機登録情報取得部２３より送られた資源提供者名（提供者Ａ、提供者Ｂ）をもとに、資源提供者スケジュール記憶部１４から、ジョブ開始時刻から期限までに対応し、資源提供が可能である資源提供時間帯情報を取得する。資源提供が可能であることは、資源提供者スケジュール記憶部１４中での行動種別が、例えば、外出、休暇、勤務時間外（帰宅中）であることで示される。
取得した行動開始時刻から行動終了時刻の資源提供時間帯（（１）提供者Ａ：外出：開始2005/02/01/07:30、終了2005/02/01/14:45、（２）提供者Ａ：外出：開始2005/02/01/15:45、終了2005/02/01/21:00、---）が割り当て判定部２６に送られる。
【００３３】
Ｇ．割り当ての判定（ステップＳ１７）
割り当て判定部２６は、候補となる提供計算機１３ごとおよび割り当て可能時間帯ごとに割り当て判定を行う（ステップＳ２１〜Ｓ３４およびステップＳ２３〜Ｓ３３）。
この判定に、割り当て情報取得部２４からのジョブの割り当て情報と、資源提供時間帯取得部２７からの資源提供時間帯と、クライアント１１からの実行依頼情報（ジョブ名、期限、利用ＯＳ名、ジョブ開始時刻）が用いられる。
【００３４】
（１）割り当て可能時間帯の算出（ステップＳ２２）
割り当て可能時間帯が算出される。即ち、ジョブ開始時刻から期限の時間範囲で、割り当て情報取得部２４から送られた割り当て情報の反転であるジョブの割り当てがなされていない時間帯と、ジョブ開始時刻から期限の範囲で、資源提供時間取得部から送られた資源提供時間帯の２つの時間帯が重なる部分である時間帯を抽出する。抽出された時間帯（割り当て可能時間帯）を例えば、割り当て可能時間帯Ａ１（開始2005/02/01/08:05、終了2005/02/01/12:00）、Ａ２（開始2005/02/01/15:00、終了2005/02/01/17:00）、---とする。
【００３５】
（２）ＯＳ起動の要否判定（ステップＳ２４）
以下のように定義された判定Ｊ１、判定Ｊ２を用いて、割り当て可能時間帯ごとにＯＳ起動の要否を判定する。
［判定Ｊ１］：割り当て可能時間帯の直前に、資源提供者による使用予定が入っている。即ち、提供計算機１３としての使用が連続的になされていない場合である。この判定Ｊ１が「Ｙｅｓ」であれば、ＯＳの起動が必要となる。
［判定Ｊ２］：割り当て可能時間帯の直前の割り当て情報のＯＳ名が、実行依頼情報の利用ＯＳ名と同じである。この判定Ｊ２が「Ｎｏ」であれば、ＯＳの起動が必要となる。
判定Ｊ１＝「Ｎｏ」、かつ判定Ｊ２＝「Ｙｅｓ」の場合を除いてＯＳの起動が必要となる。
【００３６】
（３）ＯＳ起動フラグ・割り当て必要時間の決定（ステップＳ２５〜Ｓ２８）
ＯＳ起動フラグおよび割り当て必要時間を決定する。
（ａ）  判定Ｊ１＝「Ｙｅｓ」、判定Ｊ１＝「Ｎｏ」かつ判定Ｊ２＝「Ｎｏ」の場合
この場合、ＯＳの起動が必要となる。
「割り当て必要時間＝ジョブ実行時間＋ＯＳ起動時間」とする。即ち、実行時間にＯＳ起動時間が加算される。ＯＳ起動時間は、適宜に定められる。また、ＯＳ起動フラグをＯＮに決定する。
【００３７】
（ｂ）  判定Ｊ１＝「Ｎｏ」かつ判定Ｊ２＝「Ｙｅｓ」の場合
この場合、ＯＳの起動が不要となる。
「割り当て必要時間＝ジョブ実行時間」とする。ＯＳ起動フラグをＯＦＦのままと決定する。
【００３８】
（４）割り当ての可否の判定（ステップＳ２９〜Ｓ３２）
ジョブ開始時刻と割り当て必要時間からジョブ終了時刻を算出する。
ジョブ終了時刻が割り当て可能時間帯の終了時刻より以前にある場合は、割り当て可能と判定される。割り当て可能の場合には、割り当て候補テーブルＴ４にジョブ開始時刻、ジョブ終了時刻、ＯＳ起動フラグの情報を記録する。
以上の処理を計算機の割り当て可能時間帯ごとに行う。１つの計算機が済んだら、同様の処理を抽出した計算機ごとに行う。
【００３９】
Ｈ．割り当ての設定（ステップＳ１８）
割り当て候補テーブルＴ４に基づき、計算機スケジュールテーブルＴ３への登録が行われる。
計算機スケジュール設定部２５は、ジョブの割り当て情報を、割り当て設定（例えば、一番近々に実行終了するもの）に従って、計算機スケジュールテーブルＴ３に登録する（例えば、計算機名：マシンＡ、ジョブ名：ＪＯＢ３、ジョブ割り当て開始時刻2005/02/01/09:00、ジョブ割り当て終了時刻2005/02/01/10:48、OS名：Windows2000、OSフラグ：なし）。
なお、既述の図１２は、実行依頼されたＪＯＢ３が割り当てられる状況を点線で表す。
【００４０】
Ｉ．実行処理（ステップＳ１９）
先に、補助記憶装置１３２の切り離しを行わない場合を説明する。
計算機スケジュールテーブルＴ３に従いジョブが実行される。実行処理部２８は計算機スケジュールテーブルＴ３でジョブが割り当てられた時刻（2005/02/01/09:00）になると、提供計算機１３にジョブを実行処理させる。ここで、計算機スケジュールテーブルＴ３でＯＳ起動フラグがＯＮのものは、実行処理に先んじて、ＯＳが起動される。
ジョブの実行処理が終了したら、実行処理部２８はジョブの実行結果をクライアント１１に送信する。また、実行処理部２８は計算機スケジュール設定部２５を通して、計算機スケジュールテーブルＴ３の情報を更新する。
【００４１】
次に、補助記憶装置１３２の切り離しを行う場合を説明する。
図５は、図３のステップＳ１９において、データサーバ１５による補助記憶装置１３２の切り離し処理の実行手順を表すフロー図である。
（１）ＨＤＤの切り離し処理（ステップＳ４１）
計算機スケジュールテーブルＴ３においてジョブが割り当てられた時刻になると、実行処理部２８は利用予定の提供計算機１３のＨＤＤ切り離し処理を行う。この切り離しは、提供計算機本体１３１と補助記憶装置１３２との電気的接続の切り離しを意味する。なお、提供計算機本体１３１が起動中のときには、提供計算機本体１３１の停止後に補助記憶装置１３２を切り離す。
【００４２】
（２）ＯＳのネットワークブート（ステップＳ４２、Ｓ４３）
計算機スケジュールテーブルＴ３の該当計算機のＯＳフラグがＯＮの場合は、実行処理部２８が提供計算機１３へのＯＳのネットワークブートを行う。ＯＳは、データサーバ１５から取得する。ネットワークブートにＰＸＥ（Preboot eXecution Environment）を用いることができる。ＰＸＥは、ネットワークブートの規格の一種である。
【００４３】
ネットワークブートは、以下の手順で実行される。
補助記憶装置１３２が切り離された提供計算機本体１３１の電源が投入される。この結果、データサーバ１５の補助記憶装置１５１内のオペレーティングシステム及びアプリケーションがリモートブートにより補助記憶装置１３２のメモリ上に展開され、提供計算機本体１３１が起動する。
【００４４】
（３）ジョブの実行（ステップＳ４４）
ＯＳのブートが終了したら、対象計算機グリッド制御部は提供計算機１３にデータサーバ１５からアプリケーションを取得させ、ジョブを実行させる。
【００４５】
（４）ジョブの結果の送信、計算機スケジュールテーブルＴ３の更新（ステップＳ４５、Ｓ４６）
ジョブの実行が終了したら、実行処理部２８はジョブの実行結果をクライアント１１に送信する。また、実行処理部２８は計算機スケジュール設定部２５を通して、計算機スケジュールテーブルＴ３の情報を更新する。
【００４６】
本実施形態では、以下のようにジョブを割り当てることで、提供計算機１３の資源が有効に活用される。
（１）資源提供者のスケジュールを考慮して、ジョブを割り当てる。
（２）ＯＳの起動時間を考慮して、ジョブを割り当てる。
（３）ジョブの実行に用いるＯＳが、提供計算機１３にすでに起動されている場合（提供計算機１３を利用する際に、直前の投入されたジョブが同じＯＳを用いていた場合）には、ＯＳの起動が不要であることを考慮して、ジョブを割り当てる。
（４）ネットワークブート方法を用いることで、資源が提供者にもどってきた際に時間的にも、作業的にも困難は大幅に軽減される。補助記憶装置１３２の内容を書き換えることがなくなって、資源提供側のその後の利用の手間等の負担が軽減される。
【００４７】
（第２の実施の形態）
図１４は、本発明の第２実施形態に係るグリッドシステムを表すシステム構成図である。
本実施形態では、グリッドシステムにＧＰＳ情報送信部１６が付加される。また、マスターホスト１２Ａ内に、ＧＰＳ情報取得部３１、資源提供者情報補正部３２が、データ記録部２１Ａ内に緯度経度対応テーブルＴ５、ＧＰＳ情報テーブルＴ６が付加される。即ち、本実施形態では、資源提供者スケジュール記憶部１４に加えて、ＧＰＳ情報による資源提供時間の把握を可能としている。また、ＧＰＳ情報からのデータを受信解釈するシステムがマスターホスト１２内に付加される。
なお、資源提供者の行動スケジュールを把握できるシステムとして、位置観測システムＧＰＳや玄関等に設置した入退出システム等があるが、ここではＧＰＳを例としている。
【００４８】
ＧＰＳ情報送信部１６は、外部の位置情報配信部であり、例えば、ＧＰＳ等の位置測定手段および送信手段を有する携帯機器である。資源提供者がこの携帯機器を携帯し、携帯機器が資源提供者の位置情報を送信する
ＧＰＳ情報取得部３１は、ＧＰＳ情報送信部１６から送信されるＧＰＳからの情報をＧＰＳ情報テーブルＴ６に記録する機能部である。ＧＰＳ情報取得部３１は、資源提供者の位置情報を受信する位置情報受信部として機能する。
資源提供者情報補正部３２は、資源提供時間帯取得部２７からの情報に対して、ＧＰＳ情報テーブルＴ６からの資源提供者の位置情報と緯度経度対応テーブルＴ５からかかる時間の情報を勘案してスケジュール情報を割り当て判定部２６に送る機能部である。資源提供者情報補正部３２は、処理割り当て開始時間を予測する予測部として機能する。
緯度経度対応テーブルＴ５には、緯度、経度、およびその経度、緯度から目標地点までの所用時間の情報が対応して表される。
ＧＰＳ情報テーブルＴ６には、ＧＰＳから得られた情報が表される。
【００４９】
（第２の実施形態でのグリッドシステムの動作）
以下、第２の実施形態でのグリッドシステムの動作内容を説明する。
（１）ＧＰＳからのデータの受信
資源提供者の位置情報が、ＧＰＳ情報送信部１６から送信され、マスターホスト１２で受信される。マスターホスト１２内のＧＰＳ情報取得部３１が、外部のＧＰＳ情報から資源提供者の位置情報を取得する。そしてその情報をマスターホスト１２内のＧＰＳ情報テーブルＴ６に記録する。
【００５０】
（２）資源提供者の行動の予測
マスターホスト１２は、ＧＰＳ情報送信部１６から受信した資源提供者の位置情報をもとに、資源提供者の行動を予測する。
例えば、資源提供者情報補正部３２は、資源提供者のＧＰＳ情報テーブルＴ６の緯度経度情報と緯度経度対応テーブルＴ５から、あと何分で目標地点（帰社目標位置）までかかるか（帰社予定時刻）を算出する。即ち、資源提供者が自社オフィスに戻る以前に、予定されている時刻から変化した新たな帰社予定時刻が、資源提供者情報補正部３２によって予想される。
【００５１】
（３）資源提供時間の補正
資源提供者スケジュール記憶部１４から得られた資源提供時間を補正する。例えば、算出された帰社時刻を資源提供時間帯取得部２７から得られた数値に上書きして割り当て判定部２６に送る。
補正された資源提供時間を用いて、ジョブの割り当てを行うことで、資源提供者スケジュール記憶部１４に登録された時間よりも早く又は遅く、戻ってくる状況に対応できる。
【００５２】
割り当て判定部２６での処理は第１の実施形態と同様なので、説明を省略する。
なお、既に計算機スケジュールテーブルＴ３に設定しているものに対しても再度割り当て判定を行うことによって、より精度が高い割り当てとなる。ＧＰＳ等の資源提供者の行動が予測可能な手段を用いることによって、より精度の高い資源提供時間を用いてジョブの割り当て処理を行う
【００５３】
本実施形態では、ＧＰＳ等の資源提供者の行動が予測可能な手段を用いることによって、より効率的にジョブの割り当て処理を行うことが可能になる。
【００５４】
（第３の実施の形態）
図１５は本発明の第３実施形態に係るグリッドシステムを表すシステム構成図である。
本実施形態では、マスターホスト１２Ｂ内に実行依頼情報設定部４１、ＯＳ事前準備数設定部４２、ＯＳ事前準備状況設定部４３が、データ記録部２１Ｂ内に実行依頼情報テーブルＴ７，ＯＳ事前準備数テーブルＴ８、ＯＳ事前準備状況テーブルＴ９が付加されている。即ち、今後のスケジューリングにはまだ登録されていないが、事前にＯＳを起動しておく仕組みとする。
【００５５】
実行依頼情報設定部４１は、クライアント１１からの依頼するジョブに必要な実行環境情報をクライアント１１からの実行依頼情報テーブルＴ７に記録する機能部である。
ＯＳ事前準備数設定部４２は、クライアント１１からの実行依頼情報テーブルＴ７の情報をもとに出した設定値をＯＳ事前準備数テーブルＴ８に記録する機能部である。ＯＳ事前準備数設定部４２は、オペレーティングシステムの優先度を決定する優先度決定部として機能する。
ＯＳ事前準備状況設定部４３は、計算機スケジュールテーブルＴ３から事前に起動したＯＳの情報をＯＳ事前準備状況テーブルＴ９に記録する機能部である。
【００５６】
実行依頼情報テーブルＴ７には、実行依頼情報に含まれる実行環境（ＯＳ、ＣＰＵ）の情報が表される。即ち、実行依頼情報テーブルＴ７には、使用ＯＳとして要求されたＯＳの情報が蓄積され、その比率の算出に用いることができる。
ＯＳ事前準備数テーブルＴ８には、まだ、割り当て設定されていないが、クライアント１１からジョブ実行依頼される内容から、事前に起動させておくためにＯＳの種類と数の設定値の情報が表される。
ＯＳ事前準備状況テーブルＴ９には、事前に起動されているＯＳとそのマシン名の情報が、対応して表される。
【００５７】
（第３の実施形態でのグリッドシステムの動作）
以下、第３の実施形態でのグリッドシステムの動作内容を説明する。
本実施形態では、マスターホスト１２が、利用頻度が高いにもかかわらず、起動準備されていないＯＳ（又は準備されているものが少ないＯＳ）と判断するＯＳを、割り当て予定がない提供計算機１３で起動させる。
【００５８】
（１）ＯＳ事前準備数の設定
ＯＳ事前準備数設定部４２が、設定数を導き出して、ＯＳ事前準備数テーブルＴ８に記録する。
クライアント１１からの依頼情報から実行依頼情報設定部４１が設定した、クライアント１１からの実行依頼情報テーブルＴ７の情報をもとに、以下の導入方式から設定数が導き出される。なお、この設定値の算出は一定時間間隔ごとに見直し、近々の現況に沿うようにするのが好ましい。
各ＯＳ事前準備数＝
（各ＯＳ要求頻度比率）×｛（登録マシン総数）×（起動させておくマシン数比率定数）｝
「ＯＳ要求頻度比率」は、実行依頼の際に要求されるＯＳ（利用ＯＳ）の比率を表し、実行依頼情報テーブルＴ７に蓄積される実行環境の情報から算出される。
「登録マシン総数」は、提供計算機１３の全台数である。
「起動させておくマシン数比率定数」は、提供計算機１３の全台数に対して常時起動しておく台数の比率を表す。この比率定数には、所定の値を用いることができる。
【００５９】
（例）
クライアント１１からのジョブの要求が
Windows2000のものが全体のうち５０％（０．５）
Windows98のものが全体のうち３０％（０．３）
Linux9のものが全体のうち２０％（０．２）
起動させておくマシン数比率定数 ＝０．３
であった場合。
【００６０】
・Windows2000をあらかじめ起動しておく数＝
０．５（Windows2000の要求比率）×｛５０台×０．３｝＝８
【００６１】
・Windows98をあらかじめ起動しておく数
０．３（Windows98の要求比率）×｛５０台×０．３｝＝５
【００６２】
・Linux9をあらかじめ起動しておく数
０．２（Linux9の要求比率）×｛５０台×０．３｝＝３
【００６３】
（２）事前起動の設定
ＯＳ事前準備状況設定部４３が、事前起動の設定を行う。即ち、計算機スケジュールテーブルＴ３とＯＳ事前準備数テーブルＴ８の情報をもとに、起動準備するマシンと起動するＯＳの情報をＯＳ事前準備状況テーブルＴ９に記録する。
この設定に際して、高性能のＣＰＵを優先的に事前起動の対象とすることが考えられる。即ち、空いているＣＰＵの内で高性能なＣＰＵを対象としていき、徐々に性能をおとしたものにしていく。
【００６４】
（３）事前起動の実行
実行処理部２８は、逐次、ＯＳ事前準備状況テーブルＴ９の情報から、事前に起動しておくマシンに対して、設定されたＯＳを起動させておく。
なお、割り当て処理においては、割り当て判定部２６がＯＳ事前準備状況テーブルＴ９の情報（すでにＯＳが起動されているマシンも含めて、割り当て考慮する）も踏まえて割り当て処理を行う。
【００６５】
本実施形態では、ＯＳ起動の時間が省け、提供計算機１３のより有効な利用がはかられる。現状用意されているものが少ないＯＳを、事前に空いている提供計算機１３において起動させておく。
【００６６】
（その他の実施形態）
本発明の実施形態は上記の実施形態に限られず拡張、変更可能であり、拡張、変更した実施形態も本発明の技術的範囲に含まれる。
例えば、第２、第３の実施形態の機能の双方（資源提供時間の補正機能、およびＯＳ事前準備機能）を併せ持つグリッドシステムを実現できる。
また、テーブルＴ１〜Ｔ９等は適宜に分割、統合することも可能である。例えば、テーブルＴ１〜Ｔ９、資源提供者スケジュール記憶部１４の内容の一部または全部を単一のテーブルとして取り扱うことも可能である。
また、テーブルＴ１〜Ｔ９に表された情報は例示であり、その全部が必須とは限らない。例えば、実行環境が均一であれば、テーブルから実行環境の情報（ＯＳ，ＣＰＵ）の情報を省略することができる。
【図面の簡単な説明】
【００６７】
【図１】本発明の第１実施形態に係るグリッドシステムを表すシステム構成図である。
【図２】第１実施形態に係るマスターホストの機能構成の詳細を表す機能構成図である。
【図３】実行依頼情報の一例を表す模式図である。
【図４】計算機登録テーブルの一例を表す模式図である。
【図５】ジョブ実行時間テーブルの一例を表す模式図である。
【図６】計算機スケジュールテーブルの一例を表す模式図である。
【図７】割り当て候補テーブルの一例を表す模式図である。
【図８】資源提供者スケジュールの一例を表す模式図である。
【図９】第１の実施形態に係るグリッドシステムの基本的な動作手順の一例を表すフロー図である。
【図１０】図９のステップＳ１７の詳細を表すフロー図である。
【図１１】図９のステップＳ１９の詳細を表すフロー図である。
【図１２】図６の計算機スケジュールを時系列で表す模式図である。
【図１３】図８の資源提供者スケジュールを時系列で表す模式図である。
【図１４】本発明の第２実施形態に係るグリッドシステムを表すシステム構成図である。
【図１５】本発明の第３実施形態に係るグリッドシステムを表すシステム構成図である。
【符号の説明】
【００６８】
１１…クライアント、１２…マスターホスト、１３…提供計算機、１３１…提供計算機本体、１３２…補助記憶装置、１４…資源提供者スケジュール記憶部、１５…データサーバ、１６…ＧＰＳ情報送信部、２１…データ記録部、２２…ＣＰＵ名取得部、２３…計算機登録情報取得部、２４…割り当て情報取得部、２５…計算機スケジュール設定部、２６…割り当て判定部、２７…資源提供時間帯取得部、２８…実行処理部、３１…ＧＰＳ情報取得部、３２…資源提供者情報補正部、４１…実行依頼情報設定部、４２…事前準備数設定部、４３…事前準備状況設定部、Ｔ１…計算機登録テーブル、Ｔ２…ジョブ実行時間テーブル、Ｔ３…計算機スケジュールテーブル、Ｔ４…割り当て候補テーブル、Ｔ５…緯度経度対応テーブル、Ｔ６…ＧＰＳ情報テーブル、Ｔ７…実行依頼情報テーブル、Ｔ８…事前準備数テーブル、Ｔ９…事前準備状況テーブル
【図１】
2007164642.tif 000003
【図２】
2007164642.tif 000004
【図３】
2007164642.tif 000005
【図４】
2007164642.tif 000006
【図５】
2007164642.tif 000007
【図６】
2007164642.tif 000008
【図７】
2007164642.tif 000009
【図８】
2007164642.tif 000010
【図９】
2007164642.tif 000011
【図１０】
2007164642.tif 000012
【図１１】
2007164642.tif 000013
【図１２】
2007164642.tif 000014
【図１３】
2007164642.tif 000015
【図１４】
2007164642.tif 000016
【図１５】
2007164642.tif 000017