(57)【要約】【課題】各資源ノードの使用状況を考慮して、サービスに利用される資源を決定することにより、当該サービスの円滑な提供を実現する。【解決手段】複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信することによって、複数のサービス間で利用される資源ノードの中から、一のサービスを実行可能とする資源ノードを特定する。そして、特定された資源ノードから当該資源ノードの使用状況に関する情報を受信し、受信された使用状況に関する情報に基づいて、特定された資源ノードの中から一のサービスに利用される資源ノードを決定する。【選択図】図１
2008077295.tif 000002
【特許請求の範囲】
【請求項１】
複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信させる送信工程と、
前記送信工程によって前記条件に関する情報が送信された結果、前記複数のサービス間で利用される資源ノードのうち前記条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信させる受信工程と、
前記受信工程によって受信された使用状況に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させる決定工程と、
をコンピュータに実行させることを特徴とする資源ノード決定プログラム。
【請求項２】
前記決定工程は、
前記受信工程によって前記使用状況に関する情報が受信された順に、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させることを特徴とする請求項１に記載の資源ノード決定プログラム。
【請求項３】
前記決定工程は、
前記受信工程によって受信された使用状況に関する情報のうち、前記特定の資源ノード内の前記一のサービスの実行に必要なソフトウェア資源の切替の要否に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させることを特徴とする請求項１または２に記載の資源ノード決定プログラム。
【請求項４】
前記決定工程は、
前記受信工程によって受信された使用状況に関する情報のうち、前記特定の資源ノード内の前記一のサービスの実行に必要なソフトウェア資源の実行の有無に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させることを特徴とする請求項１〜３のいずれか一つに記載の資源ノード決定プログラム。
【請求項５】
複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中の資源ノードが、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、前記各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信させる第１の受信工程と、
前記第１の受信工程によって前記起動要求が受信された場合、前記第２のサービスの実行に必要なソフトウェア資源を起動させる起動工程と、
前記起動工程によって前記第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を前記資源ノード決定装置に対して送信させる送信工程と、
前記送信工程によって前記起動完了通知が送信された結果、前記資源ノード決定装置から、前記資源ノードに対する前記第２のサービスへの利用の採否の決定結果を受信させる第２の受信工程と、
前記第２の受信工程によって受信された決定結果に基づいて、前記第１のサービスの実行に必要なソフトウェア資源または前記第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了させる実行終了工程と、
を前記資源ノード内のコンピュータに実行させる資源ノード制御プログラム。
【請求項６】
請求項１〜５のいずれか一つに記載のプログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項７】
複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信する送信手段と、
前記送信手段によって前記条件に関する情報が送信された結果、前記複数のサービス間で利用される資源ノードのうち前記条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信する受信手段と、
前記受信手段によって受信された使用状況に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定する決定手段と、
を備えることを特徴とする資源ノード決定装置。
【請求項８】
複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中に、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、前記各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信する受信手段と、
前記受信手段によって前記起動要求が受信された場合、前記第２のサービスの実行に必要なソフトウェア資源を起動する起動手段と、
前記起動手段によって前記第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を前記資源ノード決定装置に対して送信する送信手段と、
ソフトウェア資源の実行を終了する実行終了手段と、を備え、
前記受信手段は、
前記送信手段によって前記起動完了通知が送信された結果、前記資源ノード決定装置から、前記資源ノードに対する前記第２のサービスへの利用の採否の決定結果を受信し、
前記実行終了手段は、
前記受信手段によって受信された決定結果に基づいて、前記第１のサービスの実行に必要なソフトウェア資源または前記第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了することを特徴とする資源ノード。
【請求項９】
複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信する送信工程と、
前記送信工程によって前記条件に関する情報が送信された結果、前記複数のサービス間で利用される資源ノードのうち前記条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信する受信工程と、
前記受信工程によって受信された使用状況に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定する決定工程と、
を含んだことを特徴とする資源ノード決定方法。
【請求項１０】
複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中の資源ノードが、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、前記各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信する第１の受信工程と、
前記第１の受信工程によって前記起動要求が受信された場合、前記第２のサービスの実行に必要なソフトウェア資源を起動する起動工程と、
前記起動工程によって前記第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を前記資源ノード決定装置に対して送信する送信工程と、
前記送信工程によって前記起動完了通知が送信された結果、前記資源ノード決定装置から、前記資源ノードに対する前記第２のサービスへの利用の採否の決定結果を受信する第２の受信工程と、
前記第２の受信工程によって受信された決定結果に基づいて、前記第１のサービスの実行に必要なソフトウェア資源または前記第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了する実行終了工程と、
を含んだことを特徴とする資源ノード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サービスに利用される資源ノードを決定する資源ノード決定プログラム、資源ノード制御プログラム、記録媒体、資源ノード決定装置、資源ノード、資源ノード決定方法および資源ノード制御方法に関する。
【背景技術】
【０００２】
従来より、一のサービスに対するユーザからのアクセスが集中した場合や、大量の計算ジョブを必要とするサービスを実行する場合において、その負荷分散のために、多数の計算機がネットワークを介して接続された分散計算機環境、たとえば、異機種の計算機が混在したグリッド環境が利用されている。
【０００３】
この場合、多数の計算機の中から、一のサービスの目的に合った最適な計算機（以下、「資源ノード」という）を自動的かつ迅速に選択し、サービスに割り当てる必要がある。特に、異機種の資源ノードが混在するグリッド環境においては、割り当てる資源ノードによってサービス全体の性能が大きく変化してしまう。
【０００４】
このため、サービス全体の性能を向上させるために、たとえば、各資源ノードの性能や使用環境などの情報に基づいて、個々のサービスに応じた資源ノードを割り当てている。
【０００５】
具体的には、たとえば、サービスの管理者などにより、当該サービスに必要となる資源の要求を、複数のサービス間で利用される資源ノードをブローカリングする資源ブローカに対しておこなう。資源ブローカは、この要求を満たす資源ノードを資源ノード群の中から検索し、その検索結果に基づいてサービスに利用される資源ノードを割り当てる（たとえば、下記特許文献１〜３参照。）。
【０００６】
【特許文献１】特開２００２−０２４１９２号公報
【特許文献２】特表２００４−５２１４１１号公報
【特許文献３】特開２００６−０３１３５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した特許文献１〜３の従来技術では、各資源ノードに対して、サービスに必要となるアプリケーションの起動命令がおこなわれるのは、当該サービスに利用される資源ノードとして割り当てられた後である。すなわち、一のサービスに利用される資源ノードの割り当てはおこなわれているが、割り当てられた各資源ノードにおけるアプリケーションの起動までは保証されていない。
【０００８】
このため、各資源ノードにおいて、アプリケーションの起動直前でホストダウンを起こしたり、一時的な通信トラブルによってアプリケーションの起動命令を受けることができなかったときなどには、サービスの実行に必要な資源ノードが揃わず、サービスを提供することができない場合があるという問題があった。
【０００９】
また、サービスを実行可能とする資源ノードの中から実際に当該サービスに利用される資源ノードを選択する際の選択基準は、資源ブローカにおいて一意的に決まっている。
【００１０】
しかしながら、この選択基準はサービスごとに異なる場合が多いため、予めサービスごとの選択基準を把握しておき、それをもとに資源ブローカを開発しなければならない。このため、実行されるサービスが増加した場合や他のサービスのために分散計算機環境が利用される場合などには、柔軟に選択基準の追加および変更をおこなうことができず、汎用性に乏しいという問題があった。
【００１１】
この発明は、上述した従来技術による問題点を解消するため、個々のサービスの円滑な提供を実現することができる資源ノード決定プログラム、資源ノード制御プログラム、記録媒体、資源ノード決定装置、資源ノード、資源ノード決定方法および資源ノード制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、この発明にかかる資源ノード決定プログラム、記録媒体、資源ノード決定装置および資源ノード決定方法は、複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信し、前記条件に関する情報が送信された結果、前記複数のサービス間で利用される資源ノードのうち前記条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信し、受信された使用状況に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定することを特徴とする。
【００１３】
この発明によれば、サービスの実行に利用する資源ノードを、通信可能な状態の資源ノードの中から自動的に決定することにより、サービスの提供を確実におこなうことができる。
【００１４】
また、上記発明において、前記使用状況に関する情報が受信された順に、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定することとしてもよい。
【００１５】
この発明によれば、サービスの実行に利用する資源ノードをより迅速に確保することができ、サービス開始までの時間を短縮することができる。
【００１６】
また、上記発明において、受信された使用状況に関する情報のうち、前記特定の資源ノード内の前記一のサービスの実行に必要なソフトウェア資源の切替の要否に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定することとしてもよい。
【００１７】
この発明によれば、サービスの実行に利用する資源ノードをより迅速に確保することができ、サービス開始までの時間を短縮することができる。
【００１８】
また、上記発明において、受信された使用状況に関する情報のうち、前記特定の資源ノード内の前記一のサービスの実行に必要なソフトウェア資源の実行の有無に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定することとしてもよい。
【００１９】
この発明によれば、サービスの実行に利用する資源ノードをより迅速に確保することができ、サービス開始までの時間を短縮することができる。
【００２０】
また、上記発明において、前記使用状況に関する情報が受信された場合、前記特定の資源ノードに対して前記特定の資源ノード内の前記一のサービスの実行に必要なソフトウェア資源の起動要求を送信し、起動要求が送信された結果、前記特定の資源ノードから起動完了通知を受信し、起動完了通知が受信された順に、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定することとしてもよい。
【００２１】
この発明によれば、サービスの実行に利用する資源ノードをより迅速にかつ確実に確保することができ、サービス開始までの時間を短縮することができる。
【００２２】
また、この発明にかかる資源ノード制御プログラム、記録媒体、資源ノードおよび資源ノード制御方法は、複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中の資源ノードが、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、前記各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信し、前記起動要求が受信された場合、前記第２のサービスの実行に必要なソフトウェア資源を起動し、前記第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を前記資源ノード決定装置に対して送信し、前記起動完了通知が送信された結果、前記資源ノード決定装置から、前記資源ノードに対する前記第２のサービスへの利用の採否の決定結果を受信し、受信された決定結果に基づいて、前記第１のサービスの実行に必要なソフトウェア資源または前記第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了することを特徴とする。
【００２３】
この発明によれば、第２のサービスへの利用の採否が決定後に、不要なソフトウェア資源の実行を自動的に終了することにより、資源ノードにおける無駄な処理を削減することができる。
【００２４】
また、上記発明において、前記決定結果が前記第２のサービスへの利用について採用を許可する決定結果である場合、前記第１のサービスの実行に必要なソフトウェア資源の実行を終了することとしてもよい。
【００２５】
この発明によれば、第２のサービスに利用される資源ノードとして採用された場合には、不要となる第１のサービスの実行に必要なソフトウェア資源の実行を自動的に終了することができる。
【００２６】
また、上記発明において、前記決定結果が前記第２のサービスへの利用について採用を拒否する決定結果である場合、前記第２のサービスの実行に必要なソフトウェア資源の実行を終了することとしてもよい。
【００２７】
この発明によれば、第２のサービスに利用される資源ノードとして採用されなかった場合には、不要となる第２のサービスの実行に必要なソフトウェア資源の実行を自動的に終了することができる。
【発明の効果】
【００２８】
本発明にかかる資源ノード決定プログラム、資源ノード制御プログラム、記録媒体、資源ノード決定装置、資源ノード、資源ノード決定方法および資源ノード制御方法によれば、個々のサービスの円滑な提供を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２９】
以下に添付図面を参照して、この発明にかかる資源ノード決定プログラム、資源ノード制御プログラム、記録媒体、資源ノード決定装置、資源ノード、資源ノード決定方法および資源ノード制御方法の好適な実施の形態を詳細に説明する。
【００３０】
（資源ノード決定システムのシステム構成）
まず、この発明の実施の形態にかかる資源ノード決定システムのシステム構成について説明する。図１は、この発明の実施の形態にかかる資源ノード決定システムのシステム構成図である。図１において、資源ノード決定システム１００は、資源ノード決定装置１０１と、資源ブローカリング装置１０２と、各サイトＣに設置されている資源ノード１０３とが、ネットワーク１１０を介して通信可能に接続されている。
【００３１】
資源ノード決定装置１０１は、サービスごとの負荷に応じて設定されている条件を資源ブローカリング装置１０２に提示し、サービスを実行するにあたって必要となる資源ノード１０３の要求をおこなうコンピュータ装置である。
【００３２】
また、資源ノード決定装置１０１は、各サービスに割り当てる資源ノード１０３を決定するコンピュータ装置である。さらに、資源ノード決定装置１０１は、各サービスに割り当てられた資源ノード１０３と通信をおこなうことにより、各資源ノード１０３を管理するコンピュータ装置である。
【００３３】
資源ブローカリング装置１０２は、複数のサービス間で利用される資源ノード１０３の割当状態を管理するコンピュータ装置である。具体的には、資源ブローカリング装置１０２は、資源ノード決定装置１０１から提示された条件を満たすためには、どのサイトＣのどの資源ノード１０３を割り当てることによってサービスが実行可能となるかを判断するコンピュータ装置である。
【００３４】
資源ノード１０３は、各サイトＣに設置されており、サービスを実行するために利用されるコンピュータ装置である。具体的には、資源ノード１０３は、資源ノード決定装置１０１によって割り与えられたサービスを端末（不図示）に提供するコンピュータ装置である。
【００３５】
（コンピュータ装置のハードウェア構成）
つぎに、図１に示したコンピュータ装置のハードウェア構成について説明する。図２は、図１に示したコンピュータ装置のハードウェア構成を示すブロック図である。図２において、コンピュータ装置は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（ハードディスクドライブ）２０４と、ＨＤ（ハードディスク）２０５と、ＦＤＤ（フレキシブルディスクドライブ）２０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）２０７と、ディスプレイ２０８と、Ｉ／Ｆ（インターフェース）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３とを備えている。また、各構成部は、バス２００によってそれぞれ接続されている。
【００３６】
ここで、ＣＰＵ２０１は、コンピュータ装置の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記録している。ＲＡＭ２０３は、ＣＰＵ２０１のワークウェアとして使用される。ＨＤＤ２０４は、ＣＰＵ２０１の制御にしたがってＨＤ２０５に対するデータのリード／ライトを制御する。ＨＤ２０５は、ＨＤＤ２０４の制御で書き込まれたデータを記憶する。
【００３７】
ＦＤＤ２０６は、ＣＰＵ２０１の制御にしたがってＦＤ２０７に対するデータのリード／ライトを制御する。ＦＤ２０７は、ＦＤＤ２０６の制御で書き込まれたデータを記憶したり、ＦＤ２０７に記憶されたデータをコンピュータ装置に読み取らせたりする。
【００３８】
また、着脱可能な記録媒体として、ＦＤ２０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリカードなどであってもよい。ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８には、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３９】
Ｉ／Ｆ２０９は、通信回線を通じてインターネットなどのネットワーク１１０に接続され、このネットワーク１１０を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク１１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００４０】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウインドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４１】
スキャナ２１２は、画像を光学的に読み取り、装置内に画像データを読み込む。なお、スキャナ２１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタなどを採用することができる。
【００４２】
（資源ノード決定装置１０１の機能的構成）
つぎに、この発明の実施の形態にかかる資源ノード決定装置１０１の機能的構成について説明する。図３は、この発明の実施の形態にかかる資源ノード決定装置１０１の機能的構成を示すブロック図である。図３において、資源ノード決定装置１０１は、送信部３０１と、受信部３０２と、決定部３０３と、から構成されている。
【００４３】
送信部３０１は、複数のサービス間で利用される資源ノード（図１に示す資源ノード１０３）の割当状態を管理する資源ブローカ（図１に示す資源ブローカリング装置１０２）に対して、一のサービスを実行可能とする条件に関する情報を送信する。
【００４４】
ここで、サービスとは、資源ノードのコンピュータ端末に提供する情報処理であり、たとえば、シミュレーションジョブのバッチ処理などの非インタラクティブなサービスやインターネット電話やテレビ会議システムといったインタラクティブなサービスがある。
【００４５】
また、一のサービスを実行可能とする条件とは、たとえば、一のサービスを実行するにあたって最低限必要となる資源ノードの性能および台数を示したものである。より具体的には、『メモリ容量：５１２ＭＢ以上、ＯＳ：Ｗｉｎｄｏｗｓ（登録商標）、台数：５台』などを条件とすることができる。
【００４６】
この条件は、サービスごとに当該サービスの負荷に応じて資源ノード決定装置１０１に設定されている。具体的には、この条件は、資源ノード決定装置１０１に直接入力することで設定してもよく、また、ネットワーク１１０を介して外部のコンピュータ装置から受信することとしてもよい。
【００４７】
資源ブローカは、資源ノード決定装置１０１からの条件に関する情報に基づいて、複数のサービス間で利用される資源ノードのうち、条件を満たす資源ノードを特定する。このとき、資源ブローカは、最低限必要となる台数よりも多い数の資源ノードを特定するようにしてもよい。
【００４８】
具体的には、たとえば、資源ブローカは、各資源ノードにおけるＣＰＵ性能、使用可能なＯＳ、インストールされているアプリケーションソフトなどの静的な情報およびＣＰＵ使用率やメモリ使用率などの動的な情報を用いて、条件を満たす資源ノードを特定する。
【００４９】
また、資源ブローカは、特定されたすべての資源ノードに対して、現在の使用状況を問い合わせるとともに、それぞれの使用状況に関する情報を資源ノード決定装置１０１に送信するように要求する。このとき、資源ブローカは、資源ノード決定装置１０１のＩＰアドレスを特定された各資源ノードに対して送信するようにしてもよい。
【００５０】
すなわち、資源ブローカは、実際に一のサービスに利用される資源ノードを割り当てるのではなく、一のサービスを実行可能とする条件を満たす資源ノードを特定する。そして、各資源ノードに対して、資源ノード決定装置１０１への使用状況に関する情報の通知要求をおこなう。このような資源ブローカがおこなう一連の処理を、ここでは、資源ノードの割当状態を管理するという。
【００５１】
受信部３０２は、送信部３０１によって一のサービスを実行可能とする条件に関する情報が送信された結果、複数のサービス間で利用される資源ノードのうち条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信する。
【００５２】
具体的には、受信部３０２は、資源ブローカによって特定された資源ノードから各資源ノードの使用状況に関する情報を受信する。なお、特定された各資源ノードは、資源ブローカから送信された資源ノード決定装置１０１のＩＰアドレスをもとに、使用状況に関する情報を資源ノード決定装置１０１に送信するようにしてもよい。
【００５３】
ここで、資源ノードの使用状況に関する情報とは、たとえば、資源ノード内のソフトウェア資源に関する使用状況を示す情報である。具体的には、各資源ノードにおいて現在実行されているＯＳやアプリケーションなどを示す情報であってもよい。
【００５４】
また、資源ノードの使用状況に関する情報には、たとえば、資源ノード内のハードウェア資源に関する使用状況を示す情報が含まれていてもよい。具体的には、各資源ノードにおける現在のＣＰＵ使用率やメモリ使用率などを示す情報であってもよい。
【００５５】
さらに、資源ノードの使用状況に関する情報には、たとえば、資源ノードが他の外部装置と通信をおこなう際の通信速度に関する情報が含まれていてもよい。具体的には、各資源ノードにおいて使用中のネットワーク帯域（周波数帯域）を示す情報や、各資源ノードが設置されている位置を示す情報（通信相手となる外部装置との物理的な距離を算出するための情報）などであってもよい。
【００５６】
決定部３０３は、受信部３０２によって受信された使用状況に関する情報に基づいて、特定の資源ノードの中から一のサービスに利用される資源ノードを決定する。具体的には、決定部３０３は、受信部３０２によって使用状況に関する情報が受信された順に、特定の資源ノードの中から一のサービスに利用される資源ノードを決定するようにしてもよい。
【００５７】
すなわち、決定部３０３は、特定の資源ノードのうち、使用状況に関する情報の通知が速い順に、実際に一のサービスに利用される資源ノードとして決定する。この場合、決定部３０３による資源ノードの決定は、一のサービスを実行可能とする資源ノードの台数が揃うまでおこなわれる。
【００５８】
また、各資源ノードにおいて使用されているネットワーク帯域（通信速度）の違いによって、各資源ノードにおける通信遅延が異なる。決定部３０３は、この通信遅延の違いを考慮して、特定の資源ノードのうち、通信速度の速いものを一のサービスに利用される資源ノードとして決定するようにしてもよい。
【００５９】
さらに、決定部３０３は、受信部３０２によって受信された使用状況に関する情報のうち、特定の資源ノード内の一のサービスの実行に必要なソフトウェア資源の切替の要否に関する情報に基づいて、特定の資源ノードの中から一のサービスに利用される資源ノードを決定するようにしてもよい。
【００６０】
たとえば、一のサービスの実行に必要となるアプリケーションの起動にＯＳ切替が必要となる場合がある。このような場合、ＯＳ切替にかかる時間が発生してしまい、結果的に必要となるアプリケーションの実行までに時間がかかってしまう。決定部３０３は、このＯＳ切替にかかる時間を考慮して、ＯＳの切替が必要ないものを一のサービスに利用される資源ノードとして決定するようにしてもよい。
【００６１】
また、決定部３０３は、受信部３０２によって受信された使用状況に関する情報のうち、特定の資源ノード内の一のサービスの実行に必要なソフトウェア資源の実行の有無に関する情報に基づいて、特定の資源ノードの中から一のサービスに利用される資源ノードを決定するようにしてもよい。
【００６２】
たとえば、一のサービスの実行に必要となるアプリケーションがアプリａであるにもかかわらず、資源ノード内において実行中のアプリケーションがアプリｂだったとする。この場合、たとえば、資源ノード内において、アプリｂを停止させ、アプリａを起動させる処理が必要であり、一のサービスの実行に必要となるアプリケーションの起動に時間がかかる。
【００６３】
決定部３０３は、このソフトウェア資源の起動（実行）にかかる時間を考慮して、予め一のサービスの実行に必要となるアプリケーションが起動されているものを一のサービスに利用される資源ノードとして決定するようにしてもよい。
【００６４】
また、送信部３０１は、受信部３０２によって使用状況に関する情報が受信された場合、特定の資源ノードに対して当該特定の資源ノード内の一のサービスの実行に必要なソフトウェア資源の起動要求を送信するようにしてもよい。
【００６５】
この場合、受信部３０２は、送信部３０１によって起動要求が送信された結果、特定の資源ノードから起動完了通知を受信するようにしてもよい。起動完了通知とは、一のサービスの実行に必要なソフトウェア資源の起動が完了したことを示す応答信号である。そして、決定部３０３は、受信部３０２によって起動完了通知が受信された順に、特定の資源ノードの中から一のサービスに利用される資源ノードを決定するようにしてもよい。
【００６６】
すなわち、決定部３０３は、特定の資源ノードのうち、一のサービスの実行に必要となるアプリケーションの起動が完了したことを示す起動完了通知が速い順に、当該起動完了通知の送信元の資源ノードを、一のサービスに利用される資源ノードとして決定する。
【００６７】
なお、資源ノード決定装置１０１および資源ブローカは、ここでは別体に設けられていることとしたが、同一筐体であってもよい。たとえば、資源ノード決定装置１０１の筐体内に資源ブローカが備えられている構成としてもよい。
【００６８】
（資源ノード決定処理手順）
つぎに、この発明の実施の形態にかかる資源ノード決定装置１０１の資源ノード決定処理手順について説明する。図４は、この発明の実施の形態にかかる資源ノード決定装置１０１において実行される資源ノード決定処理手順を示すフローチャートである。
【００６９】
図４のフローチャートにおいて、まず、送信部３０１により、複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信する（ステップＳ４０１）。
【００７０】
つぎに、受信部３０２により、送信部３０１によって条件に関する情報が送信された結果、複数のサービス間で利用される資源ノードのうち、条件を満たす特定の資源ノードから当該特定の資源ノードの使用状況に関する情報を受信する（ステップＳ４０２）。
【００７１】
最後に、決定部３０３により、受信部３０２によって受信された使用状況に関する情報に基づいて、特定の資源ノードの中から一のサービスに利用される資源ノードを決定して（ステップＳ４０３）、本フローチャートによる一連の処理を終了する。
【００７２】
以上説明したように、この発明の実施の形態にかかる資源ノード決定装置１０１によれば、各資源ノードからの使用状況に関する情報の反応の速さおよび当該各資源ノードの使用状況を考慮して、サービスに利用される資源ノードを決定することができる。このように、サービスに対する効率的な資源の割り当てをおこなうことにより、個々のサービスの円滑な提供を実現することができる。
【００７３】
また、資源ノード決定装置１０１によれば、特定の資源ノードの中から一のサービスに利用される資源ノードを決定する際の決定条件を、サービスごとに任意に設定することができる。このため、提供されるサービスの追加や変更に柔軟に対応することができる。
【００７４】
（資源ノード１０３の機能的構成）
つぎに、この発明の実施の形態にかかる資源ノード１０３の機能的構成について説明する。図５は、この発明の実施の形態にかかる資源ノード１０３の機能的構成を示すブロック図である。図５において、資源ノード１０３は、受信部５０１と、起動部５０２と、送信部５０３と、実行終了部５０４と、から構成されている。
【００７５】
受信部５０１は、複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中の資源ノード１０３が、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、各サービスへの利用の採否を決定する資源ノード決定装置（図１に示す資源ノード決定装置１０１）から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信する。
【００７６】
具体的には、資源ノード１０３は、第１のサービスに利用されており、当該第１のサービスの実行に必要なソフトウェア資源を実行している。この状況において、資源ノード１０３が第２のサービスを実行可能とする条件をさらに満たす場合、資源ノード決定装置から第２のサービスの実行に必要なソフトウェア資源の起動要求を受信する。
【００７７】
起動部５０２は、受信部５０１によって起動要求が受信された場合、第２のサービスの実行に必要なソフトウェア資源を起動する。具体的には、受信部５０１によって起動要求が受信された場合には、資源ノード１０３において、第１のサービスの実行に必要なソフトウェア資源および第２のサービスの実行に必要なソフトウェア資源がともに実行されている。
【００７８】
送信部５０３は、起動部５０２によって第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を資源ノード決定装置に対して送信する。起動完了通知とは、第２のサービスの実行に必要なソフトウェア資源の起動が完了したことを示す応答信号である。
【００７９】
また、受信部５０１は、送信部５０３によって起動完了通知が送信された結果、資源ノード決定装置から、資源ノード１０３に対する第２のサービスへの利用の採否の決定結果を受信する。第２のサービスへの利用の採否の決定は、たとえば、送信部５０３から送信された起動完了通知をもとに資源ノード決定装置においておこなわれる。
【００８０】
実行終了部５０４は、資源ノード１０３内のソフトウェア資源の実行を終了する。具体的には、実行終了部５０４は、受信部５０１によって受信された決定結果に基づいて、第１のサービスの実行に必要なソフトウェア資源または第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了する。
【００８１】
より具体的には、実行終了部５０４は、受信部５０１によって受信された決定結果が第２のサービスへの利用について採用を許可する決定結果である場合、第１のサービスの実行に必要なソフトウェア資源の実行を終了するようにしてもよい。
【００８２】
また、実行終了部５０４は、受信部５０１によって受信された決定結果が第２のサービスへの利用について採用を拒否する決定結果である場合、第２のサービスの実行に必要なソフトウェア資源の実行を終了するようにしてもよい。
【００８３】
（資源ノード制御処理手順）
つぎに、この発明の実施の形態にかかる資源ノード１０３の資源ノード制御処理手順について説明する。図６は、この発明の実施の形態にかかる資源ノード１０３において実行される資源ノード制御処理手順を示すフローチャートである。
【００８４】
図６のフローチャートにおいて、まず、受信部５０１により、複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中に、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信する（ステップＳ６０１）。
【００８５】
つぎに、起動部５０２により、受信部５０１によって起動要求が受信された場合、第２のサービスの実行に必要なソフトウェア資源を起動する（ステップＳ６０２）。そして、送信部５０３により、起動部５０２によって第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を資源ノード決定装置に対して送信する（ステップＳ６０３）。
【００８６】
つぎに、受信部５０１により、送信部５０３によって起動完了通知が送信された結果、資源ノード決定装置から、資源ノード１０３に対する第２のサービスへの利用の採否の決定結果を受信する（ステップＳ６０４）。
【００８７】
最後に、実行終了部５０４により、受信部５０１によって受信された決定結果に基づいて、第１のサービスの実行に必要なソフトウェア資源または第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了して（ステップＳ６０５）、本フローチャートによる一連の処理を終了する。
【００８８】
以上説明したように、この発明の実施の形態にかかる資源ノード１０３によれば、第１のサービスに利用されている状態であっても、第２のサービスの実行に必要なソフトウェア資源の実行をおこなうことができる。さらに、第２のサービスへの採否の決定結果に応じて、不要なソフトウェア資源の実行を終了することができる。
【００８９】
これにより、第２のサービスへの利用について採用が拒否された場合に生じる、第１のサービスの実行に必要なソフトウェア資源の一時停止などの処理を回避することができ、資源ノード１０３にかかる負荷を軽減させることができる。
【実施例１】
【００９０】
つぎに、この発明の実施例１について説明する。実施例１では、サービス実行のために要求された台数よりも多い資源ノード１０３に対して使用状況の問い合わせをおこない、資源ノード決定装置１０１への使用状況通知が速い順にサービスに利用する資源ノード１０３として採用する場合について説明する。
【００９１】
（資源ノード決定システムの概要）
まず、実施例１における資源ノード決定システムについて説明する。図７は、実施例１における資源ノード決定システムの概要を示す説明図である。
【００９２】
図７において、この資源ノード決定システムは、複数の資源ノード１０３（ここでは、７台）が属する資源レイヤと、複数の資源ノード１０３を利用することによって実行されるサービスが属するサービスレイヤと、複数のサービス間で利用される資源ノード１０３の割当状態を管理するミドルウェアレイヤと、から構成されている。
【００９３】
資源ノード決定装置１０１は、サービス（たとえば、サービスＡ、サービスＢ）ごとに用意されたサービス管理部７０１（たとえば、サービス管理部ＭＡ、サービス管理部ＭＢ）によって構成されている。サービス管理部７０１は、各サービスにかかる負荷に応じて後述する資源ブローカ７０２に資源ノード１０３を要求したり（図７中（１）参照）、各サービスに割り当てられた資源ノード１０３を管理する。
【００９４】
また、サービス管理部７０１には、資源ブローカ７０２に要求する資源ノード１０３の性能および台数などの条件を設定することができる。具体的には、サービスＡの管理者は、サービスＡに必要となる資源ノード１０３の性能および台数をサービス管理部ＭＡに設定することができる。ここでは、サービス管理部ＭＡに、資源ブローカ７０２に要求する条件として『メモリ容量：５１２ＭＢ以上、ＯＳ：Ｗｉｎｄｏｗｓ、台数：５台』が設定されていることとする。
【００９５】
さらに、サービス管理部７０１には、サービスに利用される資源ノード１０３を決定する際の採用条件を任意に設定することができる。たとえば、アプリケーションの起動のためのＯＳ切替の要否、または、デーモンの再起動の要否などに基づいて採用条件を設定することができる。より具体的には、たとえば、アプリケーションの起動のためにＯＳ切替が不要の場合は採用、ＯＳ切替が必要の場合は不採用として採用条件を設定することができる。
【００９６】
なお、以下において、資源とは、サービス管理部７０１から資源ブローカ７０２に要求されるサービスを実行するにあたって必要となる資源ノード１０３のことを示す。つまり、ここでは、メモリ容量が５１２ＭＢ以上であり、使用可能なＯＳがＷｉｎｄｏｗｓである５台の資源ノード１０３を総じて資源という。
【００９７】
さらに、サービス管理部７０１は、後述する各資源ノード１０３のエージェント７０５と通信をおこなうことによって、実際にサービスに利用されている各資源ノード１０３の使用状況を把握したり、利用されているすべての資源ノード１０３の台数を把握することができる。
【００９８】
資源ブローカリング装置１０２は、資源ブローカ７０２と資源情報管理部７０３とから構成されている。資源ブローカ７０２は、各サービス管理部７０１からの資源の要求を受け付け、当該要求を満たす資源がないかを後述する資源情報管理部７０３に問い合わせる（図７中（２）参照）。
【００９９】
また、資源ブローカ７０２は、資源情報管理部７０３から資源情報を受け取り（図７中（３）参照）、当該資源情報に示されているサービスに利用可能なすべての資源ノード１０３に対して、各資源ノード１０３の使用状況を問い合わせる（図７中（４）参照）。このとき、資源ブローカ７０２は、資源を要求してきたサービス管理部７０１の情報をサービスに利用可能なすべての資源ノード１０３に送信する。
【０１００】
ここで、資源情報とは、サービス管理部７０１からの要求を満たす資源に関する情報、すなわち、サービスに利用可能な資源ノード１０３に関する情報である。具体的には、サービスに利用可能な資源ノード１０３のＩＰアドレスなどの情報である。また、サービス管理部７０１の情報とは、たとえば、サービス名やサービス管理部７０１のＩＰアドレスなどの情報である。
【０１０１】
さらに、資源ブローカ７０２は、複数のサービス管理部７０１、たとえば、サービス管理部ＭＡとサービス管理部ＭＢから資源の要求があった場合には、それらの要求を調停する。なお、資源ブローカ７０２における要求を調停する技術は、公知技術である。
【０１０２】
資源情報管理部７０３は、資源レイヤに属するすべての資源ノード１０３に関する情報を保持している。具体的には、たとえば、資源情報管理部７０３は、各資源ノード１０３のＩＰアドレス、使用可能なＯＳ、ＣＰＵ性能、インストールされているアプリケーションソフトなどの静的な情報および後述するモニター７０４から定期的に収集されるＣＰＵ使用率などの動的な情報を保持している。
【０１０３】
また、資源情報管理部７０３は、資源ブローカ７０２からの資源の問い合わせがあった場合、保持している情報の中から問い合わせのあった資源、すなわち、サービスを実行可能とする条件を満たす資源ノード１０３を検索する。そして、資源情報管理部７０３は、その検索結果を資源ブローカ７０２に渡す。なお、資源情報管理部７０３においておこなわれる技術は、公知技術である。
【０１０４】
資源ノード１０３は、モニター７０４とエージェント７０５とを備えており、各サイトＣに接続されている。モニター７０４は、各資源ノード１０３の初回起動時に、当該資源ノード１０３の静的な情報を資源情報管理部７０３に送信する（不図示）。さらに、モニター７０４は、定期的に資源ノード１０３の動的な情報を資源情報管理部７０３に送信する（不図示）。
【０１０５】
エージェント７０５は、資源ノード１０３において動作するすべてのアプリケーションの起動および停止を管理する。また、エージェント７０５は、資源ノード１０３において動作するアプリケーションの起動に関する情報、たとえば、現在使用されているＯＳ、環境変数および動作中のデーモンに関する情報などを保持している。
【０１０６】
さらに、エージェント７０５は、資源ブローカ７０２から使用状況の問い合わせがあった場合に、資源ノード１０３の使用状況に関する情報をサービス管理部７０１に通知する（図７中（５）参照）。
【０１０７】
具体的には、エージェント７０５は、資源ブローカ７０２からの使用状況の問い合わせとともに送信されてきたサービス管理部７０１の情報をもとに、該当するサービス管理部７０１（たとえば、サービス管理部ＭＡ）に対して資源ノード１０３の使用状況に関する情報を送信する。
【０１０８】
サービス管理部７０１は、エージェント７０５からの使用状況通知が速い順に、サービスに利用する資源ノード１０３として採用する。具体的には、エージェント７０５からの使用状況通知が速かった資源ノード１０３に対しては、採用通知を送信する（図７中（６）参照）。
【０１０９】
また、エージェント７０５からの使用状況通知が遅く、要求した台数の資源ノード１０３が揃っている場合には、その資源ノード１０３に対して不採用通知を送信する（図７中（７）参照）。
【０１１０】
（資源ノード決定処理手順）
つぎに、実施例１における資源ノード決定装置１０１の資源ノード決定処理手順について説明する。ここでは、サービスＡに必要な台数よりも多くの資源ノード１０３に対して使用状況の問い合わせをおこなわれていることとする。なお、サービスＡを実行する場合に、各資源ノード１０３において動作するアプリケーションをアプリａ（図７中「ａ」）、サービスＢを実行する場合に、各資源ノード１０３において動作するアプリケーションをアプリｂ（図７中「ｂ」）とする。
【０１１１】
図８は、実施例１における資源ノード決定装置１０１の資源ノード決定処理を示すフローチャートである。図８のフローチャートにおいて、まず、資源ノード決定装置１０１のサービス管理部ＭＡは、資源ブローカリング装置１０２の資源ブローカ７０２に対して、サービスＡを実行可能とする条件データを送信する（ステップＳ８０１）。
【０１１２】
ここでは、サービス管理部ＭＡに、サービスＡを実行するための条件として『メモリ容量：５１２ＭＢ以上、ＯＳ：Ｗｉｎｄｏｗｓ、台数：５台』が設定されている。このため、サービス管理部ＭＡは、メモリ容量が５１２ＭＢ以上であり、使用可能なＯＳがＷｉｎｄｏｗｓである資源ノード１０３を５台必要である旨の条件を条件データとして資源ブローカ７０２に送信する。
【０１１３】
ステップＳ８０１において、サービスＡを実行可能とする条件データが送信された結果、サービスＡを実行可能とする条件を満たす資源ノード１０３のエージェント７０５から使用状況データを受信する（ステップＳ８０２）。
【０１１４】
具体的には、まず、資源ブローカ７０２がサービス管理部ＭＡからの条件データに基づいて、資源情報管理部７０３に資源の問い合わせをおこない、サービスＡを実行可能とする資源の資源情報を受け取る。そして、資源ブローカ７０２は、この資源情報に含まれるＩＰアドレスを用いて、資源ノード１０３に現在の使用状況を問い合わせる。その結果、資源ノード１０３のエージェント７０５からサービス管理部ＭＡに対して使用状況の通知がおこなわれる。
【０１１５】
つぎに、サービスＡに利用される資源ノード１０３の台数が、条件として要求した台数に達しているか否かを判断する（ステップＳ８０３）。すなわち、サービスＡに利用される資源として、メモリ容量が５１２ＭＢ以上かつ使用可能なＯＳがＷｉｎｄｏｗｓである資源ノード１０３を５台確保することができたか否かを判断する。
【０１１６】
ここで、要求した台数に達していない場合（ステップＳ８０３：Ｎｏ）、ステップＳ８０２において受信された使用状況データの送信元である資源ノード１０３をサービスＡに利用する資源ノード１０３として採用する（ステップＳ８０４）。そして、採用された資源ノード１０３のエージェント７０５に対して採用通知を送信して（ステップＳ８０５）、ステップＳ８０２に移行する。
【０１１７】
具体的には、使用状況データの送信が速い資源ノード１０３を採用し、サービスＡに利用する資源ノード１０３として採用されたことを示す採用通知を送信する。なお、この採用通知には、サービスＡの実行に必要となるアプリａの起動要求が含まれており、採用通知を受信したエージェント７０５は起動要求に該当するアプリａを起動させる。
【０１１８】
また、ステップＳ８０３において、要求した台数に達している場合（ステップＳ８０３：Ｙｅｓ）、ステップＳ８０２において受信された使用状況データの送信元である資源ノード１０３のエージェント７０５に対して不採用通知を送信して（ステップＳ８０６）、本フローチャートによる一連の処理を終了するようにしてもよい。
【０１１９】
具体的には、サービスＡに利用される資源ノード１０３が要求した台数に達した場合には、その後、使用状況データを送信してきた資源ノード１０３のエージェント７０５に対して不採用通知を送信する。
【０１２０】
この実施例１によれば、実際に使用状況の反応があった資源ノード１０３をサービスに利用するため、当該サービスの実行に必要となる資源ノード１０３の台数を確実に揃えることができる。また、使用状況の反応が速い順にサービスに利用する資源ノード１０３として採用するため、ネットワーク帯域の違いによる通信遅延を考慮した効率的な資源の割り当てをおこなうことができる。
【０１２１】
また、サービスに利用される資源ノード１０３を決定する際の採用条件を、サービスごとに任意に設定することができる。このため、提供されるサービスの追加や変更に柔軟に対応することができ、汎用性に優れている。
【実施例２】
【０１２２】
つぎに、この発明の実施例２について説明する。実施例２では、資源ノード１０３からの使用状況通知の反応の速さだけではなく、各サービス管理部７０１に予め設定されている採用条件をもとに、サービスに利用される資源ノード１０３の採用をおこなう場合について説明する。
【０１２３】
（資源ノード決定システムの概要）
まず、実施例２における資源ノード決定システムについて説明する。図９は、実施例２における資源ノード決定システムの概要を示す説明図である。なお、資源ブローカ７０２が各資源ノード１０３に対して使用状況の問い合わせをおこなうまでの処理は、図７中に示す（１）〜（４）における処理と同様のため、ここでは説明および図示を省略する。
【０１２４】
図９に示すサービス管理部７０１のサービス管理部ＭＡには、サービスＡに利用される資源ノード１０３を採用する際の採用条件が予め設定されている（図９中（５）参照）。ここでは、採用条件として、サービスＡの実行に必要となるアプリａ起動のために、ＯＳ切替が不要の場合は採用し、ＯＳ切替が必要の場合は不採用とする条件が設定されている。
【０１２５】
また、採用条件の判定は、資源ノード１０３のエージェント７０５からの使用状況通知があった順におこなわれる。各資源ノード１０３のエージェント７０５からサービス管理部ＭＡに通知される使用状況通知には、現在使用中のＯＳを示す情報が含まれている（図９中（６）参照）。
【０１２６】
サービス管理部ＭＡは、エージェント７０５から通知される使用状況通知に含まれている現在使用中のＯＳに関する情報に基づいて採用するか否かを判断する。ここでは、まずアプリａ起動のためのＯＳ切替の要否を判定する。
【０１２７】
具体的には、アプリａ起動のためにＯＳ切替が不要と判定された場合には、サービスＡに利用する資源ノード１０３として採用し、エージェント７０５に採用通知を送信する（図９中（７）参照）。また、アプリａ起動のためにＯＳ切替が必要であると判定された場合には、サービスＡに利用しない資源ノード１０３として、エージェント７０５に不採用通知を送信する（図９中（８）参照）。
【０１２８】
（資源ノード決定処理手順）
つぎに、実施例２における資源ノード決定装置１０１の資源ノード決定処理手順について説明する。ここでは、サービスＡに必要な台数よりも多くの資源ノード１０３に対して使用状況の問い合わせがおこなわれていることとする。
【０１２９】
図１０は、実施例２における資源ノード決定装置１０１の資源ノード決定処理を示すフローチャートである。図１０のフローチャートにおいて、まず、資源ノード決定装置１０１のサービス管理部ＭＡは、資源ブローカリング装置１０２の資源ブローカ７０２に対して、サービスＡを実行可能とする条件データを送信する（ステップＳ１００１）。
【０１３０】
ステップＳ１００１において、サービスＡを実行可能とする条件データが送信された結果、サービスＡを実行可能とする条件を満たす資源ノード１０３のエージェント７０５から使用状況データを受信する（ステップＳ１００２）。資源ノード１０３から送信されてくる使用状況データには、各資源ノード１０３において現在使用中のＯＳに関する情報が含まれている。
【０１３１】
つぎに、サービスＡに利用される資源ノード１０３の台数が、条件として要求した台数に達しているか否かを判断する（ステップＳ１００３）。ここで、要求した台数に達していない場合（ステップＳ１００３：Ｎｏ）、ステップＳ１００２において受信された使用状況データに基づいて、当該使用状況データの送信元である資源ノード１０３がサービス管理部ＭＡに予め設定されている採用条件を満たすか否かを判断する（ステップＳ１００４）。
【０１３２】
具体的には、使用状況データに含まれる現在使用中のＯＳに関する情報から、資源ノード１０３においてアプリａが動作可能なＯＳが使用されているか否かを判定し、ＯＳの切替の要否を判断する。
【０１３３】
ここで、採用条件を満たす場合（ステップＳ１００４：Ｙｅｓ）、ステップＳ１００２において受信された使用状況データの送信元である資源ノード１０３をサービスＡに利用する資源ノード１０３として採用する（ステップＳ１００５）。具体的には、使用状況データに含まれる現在使用中のＯＳに関する情報から、ＯＳの切替が不要であると判定された場合に採用条件を満たすと判断される。
【０１３４】
そして、採用された資源ノード１０３のエージェント７０５に対して採用通知を送信して（ステップＳ１００６）、ステップＳ１００２に移行する。また、ステップＳ１００４において、採用条件を満たさない場合（ステップＳ１００４：Ｎｏ）、ステップＳ１００２において受信された使用状況データの送信元である資源ノード１０３に対して不採用通知を送信して（ステップＳ１００７）、ステップＳ１００２に移行する。具体的には、使用状況データに含まれる現在使用中のＯＳに関する情報から、ＯＳの切替が必要であると判定された場合に採用条件を満たさないと判断される。
【０１３５】
また、ステップＳ１００３において、要求した台数に達している場合（ステップＳ１００３：Ｙｅｓ）、ステップＳ１００２において受信された使用状況データの送信元である資源ノード１０３のエージェント７０５に対して不採用通知を送信して（ステップＳ１００８）、本フローチャートによる一連の処理を終了するようにしてもよい。
【０１３６】
具体的には、サービスＡに利用される資源ノード１０３が要求した台数に達した場合には、その後、使用状況データを送信してきた資源ノード１０３のエージェント７０５に対して不採用通知を送信する。
【０１３７】
この実施例２によれば、各資源ノード１０３におけるサービスＡの実行に必要となるアプリａの起動にかかる時間を考慮して、当該サービスに利用する資源ノード１０３の採用をおこなうことができる。このため、使用状況の反応が速い場合であってもアプリａの起動に時間がかかってしまい、結果的にサービスＡの実行に時間がかかってしまう状況を回避することができ、より効率的な資源の割り当てをおこなうことができる。
【実施例３】
【０１３８】
つぎに、この発明の実施例３について説明する。実施例３では、資源ノード１０３からの使用状況通知があったときに、当該資源ノード１０３を採用するか否かを判断するのではなく、一旦仮採用とし、その後の状況によって採用するか否かの判断をおこなう場合について説明する。
【０１３９】
（資源ノード決定システムの概要）
まず、実施例３における資源ノード決定システムについて説明する。図１１は、実施例３における資源ノード決定システムの概要を示す説明図である。なお、資源ブローカ７０２が各資源ノード１０３に対して使用状況の問い合わせをおこなうまでの処理は、図７中に示す（１）〜（４）における処理と同様のため、ここでは説明および図示を省略する。
【０１４０】
図１１においては、資源ノード１０３ａおよび資源ノード１０３ｂの使用状況通知が速かったため、サービス管理部ＭＡから資源ノード１０３ａのエージェント７０５ａおよび資源ノード１０３ｂのエージェント７０５ｂに仮採用通知が送信された場合について説明する。
【０１４１】
サービス管理部ＭＡは、資源ノード１０３のエージェント７０５からの使用状況通知があった順に（図１１中（５）参照）、サービスＡに利用する資源ノード１０３として仮採用する。そして、仮採用された資源ノード１０３のエージェント７０５に対して仮採用通知を送信する。
【０１４２】
ここでは、資源ノード１０３ａおよび資源ノード１０３ｂの使用状況通知の反応が速かったため、サービス管理部ＭＡは、資源ノード１０３ａおよび資源ノード１０３ｂに仮採用通知を送信する（図１１中（６）参照）。
【０１４３】
サービス管理部ＭＡから仮採用通知が送信された結果、資源ノード１０３ａおよび資源ノード１０３ｂは仮採用通知を受信する。これにより、資源ノード１０３ａおよび資源ノード１０３ｂは、サービスＡに利用される資源ノード１０３として仮採用された状態となる。
【０１４４】
また、仮採用通知を受信したエージェント７０５ａおよびエージェント７０５ｂは、サービスＡの実行に必要となるアプリａを起動する（図１１中（７）参照）。そして、アプリａの起動が完了した場合、サービス管理部ＭＡに対してアプリａの起動完了を示す起動完了通知を送信する（図１１中（８）参照）。
【０１４５】
ここでは、資源ノード１０３ａでのアプリａの起動が速く完了したため、エージェント７０５ｂからの起動完了通知よりもエージェント７０５ａからの起動完了通知のほうが速い。この場合は、サービス管理部ＭＡは、起動完了通知が速かったエージェント７０５ａに対して採用通知を送信する（図１１中（９）参照）。
【０１４６】
また、資源ノード１０３ｂでのアプリａの起動には時間がかかったため、エージェント７０５ｂからの起動完了通知がサービス管理部ＭＡに送信されたときには既にサービスＡに必要な台数の資源ノード１０３が揃った後となっている。この場合、サービス管理部ＭＡは、エージェント７０５ｂに対して不採用通知を送信する（図１１中（１０）参照）。また、不採用通知を受信したエージェント７０５ｂは、アプリａを停止し（図１１中（１１）参照）、仮採用通知を受信する前の状態に戻る。
【０１４７】
（資源ノード決定処理手順）
つぎに、実施例３における資源ノード決定装置１０１の資源ノード決定処理手順について説明する。図１２は、実施例３における資源ノード決定装置１０１の資源ノード決定処理を示すフローチャートである。ここでは、サービスＡに必要な台数よりも多くの資源ノード１０３に対して使用状況の問い合わせがおこなわれていることとする。
【０１４８】
図１２のフローチャートにおいて、まず、資源ノード決定装置１０１のサービス管理部ＭＡは、資源ブローカリング装置１０２の資源ブローカ７０２に対して、サービスＡを実行可能とする条件データを送信する（ステップＳ１２０１）。
【０１４９】
ステップＳ１２０１において、サービスＡを実行可能とする条件データが送信された結果、サービスＡを実行可能とする条件を満たす資源ノード１０３のエージェント７０５から使用状況データを受信する（ステップＳ１２０２）。つぎに、使用状況データの送信元である資源ノード１０３に仮採用通知を送信する（ステップＳ１２０３）。
【０１５０】
そして、仮採用通知の送信先の資源ノード１０３から起動完了通知を受信する（ステップＳ１２０４）。具体的には、仮採用通知の送信先の資源ノード１０３においてサービスＡの実行に必要となるアプリａが起動されるのを待って、起動された場合に資源ノード１０３から送信されてくる起動完了通知を受信する。
【０１５１】
つぎに、サービスＡに利用される資源ノード１０３の台数が、条件として要求した台数に達しているか否かを判断する（ステップＳ１２０５）。ここで、要求した台数に達していない場合（ステップＳ１２０５：Ｎｏ）、ステップＳ１２０４において受信された起動完了通知の送信元である資源ノード１０３をサービスＡに利用する資源ノード１０３として採用する（ステップＳ１２０６）。
【０１５２】
そして、採用された資源ノード１０３のエージェント７０５に対して採用通知を送信して（ステップＳ１２０７）、ステップＳ１２０２に移行する。具体的には、起動完了通知の送信が速い資源ノード１０３を採用し、サービスＡに利用する資源ノード１０３として採用されたことを示す採用通知を送信する。
【０１５３】
また、ステップＳ１２０５において、要求した台数に達している場合（ステップＳ１２０５：Ｙｅｓ）、ステップＳ１２０４において受信された起動完了通知の送信元である資源ノード１０３のエージェント７０５に対して不採用通知を送信して（ステップＳ１２０８）、本フローチャートによる一連の処理を終了するようにしてもよい。
【０１５４】
具体的には、サービスＡに利用される資源ノード１０３が要求した台数に達した場合には、その後、起動完了通知を送信してきた資源ノード１０３のエージェント７０５に対して不採用通知を送信する。
【０１５５】
この実施例３によれば、各資源ノード１０３において実際にアプリａの起動が完了したことを示す起動完了通知があった順に、サービスＡに利用する資源ノード１０３を採用することができる。これにより、各資源ノード１０３の性能や使用状況によって異なるアプリａの起動に要する時間を考慮することができ、各資源ノード１０３におけるアプリａの起動に要する時間を予測することが困難な場合であっても、効率よく資源の割り当てをおこなうことができる。
【０１５６】
なお、資源ノード１０３は複数の種類のサービスに利用されるため、２段階の資源採否判定おこなう場合（上述した仮採用後に正式に採否を判定する）には、複数のアプリケーションの起動を調整する必要がある。
【０１５７】
ここで、既にサービスＢのために資源ノード１０３が利用されている環境で、新たなサービスＡを開始する際の２段階の資源採否判定をおこなう場合について説明する。なお、サービスＢの実行に必要なアプリケーションをアプリｂとする。
【０１５８】
上述した資源ノード決定処理では、ある資源ノード１０３が既にサービスＢのためにアプリｂを動作させている際に、サービスＡに利用される資源ノード１０３として仮採用された場合、アプリｂを停止してアプリａを起動する。しかしながら、その後、正式に不採用となった場合には、アプリａを停止して一度停止したアプリｂを再起動することとなる。
【０１５９】
すなわち、結果的に停止する必要のないアプリｂを一時的に停止したことにより、無駄な処理が生じてしまう。この無駄は、アプリａおよびアプリｂが同時に動作可能であるならば、仮採用時においては既に起動しているアプリｂを停止することなくアプリａを起動させることにより回避することができる。以下、図１３を用いて複数のアプリケーションの同時動作について説明する。
【０１６０】
図１３は、実施例３における資源ノード決定処理を示すシーケンス図である。図１３に示した例では、２段階の資源採否判定をおこなう際に、不採用となる資源ノード１０３におけるアプリケーションの無駄な停止を回避する場合の典型的な動作シーケンスを示す。なお、ここでは、図１１に示す資源ノード１０３のうち、資源ノード１０３ａおよび資源ノード１０３ｂについてのみ説明する。
【０１６１】
図１３において、サービス管理部ＭＡは、資源ブローカ７０２に対して所定の性能を有する資源ノード１０３を５台要求する。そして、資源ブローカ７０２は、資源情報管理部７０３からの資源情報（ここでは７台分の情報）に基づいて、資源ノード１０３に使用状況を問い合わせる。
【０１６２】
資源ブローカ７０２からの使用状況の問い合わせを受けた資源ノード１０３ａのエージェント７０５ａおよび資源ノード１０３ｂのエージェント７０５ｂは、アプリａの起動が可能であることを示す使用状況通知をサービス管理部ＭＡに送信する。
【０１６３】
つぎに、サービス管理部ＭＡは、エージェント７０５ａおよびエージェント７０５ｂに対して仮採用通知を送信する。仮採用通知を受信したエージェント７０５ａおよびエージェント７０５ｂは、アプリａを起動する。このとき、既に起動しているアプリｂは、資源ノード１０３ａおよび資源ノード１０３ｂともに起動したままにしておく。
【０１６４】
そして、アプリａの起動が完了した場合、各エージェント７０５は、アプリａの起動完了通知をサービス管理部ＭＡに送信する。ここでは、資源ノード１０３ｂにおけるアプリａの起動完了が、資源ノード１０３ａにおけるアプリａの起動完了よりも速かったとする。このため、サービス管理部ＭＡは、エージェント７０５ｂに対して採用通知を送信し、エージェント７０５ａに対して不採用通知を送信する。
【０１６５】
採用通知を受信したエージェント７０５ｂは、その時点でアプリｂを停止する。このため、資源ノード１０３ｂにおいては、アプリａのみが起動しており、サービスＡに利用される資源ノード１０３として割り当てられた状態となっている。
【０１６６】
また、不採用通知を受信したエージェント７０５ａは、その時点でアプリａを停止する。元々動作していたアプリｂは継続して動作しており、結果的に資源ノード１０３ｂを元の状態（サービスＢに割り当てられている状態）に戻したこととなる。
【０１６７】
このように、仮採用時においては、既に別のサービスに利用されているアプリケーションを起動させたままにしておくことにより、一時的なアプリケーションの停止を防ぐことができる。また、一時的なアプリケーションの停止を回避することにより、起動時に必要となる初期化処理や停止する際に何らかの情報を削除する処理を防ぐことができ、各資源ノード１０３における負荷を軽減することができる。
【０１６８】
以上説明したように、資源ノード決定プログラム、資源ノード制御プログラム、記録媒体、資源ノード決定装置、資源ノード、資源ノード決定方法および資源ノード制御方法によれば、個々のサービスの円滑な提供を実現することができる。
【０１６９】
なお、本実施の形態で説明した資源ノード決定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１７０】
（付記１）複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信させる送信工程と、
前記送信工程によって前記条件に関する情報が送信された結果、前記複数のサービス間で利用される資源ノードのうち前記条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信させる受信工程と、
前記受信工程によって受信された使用状況に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させる決定工程と、
をコンピュータに実行させることを特徴とする資源ノード決定プログラム。
【０１７１】
（付記２）前記決定工程は、
前記受信工程によって前記使用状況に関する情報が受信された順に、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させることを特徴とする付記１に記載の資源ノード決定プログラム。
【０１７２】
（付記３）前記決定工程は、
前記受信工程によって受信された使用状況に関する情報のうち、前記特定の資源ノード内の前記一のサービスの実行に必要なソフトウェア資源の切替の要否に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させることを特徴とする付記１または２に記載の資源ノード決定プログラム。
【０１７３】
（付記４）前記決定工程は、
前記受信工程によって受信された使用状況に関する情報のうち、前記特定の資源ノード内の前記一のサービスの実行に必要なソフトウェア資源の実行の有無に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させることを特徴とする付記１〜３のいずれか一つに記載の資源ノード決定プログラム。
【０１７４】
（付記５）前記受信工程によって前記使用状況に関する情報が受信された場合、前記特定の資源ノードに対して当該特定の資源ノード内の前記一のサービスに必要なソフトウェア資源の起動要求を送信させる起動要求送信工程と、
前記起動要求送信工程によって起動要求が送信された結果、前記特定の資源ノードから起動完了通知を受信させる起動完了通知受信工程と、を前記コンピュータに実行させ、
前記決定工程は、
前記起動完了通知受信工程によって起動完了通知が受信された順に、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定させることを特徴とする付記１に記載の資源ノード決定プログラム。
【０１７５】
（付記６）複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中の資源ノードが、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、前記各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信させる第１の受信工程と、
前記第１の受信工程によって前記起動要求が受信された場合、前記第２のサービスの実行に必要なソフトウェア資源を起動させる起動工程と、
前記起動工程によって前記第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を前記資源ノード決定装置に対して送信させる送信工程と、
前記送信工程によって前記起動完了通知が送信された結果、前記資源ノード決定装置から、前記資源ノードに対する前記第２のサービスへの利用の採否の決定結果を受信させる第２の受信工程と、
前記第２の受信工程によって受信された決定結果に基づいて、前記第１のサービスの実行に必要なソフトウェア資源または前記第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了させる実行終了工程と、
を前記資源ノード内のコンピュータに実行させる資源ノード制御プログラム。
【０１７６】
（付記７）前記実行終了工程は、
前記決定結果が前記第２のサービスへの利用について採用を許可する決定結果である場合、前記第１のサービスの実行に必要なソフトウェア資源の実行を終了させることを特徴とする付記６に記載の資源ノード制御プログラム。
【０１７７】
（付記８）前記実行終了工程は、
前記決定結果が前記第２のサービスへの利用について採用を拒否する決定結果である場合、前記第２のサービスの実行に必要なソフトウェア資源の実行を終了させることを特徴とする付記６または７に記載の資源ノード制御プログラム。
【０１７８】
（付記９）付記１〜８のいずれか一つに記載のプログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１７９】
（付記１０）複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信する送信手段と、
前記送信手段によって前記条件に関する情報が送信された結果、前記複数のサービス間で利用される資源ノードのうち前記条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信する受信手段と、
前記受信手段によって受信された使用状況に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定する決定手段と、
を備えることを特徴とする資源ノード決定装置。
【０１８０】
（付記１１）複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中に、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、前記各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信する受信手段と、
前記受信手段によって前記起動要求が受信された場合、前記第２のサービスの実行に必要なソフトウェア資源を起動する起動手段と、
前記起動手段によって前記第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を前記資源ノード決定装置に対して送信する送信手段と、
ソフトウェア資源の実行を終了する実行終了手段と、を備え、
前記受信手段は、
前記送信手段によって前記起動完了通知が送信された結果、前記資源ノード決定装置から、前記資源ノードに対する前記第２のサービスへの利用の採否の決定結果を受信し、
前記実行終了手段は、
前記受信手段によって受信された決定結果に基づいて、前記第１のサービスの実行に必要なソフトウェア資源または前記第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了することを特徴とする資源ノード。
【０１８１】
（付記１２）複数のサービス間で利用される資源ノードの割当状態を管理する資源ブローカに対して、一のサービスを実行可能とする条件に関する情報を送信する送信工程と、
前記送信工程によって前記条件に関する情報が送信された結果、前記複数のサービス間で利用される資源ノードのうち前記条件を満たす特定の資源ノードから、当該特定の資源ノードの使用状況に関する情報を受信する受信工程と、
前記受信工程によって受信された使用状況に関する情報に基づいて、前記特定の資源ノードの中から前記一のサービスに利用される資源ノードを決定する決定工程と、
を含んだことを特徴とする資源ノード決定方法。
【０１８２】
（付記１３）複数のサービスの中から選ばれた第１のサービスの実行に必要なソフトウェア資源を実行中の資源ノードが、あらたに選ばれた第２のサービスを実行可能とする条件を満たす場合、前記各サービスへの利用の採否を決定する資源ノード決定装置から、第２のサービスの実行に必要なソフトウェア資源の起動要求を受信する第１の受信工程と、
前記第１の受信工程によって前記起動要求が受信された場合、前記第２のサービスの実行に必要なソフトウェア資源を起動する起動工程と、
前記起動工程によって前記第２のサービスの実行に必要なソフトウェア資源が起動された場合、当該第２のサービスの実行に必要なソフトウェア資源の起動完了通知を前記資源ノード決定装置に対して送信する送信工程と、
前記送信工程によって前記起動完了通知が送信された結果、前記資源ノード決定装置から、前記資源ノードに対する前記第２のサービスへの利用の採否の決定結果を受信する第２の受信工程と、
前記第２の受信工程によって受信された決定結果に基づいて、前記第１のサービスの実行に必要なソフトウェア資源または前記第２のサービスの実行に必要なソフトウェア資源のうちいずれか一方のソフトウェア資源の実行を終了する実行終了工程と、
を含んだことを特徴とする資源ノード制御方法。
【産業上の利用可能性】
【０１８３】
以上のように、本発明にかかる資源ノード決定プログラム、資源ノード制御プログラム、記録媒体、資源ノード決定装置、資源ノード、資源ノード決定方法および資源ノード制御方法は、サービスに利用される資源ノードを決定するシステムに有用である。
【図面の簡単な説明】
【０１８４】
【図１】この発明の実施の形態にかかる資源ノード決定システムのシステム構成図である。
【図２】図１に示したコンピュータ装置のハードウェア構成を示すブロック図である。
【図３】この発明の実施の形態にかかる資源ノード決定装置の機能的構成を示すブロック図である。
【図４】この発明の実施の形態にかかる資源ノード決定装置において実行される資源ノード決定処理手順を示すフローチャートである。
【図５】この発明の実施の形態にかかる資源ノードの機能的構成を示すブロック図である。
【図６】この発明の実施の形態にかかる資源ノードにおいて実行される資源ノード制御処理手順を示すフローチャートである。
【図７】実施例１における資源ノード決定システムの概要を示す説明図である。
【図８】実施例１における資源ノード決定装置の資源ノード決定処理を示すフローチャートである。
【図９】実施例２における資源ノード決定システムの概要を示す説明図である。
【図１０】実施例２における資源ノード決定装置の資源ノード決定処理を示すフローチャートである。
【図１１】実施例３における資源ノード決定システムの概要を示す説明図である。
【図１２】実施例３における資源ノード決定装置の資源ノード決定処理を示すフローチャートである。
【図１３】実施例３における資源ノード決定処理を示すシーケンス図である。
【符号の説明】
【０１８５】
１０１  資源ノード決定装置
１０２  資源ブローカリング装置
１０３  資源ノード
３０１  送信部
３０２  受信部
３０３  決定部
５０１  受信部
５０２  起動部
５０３  送信部
５０４  実行終了部
【図１】
2008077295.tif 000003
【図２】
2008077295.tif 000004
【図３】
2008077295.tif 000005
【図４】
2008077295.tif 000006
【図５】
2008077295.tif 000007
【図６】
2008077295.tif 000008
【図７】
2008077295.tif 000009
【図８】
2008077295.tif 000010
【図９】
2008077295.tif 000011
【図１０】
2008077295.tif 000012
【図１１】
2008077295.tif 000013
【図１２】
2008077295.tif 000014
【図１３】
2008077295.tif 000015