(57)【要約】【課題】処理時間を短縮する処理経路選択装置等を提供する。【解決手段】  処理経路選択装置１０１は、複数の処理経路のうち、特定の処理経路における処理を制御するプロセッサが、単位時間当たりに該制御を行う時間の割合を表す使用率と、該制御に要する所要時間とに基づいて、該制御に係る処理を実行できない期間を算出する時間推定部１０２と、複数の処理経路のうち、算出した期間が最短である処理経路を選ぶ経路選択部１０３とを有する。【選択図】  図１
2015060418.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理経路のうち、特定の処理経路における処理を制御するプロセッサが、単位時間当たりに該制御を行う時間の割合を表す使用率と、該制御に要する所要時間とに基づいて、該制御に係る処理を実行できない期間を算出する時間推定部と、
前記複数の処理経路のうち、算出した前記期間が最短である処理経路を選ぶ経路選択部と
を備える処理経路選択装置。
【請求項２】
前記時間推定部は、所定の期間に亘って前記制御に係る時間を積算することにより算出される第１時間を、前記所定の期間にて割り算することにより、前記使用率を算出する
請求項１に記載の処理経路選択装置。
【請求項３】
前記時間推定部は、所定の第２期間に亘って前記制御に係る時間を積算することにより算出される第２時間を、前記所定の第２期間における命令数にて割り算することにより、前記制御に要する所要時間を算出する
請求項１または請求項２に記載の処理経路選択装置。
【請求項４】
前記時間推定部は、前記特定の処理経路を構成する各々の装置が処理する時間を積算することにより前記第１時間を算出する
請求項２または請求項３に記載の処理経路選択装置。
【請求項５】
前記時間推定部は、前記特定の処理経路を構成する各々の装置が前記命令に従い処理する時間を積算することにより前記第２時間を算出する
請求項３または請求項４に記載の処理経路選択装置。
【請求項６】
前記時間推定部は、前記特定の処理経路を構成する各々の装置に関し、単位時間当たりに処理する時間の割合を表す使用率と、該処理に要する所要時間とに基づいて、該処理を実行できない期間を算出し、各々の前記処理を実行できない期間に基づいて、前記制御に係る処理を実行できない期間を算出する
請求項１乃至請求項５のいずれかに記載の処理経路選択装置。
【請求項７】
情報処理装置を用いて、複数の処理経路のうち、特定の処理経路における処理を制御するプロセッサが、単位時間当たりに該制御を行う時間の割合を表す使用率と、該制御に要する所要時間とに基づいて、該制御に係る処理を実行できない期間を算出し、前記複数の処理経路のうち、算出した前記期間が最短である処理経路を選ぶ処理経路選択方法。
【請求項８】
複数の処理経路のうち、特定の処理経路における処理を制御するプロセッサが、単位時間当たりに該制御を行う時間の割合を表す使用率と、該制御に要する所要時間とに基づいて、該制御に係る処理を実行できない期間を算出する時間推定機能と、
前記複数の処理経路のうち、算出した前記期間が最短である処理経路を選ぶ経路選択機能と
をコンピュータに実現させる処理経路選択プログラム。
【請求項９】
前記時間推定機能において、所定の期間に亘って前記制御に係る時間を積算することにより算出される第１時間を、前記所定の期間にて割り算することにより、前記使用率を算出する
請求項８に記載の処理経路選択プログラム。
【請求項１０】
前記時間推定機能において、所定の第２期間に亘って前記制御に係る時間を積算することにより算出される第２時間を、前記所定の第２期間における命令数にて割り算することにより、前記制御に要する所要時間を算出する
請求項８または請求項９に記載の処理経路選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、入出力処理に関する処理経路を選択する処理経路選択装置等に関する。
【背景技術】
【０００２】
ラウンドロビン（ｒｏｕｎｄ＿ｒｏｂｉｎ）は、複数のストレージ（ｓｔｏｒａｇｅ、記憶装置）に処理を順番に割り当てることにより、情報処理装置と、複数のストレージと間において負荷を分散する技術である。負荷を分散する技術として、ラウンドロビン方式、及び、入出力（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ、Ｉ／Ｏ）数等に基づいて負荷を分散する方式等がある。
【０００３】
特許文献１及び特許文献２は、負荷を分散する技術に関連する技術を開示する。
【０００４】
特許文献１が開示する負荷分散装置は、マルチパスコンピュータシステムにおいて、入出力処理と、入出力を処理する処理装置とに基づいて、パスを選び出すことにより、パス間における負荷を分散する。
【０００５】
特許文献２が開示する通信ネットワーク経路決定システムは、オーバーレイネットワークにおけるノードを、上位ノードと、通常ノードとに分類する。該通信ネットワーク経路決定システムは、上位ノードにおいて通信に関する品質を測定するとともに、通常ノードにおいては通信に関する品質を測定しない。該通信ネットワーク経路決定システムは、測定した品質に基づき、通常ノード間における通信を仲介する上位ノードを決定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４４０５９３５号
【特許文献２】特開２０１０−０４５７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
情報処理装置におけるハードウェアが有する構成が複雑になる（特に、ストレージにおける処理が高速になる）につれ、入出力数及び転送するデータ量は、該構成に関する特徴を表す値としては不十分となる。したがって、この場合、入出力数及び転送するデータ量に基づく手法は、負荷を分散する手法として適当でない。この結果、情報処理装置においては、ストレージにおける処理時間のばらつきが大きくなるため、並列性能が低下するとともに、ストレージに係る処理時間が長くなる。
【０００８】
特許文献１が開示する負荷分散装置は、パスが有する構成に基づくことなく、負荷を分散する。したがって、該負荷分散装置は、ハードウェアが有する構成が複雑になる場合に、上述した課題を解決しない。
【０００９】
特許文献２が開示する通信ネットワーク経路決定システムにおいては、通常ノードにおいて通信に関する品質を測定していないため、通信ネットワーク経路が有する構成を考慮していない。したがって、該通信ネットワーク経路決定システムは、ハードウェアが有する構成が複雑になる場合に、上述した課題を解決しない。
【００１０】
そこで、本発明の主たる目的は、ハードウェアが有する構成が複雑になる場合でも、処理時間を短縮する処理経路選択装置等を提供することである。
【課題を解決するための手段】
【００１１】
前述の目的を達成するために、本発明に係る処理経路選択装置は、以下の構成を備えることを特徴とする。
【００１２】
すなわち、本発明に係る処理経路選択装置は、
複数の処理経路のうち、特定の処理経路における処理を制御するプロセッサが、単位時間当たりに該制御を行う時間の割合を表す使用率と、該制御に要する所要時間とに基づいて、該制御に係る処理を実行できない期間を算出する時間推定部と、
前記複数の処理経路のうち、算出した前記期間が最短である処理経路を選ぶ経路選択部と
を備えることを特徴とする。
【００１３】
また、本発明の他の見地として、本発明に係る処理経路選択方法は、
情報処理装置を用いて、複数の処理経路のうち、特定の処理経路における処理を制御するプロセッサが、単位時間当たりに該制御を行う時間の割合を表す使用率と、該制御に要する所要時間とに基づいて、該制御に係る処理を実行できない期間を算出し、前記複数の処理経路のうち、算出した前記期間が最短である処理経路を選ぶ
ことを特徴とする。
【００１４】
さらに、同目的は、係る処理経路選択プログラム、及び、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１５】
本発明に係る処理経路選択装置等によれば、処理時間を短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る処理経路選択装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る処理経路選択装置における処理の流れを示すフローチャートである。
【図３】経路情報の一例を概念的に表す図である。
【図４】処理経路が有する構成を示すブロック図である。
【図５】本発明の第２の実施形態に係る処理経路選択装置が有する構成を示すブロック図である。
【図６】本発明の各実施形態に係る処理経路選択装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００１８】
＜第１の実施形態＞
本発明の第１の実施形態に係る処理経路選択装置１０１が有する構成と、処理経路選択装置１０１が行う処理とについて、図１と図２とを参照しながら詳細に説明する。図１は、本発明の第１の実施形態に係る処理経路選択装置１０１が有する構成を示すブロック図である。図２は、第１の実施形態に係る処理経路選択装置１０１における処理の流れを示すフローチャートである。
【００１９】
第１の実施形態に係る処理経路選択装置１０１は、時間推定部１０２と、経路選択部１０３とを有する。
【００２０】
情報処理装置１０４は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す。）２１と、主記憶装置（以降、「メモリ」と表す。）２２と、処理経路選択装置１０１と、処理経路（「ストレージパス」とも表す）１６０と、処理経路１７０とを有する。処理経路１６０は、プロセッサ１６１を有する。処理経路１７０は、プロセッサ１７１を有する。
【００２１】
ＣＰＵ２１は、処理経路１６０及び処理経路１７０を介して、メモリ２２と、ストレージ１８１及びストレージ１８２とにおける情報を送受信することができる。
【００２２】
プロセッサ１６１は、処理経路１６０における処理を制御する。プロセッサ１７１は、処理経路１７０における処理を制御する。
【００２３】
図１において、情報処理装置１０４は、処理経路１６０及び処理経路１７０を有するとしたが、さらに多くの処理経路を有してもよい。
【００２４】
処理経路１６０及び処理経路１７０は、たとえば、図４に示す構成を有する。図４は、処理経路が有する構成を示すブロック図である。
【００２５】
処理経路１６０は、入出力制御装置１６２と、ホストバスアダプタ（ｈｏｓｔ＿ｂｕｓ＿ａｄａｐｔｅｒ、以降、「ＨＢＡ」と表す。）１６３と、ＨＢＡ１６４とを含む。処理経路１７０は、入出力制御装置１７２と、ＨＢＡ１７３と、ＨＢＡ１７４とを含む。
【００２６】
ＨＢＡ１６３は、処理経路１６０において、情報処理装置１０４とストレージ１８１とをデータ通信可能に接続する。ＨＢＡ１６４は、処理経路１６０において、情報処理装置１０４とストレージ１８２とをデータ通信可能に接続する。ＨＢＡ１７３は、処理経路１７０において、情報処理装置１０４とストレージ１８１とをデータ通信可能に接続する。ＨＢＡ１７４は、処理経路１７０において、情報処理装置１０４とストレージ１８２とをデータ通信可能に接続する。
【００２７】
入出力制御装置１６２は、上述したプロセッサ１６１を含む。同様に、入出力制御装置１７２は、上述したプロセッサ１７１を含む。
【００２８】
ＣＰＵ２１は、メモリ２２とストレージ１８１との間で情報を送受信する場合に、処理経路１６０におけるＨＢＡ１６３、または、処理経路１７０におけるＨＢＡ１７３のうち、いずれか一方の処理経路を選ぶとともに、選んだ処理経路における入出力制御装置に入出力命令を送信（要求）する。同様に、ＣＰＵ２１は、メモリ２２とストレージ１８２との間で情報を送受信する場合に、処理経路１６０におけるＨＢＡ１６４、または、処理経路１７０におけるＨＢＡ１７４のうち、いずれか一方の処理経路を選ぶとともに、選んだ処理経路における入出力制御装置に入出力命令を送信する。
【００２９】
説明の便宜上、ＣＰＵ２１が選んだ処理経路は、処理経路１７０であるとする。この場合、入出力制御装置１７２は、ＨＢＡ１７３を介して、メモリ２２とストレージ１８１との間において情報を送受信する制御を行う。
【００３０】
本実施形態に係る処理経路選択装置１０１における処理について説明する。
【００３１】
まず、時間推定部１０２は、処理経路１６０における処理を制御するプロセッサ１６１が、単位時間当たりに該制御を行う時間の割合を表す使用率と、該制御に要する所要時間とに基づいて、該制御に係る処理を実行できない期間（時間）を推定する（ステップＳ２０１）。
【００３２】
プロセッサは、ＣＰＵ２１またはＨＢＡ等から受信する要求、及び、タイマ（不図示）から受信する要求に応じて、ドライバソフトウェアに含まれる処理を開始する。この場合、該プロセッサが処理経路を制御する期間は、処理を開始する時刻と、該処理を終了する時刻との差である。
【００３３】
プロセッサ１６１が、所定の期間に亘って、処理経路１６０に関するドライバソフトウェアに従い、処理経路１６０を制御する期間を積算することにより、時間推定部１０２は、処理経路１６０に関する制御時間（以降、該制御時間を「第１時間」と表す。）を算出する。この場合、時間推定部１０２は、算出された第１時間を、所定の期間にて割り算することにより、処理経路１６０に関する使用率を算出する。
【００３４】
同様に、プロセッサ１７１が、所定の期間に亘って、処理経路１７０に関するドライバソフトウェアに従い、処理経路１７０を制御する期間を積算することにより、時間推定部１０２は、処理経路１７０に関する第１時間を算出する。この場合、時間推定部１０２は、算出された第１時間を、所定の期間にて割り算することにより、処理経路１７０に関する使用率を算出する。
【００３５】
プロセッサ１６１が、ＣＰＵ２１等から受信する要求に応じて、ドライバソフトウェアにおける一連の処理を実行する期間を、所定の第２期間に亘って積算することにより、時間推定部１０２は、処理経路１６０に関する制御時間（以降、該制御時間を「第２時間」と表す。）を算出してもよい
同様に、プロセッサ１７１が、ＣＰＵ２１等から受信する要求に応じて、ドライバソフトウェアにおける一連の処理を実行する期間を、所定の第２期間に亘って積算することにより、時間推定部１０２は、処理経路１７０に関する第２時間を算出してもよい。
【００３６】
プロセッサは、ドライバソフトウェアに従い処理する場合に、該ドライバソフトウェアにおける処理を複数に分割し、順次、分割した各処理に従い処理経路を制御する。この場合、第２時間は、所定の第２期間に亘って、分割した各処理を開始する時刻と、該処理を終了する時刻との差を積算する値である。この場合、時間推定部１０２は、第２時間を、所定の第２期間において要求される入出力命令数にて割ることにより、処理経路に関する処理時間を算出する。
【００３７】
すなわち、上述した例において、時間推定部１０２は、処理経路１６０に関する処理時間、及び、処理経路１７０に関する処理時間を算出する。
【００３８】
次に、時間推定部１０２は、処理経路１６０に関する使用率、及び、処理経路１６０に関する処理時間に基づいて、処理経路１６０において制御に係る処理を実行できない期間を推定する。
【００３９】
尚、プロセッサは、逐次的にドライバソフトウェアにおける処理を実行することにより、処理経路における処理を制御する。しかし、プロセッサは、複数のドライバソフトウェアにおける処理を並行に処理できない。このため、プロセッサが、順次、各処理を実行するのに伴い、実行することができない処理には、プロセッサが処理するのを待つ「待ち合わせ期間」が生じる。
【００４０】
プロセッサが、１つの入出力命令に応じて、ドライバソフトウェアにおける処理を実行する場合にも、待ち合わせ期間（すなわち、制御に係る処理を実行できない期間）は、生じる可能性がある。
【００４１】
待ち行列理論に従えば、時間推定部１０２は、制御に係る処理を実行できない期間を、式１に従い算出する。
【００４２】
（制御に係る処理を実行できない期間）＝（使用率）÷（１−（使用率））×（時間推定部１０２が上述のように算出した処理時間）・・・（式１）。
【００４３】
尚、時間推定部１０２は、かならずしも、式１に従い、「制御に係る処理を実行できない期間」を算出する必要はなく、式１と同様な式に従えばよい。同様な式は、式１の右辺に、単調増加する関数Ｆを適用することにより算出される式等である。たとえば、単調増加する関数Ｆは、Ｆ（Ｘ）＝Ｘ＋１、Ｆ（Ｘ）＝ｌｏｇ（Ｘ）等の関数である。
【００４４】
また、同様な式は、式１の右辺に、単調減少する関数Ｆを適用することにより算出される式であってもよい。この場合、後述の処理において、処理経路選択装置１０１は、複数の処理経路のうち、「制御に係る処理を実行できない期間」が最大の処理経路を選ぶ。
【００４５】
すなわち、制御に係る処理を実行できない期間を算出する式は、式１に限定されない。
【００４６】
待ち行列理論については、一般的に知られている技術である。したがって、ここでは、待ち行列理論に関する詳細な説明を省略する。
【００４７】
同様に、時間推定部１０２は、処理経路１７０に関する使用率、及び、処理経路１７０に関する処理時間に基づいて、処理経路１７０において「制御に係る処理を実行できない期間」を推定する。
【００４８】
その後、時間推定部１０２は、処理経路を識別する処理経路識別情報と、該処理経路に関して上述のように算出した時間とを関連付ける経路情報（図３）を作成してもよい。図３は、経路情報の一例を概念的に表す図である。
【００４９】
たとえば、図３の１行目において、「処理経路１」と「時間１」とが関連づけされている。すなわち、これは、プロセッサが、「処理経路１」において「制御に係る処理を実行できない期間」が「時間１」であると、時間推定部１０２が推定することを表す。
【００５０】
同様に、図３の２行目において、「処理経路２」と「時間２」とが関連づけされている。すなわち、これは、プロセッサが、「処理経路２」において「制御に係る処理を実行できない期間」が「時間２」であると、時間推定部１０２が推定することを表す。
【００５１】
次に、経路選択部１０３は、処理経路に関して算出した時間のうち、期間が最短である処理経路を選ぶ（ステップＳ２０２）。たとえば、時間推定部１０２が、図３に例示する経路情報を作成する場合に、経路選択部１０３は、経路情報において最小である時間を選び、該最小である時間と関連付けされた処理経路識別情報を読み取る。たとえば、「時間２」が最小である場合に、経路選択部１０３は、経路情報において「時間２」に関連付けされた「処理経路２」を読み取る。次に、経路選択部１０３は、「処理経路２」に関連付けされた処理経路を選ぶ。
【００５２】
すなわち、処理経路選択装置１０１は、複数の処理経路のうち、「制御に係る処理を実行できない期間」が最短の処理経路を選ぶ。ＣＰＵ２１は、処理経路選択装置１０１が選んだ処理経路を介して、メモリ２２とストレージとの情報を送受信する。この結果、処理経路が制御に係る処理を実行できない期間は最短になる。
【００５３】
一方、特許文献１及び特許文献２が開示するシステムは、負荷を分散するものの、上述したような「制御に係る処理を実行できない期間」を最短にする機能を有さない。このため、該システムによれば、「制御に係る処理を実行できない期間」が最短であるとは限らない。
【００５４】
したがって、処理経路選択装置１０１は、特許文献１及び特許文献２が開示するシステムに比べ、「制御に係る処理を実行できない期間」が短い処理経路を選ぶ。
【００５５】
すなわち、第１の実施形態に係る処理経路選択装置によれば、処理時間を短縮することができる。
【００５６】
尚、上述した例において、処理経路が２本の場合について説明を行ったが、処理経路が３本以上の場合についても、処理経路選択装置１０１は、上述した処理と同様の処理を行う。すなわち、処理経路選択装置１０１は、上述した例に限定されない。
【００５７】
また、処理経路は、２つのＨＢＡを有するとしたが、３つ以上のＨＢＡを有してもよい。
【００５８】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００５９】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００６０】
図５を参照しながら、第２の実施形態に係る処理経路選択装置２０１が有する構成と、処理経路選択装置２０１が行う処理とについて説明する。図５は、本発明の第２の実施形態に係る処理経路選択装置２０１が有する構成を示すブロック図である。
【００６１】
第２の実施形態に係る処理経路選択装置２０１は、時間推定部２０２と、経路選択部１０３とを有する。
【００６２】
情報処理装置２０３は、ＣＰＵ２１と、メモリ２２と、処理経路選択装置２０１と、処理経路１６０と、処理経路１７０とを有する。
【００６３】
時間推定部２０２は、処理経路１６０に関して、メモリ２２及び入出力制御装置１６２の間（以降、「Ａ区間」と表す。）に関する「処理を実行できない期間」を、Ａ区間において送受信する情報に係る処理を行う時間の割合を表す使用率と、該処理に要する所要時間とに基づき算出する。
【００６４】
次に、時間推定部２０２は、処理経路１６０に関して、ＨＢＡ１６３及びストレージ１８１の間（以降、「Ｂ区間」と表す。）に関する「処理を実行できない期間」を、Ｂ区間において送受信する情報に係る処理を行う時間の割合を表す使用率と、該処理に要する所要時間とに基づき算出する。時間推定部２０２は、ＨＢＡ１６４及びストレージ１８２の間（以降、「Ｃ区間」と表す。）に関する「処理を実行できない期間」を、上述した処理と同様に算出する。次に、時間推定部２０２は、Ｂ区間に関する「処理を実行できない期間」と、Ｃ区間に関する「処理を実行できない期間」との平均を算出し、算出した値を、ＨＢＡ及びストレージ間に関する「処理を実行できない期間」とする。
【００６５】
次に、時間推定部２０２は、Ａ区間に関する「処理を実行できない期間」と、ＨＢＡ及びストレージ間に関する「処理を実行できない期間」とを足すことにより、処理経路１６０に関する「制御に係る処理を実行できない期間」を算出する。
【００６６】
尚、時間推定部２０２は、直列型のモデルに関する待ち行列理論に基づき、Ａ区間に関する「処理を実行できない期間」、及び、ＨＢＡ及びストレージ間に関する「処理を実行できない期間」等に基づいて処理経路１６０に関する「制御に係る処理を実行できない期間」を算出してもよい。
【００６７】
時間推定部２０２は、上述した手順と同様に、処理経路１７０に関する「制御に係る処理を実行できない期間」を算出する。
【００６８】
第２の実施形態に係る処理経路選択装置２０１は、第１の実施形態と同様の構成を含むため、第２の実施形態は、第１の実施形態と同様の効果を享受することができる。すなわち、第２の実施形態に係る処理経路選択装置２０１によれば、処理時間を短縮することができる。
【００６９】
さらに、処理経路選択装置２０１は、処理経路に含まれる処理装置ごとに「処理を実行できない期間」を算出し、算出した「処理を実行できない期間」を足すことにより、処理経路に関する「制御に係る処理を実行できない期間」を算出する。このため、本実施形態に係る処理経路選択装置２０１によれば、処理経路に関する「制御に係る処理を実行できない期間」は、処理経路に含まれるハードウェアが反映された値となる。その結果、処理経路に関する「制御に係る処理を実行できない期間」は、第１の実施形態に比べ、さらに正確になる。
【００７０】
したがって、第２の実施形態に係る処理経路選択装置によれば、第１の実施形態に比べ、さらに、処理時間を短縮することができる。
【００７１】
尚、上記の説明において、時間推定部２０２は、処理経路に含まれる処理装置ごとに「処理を実行できない期間」を算出するとしたが、複数の処理装置を１つの処理装置と見なすことにより、「処理を実行できない期間」を算出してもよい。
【００７２】
（ハードウェア構成例）
上述した本発明の各実施形態における処理経路選択装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係る処理経路選択装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係る処理経路選択装置は、専用の装置として実現してもよい。
【００７３】
図６は、第１の実施形態及び第２の実施形態に係る処理経路選択装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置２０は、ＣＰＵ２１、メモリ２２、ディスク２３、不揮発性記録媒体２４、入力装置２５、および、出力装置２６を有する。
【００７４】
計算処理装置２０は、メモリ２２とストレージ（不図示）との間において、情報を送受信可能な複数の処理経路（不図示）を有する。
【００７５】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）、ブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ。登録商標）、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等を指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【００７６】
すなわち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、あるいは、図５に示した各部が表す機能（処理）に対応するところのメモリ２２にある処理経路選択プログラム（図２）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【００７７】
すなわち、このような場合、本発明は、係る処理経路選択プログラムによっても成し得ると捉えることができる。更に、係る処理経路選択プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【符号の説明】
【００７８】
１０１    処理経路選択装置
１０２    時間推定部
１０３    経路選択部
１０４    情報処理装置
２１    ＣＰＵ
２２    メモリ
１６０    処理経路
１６１    プロセッサ
１７０    処理経路
１７１    プロセッサ
１８１    ストレージ
１８２    ストレージ
１６２    入出力制御装置
１６３    ＨＢＡ
１６４    ＨＢＡ
１７２    入出力制御装置
１７３    ＨＢＡ
１７４    ＨＢＡ
２０１    処理経路選択装置
２０２    時間推定部
２０３    情報処理装置
２０    計算処理装置
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
【図１】
2015060418.tif 000003
【図２】
2015060418.tif 000004
【図３】
2015060418.tif 000005
【図４】
2015060418.tif 000006
【図５】
2015060418.tif 000007
【図６】
2015060418.tif 000008