(57)【要約】      （修正有）【課題】監視対象に応じて、応答処理を実行するまでの応答時間を短くする情報処理装置、通知監視プログラム、及び、通知監視方法を提供する。【解決手段】リスト生成部１３１は、第１の監視対象の監視回数を第２の監視対象の監視回数よりも多い監視リストｍｌを生成する。監視リスト内の領域ＩＤ「Ａ」〜「Ｅ」（各領域ＩＤ）の出現頻度は、領域ＩＤに応じて異なり、例えば、領域ＩＤ「Ａ」の出現頻度が最も高い。監視部１３２は、監視リストの順にしたがって、複数の監視対象ＥＲａ・・・ＥＲｅをポーリングして監視する。【選択図】図４
2017167574.tif 000002
【特許請求の範囲】
【請求項１】
複数の監視対象を、ポーリングして監視する監視部を有し、
第１の監視対象の監視回数が第２の監視対象の監視回数よりも多いことを特徴とする情報処理装置。
【請求項２】
請求項１において、
前記監視部は監視リスト内の監視対象のリスト順にポーリングを行い、前記監視リスト内の前記第１の監視対象の出現頻度が２以上である、
情報処理装置。
【請求項３】
請求項２において、
前記監視対象に応じて前記監視リストを作成し、第３の監視対象の優先度が前記第２の監視対象の優先度より高いときに、前記監視リスト内の前記第３の監視対象の出現頻度を前記第２の監視対象の出現頻度より大きくするリスト作成部を有する、
情報処理装置。
【請求項４】
請求項３において、
前記リスト作成部は、前記監視リストが有する前記監視対象のリストの総数を、前記複数の監視対象それぞれの優先度の比率に基づいて配分して、前記各監視対象の出現回数を算出する、
情報処理装置。
【請求項５】
請求項４において、
前記リスト作成部は、算出した前記出現回数が１以上の監視対象を前記監視リストに含め、１未満の監視対象を前記監視リストに含めない、
情報処理装置。
【請求項６】
請求項３において、
前記リスト作成部は、前記監視リスト内の出現回数が１回の監視対象が所定状態に変化してから前記変化を検知するまでに要する第１の時間と、前記変化を検知してから応答処理を開始するまでに要する第２の時間との合計を示す応答時間が、所定の基準時間より短くなるように、前記監視対象のリストの総数を算出する、
情報処理装置。
【請求項７】
複数の監視対象を、ポーリングして監視し、
第１の監視対象の監視回数が第２の監視対象の監視回数よりも多い、
処理をコンピュータに実行させることを特徴とする通知監視プログラム。
【請求項８】
複数の監視対象を、ポーリングして監視し、
第１の監視対象の監視回数が第２の監視対象の監視回数よりも多い、
通知監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、通知監視プログラム、及び、通知監視方法に関する。
【背景技術】
【０００２】
情報処理装置は、複数の機器間や複数のプロセス間の処理の制御を行うために、例えば、ポーリング方式による監視を行う。ポーリング方式によると、情報処理装置は、プロセスや機器に対応する監視対象に対して定期的に問い合わせを行って、問い合わせ結果に応じて所定の処理（以下、応答処理という）を実行する。
【０００３】
ポーリングによる監視対象が複数ある場合、情報処理装置は、定期的に複数の監視対象を巡回して監視する。したがって、監視対象が複数ある場合、複数の監視対象間のポーリングによる監視の頻度は同等になる。
【０００４】
一方、ポーリングによる監視の直後に、監視対象が変化する場合がある。この場合、情報処理装置は、残りの監視対象を監視した後の次の巡回の際に、当該監視対象に変化が生じたことを検知する。このため、監視対象が多数である場合、監視対象に変化が生じてから、当該変化が検知されるまでの時間が長くなり、応答処理を実行するまでの応答時間が長くなる。
【０００５】
したがって、監視対象ごとに優先度を設け、優先度の高い監視対象の監視頻度を高くすることが提案される。
【０００６】
メッセージが到着した後に優先度に基づき処理を制御する技術については、例えば、特許文献１、２に記載される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭６３−１５８６５５号公報
【特許文献２】特開２００６−３２３７５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、情報処理装置において、１つのプロセスが複数の監視対象をポーリングによって監視する場合、複数の監視対象の監視頻度は同等になる。したがって、監視対象の変化が検知されるまでの時間は監視対象間で同等になり、変化に応じて応答処理を実行するまでの応答時間も監視対象間で同等になる。
【０００９】
開示の１つの側面は、監視対象に応じて、応答処理を実行するまでの応答時間を短くする情報処理装置、通知監視プログラム、及び、通知監視方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の態様によれば、情報処理装置は、複数の監視対象を、ポーリングして監視する監視部を有し、第１の監視対象の監視回数が第２の監視対象の監視回数よりも多い。
【発明の効果】
【００１１】
１つの側面では、監視対象に応じて、応答処理を実行するまでの応答時間を短くできる。
【図面の簡単な説明】
【００１２】
【図１】ポーリングによる監視の一例を説明する図である。
【図２】多数の通知受付領域ＥＲｘａ〜ＥＲｘｎのポーリングによる監視を、比較例にしたがって説明する図である。
【図３】優先度が異なる複数の通知受付領域ＥＲｘの監視を、比較例にしたがって説明する図である。
【図４】本実施の形態における情報処理装置１００の処理を模式的に説明する図である。
【図５】比較例における監視リストｍｌｘ、及び、本実施の形態における監視リストｍｌの一例を示す図である。
【図６】第１の実施の形態における情報処理装置１００のハードウェア構成図である。
【図７】図７は、図６に示した情報処理装置１００のソフトウェアの機能を示す図である。
【図８】図７に示した、通知監視プログラム１２０のリスト作成モジュール１３１の処理の流れを説明するフローチャート図である。
【図９】図８の工程Ｓ１３の処理の概要を説明する図である。
【図１０】図８の工程Ｓ１５の処理の詳細を説明するフローチャート図である。
【図１１】第１の実施の形態における通知監視プログラム１２０による処理の実施例を説明する第１の図である。
【図１２】第１の実施の形態における通知監視プログラム１２０による処理の実施例を説明する第２の図である。
【図１３】図７に示した、通知監視プログラム１２０の監視モジュール１３２の処理の流れを説明するフローチャート図である。
【図１４】第２の実施の形態における監視リストｍｌ−２の一例を示す図である。
【図１５】第２の実施の形態における通知監視プログラム１２０の、リスト作成モジュール１３１の処理の流れを説明するフローチャート図である。
【図１６】第２の実施の形態における通知監視プログラム１２０による処理の実施例を説明する図である。
【図１７】第２の実施の形態における通知監視プログラム１２０の監視モジュール１３２の処理の流れを説明するフローチャート図である。
【発明を実施するための形態】
【００１３】
以下、図面にしたがって実施の形態について説明する。ただし、技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１４】
［ポーリング］
図１は、ポーリングによる監視の一例を説明する図である。図１に示す、本実施の形態における情報処理装置１００では、監視プロセス１３２、及び、待機状態の複数のスレッドｔｈＡ、ｔｈＢが動作する。スレッドｔｈＡ、ｔｈＢについては後述する。また、図１に示す情報処理装置１００は、メモリ内に通知受付領域ＥＲを有する。
【００１５】
図１に示す通知受付領域ＥＲは、ポーリングによる監視の対象（監視対象）である。通知受付領域ＥＲは、例えば、他のプロセスや他の端末装置等による通知を受け付ける領域である。通知は、例えば、フラグを示す情報やメッセージ等のデータである。
【００１６】
なお、監視対象は図１の例に限定されるものではない。監視対象は、別のプロセスや別の端末装置等による送受信データやバイナリデータ等が更新される所定のデータ領域、ファイル等が記憶されるディレクトリ領域、キュー等であってもよい。
【００１７】
図１に示す監視プロセス１３２は、定期的に通知受付領域ＥＲをポーリングして監視する（ａ１）。例えば、監視プロセス１３２は、通知受付領域ＥＲにアクセスし、通知受付領域ＥＲが所定状態に変化しているか否かを確認する。そして、変化していることを検知した場合、監視プロセス１３２は、当該監視対象に対応する所定の処理（応答処理ともいう）を実行する（ａ２−１、ａ２−２）。
【００１８】
所定状態は、予め定めた状態である。図１の例によると、所定状態は、通知受付領域ＥＲが通知の情報で更新された状態を示す。ただし、所定状態は、所定のデータ領域が送受信データで更新された状態や、ディレクトリ領域にファイルが生成された状態等であってもよい。
【００１９】
具体的に説明する。図１に示す通知受付領域ＥＲは、通知Ａ受付領域ＥＲａ、及び、通知Ｂ受付領域ＥＲｂを有する。図１に示す通知Ａ受付領域ＥＲａ及び通知Ｂ受付領域ＥＲｂそれぞれは、例えば、１バイトの領域である。通知Ａ受付領域ＥＲａは、１バイトのデータである通知Ａｎａを受け付ける領域であって、通知Ｂ受付領域ＥＲｂは、１バイトのデータである通知Ｂｎｂを受け付ける領域である。
【００２０】
情報処理装置１００で動作するプロセスＡ（図示せず）は、通知Ａ受付領域ＥＲａを通知Ａｎａの情報で更新する。また、情報処理装置１００で動作するプロセスＢ（図示せず）は、通知Ｂ受付領域ＥＲｂを通知Ｂｎｂの情報で更新する。監視プロセス１３２は、定期的に、通知Ａ受付領域ＥＲａが通知Ａｎａで更新されたか否か、通知Ｂ受付領域ＥＲｂが通知Ｂｎｂで更新されたか否かを巡回して確認する（ａ１）。即ち、監視プロセス１３２は、定期的に、監視対象が所定状態に変化したか否かを判定する。
【００２１】
通知Ａ受付領域ＥＲａが通知Ａｎａで更新されたことを検知した場合、監視プロセス１３２は、通知Ａｎａに対応する処理を、応答処理として実行する（ａ２−１）。通知Ａ受付領域ＥＲａに対応する応答処理は、例えば、プロセスＡに関連する処理を行う、スレッドｔｈＡの待機状態を解除する指示である。同様にして、通知Ｂ受付領域ＥＲｂが通知Ｂｎｂで更新されたことを検知した場合、監視プロセス１３２は、例えば、プロセスＢに関連する処理を行うスレッドｔｈＢの待機状態の解除指示を、応答処理として実行する（ａ２−２）。
【００２２】
このように、監視プロセス１３２は、通知Ａ受付領域ＥＲａ及び通知Ｂ受付領域ＥＲｂをポーリングして監視し、監視結果に応じて応答処理を実行することによって、プロセスＡ及びプロセスＢの処理を制御する。
【００２３】
なお、監視対象に対応する応答処理は、スレッドｔｈＡ、ｔｈＢの待機状態の解除に限定されるものではない。応答処理は、例えば、監視プロセス１３２のサブルーチンの実行や、メッセージの送受信、実行ファイルの起動等であってもよい。
【００２４】
また、図１は、監視プロセス１３２が動作する情報処理装置１００が通知受付領域ＥＲを保持する場合を例示する。ただし、通知受付領域ＥＲは、例えば、別の情報処理装置（図示せず）や、別の端末装置（図示せず）が有するメモリ内に保持されていてもよい。または、通知受付領域ＥＲは、監視プロセス１３２がアクセス可能な、記憶媒体等に保持されていてもよい。
【００２５】
［比較例］
図２は、多数の通知受付領域ＥＲｘａ〜ＥＲｘｎのポーリングによる監視を、比較例にしたがって説明する図である。図２は、監視対象として、通知Ａ受付領域ＥＲｘａ〜通知Ｎ受付領域ＥＲｘｎ（各通知受付領域ＥＲｘともいう）を例示する。即ち、図２は、多数の通知受付領域ＥＲｘを監視する場合を例示する。
【００２６】
図２に示す監視プロセス２３２は、各通知受付領域ＥＲｘを巡回して監視する処理を繰り返す。したがって、１つの監視プロセス２３２が多数の通知受付領域ＥＲｘを監視する場合、各通知受付領域ＥＲｘの監視頻度は同等になる。
【００２７】
このため、例えば、ある通知受付領域ＥＲｘ（例えば、通知Ａ受付領域ＥＲｘａ）の監視の直後に通知Ａ受付領域ＥＲｘａが通知Ａで更新された場合、監視プロセス２３２は、次の巡回で通知Ａ受付領域ＥＲｘａの更新を検知する。即ち、監視プロセス２３２は、通知Ｂ受付領域ＥＲｘｂ〜通知Ｎ受付領域ＥＲｘｎを確認した後の次の巡回で、通知Ａ受付領域ＥＲｘａが通知Ａで更新されたことを検知する。
【００２８】
このように、通知受付領域ＥＲｘが多数である場合、通知の更新のタイミングによっては、通知Ａ受付領域ＥＲｘａが更新されてから、監視プロセス２３２が更新を検知するまでの時間が長くなる。これにより、通知Ａ受付領域ＥＲｘａが更新されてから応答処理が行われるまでに要する時間（以下、応答時間と称する）も長くなる。
【００２９】
このため、各通知受付領域ＥＲｘに優先度を設け、通知受付領域ＥＲｘの監視頻度を優先度に応じて変更させることが考えられる。例えば、通知Ａ受付領域ＥＲｘａの優先度を高く設定することによって、通知Ａ受付領域ＥＲｘａが更新されたことを迅速に検知することが可能になる。
【００３０】
図３は、優先度が異なる複数の通知受付領域ＥＲｘの監視を、比較例にしたがって説明する図である。図３は、監視対象が通知Ａ受付領域ＥＲｘａ〜通知Ｅ受付領域ＥＲｘｅ（各通知受付領域ＥＲｘともいう）である場合を例示する。
【００３１】
図３に示す表Ｈ１は、各通知受付領域ＥＲｘの優先度情報を示す。表Ｈ１によると、通知Ａ受付領域ＥＲｘａの優先度は値「０．５４」、通知Ｂ受付領域ＥＲｘｂの優先度は値「０．０４」である。また、通知Ｃ受付領域ＥＲｘｃの優先度は値「０．１１」、通知Ｄ受付領域ＥＲｘｄの優先度は値「０．１２」、通知Ｅ受付領域ＥＲｘｅの優先度は値「０．１９」である。
【００３２】
したがって、表Ｈ１によると、通知Ａ受付領域ＥＲｘａの優先度が最も高い。通知Ｃ受付領域ＥＲｘｃ〜通知Ｅ受付領域ＥＲｘｅの優先度は、通知Ａ受付領域ＥＲｘａより低く、通知Ｂ受付領域ＥＲｘｂより高い。通知Ｂ受付領域ＥＲｘｂの優先度は最も低い。
【００３３】
表Ｈ１に示す優先度に基づく場合、監視プロセス２３２は、例えば、優先度が高い通知Ａ受付領域ＥＲｘａを監視頻度「高」にしたがって監視することが求められる。同様にして、監視プロセス２３２は、通知Ｃ受付領域ＥＲｘｃ〜通知Ｅ受付領域ＥＲｘｅを監視頻度「低〜中」にしたがって、通知Ｂ受付領域ＥＲｘｂを監視頻度「低」にしたがって、監視することが求められる。
【００３４】
しかしながら、１つの監視プロセス２３２が複数の通知受付領域ＥＲｘを監視する場合、複数の通知受付領域ＥＲｘをシーケンシャルに監視するポーリングが簡便な方法である。この場合、各通知受付領域ＥＲｘの監視頻度は優先度に関わらず同等となる。このため、１つの監視プロセス２３２が複数の通知受付領域ＥＲｘを監視する場合、複数の通知受付領域ＥＲｘの間で、監視頻度を変更させるための何らかの改良が必要である。
【００３５】
例えば、タイマ割り込みや時刻管理を用いることによって、優先度に応じて通知受付領域ＥＲｘの監視頻度を変更させる方法がある。例えば、優先度に応じた期間毎のタイマ割り込みに基づいて、各通知受付領域ＥＲｘの監視頻度を変更させる方法である。ただし、タイマ割り込みや時刻管理を用いることにより、監視プロセス２３２の処理が複雑になる。
【００３６】
そこで、１つの監視プロセス２３２が複数の通知受付領域ＥＲｘをポーリングに基づいて監視する場合において、タイマ割り込みや時刻管理を用いることなく、各通知受付領域ＥＲｘの監視頻度を異ならせることが求められる。
【００３７】
［本実施の形態の概要］
本実施の形態における情報処理装置１００は、複数の監視対象を、ポーリングして監視する監視部を有する。また、第１の監視対象の監視回数が第２の監視対象の監視回数よりも多い。
【００３８】
このように、監視対象に応じて監視回数を異ならせることによって、優先度の高い監視対象の監視頻度を高くすることが可能になる。これにより、情報処理装置１００は、優先度の高い監視対象が変化し（更新され）てから、監視部１３２によって検知されるまでの時間を短縮でき、当該変化が生じてから応答処理を実行するまでに要する時間（応答時間、レスポンスタイムともいう）を短縮できる。
【００３９】
図４は、本実施の形態における情報処理装置１００の処理を模式的に説明する図である。図４において、図１で示したものと同一のものは、同一の符号で示す。図４は、通知Ａ受付領域ＥＲａ〜通知Ｅ受付領域ＥＲｅ、監視リストｍｌ、及び、監視リストｍｌを作成するリスト作成部１３１を表す。
【００４０】
図４の例における監視対象は、通知Ａ受付領域ＥＲａ〜通知Ｅ受付領域ＥＲｅ（各通知受付領域ＥＲともいう）である。したがって、監視リストｍｌは、各通知受付領域ＥＲを識別する識別情報（以下、領域ＩＤ（identification：ＩＤ）と称する）のリストを有する。以下、通知Ａ受付領域ＥＲａの領域ＩＤを領域ＩＤ「Ａ」と称し、通知Ｂ受付領域ＥＲｂの領域ＩＤを領域ＩＤ「Ｂ」と称する。他の通知受付領域ＥＲの領域ＩＤについても同様である。
【００４１】
リスト作成部１３１は、図４に示す監視リストｍｌを作成する。図４に示す監視リストｍｌ内の領域ＩＤ「Ａ」〜「Ｅ」（各領域ＩＤともいう）の出現頻度は、領域ＩＤに応じて異なっている。図４の例によると、例えば、領域ＩＤ「Ａ」の出現頻度が最も高い。
【００４２】
図４に示す監視部（監視プロセスに対応）１３２は、監視リストｍｌのリスト順にしたがって各通知受付領域ＥＲを巡回して監視する処理を、繰り返す。また、監視部１３２は、複数の監視対象（通知受付領域ＥＲ）を監視リストｍｌのリスト順に監視する際に、監視対象が所定状態に変化したことの検知に応じて、当該監視対象に対応する応答処理を実行する。
【００４３】
これにより、監視部１３２は、監視リストｍｌ内の出現頻度の高い通知受付領域ＥＲを、より高い頻度で監視する。一方、監視部１３２は、出現頻度の低い通知受付領域ＥＲについては、より低い頻度で監視する。このように、監視部１３２による第１の監視対象の監視回数は、第２の監視対象の監視回数よりも多い。これにより、情報処理装置１００は、監視対象に応じて、当該監視対象の変化に応じて応答処理を実行するまでの応答時間を短くできる。
【００４４】
［第１の実施の形態］
次に、図６にしたがって、本実施の形態における情報処理装置１００のハードウェア構成図を、図７にしたがって、本実施の形態における情報処理装置１００のソフトウェアの機能を説明する。
【００４５】
なお、第１の実施の形態では、監視対象は所定の領域を含み、所定状態は、所定の領域が通知で更新された状態を含む場合を例示する。つまり、第１の実施の形態では、監視対象が通知受付領域ＥＲであって、監視部１３２が、通知受付領域ＥＲが通知で更新されたことを検知した場合に、監視対象が所定状態に変化したことを検知する。
【００４６】
［情報処理装置のハードウェア構成］
図６は、第１の実施の形態における情報処理装置１００のハードウェア構成図である。情報処理装置１００は、例えば、ＣＰＵ（Central Processing Unit：ＣＰＵ）１０１、メインメモリ１１０や補助記憶装置１１１等を備えるメモリ１０２、通信インタフェース部１０３を有する。各部は、バス１０４を介して相互に接続する。
【００４７】
ＣＰＵ１０１は、バス１０４を介してメモリ１０２等と接続するとともに、情報処理装置１００全体の制御を行う。通信インタフェース部１０３は、他の装置と接続し、データの送受信を行う。ＲＡＭ（Random Access Memory：ＲＡＭ）等を示すメインメモリ１１０は、ＣＰＵ１０１が処理を行うデータ等を記憶する。
【００４８】
メインメモリ１１０は、通知受付領域ＥＲ及び監視リスト領域ｍｌを有する。通知受付領域ＥＲは監視対象を示し、他のプロセスや他の装置による通知が到達する領域である。また、監視リスト領域ｍｌ（監視リストｍｌともいう）は、各通知受付領域ＥＲ（監視対象）を示す領域ＩＤのリストを有する。
【００４９】
補助記憶装置１１１は、ＣＰＵ１０１が実行するオペレーションシステムのプログラムを格納する領域（図示せず）や、通知監視プログラム格納領域１２０、優先度情報格納領域１２１を有する。補助記憶装置１１１は、ＨＤＤ（Hard disk drive）、不揮発性半導体メモリ等を示す。
【００５０】
通知監視プログラム格納領域１２０の通知監視プログラム（以下、通知監視プログラム１２０と称する）はメインメモリ１１０にロードされる。そして、ＣＰＵ１０１がメインメモリ１１０内にロードされた通知監視プログラム１２０を実行することによって、本実施の形態における監視リストｍｌの作成処理、及び、監視リストｍｌに基づく監視処理を実現する。
【００５１】
優先度情報格納領域１２１の優先度情報（以下、優先度情報１２１と称する）は、各通知受付領域ＥＲに応じた優先度の情報を有する。優先度情報１２１の一例を、図９にしたがって後述する。
【００５２】
［情報処理装置のソフトウェアの機能］
図７は、図６に示した情報処理装置１００のソフトウェアの機能を示す図である。図７において、図４で示したものと同一のものは、同一の符号で示す。図６に示した通知監視プログラム１２０は、リスト作成モジュール（図４のリスト作成部に対応）１３１と、監視モジュール（図４の監視部、監視プロセスに対応）１３２を有する。
【００５３】
リスト作成モジュール１３１は、優先度情報１２１を参照し、通知受付領域ＥＲに応じて監視リストｍｌ内の各通知受付領域ＥＲの出現頻度が異なる監視リストｍｌを作成する。リスト作成モジュール１３１は、リスト長決定モジュール１４１、出現回数決定モジュール１４２、リスト順序決定モジュール１４３を有する。リスト作成モジュール１３１の処理の詳細は、図８のフローチャート図にしたがって後述する。
【００５４】
リスト長決定モジュール１４１は、監視リストｍｌのリスト長を決定する。リスト長は、監視リストｍｌが有する領域ＩＤのリストの総数（即ち、監視リストｍｌが有するエントリの数）である。出現回数決定モジュール１４２は、各通知受付領域ＥＲの優先度情報１２１と、リスト長決定モジュール１４１が決定したリスト長に基づいて、監視リストｍｌ内の各通知受付領域ＥＲの出現回数を決定する。リスト順序決定モジュール１４３は、監視リストｍｌ内の各通知受付領域ＥＲの順序を決定する。
【００５５】
監視モジュール１３２は、監視リストｍｌ内の通知受付領域ＥＲのリスト順に、通知受付領域ＥＲをポーリングして監視する。そして、監視モジュール１３２は、通知受付領域ＥＲが所定状態に変化したことの検知に応じて、当該通知受付領域ＥＲに対応する応答処理を実行する。応答処理は、図１で前述したとおりである。監視モジュール１３２の処理の詳細は、図１３のフローチャート図にしたがって後述する。
【００５６】
次に、図５にしたがって、本実施の形態における監視リストｍｌの詳細を説明する。
【００５７】
（監視リストｍｌ）
図５は、比較例（図２、図３）における監視リストｍｌｘ、及び、本実施の形態における監視リストｍｌの一例を示す図である。図５に示す監視リストｍｌｘ、ｍｌは、通知Ａ受付領域ＥＲａ〜通知Ｃ受付領域ＥＲｃを識別する領域ＩＤ「Ａ」〜「Ｃ」のリストを有する。
【００５８】
図２、図３に示す比較例における監視リストｍｌｘは、領域ＩＤ「Ａ」〜領域ＩＤ「Ｃ」のエントリを１つずつ有する。したがって、比較例における監視プロセス２３２（図２、図３）は、通知Ａ受付領域ＥＲｘａ、通知Ｂ受付領域ＥＲｘｂ、通知Ｃ受付領域ＥＲｘｃの順に、繰り返し各通知受付領域ＥＲｘを監視する。これにより、比較例の監視リストｍｌｘによると、各通知受付領域ＥＲｘの監視頻度は頻度「１／３」となり、通知Ａ受付領域ＥＲｘａ〜通知Ｃ受付領域ＥＲｘｃの監視頻度は均等になる。
【００５９】
これに対し、本実施の形態例における監視リストｍｌは、１０個の領域ＩＤのエントリを有し、１０個のエントリのうち、５つのエントリは領域ＩＤ「Ａ」を、横線で示す４つのエントリは領域ＩＤ「Ｂ」を、網点で示す１つのエントリは領域ＩＤ「Ｃ」を示す。したがって、順序は、通知Ａ受付領域ＥＲａ、通知Ｂ受付領域ＥＲｂ、通知Ａ受付領域ＥＲａ、通知Ｂ受付領域ＥＲｂ、通知Ａ受付領域ＥＲａ、通知Ｂ受付領域ＥＲｂ、通知Ａ受付領域ＥＲａ、通知Ｃ受付領域ＥＲｃ、通知Ａ受付領域ＥＲａ、通知Ｂ受付領域ＥＲｂとなる。
【００６０】
つまり、図５に示す監視リストｍｌによると、通知Ａ受付領域ＥＲａの監視頻度は頻度「５／１０」となる。また、通知Ｂ受付領域ＥＲｂの監視頻度は頻度「４／１０」、通知Ｃ受付領域ＥＲｃの監視頻度は頻度「１／１０」となる。このように、図５に示す監視リストｍｌによると、各領域ＩＤの出現頻度が異なっていることにより、各通知受付領域ＥＲの監視頻度が異なる。
【００６１】
本実施の形態では、監視モジュール１３２は監視リストｍｌ内の監視対象のリスト順にポーリングを行う。また、本実施の形態における監視リストｍｌ内の第１の監視対象（例えば、通知Ａ受付領域ＥＲａ、通知Ｂ受付領域ＥＲｂ）の出現頻度が２以上である。一部の監視対象の出現頻度が２以上である監視リストｍｌに基づくことによって、簡易に、一部の監視対象の監視頻度を高くすることが可能になる。
【００６２】
図５に示すように、各監視対象の監視リスト内の出現頻度は異なっている。これは、監視リスト内の各監視対象の出現回数が均等ではないことを示す。監視モジュール１３２は、このような監視リストのリスト順に各監視対象を巡回することによって、出現回数に応じた監視頻度で各監視対象を監視する。即ち、監視モジュール１３２は、各監視対象の出現頻度が均等ではない監視リストのリスト順にポーリングすることにより、各監視対象の監視頻度を、簡易に、異ならせることができる。
【００６３】
このように、監視リストｍｌ内の出現頻度に注目することにより、一般的に、監視頻度が均等になるポーリングによる監視において、不均等な監視頻度を実現することが可能になる。したがって、情報処理装置１００は、１つのプロセス（監視モジュール１３２に対応）がポーリングにより監視する場合に、簡易に、一部の監視対象の監視頻度を高くできる。
【００６４】
また、本実施の形態における情報処理装置１００は、監視対象に応じて監視リストを作成するリスト作成モジュール１３１を有する。リスト作成モジュール１３１は、第３の監視対象の優先度が第２の監視対象の優先度より高いときに、監視リスト内の第３の監視対象の出現頻度を第２の監視対象の出現頻度より大きくする。
【００６５】
このように、優先度の高い監視対象の出現頻度を高くした監視リストを作成することにより、優先度の高い監視対象の監視頻度を高くすることが可能になる。これにより、情報処理装置１００は、優先度の高い監視対象が変化し（更新され）てから、監視部１３２によって検知されるまでの時間を短縮でき、当該変化が生じてから応答処理を実行するまでに要する時間（応答時間、レスポンスタイムともいう）を短縮できる。
【００６６】
図５の例によると、優先度の高い通知Ａ受付領域ＥＲａの、監視リストｍｌ内の出現頻度が高い。このため、監視モジュール１３２は、通知Ａ受付領域ＥＲａを高頻度に監視する。これにより、監視モジュール１３２は、通知受付領域ＥＲが多数ある場合であっても、通知受付領域Ａの更新を迅速に検知でき、通知Ａ受付領域ＥＲａの応答時間を短くできる。
【００６７】
このように、本実施の形態における情報処理装置１００は、各監視対象の出現頻度が異なる監視リストｍｌのリスト順にポーリングすることにより、簡便な方法で、監視対象に応じて、当該監視対象の変化に応じて応答処理を実行するまでの応答時間を短くできる。
【００６８】
次に、図８〜図１０にしたがって、図６、図７に示した通知監視プログラム１２０の処理の流れを説明する。
【００６９】
［リスト作成モジュール１３１の処理の流れ］
図８は、図７に示した、通知監視プログラム１２０のリスト作成モジュール１３１の処理の流れを説明するフローチャート図である。リスト作成モジュール１３１は、例えば、優先度情報１２１（図６、図７）の更新に応じて、図８に示すフローチャート図の処理を実行する。
【００７０】
Ｓ１１：出現回数決定モジュール１４２は、各通知受付領域ＥＲの優先度情報１２１を取得し、リスト長決定モジュール１４１に、リスト長の決定処理を指示する。優先度情報１２１は、例えば、システム管理者やユーザ等によって予め入力される。
【００７１】
システム管理者やユーザは、例えば、各通知受付領域ＥＲのうち、次に更新される確率を示す更新確率や、応答時間の緊急度等に基づいて、各通知受付領域ＥＲの優先度情報１２１を生成し、入力する。例えば、更新確率が高い場合や応答時間の緊急度が高い場合、優先度が高く設定される。
【００７２】
または、情報処理装置１００が優先度情報１２１を作成してもよい。例えば、情報処理装置１００で動作する、計算処理を行う演算プログラムは、各通知受付領域ＥＲの更新確率を定期的に予測し、更新確率に基づいて優先度情報１２１を更新する。演算プログラムは、例えば、更新確率が高い通知受付領域ＥＲに対して、高い優先度を設定する。
【００７３】
これにより、監視モジュール１３２は、更新確率が高い通知受付領域ＥＲの更新を、迅速に検知できる。また、出現回数決定モジュール１４２は、プログラムが優先度情報１２１を更新する度に、図８に示すフローチャート図の処理を実行する。
【００７４】
例えば、高い確度で挙動の予測が可能な演算プログラムを実行する場合、優先度情報１２１を更新することが有効である。優先度情報１２１を更新し、更新に応じて再作成された監視リストｍｌに基づくことにより、演算プログラムは、監視対象の応答時間をより短縮できる。これにより、演算プログラムは、高速処理を実現できる。
【００７５】
Ｓ１２：リスト長決定モジュール１４１は、監視リストｍｌ内の出現回数が１回の通知受付領域ＥＲの応答時間と、基準時間とに基づいて、監視リストｍｌのリスト長（監視リストｍｌ内のエントリ数）を算出する。
【００７６】
監視リストｍｌのリスト長が長くなると、監視モジュール１３２が監視リストｍｌを一巡する時間が長くなる。一方、通知受付領域ＥＲの更新から検知までの時間は、更新タイミングに応じて変動する。このため、リスト長が長くなると、出現回数が１回の通知受付領域ＥＲの更新を検知するまでの最短時間と最長時間の時間差が拡大し、応答時間の変動幅が長くなる。
【００７７】
したがって、リスト長決定モジュール１４１は、監視リストｍｌ内の出現回数が１回の監視対象の応答時間が所定の基準時間より短くなるように、監視対象のリストの総数（リスト長）を算出する。出現回数が１回の監視対象の応答時間は、当該監視対象が所定状態に変化してから変化を検知するまでに要する第１の時間と、変化を検知してから応答処理を開始するまでに要する第２の時間との合計を示す。
【００７８】
これにより、リスト長決定モジュール１４１は、出現回数が１回の通知受付領域ＥＲの応答時間が所定の基準時間内に収まる、監視リストｍｌのリスト長を算出できる。前述したとおり、第１の時間は、リスト長に依存する。したがって、本実施の形態では、第１の時間を、例えば、監視対象が所定状態に変化してから変化を検知するまでに要する平均または最長の時間とする。本実施の形態における第１の時間は、監視モジュール１３２が監視リストｍｌを一巡する時間の平均または最長の時間に対応する。
【００７９】
なお、本実施の形態では、所定の基準時間は、監視対象を所定状態へ変化させる処理（更新処理）に応答してハードウェア割り込みが発生してから応答処理が実行されるまでに要する時間（ハードウェア割り込み応答時間）である。所定の基準時間をハードウェア割り込み応答時間にすることにより、リスト長決定モジュール１４１は、出現回数が１回の通知受付領域ＥＲの応答時間が、ハードウェア割り込み応答時間より短くなるリスト長を決定できる。
【００８０】
即ち、監視リストを無制限に長くすると、本実施の形態におけるポーリングによる監視したがって応答処理を実行する場合の応答時間よりも、ハードウェア割り込み応答時間の方が短くなる。したがって、前述したとおり、監視対象が所定状態に変化してから変化を検知するまでに要する第１の時間（平均または最長）に基づいて、監視リストｍｌのリスト長の上限を設定することが望ましい。
【００８１】
（工程Ｓ１２の詳細）
ここで、工程Ｓ１２の処理の詳細を説明する。前述したとおり、リスト長決定モジュール１４１は、出現回数が１回の通知受付領域ＥＲの応答時間とハードウェア割り込み応答時間とに基づいて、リスト長（「Ｎ」）を算出する。
【００８２】
前述したとおり、出現回数が１回の通知受付領域ＥＲの応答時間は、当該通知受付領域ＥＲが更新されてから更新が検知されるまでに要する平均または最長の時間（値「ＴｐＡ」）と、更新が検知されてから応答処理を開始するまでに要する時間（「ＴｐＢ」）との合計を示す。
【００８３】
ＴｐＡ＝α×（Ｎ＋１）／２          …式１
ＴｐＡ＝α×Ｎ                      …式２
式１、式２内の値「α」は、リスト長「Ｎ」の監視リストｍｌ内の１つのエントリの通知受付領域ＥＲの監視に要する時間を示す。したがって、式１の値「ＴｐＡ」は、監視リストｍｌの一巡に要する時間の平均時間を、式２の値「ＴｐＡ」は、監視リストｍｌの一巡に要する時間を示す。本実施の形態では、値「ＴｐＡ」を式１（平均）に基づいて算出する場合を例示する。
【００８４】
Ｔｉ＞ＴｐＡ＋ＴｐＢ                  …式３
リスト長決定モジュール１４１は、式３に基づいてリスト長「Ｎ」を算出する。式３内の値「ＴｐＡ＋ＴｐＢ」は、前述したとおり、出現回数が１回の通知受付領域ＥＲの応答時間である。値「ＴｐＢ」は、更新が検知されてから応答処理を開始するまでに要する平均の時間である。また、値「Ｔｉ」は、ハードウェア割り込み応答時間を示し、通知受付領域ＥＲを所定状態に変化させる通知の発生に応答して、応答処理が実行されるまでに要する平均の応答時間である。
【００８５】
つまり、リスト長決定モジュール１４１は、式３に基づいて、出現回数が１回の通知受付領域ＥＲの応答時間「ＴｐＡ＋ＴｐＢ」が、ハードウェア割り込み応答時間「Ｔｉ」より短くなるリスト長「Ｎ」を算出する。
【００８６】
２（Ｔｉ−ＴｐＢ）／α−１＞Ｎ          …式４
式３は、式１に基づいて、上記の式４に変換可能である。したがって、リスト長決定モジュール１４１は、式４を満たす最大の「Ｎ」の値を、リスト長として算出する。例えば、値「α＝５０（ns：nano-second）」、値「ＴｐＢ＝１５０（ns）」、値「Ｔｉ＝３，０００（ns）」である場合を例示する。リスト長決定モジュール１４１は、式４に基づいて、「２＊（３０００−１５０）／５０−１＞Ｎ」にしたがって、値「Ｎ＝１１３」をリスト長として算出する。
【００８７】
図８のフローチャート図に戻る。
【００８８】
Ｓ１３：出現回数決定モジュール１４２は、各通知受付領域ＥＲの優先度情報１２１に基づいて、監視リストｍｌ内の各通知受付領域ＥＲの出現回数を算出する。即ち、出現回数決定モジュール１４２は、監視リストｍｌが有する監視対象のリスト総数（「Ｎ」）を、複数の監視対象それぞれの優先度の比率に基づいて配分して、各監視対象の出現回数を算出する。工程Ｓ１３の処理の詳細は、図９にしたがって後述する。
【００８９】
つまり、出現回数決定モジュール１４２は、複数の通知受付領域ＥＲの間の優先度の相互関係とリスト長とに基づいて、各通知受付領域ＥＲの出現回数を算出する。これにより、出現回数決定モジュール１４２は、優先度に応じた、監視リストｍｌ内の各通知受付領域ＥＲの監視回数を、適切に算出できる。
【００９０】
また、出現回数決定モジュール１４２は、第１の監視対象の出現頻度が、第１の監視対象より優先度が低い第２の監視対象の出現頻度より大きくなるように、監視リストｍｌを作成する。即ち、出現回数決定モジュール１４２は、優先度の高い第１の監視対象の出現頻度を高くすることで、第１の監視対象の監視頻度を高くする。これにより、監視モジュール１３２は、第１の監視対象が所定状態に変化したことをより短時間で検知できる。
【００９１】
Ｓ１４：出現回数決定モジュール１４２は、工程Ｓ１３で算出した出現回数が１回未満の通知受付領域ＥＲに対応する応答処理を、通知の更新に応答して発生させるハードウェア割り込みによる応答処理に切り替える。
【００９２】
工程Ｓ１３で出現回数が１回に満たない監視対象を監視リストｍｌに含めると、監視リストｍｌのリスト長が、工程Ｓ１２で決定したリスト長より大きくなる場合がある。前述したとおり、監視リストｍｌのリスト長が長くなると、監視リストｍｌを一巡する時間が長くなる。これにより、出現回数が１回の監視対象の応答時間が、基準時間を下回るケースが生じ得る。
【００９３】
したがって、出現回数決定モジュール１４２は、算出した出現回数が１以上の監視対象を監視リストｍｌに含め、１未満の監視対象を監視リストｍｌに含めない。これにより、出現回数決定モジュール１４２は、出現回数が１回の監視対象の応答時間が、基準時間に収まる監視リストｍｌを作成できる。
【００９４】
また、本実施の形態における出現回数決定モジュール１４２は、算出した出現回数が１に満たない通知受付領域ＥＲの監視制御を、当該通知受付領域ＥＲに対する更新処理に応答してハードウェア割り込みを発生させる方法に切り替える。出現回数決定モジュール１４２は、例えば、算出した出現回数が１に満たない監視対象を所定状態へ変化させる処理に応答してハードウェア割り込みを発生させることを指示する、指示情報を登録する。
【００９５】
監視リストｍｌに含めない監視対象をハードウェア割り込みに基づいて応答処理を実行させるために、出現回数決定モジュール１４２は、例えば、ハードウェアの制御コマンド等にしたがって、レジスタ等に指示情報を登録する。指示情報は、通知が発生した際に、応答処理を実行する割り込みハンドラを呼び出すか否かを示す情報である。これにより、例えば、登録されている更新については、当該更新が発生した際に、割り込みハンドラが起動され応答処理が実行される。一方、登録されていない更新については、当該更新が発生した場合であっても、割り込みハンドラは起動されない。
【００９６】
これにより、出現回数決定モジュール１４２は、出現回数が１回に満たない監視対象の通知受付領域ＥＲの応答処理を、ポーリングで監視する場合よりも応答時間が短くなるハードウェア割り込みで実現させることができる。
【００９７】
なお、出現回数決定モジュール１４２は、算出した出現回数が１に満たない監視対象を、情報処理装置１００のユーザインタフェース等を介してシステム管理者やユーザ等に通知し、当該監視対象を監視リストｍｌに含めるか否かを判定させてもよい。または、出現回数決定モジュール１４２は、出現回数が１に満たない監視対象の数が所定数以下の場合に、監視リストｍｌに含めてもよい。
【００９８】
Ｓ１５：リスト順序決定モジュール１４３は、各通知受付領域ＥＲの出現回数に基づいて、同じ通知受付領域ＥＲが監視リストｍｌ内で分散するように、監視リストｍｌを作成する。即ち、リスト順序決定モジュール１４３は、監視リストｍｌ内で同じ通知受付領域ＥＲが分散して配置されるように、各領域ＩＤを監視リストｍｌに配置する。工程Ｓ１５の処理の詳細は、図１０のフローチャート図にしたがって後述する。
【００９９】
これにより、リスト順序決定モジュール１４３は、各通知受付領域ＥＲの監視タイミングを分散させることができる。したがって、リスト順序決定モジュール１４３は、通知受付領域ＥＲが新たに更新されてから、監視モジュール１３２がその更新を検知するまでの時間をより短縮できる。
【０１００】
Ｓ１６：リスト順序決定モジュール１４３は、現監視リストｍｌ内の所定のエントリのアドレスを、作成した新監視リストｍｌの先頭エントリのアドレスに書き換える。つまり、リスト順序決定モジュール１４３は、監視モジュール１３２が参照する監視リストｍｌを、現監視リストｍｌから新監視リストｍｌに置き換える。これにより、監視モジュール１３２は、所定のエントリが示す通知受付領域ＥＲの監視後、新監視リストｍｌにしたがって、通知受付領域ＥＲの監視を行う。
【０１０１】
（図８の工程Ｓ１３）
図９は、図８の工程Ｓ１３の処理の概要を説明する図である。図８で前述したとおり、出現回数決定モジュール１４２は、工程Ｓ１３として、通知受付領域ＥＲごとの優先度情報１２１に基づいて、監視リストｍｌにおける各通知受付領域ＥＲの出現回数を算出する。
【０１０２】
図９に示す表Ｈ２は、各通知受付領域ＥＲの優先度係数、優先度係数に基づく出現回数の対応情報を有する。各通知受付領域ＥＲの優先度係数は、優先度情報１２１に対応し、複数の通知受付領域ＥＲの合計値が値「１」になるように正規化された値である。
【０１０３】
図９の例によると、通知Ａ受付領域ＥＲａは優先度係数「０．４３」であって、通知Ｂ受付領域ＥＲｂは優先度係数「０．０１」であって、通知Ｅ受付領域ＥＲｅは優先度係数「０．０３」である。
【０１０４】
出現回数＝（優先度係数／全ての通知受付領域の優先度係数の和）＊リスト長  …式５
出現回数決定モジュール１４２は、例えば、上記の式５にしたがって、通知受付領域ＥＲごとの出現回数を算出する。図９の例におけるリスト長は、例えば、工程Ｓ１２に例示した値「１１３」である。これにより、出現回数決定モジュール１４２は、式「（０．４３／１）＊１１３」に基づいて、通知Ａ受付領域ＥＲａの出現回数「３４．４」を算出する。
【０１０５】
したがって、出現回数決定モジュール１４２は、例えば、監視リストｍｌが有する１１３個のエントリのうち３４個のエントリに、通知Ａ受付領域ＥＲａを示す領域ＩＤ「Ａ」をセットする。なお、図９の例では、小数点以下の出現回数を四捨五入する場合を例示するが、この例に限定されるものではない。複数の各通知受付領域ＥＲの出現回数の合計が、リスト長に収まればよい。
【０１０６】
同様にして、出現回数決定モジュール１４２は、式「（０．０１／１）＊１１３」に基づいて、通知Ｂ受付領域ＥＲｂの出現回数「０．８」を算出する。通知Ｂ受付領域ＥＲｂの出現回数は、値「１」に満たない。したがって、出現回数決定モジュール１４２は、領域ＩＤ「Ｂ」を監視リストｍｌに含めない。これにより、出現回数決定モジュール１４２は、監視リストｍｌのリスト長を制限数以下に抑える。
【０１０７】
図９の例では、出現回数決定モジュール１４２は、通知Ｂ受付領域ＥＲｂの応答処理を、ハードウェア割り込みによる応答処理に切り替える（図８のＳ１４）。これにより、出現回数決定モジュール１４２は、通知Ｂ受付領域ＥＲｂに対応する応答処理を、ポーリングによる監視より応答時間が短いハードウェア割り込みによって実現できる。
【０１０８】
同様にして、出現回数決定モジュール１４２は、式「（０．０３／１）＊１１３」に基づいて、通知Ｅ受付領域ＥＲｅの出現回数「２．４」を算出する。出現回数決定モジュール１４２は、例えば、監視リストｍｌの１１３個のエントリのうち２個のエントリに、通知Ｅ受付領域ＥＲｅを示す、領域ＩＤ「Ｅ」をセットする。
【０１０９】
このように、出現回数決定モジュール１４２は、監視リストｍｌが有するエントリを、領域ＩＤ「Ａ」〜「Ｅ」の優先度の比率に基づいて配分し、領域ＩＤ「Ａ」〜「Ｅ」の各出現回数を算出する。これにより、出現回数決定モジュール１４２は、各通知受付領域ＥＲの優先度に応じた出現回数を適切に算出できる。
【０１１０】
なお、図９は、出現回数決定モジュール１４２が、出現回数が１回に満たない監視対象を、監視リストｍｌに含めない場合を例示した。ただし、出現回数決定モジュール１４２は、リスト長決定モジュール１４１が算出した最長リスト長に収まる範囲で、出現回数が１回に満たない監視対象を、監視リストｍｌに含めてもよい。
【０１１１】
（図８の工程Ｓ１５）
図１０は、図８の工程Ｓ１５の処理の詳細を説明するフローチャート図である。図８で前述したとおり、リスト順序決定モジュール１４３は、工程Ｓ１５の処理として、各通知受付領域ＥＲの出現回数に基づいて、同じ通知受付領域ＥＲが監視リストｍｌ内で分散するように、監視リストｍｌを作成する。
【０１１２】
Ｓ２１：リスト順序決定モジュール１４３は、監視リストｍｌの先頭のエントリを対象とする。
【０１１３】
Ｓ２２：リスト順序決定モジュール１４３は、選択した対象エントリが空いているか否かを判定する。即ち、リスト順序決定モジュール１４３は、選択した対象エントリに対する通知受付領域ＥＲの登録の有無を判定する。
【０１１４】
Ｓ２３：対象エントリが空いていない場合（Ｓ２２のＮｏ）、リスト順序決定モジュール１４３は、次のエントリを選択し、工程Ｓ２２の処理に遷移する。
【０１１５】
Ｓ２４：一方、対象エントリが空いている場合（Ｓ２２のＹｅｓ）、リスト順序決定モジュール１４３は、対象エントリに、出現回数の残数が最も多い通知受付領域ＥＲを登録する。
【０１１６】
Ｓ２５：エントリに領域ＩＤを登録すると、リスト順序決定モジュール１４３は、登録した通知受付領域ＥＲの出現回数の残数をデクリメントする。そして、リスト順序決定モジュール１４３は、デクリメント後の出現回数の残数が値「１」以上であるか否かを判定する。
【０１１７】
Ｓ２６：出現回数の残数が値「１」以上である場合（Ｓ２５のＹｅｓ）、リスト順序決定モジュール１４３は、登録した通知受付領域ＥＲの出現回数に対応するステップ数分、エントリを進める。そして、リスト順序決定モジュール１４３は、工程Ｓ２２に遷移し、対象エントリが空いているか否かを判定する。
【０１１８】
Ｓ２７：出現回数の残数が値「１」未満である場合（Ｓ２５のＮｏ）、リスト順序決定モジュール１４３は、出現回数が値「１」以上の別の通知受付領域ＥＲがあるか否かを判定する。別の通知受付領域ＥＲがない場合（Ｓ２７のＮｏ）、リスト順序決定モジュール１４３は、図１０に示すフローチャート図の処理を終了する。
【０１１９】
Ｓ２８：一方、別の通知受付領域ＥＲがある場合（Ｓ２７のＹｅｓ）、リスト順序決定モジュール１４３は、別の通知受付領域ＥＲを選択し、工程Ｓ２１に遷移する。
【０１２０】
同様にして、リスト順序決定モジュール１４３は、選択した別の通知受付領域ＥＲについて、工程Ｓ２１〜Ｓ２７の処理を繰り返す。そして、全ての通知受付領域ＥＲの出現回数の残数が値「１」未満になると（Ｓ２７のＮｏ）、リスト順序決定モジュール１４３は、図１０に示すフローチャート図の処理を終了する。
【０１２１】
次に、図１１、図１２にしたがって、本実施の形態における通知監視プログラム１２０の処理の実施例を説明する。
【０１２２】
（実施例）
図１１は、第１の実施の形態における通知監視プログラム１２０による処理の実施例を説明する第１の図である。
【０１２３】
図１１に示す表Ｈ３は、通知Ａ受付領域ＥＲａ〜通知Ｃ受付領域ＥＲｃについて、優先度係数、出現回数、及び、ステップ数を有する。前述したとおり、優先度係数は優先度情報１２１に対応する。
【０１２４】
出現回数決定モジュール１４２は、図１１に示す、各通知受付領域ＥＲの優先度情報１２１を取得する（図８のＳ１１）。次に、リスト長決定モジュール１４１は、監視リストｍｌのリスト長を算出する。図１１の例によると、リスト長決定モジュール１４１は、例えば、リスト長「１０」を算出する（Ｓ１２）。
【０１２５】
次に、出現回数決定モジュール１４２は、リスト長「１０」を、図１１に示す、通知Ａ受付領域ＥＲａ〜通知Ｃ受付領域ＥＲｃそれぞれの優先度の比率に基づいて配分して、各通知受付領域ＥＲの出現回数を算出する（Ｓ１３）。表Ｈ３によると、通知Ａ受付領域ＥＲａは優先度係数「０．５」、通知Ｂ受付領域ＥＲｂは優先度係数「０．４」、通知Ｃ受付領域ＥＲｃは優先度係数「０．１」である。
【０１２６】
したがって、出現回数決定モジュール１４２は、式５に基づいて、通知Ａ受付領域ＥＲａの出現回数「５（＝（０．５／１）＊１０）」を算出する。同様にして、出現回数決定モジュール１４２は、表Ｈ３に示すように、通知Ｂ受付領域ＥＲｂの出現回数「４」を、通知Ｃ受付領域ＥＲｃの出現回数「１」を算出する。
【０１２７】
図１１の例によると、出現回数が１回未満の通知受付領域ＥＲはない（Ｓ１４）。したがって、出現回数決定モジュール１４２は、通知Ａ受付領域ＥＲａ〜通知Ｃ受付領域ＥＲｃを監視リストｍｌに含める。なお、例えば、通知Ｃ受付領域ＥＲｃの優先度係数が値「０．０５」である場合、通知Ｃ受付領域ＥＲｃの出現回数は１回未満になる。この場合、出現回数決定モジュール１４２は、通知Ｃ受付領域ＥＲｃを監視リストｍｌに含めない。
【０１２８】
次に、リスト順序決定モジュール１４３は、各通知受付領域ＥＲの出現回数に基づいて、同じ通知受付領域ＥＲが監視リストｍｌ内で分散するように、監視リストｍｌを作成する（Ｓ１５）。リスト順序決定モジュール１４３は、次の式６にしたがって、各通知受付領域ＥＲのステップ数を算出する。
【０１２９】
ステップ数＝リスト長／出現回数        …式６
したがって、リスト順序決定モジュール１４３は、図１１に示すように、通知Ａ受付領域ＥＲａのステップ数「２（＝１０／５）」を算出する。同様にして、リスト順序決定モジュール１４３は、通知Ｂ受付領域ＥＲｂのステップ数「３（≒１０／４）」を、通知Ｃ受付領域ＥＲｃのステップ数「１０（＝１０／１）」を算出する。
【０１３０】
図１２は、第１の実施の形態における通知監視プログラム１２０による処理の実施例を説明する第２の図である。図１２は、通知Ａ受付領域ＥＲａ〜通知Ｃ受付領域ＥＲｃ、監視リストｍｌ、監視モジュール１３２を表す。
【０１３１】
リスト順序決定モジュール１４３は、監視リストｍｌの先頭エントリが空いているか否かを判定する（図１０のＳ２１、Ｓ２２）。初め、対象エントリが空いているため（Ｓ２２のＹｅｓ）、リスト順序決定モジュール１４３は、先頭のエントリに、出現回数の残数が最も多い通知Ａ受付領域ＥＲａを示す領域ＩＤ「Ａ」を登録する（Ｓ２４）。
【０１３２】
通知Ａ受付領域ＥＲａのエントリの出現回数が残数「４」であるため（Ｓ２５のＹｅｓ）、リスト順序決定モジュール１４３は、エントリを通知Ａ受付領域ＥＲａのステップ数「２」分進め、３番目のエントリを対象エントリとする（Ｓ２６）。
【０１３３】
３番目のエントリは空いているため（Ｓ２２のＹｅｓ）、リスト順序決定モジュール１４３は、３番目のエントリに領域ＩＤ「Ａ」を登録し（Ｓ２４）、次に５番目のエントリを次の対象エントリとする（Ｓ２５のＹｅｓ、Ｓ２６）。リスト順序作成モジュールは、空いている５番目のエントリに領域ＩＤ「Ａ」を登録する（Ｓ２２のＹｅｓ、Ｓ２４）。同様にして、リスト順序作成モジュールは、７番目、９番目のエントリに領域ＩＤ「Ａ」を登録する。
【０１３４】
通知Ａ受付領域ＥＲａの出現回数の残数が値「１」未満になると（Ｓ２５のＮｏ）、リスト順序決定モジュール１４３は、次に、通知Ｂ受付領域ＥＲｂを対象とする（Ｓ２７のＹｅｓ、Ｓ２８）。先頭エントリは空いていないため、リスト順序決定モジュール１４３は、２番目のエントリに領域ＩＤ「Ｂ」を登録する（Ｓ２１〜Ｓ２４）。リスト順序決定モジュール１４３は、通知Ｂ受付領域ＥＲｂのステップ数「３」分エントリを進め、５番目のエントリを対象エントリとする（Ｓ２６）。
【０１３５】
ただし、５番目のエントリには領域ＩＤ「Ａ」が登録済みであるため、リスト順序決定モジュール１４３は、６番目のエントリに領域ＩＤ「Ｂ」を登録する（Ｓ２２〜Ｓ２４）。同様にして、リスト順序決定モジュール１４３は、１０番目、４番目のエントリに、順に、領域ＩＤ「Ｂ」を登録する（Ｓ２２〜Ｓ２６）。
【０１３６】
そして、リスト順序決定モジュール１４３は、次に、通知Ｃ受付領域ＥＲｃを選択し、空いている８番目のエントリに領域ＩＤ「Ｃ」を登録する（Ｓ２２〜Ｓ２６）。全ての通知受付領域ＥＲの出現回数の残数が値「１」未満となるため（Ｓ２７のＮｏ）、リスト順序決定モジュール１４３は、処理を終了する。
【０１３７】
このように、リスト順序決定モジュール１４３は、図１２に示すような、同じ通知受付領域ＥＲの配置を分散させた監視リストｍｌを作成する。図１２に示す監視リストｍｌによると、領域ＩＤ「Ａ」の５つのエントリ、及び、領域ＩＤ「Ｂ」の４つのエントリは連続していない。したがって、監視モジュール１３２は、図１２に示す監視リストｍｌに基づいて監視する場合、通知Ａ受付領域ＥＲａ、通知Ｂ受付領域ＥＲｂの監視タイミングを分散できる。
【０１３８】
次に、図１３にしたがって、監視モジュール１３２（図７）の処理の流れを説明する。
【０１３９】
［監視モジュール１３２の処理の流れ］
図１３は、図７に示した、通知監視プログラム１２０の監視モジュール１３２の処理の流れを説明するフローチャート図である。
【０１４０】
Ｓ３１：監視モジュール１３２は、監視リストｍｌの値「ｉ」番目のエントリを参照する。
【０１４１】
Ｓ３２：監視モジュール１３２は、工程Ｓ３１で参照した「ｉ」番目のエントリの領域ＩＤが示す通知受付領域ＥＲを確認する。例えば、値「ｉ＝１」の場合、監視モジュール１３２は、図１２に示した監視リストｍｌに基づいて、通知Ａ受付領域ＥＲａを確認する。
【０１４２】
Ｓ３３：監視モジュール１３２は、通知受付領域ＥＲが、所定状態に変化したか否かを判定する。即ち、監視モジュール１３２は、通知受付領域ＥＲが、当該通知受付領域ＥＲに対応する通知で更新されたか否かを判定する。
【０１４３】
Ｓ３４：所定状態に変化した場合（Ｓ３３のＹｅｓ）、監視モジュール１３２は、通知受付領域ＥＲに対応する応答処理を行う。例えば、通知Ａ受付領域ＥＲａが通知Ａで更新されたことを検出した場合、監視モジュール１３２は、スレッドｔｈＡ（図１）の待機状態を解除する。
【０１４４】
Ｓ３５：一方、所定状態に変化していない場合（Ｓ３３のＮｏ）、監視モジュール１３２は、値「ｉ」を、監視リストｍｌの次エントリの番号に更新する。このように、監視モジュール１３２は、複数の監視対象を、監視リストｍｌ内の監視対象のリスト順にポーリングして監視する。
【０１４５】
このように、監視モジュール１３２は、通知受付領域ＥＲに応じて出現頻度が異なる監視リストｍｌのリスト順にポーリングすることによって、各通知受付領域ＥＲの監視頻度を不均等にできる。これにより、監視モジュール１３２は、出現頻度の高い通知受付領域ＥＲをより高頻度に監視し、当該通知受付領域ＥＲの応答時間を短くできる。
【０１４６】
［第２の実施の形態］
第１の実施の形態では、通知受付領域ＥＲのみを有する監視リストｍｌを作成する場合を例示した。これに対し、第２の実施の形態における監視リストは、通知受付領域ＥＲに加えてＮＯＰ命令を示すエントリを有する。
【０１４７】
ＮＯＰ命令は、所定のクロック数分、ＣＰＵ１０１（図６）の処理を行わないことを示す。第２の実施の形態において、所定のクロック数は、１つの通知受付領域ＥＲが通知に更新されているか否かを確認するために要するクロック数である。これにより、監視モジュールは、通知受付領域ＥＲの監視の合間に、処理を行わないタイミングを有する。これにより、情報処理装置１００の電力消費を抑制することが可能になる。
【０１４８】
第２の実施の形態における情報処理装置１００のハードウェア構成は、図６に示した第１の実施の形態と同様である。ただし、第２の実施の形態における情報処理装置１００の補助記憶装置１１１は、さらに、省電力度情報を記憶する領域を有する。
【０１４９】
省電力度情報は、情報処理装置１００のＣＰＵ１０１の省電力の度合いを示す値であって、値が大きい程、電力消費をより抑制することを示す。省電力度情報は、例えば、システム管理者等によって予め入力される。
【０１５０】
また、第２の実施の形態における情報処理装置１００のソフトウェアの機能は、図７に示した第１の実施の形態と同様である。ただし、第２の実施の形態における通知監視プログラム１２０は、さらに、省電力度情報を参照する。
【０１５１】
［監視リストｍｌ−２］
図１４は、第２の実施の形態における監視リストｍｌ−２の一例を示す図である。図１４に示すように、第２の実施の形態における監視リストｍｌ−２は、領域ＩＤ「Ａ」〜「Ｅ」に加えて、通知受付領域ＥＲの監視処理を行わないことを示す値「ＮＯＰ」を有する。
【０１５２】
図１４に示す監視リストｍｌ−２によると、４番目、６番目、８番目、１０番目のエントリには、値「ＮＯＰ」を有する。これにより、監視モジュール１３２は、通知Ａ受付領域ＥＲａ、通知Ｂ受付領域ＥＲｂ、通知Ｃ受付領域ＥＲｃを監視した後、ＣＰＵ１０１にＮＯＰ命令を指示する。
【０１５３】
そして、ＮＯＰ命令の指示後、通知Ａ受付領域ＥＲａを監視した後、監視モジュール１３２は、再び、ＮＯＰ命令を指示する。このように、第２の実施の形態の監視リストｍｌ−２によると、監視モジュール１３２は、通知受付領域ＥＲの監視の合間に、ＮＯＰ命令の指示を行う。これにより、第２の実施の形態例における情報処理装置１００は、各通知受付領域ＥＲの監視頻度を異ならせるとともに、省電力度に応じた電力消費の抑制を実現できる。
【０１５４】
また、第２の実施の形態によると、クロック単位にＣＰＵ１０１を制御することによって、省電力を実現することが可能になる。このため、スリープ命令やタイマ割り込み等を使用する場合に対して、より細かい粒度にしたがって、ＣＰＵ１０１の状態を制御することが可能になる。したがって、第２の実施の形態における情報処理装置１００は、より柔軟に情報処理装置１００の省電力を実現できる。
【０１５５】
［リスト作成モジュール１３１の処理の流れ］
図１５は、第２の実施の形態における通知監視プログラム１２０の、リスト作成モジュール１３１の処理の流れを説明するフローチャート図である。
【０１５６】
Ｓ４１：第２の実施の形態における出現回数決定モジュール１４２は、各通知受付領域ＥＲの優先度情報１２１に加えて省電力度情報を取得し、リスト長決定モジュール１４１に、リスト長の決定処理を指示する。
【０１５７】
Ｓ４２：リスト長決定モジュール１４１は、第１の実施の形態と同様にして、監視リストｍｌ−２における出現回数が１回の通知受付領域ＥＲの応答時間と、基準時間とに基づいて、監視リストｍｌ−２のリスト長を算出する。
【０１５８】
Ｓ４３：出現回数決定モジュール１４２は、各通知受付領域ＥＲの優先度情報１２１と省電力度情報に基づいて、各通知受付領域ＥＲの出現回数に加えて、ＮＯＰ命令の出現回数を算出する。出現回数の算出方法は、第１の実施の形態と同様である。処理の詳細は、図１６にしたがって後述する。
【０１５９】
Ｓ４４：出現回数決定モジュール１４２は、第１の実施の形態と同様にして、工程Ｓ４３で算出した出現回数が１回未満の通知受付領域ＥＲを、ハードウェア割り込みによる応答処理に切り替える。
【０１６０】
Ｓ４５：リスト順序決定モジュール１４３は、各通知受付領域ＥＲ及びＮＯＰ命令の出現回数に基づいて、同じ通知受付領域ＥＲ、及び、ＮＯＰ命令のエントリが分散するように、監視リストｍｌ−２を作成する。処理の詳細は、第１の実施の形態と同様である。
【０１６１】
Ｓ４６：リスト順序決定モジュール１４３は、第１の実施の形態と同様にして、現監視リストｍｌ−２内の所定のエントリのアドレスを、作成した新監視リストｍｌ−２の先頭エントリのアドレスに書き換える。
【０１６２】
このように、第２の実施の形態におけるリスト作成モジュール１３１は、各監視対象の出現頻度が異なる監視リストｍｌ−２を利用して、省電力度に応じてＮＯＰ命令の出現頻度が変動する監視リストｍｌ−２を作成する。これにより、リスト作成モジュール１３１は、省電力度に応じた出現回数のＮＯＰ命令のエントリを有する監視リストｍｌ−２を作成できる。
【０１６３】
（実施例）
図１６は、第２の実施の形態における通知監視プログラム１２０による処理の実施例を説明する図である。図１６に示す表Ｈ４は、通知Ａ受付領域ＥＲａ〜通知Ｃ受付領域ＥＲｃ及び省電力度について、優先度係数、出現回数、ステップ数を有する。各通知受付領域ＥＲの優先度係数は、優先度情報１２１に対応する。出現回数は、及び、ステップ数は、第１の実施の形態で前述したとおりである。
【０１６４】
出現回数決定モジュール１４２は、優先度情報１２１と省電力度情報を取得する（図１５のＳ４１）。表Ｈ４によると、通知Ａ受付領域ＥＲａの優先度係数は値「０．３」、通知Ｂ受付領域ＥＲｂの優先度係数は値「０．２」、通知Ｃ受付領域ＥＲｃの優先度係数は値「０．１」である。また、省電力度は、値「０．４」である。なお、各通知受付領域ＥＲ及び省電力度の優先度係数は、合計値が値「１」になるように正規化されている。
【０１６５】
リスト長決定モジュール１４１は、第１の実施の形態と同様にして、監視リストｍｌ−２のリスト長「１０」を算出する（Ｓ４２）。次に、出現回数決定モジュール１４２は、各通知受付領域ＥＲの出現回数、及び、ＮＯＰ命令の出現回数を算出する（Ｓ４３）。
【０１６６】
出現回数決定モジュール１４２は、式「（０．３／１）＊１０」にしたがって、通知Ａ受付領域ＥＲａの出現回数「３」を算出する。同様にして、出現回数決定モジュール１４２は、表Ｈ４に示すように、通知Ｂ受付領域ＥＲｂの出現回数「２」、及び、通知Ｃ受付領域ＥＲｃの出現回数「１」を算出する。また、出現回数決定モジュール１４２は、省電力度「０．４」に基づいて、ＮＯＰ命令の出現回数「４（＝（０．４／１）＊１０）」を算出する。
【０１６７】
リスト順序決定モジュール１４３は、同じ通知受付領域ＥＲ、及び、ＮＯＰ命令が分散するように、監視リストｍｌ−２を作成する（Ｓ４５）。リスト順序決定モジュール１４３は、第１の実施の形態と同様にして、通知受付領域ＥＲ、省電力度（ＮＯＰ命令）のステップ数を算出する。
【０１６８】
具体的に、リスト順序決定モジュール１４３は、表Ｈ４に示すように、通知Ａ受付領域ＥＲａのステップ数「４」、通知Ｂ受付領域ＥＲｂのステップ数「５」、通知Ｃ受付領域ＥＲｃのステップ数「１０」を算出する。また、リスト順序決定モジュール１４３は、さらに、省電力度のステップ数「３」を算出する。
【０１６９】
そして、リスト順序決定モジュール１４３は、第１の実施の形態と同様にして、図１４に示した監視リストｍｌ−２を作成する。なお、リスト順序決定モジュール１４３は、通知受付領域ＥＲとＮＯＰ命令のうち、通知受付領域ＥＲを優先して、監視リストｍｌ内の配置を行う。
【０１７０】
なお、図１５、図１６の例では、リスト順序決定モジュール１４３は、監視リストｍｌ−２内でＮＯＰ命令のエントリが分散するように監視リストｍｌ−２を作成する。ただし、リスト順序決定モジュール１４３は、ＮＯＰ命令のエントリが連続するように監視リストｍｌ−２を作成してもよい。
【０１７１】
この場合、リスト順序決定モジュール１４３は、監視リストｍｌ−２内の連続した、複数のＮＯＰ命令のエントリを、１つのＤＥＬＡＹ処理を示すエントリに置き換える。これにより、リスト順序決定モジュール１４３は、複数回分のＮＯＰ命令に代わりに、複数回分のＮＯＰ命令に対応する期間の遅延処理を指示するＤＥＬＡＹ処理を指示する。
【０１７２】
具体的に、監視リストｍｌ−２内で、ＮＯＰ命令のエントリが２つ連続している場合、２つのエントリを、１つのＤＥＬＡＹ（２）命令に置き換える。この場合、監視モジュール１３２が監視リストｍｌ−２を参照しＮＯＰ命令の指示処理を、１回分省略できる。これにより、情報処理装置１００の省電力度をさらに向上することが可能になる。
【０１７３】
［監視モジュール１３２の処理の流れ］
図１７は、第２の実施の形態における通知監視プログラム１２０の監視モジュール１３２の処理の流れを説明するフローチャート図である。
【０１７４】
Ｓ５１：監視モジュール１３２は、監視リストｍｌ−２の値「ｉ」番目のエントリを参照する。
【０１７５】
Ｓ５２：監視モジュール１３２は、工程Ｓ５１で参照した「ｉ」番目のエントリが、ＮＯＰ命令を示すエントリであるか否かを判定する。
【０１７６】
Ｓ５３：ＮＯＰ命令を示すエントリである場合（Ｓ５２のＹｅｓ）、監視モジュール１３２はＮＯＰ命令の実行を指示する。なお、監視リストｍｌがＤＥＬＡＹ命令のエントリを含む場合、監視モジュール１３２は、ＤＥＬＡＹ命令を示すエントリである場合に、引数に基づいてＤＥＬＡＹ命令の実行を指示する。
【０１７７】
Ｓ５４：一方、ＮＯＰ命令を示すエントリではない場合（Ｓ５２のＮｏ）、監視モジュール１３２は、工程Ｓ５１で参照した「ｉ」番目のエントリの領域ＩＤが示す通知受付領域ＥＲを確認する。
【０１７８】
Ｓ５５：監視モジュール１３２は、通知受付領域ＥＲが、所定状態に変化したか否かを判定する。即ち、監視モジュール１３２は、通知受付領域ＥＲに、当該通知受付領域ＥＲが対応する通知に更新されたか否かを判定する。
【０１７９】
Ｓ５６：所定状態に変化している場合（Ｓ５５のＹｅｓ）、監視モジュール１３２は、通知受付領域ＥＲに対応する応答処理を行う。
【０１８０】
Ｓ５７：一方、所定状態に変化していない場合（Ｓ５５のＮｏ）、及び、ＮＯＰ命令（Ｓ５３）を指示した後、監視モジュール１３２は、値「ｉ」を、監視リストｍｌ−２の次エントリの番号に更新する。このように、監視モジュール１３２は、複数の監視対象を、監視リストｍｌ−２内の監視対象のリスト順にポーリングして監視する。
【０１８１】
このように、監視モジュール１３２は、通知受付領域ＥＲに応じて出現頻度が異なる監視リストｍｌ−２のリスト順にポーリングすることによって、各通知受付領域ＥＲの監視頻度を不均等にできる。これにより、監視モジュール１３２は、出現頻度の高い通知受付領域ＥＲをより高頻度に監視し、当該通知受付領域ＥＲの応答時間を短くできる。
【０１８２】
以上の実施の形態をまとめると、次の付記のとおりである。
【０１８３】
（付記１）
複数の監視対象を、ポーリングして監視する監視部を有し、
第１の監視対象の監視回数が第２の監視対象の監視回数よりも多いことを特徴とする情報処理装置。
【０１８４】
（付記２）
付記１において、
前記監視部は監視リスト内の監視対象のリスト順にポーリングを行い、前記監視リスト内の前記第１の監視対象の出現頻度が２以上である、
情報処理装置。
【０１８５】
（付記３）
付記２において、
前記監視対象に応じて前記監視リストを作成し、第３の監視対象の優先度が前記第２の監視対象の優先度より高いときに、前記監視リスト内の前記第３の監視対象の出現頻度を前記第２の監視対象の出現頻度より大きくするリスト作成部を有する、
情報処理装置。
【０１８６】
（付記４）
付記３において、
前記リスト作成部は、前記監視リストが有する前記監視対象のリストの総数を、前記複数の監視対象それぞれの優先度の比率に基づいて配分して、前記各監視対象の出現回数を算出する、
情報処理装置。
【０１８７】
（付記５）
付記４において、
前記リスト作成部は、算出した前記出現回数が１以上の監視対象を前記監視リストに含め、１未満の監視対象を前記監視リストに含めない、
情報処理装置。
【０１８８】
（付記６）
付記５において、
前記リスト作成部は、前記算出した出現回数が１に満たない監視対象を所定状態へ変化させる処理に応答してハードウェア割り込みを発生させることを指示する、指示情報を登録する、
情報処理装置。
【０１８９】
（付記７）
付記３において、
前記リスト作成部は、前記監視リスト内の出現回数が１回の監視対象が所定状態に変化してから前記変化を検知するまでに要する第１の時間と、前記変化を検知してから応答処理を開始するまでに要する第２の時間との合計を示す応答時間が、所定の基準時間より短くなるように、前記監視対象のリストの総数を算出する、
情報処理装置。
【０１９０】
（付記８）
付記７において、
前記所定の基準時間は、前記監視対象を前記所定状態へ変化させる処理に応答してハードウェア割り込みが発生してから前記応答処理が実行されるまでに要する時間を示す、
情報処理装置。
【０１９１】
（付記９）
付記６または７において、
前記監視対象は、所定の領域を含み、
前記所定状態は、前記所定の領域が通知で更新された状態を含む、
情報処理装置。
【０１９２】
（付記１０）
複数の監視対象を、ポーリングして監視し、
第１の監視対象の監視回数が第２の監視対象の監視回数よりも多い、
処理をコンピュータに実行させることを特徴とする通知監視プログラム。
【０１９３】
（付記１１）
複数の監視対象を、ポーリングして監視し、
第１の監視対象の監視回数が第２の監視対象の監視回数よりも多い、
通知監視方法。
【符号の説明】
【０１９４】
１００：情報処理装置、１０１：ＣＰＵ、１０２：メモリ、１０３：通信インタフェース部、ＥＲ：通知受付領域、ｍｌ：監視リスト、１２０：通知監視プログラム、１２１：優先度情報、１３１：リスト作成モジュール、１３２：監視モジュール
【図１】
2017167574.tif 000003
【図２】
2017167574.tif 000004
【図３】
2017167574.tif 000005
【図４】
2017167574.tif 000006
【図５】
2017167574.tif 000007
【図６】
2017167574.tif 000008
【図７】
2017167574.tif 000009
【図８】
2017167574.tif 000010
【図９】
2017167574.tif 000011
【図１０】
2017167574.tif 000012
【図１１】
2017167574.tif 000013
【図１２】
2017167574.tif 000014
【図１３】
2017167574.tif 000015
【図１４】
2017167574.tif 000016
【図１５】
2017167574.tif 000017
【図１６】
2017167574.tif 000018
【図１７】
2017167574.tif 000019