(57)【要約】      （修正有）【課題】アプリケーションサーバにおけるアプリケーションの実行に要する時間の予測精度を向上するアプリケーション実行装置を提供する。【解決手段】アプリケーション実行装置１は、取得部１１と、予測部１２と、判定部１３と、を備える。取得部は、アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及びネットワークの負荷状況を示す負荷情報を取得する。予測部は、過去に受信された第１の実行要求に応じて取得された第１の負荷情報と、第１の実行要求の後に受信された第２の実行要求に応じて取得された第２の負荷情報とに基づいて、指定されたアプリケーションの実行に要する見込時間を予測する。判定部は、見込時間に基づいて、第２の実行要求に応じたアプリケーションの実行がタイムアウトするか否かを判定する。【選択図】図１
2020135512.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及び当該ネットワークの負荷状況を示す負荷情報を取得する取得部と、
過去に受信された第１の実行要求に応じて前記取得された第１の負荷情報と、当該第１の実行要求の後に受信された第２の実行要求に応じて前記取得された第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測する予測部と、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する判定部と、
を備えるアプリケーション実行装置。
【請求項２】
前記判定部は、
前記アプリケーションの実行終了前に、前記実行がタイムアウトするか否かを判定し、
前記タイムアウトすると判定した場合、前記アプリケーションの実行を中断し、当該タイムアウトする旨を要求元に応答する
請求項１に記載のアプリケーション実行装置。
【請求項３】
前記予測部は、
前記アプリケーションの実行中に、前記見込時間の予測を開始する
請求項２に記載のアプリケーション実行装置。
【請求項４】
前記取得部は、
前記アプリケーションの処理内で発生した前記ネットワークを介した通信に関する通信関連情報をさらに取得し、
前記予測部は、
前記通信関連情報をさらに加味して、前記見込時間を予測する
請求項１乃至３のいずれか１項に記載のアプリケーション実行装置。
【請求項５】
前記取得部は、
前記アプリケーションの処理内で発生した前記通信に要した時間、前記通信における通信先におけるタイムアウト時間、及び、前記通信時の前記ネットワークの負荷状況の少なくともいずれかを前記通信関連情報として取得する
請求項４に記載のアプリケーション実行装置。
【請求項６】
前記判定部は、
前記タイムアウトすると判定した場合、前記見込時間を含めて要求元に応答する
請求項１乃至５のいずれか１項に記載のアプリケーション実行装置。
【請求項７】
前記判定部は、
前記タイムアウトすると判定した場合、前記第２の実行要求がタイムアウトしないための前記負荷情報の参考値を算出し、前記参考値をさらに含めて前記要求元に応答する
請求項６に記載のアプリケーション実行装置。
【請求項８】
前記第１の負荷情報と、前記第１の実行要求に応じた前記アプリケーションの実行実績時間と、を記憶する記憶部をさらに備え、
前記予測部は、
前記第２の負荷情報と所定範囲内の前記第１の負荷情報を特定し、
前記特定した第１の負荷情報に対応する実行実績時間に基づき、前記見込時間を予測する
請求項１乃至７のいずれか１項に記載のアプリケーション実行装置。
【請求項９】
コンピュータが、
アプリケーションが指定された第１の実行要求をネットワークを介して受信した際に、自装置及び当該ネットワークの負荷状況を示す第１の負荷情報を取得し、
前記第１の実行要求の受信後に前記アプリケーションが指定された第２の実行要求を前記ネットワークを介して受信した際に、前記自装置及び前記ネットワークの負荷状況を示す第２の負荷情報を取得し、
前記第１の負荷情報と前記第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測し、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する
アプリケーション実行方法。
【請求項１０】
アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及び当該ネットワークの負荷状況を示す負荷情報を取得する処理と、
過去に受信された第１の実行要求に応じて前記取得された第１の負荷情報と、当該第１の実行要求の後に受信された第２の実行要求に応じて前記取得された第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測する処理と、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する処理と、
をコンピュータに実行させるアプリケーション実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション実行装置、方法及びプログラムに関し、特に、ネットワークを介して受信したリクエストに応じてアプリケーションの実行を行うためのアプリケーション実行装置、方法及びプログラムに関する。
【背景技術】
【０００２】
クライアントサーバシステムにおいて、クライアント端末は、ネットワークを介してアプリケーションサーバに対して所定の処理を要求するリクエストを送信し、当該アプリケーションサーバにおける処理結果をネットワークを介して受信する。ここで、アプリケーションサーバにおいてリクエストに応じた処理に要する時間が、所定のタイムアウト時間を超過する場合、クライアント端末は、当該リクエストがタイムアウトしたことを検知する。
【０００３】
特許文献１には、アプリケーションサーバでタイムアウト時間経過後も処理を継続するための技術が開示されている。特許文献１にかかるアプリケーションサーバは、タイムアウト時間に猶予時間を予め設け、アプリケーションの実行時間履歴から算出される実行見込時間と猶予時間を加味して、タイムアウトの有無を判定するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−５２９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１には、アプリケーションの実行見込時間の予測精度に改善の余地がある。その理由は、アプリケーションサーバの応答が遅延する原因には、様々な要因が関係するためである。例えば、アプリケーションサーバにおける特定のアプリケーションの処理時間が通常より遅延する原因には、アプリケーションサーバ自体の負荷が高まっている場合とネットワークが高負荷になっている場合等がある。しかしながら、特許文献１では、これらの区別ができていない。そのため、実行時間履歴が収集された時と、実行見込時間を予測する時点とで、各種要因に違いがある場合には、実行見込時間の予測の精度が不十分となり得る。
【０００６】
本開示は、このような問題点を解決するためになされたものであり、アプリケーションサーバにおけるアプリケーションの実行に要する時間の予測精度を向上するためのアプリケーション実行装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の態様にかかるアプリケーション実行装置は、
アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及び当該ネットワークの負荷状況を示す負荷情報を取得する取得部と、
過去に受信された第１の実行要求に応じて前記取得された第１の負荷情報と、当該第１の実行要求の後に受信された第２の実行要求に応じて前記取得された第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測する予測部と、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する判定部と、
を備える。
【０００８】
本開示の第２の態様にかかるアプリケーション実行方法は、
コンピュータが、
アプリケーションが指定された第１の実行要求をネットワークを介して受信した際に、自装置及び当該ネットワークの負荷状況を示す第１の負荷情報を取得し、
前記第１の実行要求の受信後に前記アプリケーションが指定された第２の実行要求を前記ネットワークを介して受信した際に、前記自装置及び前記ネットワークの負荷状況を示す第２の負荷情報を取得し、
前記第１の負荷情報と前記第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測し、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する。
【０００９】
本開示の第３の態様にかかるアプリケーション実行プログラムは、
アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及び当該ネットワークの負荷状況を示す負荷情報を取得する処理と、
過去に受信された第１の実行要求に応じて前記取得された第１の負荷情報と、当該第１の実行要求の後に受信された第２の実行要求に応じて前記取得された第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測する処理と、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１０】
本開示により、アプリケーションサーバにおけるアプリケーションの実行に要する時間の予測精度を向上するためのアプリケーション実行装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態１にかかるアプリケーション実行装置の構成を示すブロック図である。
【図２】本実施形態１にかかるアプリケーション実行方法の流れを示すフローチャートである。
【図３】本実施形態２にかかるアプリケーション実行システムの全体構成を示すブロック図である。
【図４】本実施形態２にかかるアプリケーションサーバの構成を示すブロック図である。
【図５】本実施形態２にかかる蓄積データの例を示す図である。
【図６】本実施形態２にかかるアプリケーション実行方法のデータ蓄積段階の流れを示すフローチャートである。
【図７】本実施形態２にかかるアプリケーション実行方法の適用段階の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１３】
＜実施形態１＞
図１は、本実施形態１にかかるアプリケーション実行装置１の構成を示すブロック図である。アプリケーション実行装置１は、取得部１１と、予測部１２と、判定部１３戸を備える。取得部１１は、アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置（アプリケーション実行装置１）及び当該ネットワークの負荷状況を示す負荷情報を取得する。ここで、アプリケーション実行装置１は、実行要求の受信に応じて、当該実行要求に指定されたアプリケーションの実行を開始する。
【００１４】
予測部１２は、過去に受信された第１の実行要求に応じて取得された第１の負荷情報と、当該第１の実行要求の後に受信された第２の実行要求に応じて取得された第２の負荷情報とに基づいて、指定されたアプリケーションの実行に要する見込時間を予測する。ここで、第１の実行要求及び第２の実行要求は、共に、同一のアプリケーションの指定がされているものとする。尚、見込時間は、アプリケーション実行装置１におけるアプリケーションの実行が正常終了するために要する時間の予測時間ということができる。
【００１５】
判定部１３は、見込時間に基づいて、第２の実行要求に応じたアプリケーションの実行がタイムアウトするか否かを判定する。例えば、判定部１３は、見込時間がタイムアウト時間を超過するか否かにより、タイムアウトするか否かを判定する。ここで、タイムアウト時間は、第２の実行要求に指定された時間か、アプリケーション実行装置１に設定された時間等である。または、判定部１３は、当該タイムアウト時間に、所定の猶予時間を加味して、タイムアウトするか否かを判定してもよい。尚、所定の猶予時間は、予めアプリケーション実行装置１に設定されていてもよい。
【００１６】
図２は、本実施形態１にかかるアプリケーション実行方法の流れを示すフローチャートである。まず、取得部１１は、アプリケーションが指定された第１の実行要求をネットワークを介して受信した際に、アプリケーション実行装置１及び当該ネットワークの負荷状況を示す第１の負荷情報を取得する（Ｓ１１）。
【００１７】
次に、取得部１１は、第１の実行要求の受信後に前記アプリケーションが指定された第２の実行要求をネットワークを介して受信した際に、アプリケーション実行装置１及びネットワークの負荷状況を示す第２の負荷情報を取得する（Ｓ１２）。
【００１８】
そして、予測部１２は、第１の負荷情報と第２の負荷情報とに基づいて、第２の実行要求に指定されたアプリケーションの実行に要する見込時間を予測する（Ｓ１３）。続いて、判定部１３は、ステップＳ１３で予測された見込時間に基づいて、第２の実行要求に応じたアプリケーションの実行がタイムアウトするか否かを判定する（Ｓ１４）。
【００１９】
その後、アプリケーション実行装置１は、第２の実行要求の要求元（例えば、クライアント装置）に対して、判定結果に応じた応答を行う。例えば、判定結果がタイムアウトしないことを示す場合、当該アプリケーションの正常終了後に、アプリケーション実行装置１は、正常終了を示す応答を要求元に対して送信する。尚、判定結果がタイムアウトしないことを示す場合であっても、その後、アプリケーションの実際の実行時間が上述したタイムアウト時間（又はこれに猶予時間を加算した時間）等を超過する場合、アプリケーション実行装置１は、エラー応答を要求元に対して送信する。また、判定結果がタイムアウトすることを示す場合、アプリケーション実行装置１は、エラー応答を要求元に対して送信する。
【００２０】
このように本実施形態では、アプリケーション実行装置１がアプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及び当該ネットワークの負荷状況を示す負荷情報を取得するものである。そして、予測部１２は、第２の実行要求に指定されたアプリケーションの実行に際して、当該アプリケーションの実行に要する時間の見込みを予測する。このとき、アプリケーション実行装置１は、第２の実行要求の受信より前に、第２の実行要求と同一のアプリケーションが指定された第１の実行要求を既に受信している。そして、取得部１１は、第１の実行要求の受信に際して、自装置及び当該ネットワークの負荷状況を示す第１の負荷情報を取得済みである。そして、取得部１１は、第１の実行要求の受信後の第２の実行要求の受信に際して、同様に、第２の負荷情報を取得する。そのため、予測部１２は、第１の負荷情報と第２の負荷情報とを用いて、例えば、第２の負荷情報と第１の負荷情報との近さの違いに応じて実行時間の履歴に差をつけて、実行時間（見込時間）の予測をすることができる。よって、実行要求の受信時の負荷状況を総合的に加味して見込時間の予測精度を向上することができる。
【００２１】
尚、アプリケーション実行装置１は、図示しない構成としてプロセッサ、メモリ及び記憶装置を備えるものである。また、当該記憶装置には、本実施形態にかかるアプリケーション実行方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込み、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、取得部１１、予測部１２及び判定部１３の機能を実現する。
【００２２】
または、取得部１１、予測部１２及び判定部１３は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路（circuitry）、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＦＰＧＡ（field-programmable gate array）等を用いることができる。
【００２３】
また、アプリケーション実行装置１の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、アプリケーション実行装置１の機能がＳａａＳ（Software as a Service）形式で提供されてもよい。
【００２４】
＜実施形態２＞
ここで、本実施形態が解決しようとする課題について詳述する。一般に、クライアント端末は、アプリケーションサーバに対して送信したリスエストがタイムアウトした場合、アプリケーションの処理の再実行をさせるために、アプリケーションサーバに対して再度、リクエストを送信（再送）する。または、リスエストがタイムアウトした場合、クライアント端末のユーザは、エラーに応じた処理や復旧処理等を行う。ここで、アプリケーションの処理自体には問題がなく、リソース不足等がタイムアウトの発生原因である場合には、タイムアウト値を長くすれば、タイムアウト発生を低減させることができる。一方で、タイムアウト値を長くすることにより、エラー発生時に（エラーを示す）応答を受け取るまでに必要以上の時間を要し、即座に次の対処（再リクエスト）を行うことができない。例えば、タイムアウトの発生原因がアプリケーションサーバやネットワークの一時的な負荷の上昇である場合、安易にタイムアウト値を大きくすると、タイムアウトのエラー応答の受信も遅れる。そのため、本来の障害を検知することが遅れ、結果的に復旧処理等も遅れてしまう。
【００２５】
さらに、タイムアウトには様々な原因があり、アプリケーションサーバ自体の負荷が高まっている場合とネットワークが高負荷になっている場合とで、アプリケーションごとに実行時間の遅延に与える影響度合いが異なることがある。上述した特許文献１では、このような負荷の原因の違いを区別していないため、実行見込時間の予測精度に改善の余地がある。さらに、特許文献１では、タイムアウト時間経過後に初めて、猶予時間と実行見込時間の超過を判定するため、タイムアウトの検知が遅れるという問題もある。
【００２６】
そこで、本実施形態２は、上述した実施形態１の具体的な一実施例であり、以下では上述した課題の少なくとも一部を解決するものについて説明する。図３は、本実施形態２にかかるアプリケーション実行システム１０００の全体構成を示すブロック図である。アプリケーション実行システム１０００は、クライアント端末１０と、ネットワーク負荷状況収集装置２０と、アプリケーションサーバ３１、３２、・・・３ｎ（ｎは２以上の自然数。）と、設定装置４０とを備える。ここで、クライアント端末１０、ネットワーク負荷状況収集装置２０、並びに、アプリケーションサーバ３１〜３ｎは、それぞれ、ネットワークＮを介して接続されている。ネットワークＮは、インターネット、ＬＡＮ（Local Area Network）その他の通信回線である。
【００２７】
クライアント端末１０は、ユーザが操作を行う端末装置であり、例えば、ブラウザがインストールされたパーソナルコンピュータ等である。クライアント端末１０は、ネットワークＮを介してアプリケーションサーバ３１から３ｎの少なくともいずれかと通信可能に接続されている。そして、クライアント端末１０は、ユーザの操作に応じて特定のアプリケーションを指定して特定の処理を要求するためのリクエスト（実行要求）をアプリケーションサーバ３１等に対して送信する。ここで、特定のアプリケーションは、アプリケーションサーバ３１等で実行されるものである。また、クライアント端末１０は、当該リクエストを受信したアプリケーションサーバ３１等における、当該アプリケーションの実行結果を応答として受信する。
【００２８】
ネットワーク負荷状況収集装置２０は、アプリケーションサーバ３１等が接続されているネットワークＮの負荷状況を収集する装置である。ネットワーク負荷状況収集装置２０は、例えば、アプリケーションサーバ３１等とは別体のネットワーク監視装置である。そして、ネットワーク負荷状況収集装置２０は、アプリケーションサーバ３１〜３ｎのそれぞれが内蔵するネットワークインタフェースカード（ＮＩＣ）からネットワークの負荷状況を収集しても良い。また、ネットワーク負荷状況収集装置２０は、所定間隔で定期的に負荷状況を収集しても良い。または、ネットワーク負荷状況収集装置２０は、クライアント端末１０からのリクエストをアプリケーションサーバ３１等が受信した時点から応答を返すまでの間に、ネットワークの負荷状況を収集しても良い。尚、ネットワーク負荷状況収集装置２０は、公知のものを用いることができる。
【００２９】
アプリケーションサーバ３１から３ｎのそれぞれは、１以上のアプリケーションを実行するためのアプリケーション実行装置の一例である。アプリケーションサーバ３１等のそれぞれは、１以上の情報処理装置により構成されたサーバ装置である。アプリケーションサーバ３１等は、例えば、ミドルウェアとしてのアプリケーションサーバが稼働し、内部にインストールされたＷＥＢアプリケーション等のアプリケーションの実行を制御する。または、アプリケーションサーバ３１等は、ネットワークＮを介して接続された外部のサーバ上で動作するアプリケーションに対して処理を要求し、処理結果を受信してもよい。
【００３０】
また、アプリケーションサーバ３１等は、内蔵または外部のＷＥＢサーバからのリクエストに応じた処理を行っても構わない。アプリケーションサーバ３１等は、クライアント端末１０からネットワークＮを介してリクエストを受信し、リクエストに指定されたアプリケーションに所定の処理を実行させ、実行結果を要求元のクライアント端末１０へ返信する。
【００３１】
図４は、本実施形態２にかかるアプリケーションサーバ３１の構成を示すブロック図である。尚、アプリケーションサーバ３２から３ｎは、アプリケーションサーバ３１と同等の構成であるため、図示及び説明を省略する。
【００３２】
アプリケーションサーバ３１は、負荷状況監視部３１０と、データ蓄積部３２０と、アプリケーション実行指令部３３０と、計算部３４０と、アプリケーション実行部３５０と、実行時間監視部３６０とを備える。
【００３３】
負荷状況監視部３１０は、アプリケーションサーバ３１のＣＰＵ使用率等のリソース状態を監視する。ここで、リソース状態には、ＣＰＵ使用率の他にメモリ使用率、ディスクＩ／Ｏ等を含めても良い。また、負荷状況監視部３１０は、ネットワーク負荷状況収集装置２０が収集したネットワークＮの負荷状況を監視する。ここで、ネットワークＮの負荷状況を示す負荷情報には、通信速度等が含まれる。さらに、アプリケーションの実行がＪａｖａ（登録商標）ＶＭ（Virtual Machine）上で行われる場合は、負荷状況監視部３１０は、ＣＰＵ使用率だけではなくＪａｖａ（登録商標）ＶＭのヒープサイズなどを監視対象に加えてもよい負荷状況監視部３１０は、所定間隔で定期的に負荷状況を監視しても良い。または、負荷状況監視部３１０は、クライアント端末１０からのリクエストをアプリケーションサーバ３１が受信した時点から応答を返すまでの間を、監視期間としても良い。負荷状況監視部３１０は、監視期間中に得た情報をデータ蓄積部３２０に蓄積する。
【００３４】
データ蓄積部３２０は、負荷状況監視部３１０及び実行時間監視部３６０により取得された第１の負荷情報等を記憶する記憶部の一例である。データ蓄積部３２０は、例えば、リクエストに指定されたアプリケーションが実行される際に取得された負荷情報、アプリケーションサーバ３１が受信したリクエストに応じて実行されたアプリケーションの実行実績時間を、アプリケーションと対応付けて記憶する。さらに、データ蓄積部３２０は、アプリケーションの処理内で発生したネットワークＮを介した通信に関する通信関連情報を記憶する。ここで、通信関連情報は、アプリケーションの処理内で発生した通信に要した時間、通信における通信先におけるタイムアウト時間、及び、通信時のネットワークＮの負荷状況の少なくともいずれかを含むものである。
【００３５】
アプリケーション実行指令部３３０は、アプリケーションサーバ３１が受信したリクエストに指定されたアプリケーションを特定し、特定したアプリケーションの実行をアプリケーション実行部３５０に対して指示する。また、アプリケーション実行指令部３３０は、実行中のアプリケーションの中断をアプリケーション実行部３５０に対して指示する。尚、アプリケーション実行指令部３３０は、アプリケーション実行部３５０からアプリケーションの実行結果を受け付けた場合、要求元のクライアント端末１０に対して実行結果を含む応答を返信してもよい。
【００３６】
アプリケーション実行部３５０は、ミドルウェアとしてのアプリケーションサーバに配備されたアプリケーションの実行を制御する。すなわち、アプリケーション実行部３５０は、アプリケーション実行指令部３３０からの指示に応じて、指示されたアプリケーションの実行を開始し、実行結果をアプリケーション実行指令部３３０へ出力する。また、アプリケーション実行部３５０は、実行中のアプリケーションが外部のアプリケーションサーバ３２等内のアプリケーション（プロセス）を呼び出す場合、ネットワークＮを介して外部のアプリケーションサーバ３２等へ処理を要求するためのリクエストを送信する。そして、アプリケーション実行部３５０は、当該リクエストの応答をネットワークＮを介して受信し、当該アプリケーションの実行を継続する。
【００３７】
実行時間監視部３６０は、アプリケーション実行部３５０により実行されるアプリケーションの実行時間を監視（測定）し、例えば、当該アプリケーションが正常終了した場合の実行に要した時間（実行実績時間）をデータ蓄積部３２０に蓄積する。また、実行時間監視部３６０は、当該アプリケーションが異常終了した場合の実行実績時間をデータ蓄積部３２０に蓄積してもよい。さらに、実行時間監視部３６０は、アプリケーションの処理内で発生したネットワークＮを介した通信に関する通信関連情報をさらに取得する。つまり、実行時間監視部３６０は、監視対象のアプリケーションが外部のアプリケーション（プロセス）を呼び出す場合、そのプロセス間通信を監視し、上述した通信関連情報としてデータ蓄積部３２０へ蓄積する。例えば、実行時間監視部３６０は、監視対象のアプリケーションの処理内で外部のプロセスとの通信が発生したことを検出した場合、ネットワークＮを介してアプリケーションサーバ３１から該当プロセスが実行中の外部サーバへの通信の開始から終了までの時間を計測する。また、実行時間監視部３６０は、当該プロセス間通信において、通信先のアプリケーションサーバにおける当該プロセス間通信におけるタイムアウト時間を取得する。また、実行時間監視部３６０は、当該プロセス間通信時におけるネットワークＮの負荷状況を取得する。また、実行時間監視部３６０は、アプリケーション内で実行されるメソッド単位で実行時間等を測定し、データ蓄積部３２０へ蓄積することが望ましい。
【００３８】
図５は、本実施形態２にかかる蓄積データの例を示す図である。ここでは、クライアント端末１０がリクエストに指定したアプリケーションがメソッド単位であるものとする。そして、各メソッドに対して、実行時間（Ｐ）、リクエストタイムアウト時間（Ｑ）、ネットワーク（ＮＷ）負荷（Ｒ）、ＣＰＵ使用率（Ｓ）が対応付けられていることを示す。ここで、ネットワーク（ＮＷ）負荷（Ｒ）及びＣＰＵ使用率（Ｓ）は、上述した負荷情報の一例である。特に、データ蓄積部３２０に格納されたネットワーク（ＮＷ）負荷（Ｒ）及びＣＰＵ使用率（Ｓ）のうち過去に受信されたリクエストに応じて取得された負荷情報は、第１の負荷情報に相当する。一方、データ蓄積部３２０に格納されたネットワーク（ＮＷ）負荷（Ｒ）及びＣＰＵ使用率（Ｓ）のうち直前に受信されたリクエストに応じて取得された負荷情報は、第２の負荷情報に相当する。また、実行時間（Ｐ）は、上述した実行実績時間の一例である。
【００３９】
さらに、ここでは、メソッド「ｅｘｅｃ（）」については、外部サーバとのプロセス間通信が含まれ、当該メソッドに対して、外部サーバのアクセス時の実行時間（ｐ）、リクエストタイムアウト時間（ｑ）、ＮＷ負荷（ｒ）が対応付けられていることを示す。ここで、外部サーバのアクセス時の実行時間（ｐ）、リクエストタイムアウト時間（ｑ）、ＮＷ負荷（ｒ）は、上述した通信関連情報の一例である。
【００４０】
尚、上述した負荷状況監視部３１０及び実行時間監視部３６０は、上述した取得部１１の一例である。
【００４１】
図４に戻り説明を続ける。計算部３４０は、上述した予測部１２及び判定部１３の一例である。計算部３４０は、データ蓄積部３２０に蓄積されたデータを時系列に並べ、ネットワーク負荷とアプリケーションサーバのＣＰＵ使用率とアプリケーションの実行時間、さらに、他のサーバへの通信時間、それらの処理に対して設定されているタイムアウト時間を整理する。尚、データ蓄積部３２０内の整理は、負荷状況監視部３１０及び実行時間監視部３６０がデータを蓄積する都度、行っても良い。
【００４２】
計算部３４０は、受信したリクエストに指定されたアプリケーション（メソッド）に対応する過去のリクエストに応じて取得されたデータ（第１の負荷情報を含む）をデータ蓄積部３２０から取得する。ここで、指定されたアプリケーションに複数のメソッドが含まれる場合、計算部３４０は、各メソッドに対応するデータを取得する。また、計算部３４０は、今回のリクエストの受信時に負荷状況監視部３１０により収集された第２の負荷情報を取得する。尚、第２の負荷情報が既にデータ蓄積部３２０に蓄積済みの場合、計算部３４０は、データ蓄積部３２０から第２の負荷情報を取得してもよい。
【００４３】
計算部３４０は、データ蓄積部３２０から取得したデータと、今回のリクエストの受信時に収集された第２の負荷情報等を用いて、リクエストに指定されたアプリケーションの実行に要する時間の見込時間を予測する。すなわち、計算部３４０は、今回受信したリクエストに対して、その時点のＣＰＵ使用率とネットワーク負荷の影響を考慮した場合のアプリケーションの処理時間や通信時間を予測する。具体的には、計算部３４０は、リクエスト受信時の第２の負荷情報と同等の負荷状況における実行実績時間を、データ蓄積部３２０から複数取得し、それらに所定の統計処理（後述）を行ってアプリケーションの処理の開始から終了までの見込時間を算出する。
【００４４】
このとき、計算部３４０は、第２の負荷情報に応じた第１の負荷情報の比率に応じた係数を算出し、係数と実行実績時間とを用いて、見込時間を予測する。これにより、見込時間の予測精度がさらに向上する。
【００４５】
また、計算部３４０は、第１の負荷情報及び第２の負荷情報に加えて、上述した通信関連情報をさらに加味して、見込時間を予測すると良い。これにより、見込時間の予測精度がさらに向上する。
【００４６】
ここで、所定の統計処理としては、例えば次の処理が挙げられる。但し、統計処理はこれに限定されない。尚、以下の説明では、図５に示した各指標を用いるものとする。
【００４７】
前提として、データ蓄積部３２０には、クライアントが実行したメソッド（Ｍ）に対して、Ｊ件（Ｊは１以上の整数。）のデータ（レコード）が蓄積されているものとする。すなわち、クライアントが実行したメソッド（Ｍ）に対して、ｊ＝１〜Ｊについて実行時間（Ｐｊ（Ｍ））、リクエストタイムアウト時間（ＱＭｊ）、ＮＷ負荷（ＲＭｊ）、ＣＰＵ使用率（ＳＭｊ）が対応付けられているものとする。さらに、アプリケーションの実行時に外部サーバへのアクセスが発生していた場合、その際の外部サーバアクセス実行時間（ｐｊ（Ｍ））、外部サーバアクセスリクエストタイムアウト時間（ｑＭｊ）、外部サーバアクセスＮＷ負荷（ｒＭｊ）が、メソッド（Ｍ）に対して対応付けられているものとする。また、今回のリクエストｘの受信時にＣＰＵ使用率（Ｓｘ）、ＮＷ負荷（Ｒｘ）が第２の負荷情報として取得されたものとする。
【００４８】
まず、計算部３４０は、データ蓄積部３２０の中でメソッド（Ｍ）に対応付けられたデータのうち、ＮＷ負荷（Ｒｘ）又はＣＰＵ使用率（Ｓｘ）と所定範囲内のＮＷ負荷（ＲＭｊ）又はＣＰＵ使用率（ＳＭｊ）に対応する１以上のレコードを取得する。例えば、Ｊ件のレコードが取得されたものとする。
【００４９】
次に、計算部３４０は、取得した全レコードについて、以下の式を満たすような関数Ａの係数を求める。
Ｐｊ（Ｍ）＝Ａ（ＲＭｊ、ＳＭｊ）
ここで、関数Ａ（）は、例えば多次元の多項式であり、ｊ＝１からＪにおいて上式が成立するような係数を求める。そして、計算部３４０は、求められた係数を設定した関数Ａ（）の引数にＲｘ、Ｓｘを入力して、実行時間の見込時間Ｐｘ（Ｍ）を算出する。
Ｐｘ（Ｍ）＝Ａ（Ｒｘ、Ｓｘ）
【００５０】
尚、計算部３４０は、今回受信したリクエストの受信時の第２の負荷情報と所定範囲内の第１の負荷情報を特定し、当該特定された第１の負荷情報に対応する実行実績時間に基づき見込時間を予測するものといえる。例えば、計算部３４０は、取得した全レコードに対応する実行時間（Ｐｊ（Ｍ））から平均値を算出して、見込時間Ｐｘ（Ｍ）としてもよい。
【００５１】
さらに、計算部３４０は、取得したレコードに通信関連情報（ｐｊ（Ｍ）、ｒＭｊ）が含まれる場合、以下の式を満たすような関数Ａの係数、及び、係数ｂを算出する。
Ｐｊ（Ｍ）−ｐｊ（Ｍ）＝Ａ（ＲＭｊ、ＳＭｊ）
ｐｊ（Ｍ）＝ｂ×ｒＭｊ
【００５２】
そして、計算部３４０は、求められた係数ｂを設定して、通信時間の見込時間ｐｘ（Ｍ）を算出する。
ｐｘ（Ｍ）＝ｂ×ｒｘ
また、計算部３４０は、求められた係数を設定した関数Ａ（）の引数にＲｘ、Ｓｘを入力して、実行時間の見込時間Ｐｘ（Ｍ）を算出する。
【００５３】
尚、実行対象のアプリケーション内に複数のメソッドの実行が含まれている場合、メソッドごとの見込時間Ｐｘ（Ｍ）を合計する。
【００５４】
計算部３４０は、予測された見込時間に基づいて、今回受信したリクエストに応じたアプリケーションの実行がタイムアウトするか否かを判定する。例えば、計算部３４０は、見込時間がリクエストに指定されたタイムアウト時間を超過するか否かを判定する。または、計算部３４０は、設定装置４０により予め設定された猶予時間を取得し、タイムアウト時間と猶予時間とを加算した時間を見込時間が超過するか否かを判定してもよい。これにより、負荷状況の一時的な変動による実行時間のばらつきを吸収し、必要以上にタイムアウトが発生することを防ぐことができる。
【００５５】
ここで、計算部３４０は、アプリケーション実行部３５０におけるアプリケーションの実行終了前に、実行がタイムアウトするか否かを判定する。そして、計算部３４０は、タイムアウトすると判定した場合、当該アプリケーションの実行を中断し、当該タイムアウトする旨を要求元に応答する。これにより、クライアント端末１０のユーザは、実際のタイムアウト時間より早く、リクエストがタイムアウトする可能性があることを把握することができ、タイムアウトに応じた対応を迅速に取ることができる。
【００５６】
さらに、計算部３４０は、アプリケーション実行部３５０におけるアプリケーションの実行中に、見込時間の予測を開始すると良い。これにより、実際にタイムアウトするよりも早く、計算部３４０がタイムアウトの可能性を判定することができる。
【００５７】
また、計算部３４０は、タイムアウトすると判定した場合、見込時間を含めて要求元に応答すると良い。これにより、応答を受信したクライアント端末１０のユーザは、見込時間とタイムアウト時間との乖離を把握することができ、タイムアウト時間の指定を長くすべきか、アプリケーションサーバ３１等のリソース増強や設定変更をすべきかといった、適切な対応を判断することができる。
【００５８】
さらに、計算部３４０は、タイムアウトすると判定した場合、今回のリクエスト内容がタイムアウトしないための負荷情報の参考値を算出し、当該参考値をさらに含めて要求元に応答するとよい。これにより、応答を受信したクライアント端末１０のユーザは、参考値に基づいて、例えば、アプリケーションサーバ３１等のリソース増強や設定変更を行うことができる。つまり、クライアント端末１０のユーザにおける対応を支援できる。
【００５９】
図３に戻り、説明を続ける。設定装置４０は、ユーザが操作を行う端末装置であり、アプリケーションサーバ３１〜３ｎの少なくとも一部と接続されている。尚、設定装置４０は、ネットワークＮと接続されていても良い。設定装置４０は、例えば、パーソナルコンピュータ等である。設定装置４０は、ユーザの操作に応じてアプリケーションサーバ３１等に対してパラメータ等を設定するためのインタフェースである。例えば、設定装置４０は、リクエストに指定されたアプリケーションごとのタイムアウトの猶予時間をアプリケーションサーバ３１等に設定する。
【００６０】
図６は、本実施形態２にかかるアプリケーション実行方法のデータ蓄積段階の流れを示すフローチャートである。データ蓄積段階は、データ蓄積部３２０にデータが蓄積されていないか、蓄積データ量が少ない場合に行われる。尚、以下の説明では、リクエストの宛先がアプリケーションサーバ３１であるものとする。
【００６１】
まず、クライアント端末１０は、ユーザの操作に応じて特定のアプリケーションを指定して特定の処理を要求するためのリクエスト（実行要求）をネットワークＮを介してアプリケーションサーバ３１等に対して送信する。このとき、リクエストには、タイムアウト時間も指定されているものとする。これに応じて、当該リクエストの宛先であるアプリケーションサーバ３１は、ネットワークＮを介してクライアント端末１０からのリクエストを受信する（Ｓ２１）。
【００６２】
次に、負荷状況監視部３１０は、リクエストの受信に応じて、ネットワークＮの負荷状況と、アプリケーションサーバ３１の負荷状況を収集する（Ｓ２２）。例えば、負荷状況監視部３１０は、ネットワーク負荷状況収集装置２０が収集したネットワークＮの現時点の負荷情報を取得する。また、負荷状況監視部３１０は、現時点のアプリケーションサーバ３１のＣＰＵ資料率等を取得する。そして、負荷状況監視部３１０は、取得した負荷情報をリクエストに指定されたアプリケーション（メソッド）に対応付けてデータ蓄積部３２０に第２の負荷情報として保存する。
【００６３】
続いて、アプリケーション実行指令部３３０は、ステップＳ２１で受信したリクエストに指定されたアプリケーションの実行をアプリケーション実行部３５０に指示する。これに応じて、アプリケーション実行部３５０は、指示されたアプリケーションの処理実行を開始する（Ｓ２３）。尚、ステップＳ２３は、ステップＳ２２と並行して実施されてもよい。また、ステップＳ２３において、実行時間監視部３６０は、実行中のアプリケーションの実行時間を測定し、他のサーバとの通信が発生する場合、通信関連情報の取得等を行う。
【００６４】
そして、アプリケーションの実行終了後、実行時間監視部３６０は、実行時間及び通信関連情報にリクエストに指定されたアプリケーション（メソッド）に対応付けてデータ蓄積部３２０に第２の負荷情報として保存する（Ｓ２４）。これにより、リクエストに応じて実行されたアプリケーションに対応する各種負荷情報等を蓄積することができる。そして、アプリケーション実行指令部３３０又は計算部３４０は、アプリケーションの実行結果をクライアント端末１０へ応答する（Ｓ２５）。
【００６５】
図７は、本実施形態２にかかるアプリケーション実行方法の適用段階の流れを示すフローチャートである。適用段階では、少なくとも事前に１回以上データ蓄積段階が実施済みであり、データ蓄積部３２０には、リクエストに指定されるアプリケーションに対応する負荷情報、実行時間等が蓄積済みであるものとする。
【００６６】
まず、図６と同様にステップＳ２１、Ｓ２２及びＳ２３が行われる。そして、ステップＳ２３と並行して、計算部３４０は、データ蓄積部３２０の過去の負荷情報等と現在の負荷状況から、リクエストに指定されたアプリケーションの実行終了の見込時間を予測する（Ｓ３１）。そして、計算部３４０は、見込時間がタイムアウト時間＋ｘ％を超過するか否かを判定する（Ｓ３２）。ここで、「ｘ」は、設定装置４０により予め設定された猶予時間の一例であるものとする。
【００６７】
ステップＳ３２において、見込時間がタイムアウト時間＋ｘ％を超過すると判定した場合、アプリケーション実行指令部３３０は、アプリケーション実行部３５０に対して実行中のアプリケーションの実行の中断を指示する。これに応じて、アプリケーション実行部３５０は、実行中のアプリケーションの実行を中断する。また、計算部３４０は、リクエストの要求元であるクライアント端末１０に対して、エラー終了の旨を応答する（Ｓ２５ｂ）。
【００６８】
このように、計算部３４０は、アプリケーション実行部３５０によるアプリケーションの実行中に、当該アプリケーションの処理実行に要する見込時間の予測を行い、見込時間により当該リクエストがタイムアウトする可能性の有無を判定する。そのため、アプリケーションの実行終了前に、当該リクエストがタイムアウトする可能性を検知できる。
【００６９】
このとき、計算部３４０は、エラー終了の旨に付加情報を含めて送信することが望ましい。例えば、計算部３４０は、見込時間を負荷情報とする。さらに、計算部３４０は、今回のリクエストに指定されたアプリケーションの実行をタイムアウト時間内に完了させるために必要な負荷情報の参考値を算出するとよい。例えば、ＣＰＵ使用率、ネットワーク負荷等を参考値として算出する。そして、計算部３４０は、エラー終了の旨に、見込時間や参考値を含めて送信する。
【００７０】
ステップＳ３２において、見込時間がタイムアウト時間＋ｘ％を超過しないと判定した場合、計算部３４０は、一定時間待機する（Ｓ３３）。ここで、「一定時間」は、タイムアウト時間より短いことが望ましい。
【００７１】
その後、計算部３４０は、ステップＳ２３で実行を開始したアプリケーションが実行終了したか否かを判定する（Ｓ３４）。アプリケーションが実行終了したと判定した場合、図６と同様に、実行時間監視部３６０は、実行時間及び通信関連情報にリクエストに指定されたアプリケーション（メソッド）に対応付けてデータ蓄積部３２０に第２の負荷情報として保存する（Ｓ２４）。そして、アプリケーション実行指令部３３０は、アプリケーションの実行結果（正常終了の旨）をクライアント端末１０へ応答する（Ｓ２５ａ）。
【００７２】
ステップＳ３４において、アプリケーションが実行終了していないと判定した場合、計算部３４０は、現時点のアプリケーションの実行時間を実行時間監視部３６０から取得し、当該実行時間がタイムアウト時間＋ｘ％を超過するか否かを判定する（Ｓ３５）。現時点の実行時間がタイムアウト時間＋ｘ％を超過しないと判定した場合、ステップＳ３３へ戻る。
【００７３】
ステップＳ３５において、現時点の実行時間がタイムアウト時間＋ｘ％を超過すると判定した場合、上記同様に、ステップＳ２５ｂが実行される。ステップＳ２５ａ又はＳ２５ｂの後、ステップＳ２１へ戻る。
【００７４】
このように、本実施形態２では、アプリケーションサーバの処理における負荷状況と、ネットワークの負荷状況を鑑み、アプリケーションの実行に要する見込時間を算出する。これにより、見込時間の予測精度を向上できる。また、タイムアウト時間に猶予時間を加味することで、過度なタイムアウトによるエラー発生確率を低減させることができる。また、アプリケーションの実行開始と並行して見込時間の予測及びタイムアウトするか否かの判定を行うことで、タイムアウト時間の経過後の応答を待つことなく、それより早いタイミングでタイムアウト発生時のエラーの応答を受けることができる。そのため、ユーザは、リクエスト再送信やその他復旧作業に着手することができる。さらに、タイムアウト発生時のエラー応答に付加情報を含めることで、ユーザは、アプリケーションサーバの負荷が影響したのか、ネットワークの負荷が影響したのか、原因の切り分けが容易となる。
【００７５】
＜その他の実施形態＞
尚、本実施形態は、クライアントとサーバ間は、ロードバランサを経由している場合でもよい。また、アプリケーションサーバは、仮想環境やクラウド上に配置されたものでもよい。そして、本実施形態は、可能な限りタイムアウトの発生を抑えたいシステム、また、ネットワークの負荷が不安定で、高負荷になりやすい環境で稼働するシステムに適用することでより効果を発揮する。
【００７６】
尚、上述の実施形態では、ハードウェアの構成として説明したが、これに限定されるものではない。本開示は、任意の処理を、ＣＰＵにコンピュータプログラムを実行させることにより実現することも可能である。
【００７７】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７８】
なお、本開示は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施形態を適宜組み合わせて実施されてもよい。
【００７９】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及び当該ネットワークの負荷状況を示す負荷情報を取得する取得部と、
過去に受信された第１の実行要求に応じて前記取得された第１の負荷情報と、当該第１の実行要求の後に受信された第２の実行要求に応じて前記取得された第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測する予測部と、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する判定部と、
を備えるアプリケーション実行装置。
（付記２）
前記判定部は、
前記アプリケーションの実行終了前に、前記実行がタイムアウトするか否かを判定し、
前記タイムアウトすると判定した場合、前記アプリケーションの実行を中断し、当該タイムアウトする旨を要求元に応答する
付記１に記載のアプリケーション実行装置。
（付記３）
前記予測部は、
前記アプリケーションの実行中に、前記見込時間の予測を開始する
付記２に記載のアプリケーション実行装置。
（付記４）
前記取得部は、
前記アプリケーションの処理内で発生した前記ネットワークを介した通信に関する通信関連情報をさらに取得し、
前記予測部は、
前記通信関連情報をさらに加味して、前記見込時間を予測する
付記１乃至３のいずれか１項に記載のアプリケーション実行装置。
（付記５）
前記取得部は、
前記アプリケーションの処理内で発生した前記通信に要した時間、前記通信における通信先におけるタイムアウト時間、及び、前記通信時の前記ネットワークの負荷状況の少なくともいずれかを前記通信関連情報として取得する
付記４に記載のアプリケーション実行装置。
（付記６）
前記判定部は、
前記タイムアウトすると判定した場合、前記見込時間を含めて要求元に応答する
付記１乃至５のいずれか１項に記載のアプリケーション実行装置。
（付記７）
前記判定部は、
前記タイムアウトすると判定した場合、前記第２の実行要求がタイムアウトしないための前記負荷情報の参考値を算出し、前記参考値をさらに含めて前記要求元に応答する
付記６に記載のアプリケーション実行装置。
（付記８）
前記第１の負荷情報と、前記第１の実行要求に応じた前記アプリケーションの実行実績時間と、を記憶する記憶部をさらに備え、
前記予測部は、
前記第２の負荷情報と所定範囲内の前記第１の負荷情報を特定し、
前記特定した第１の負荷情報に対応する実行実績時間に基づき、前記見込時間を予測する
付記１乃至７のいずれか１項に記載のアプリケーション実行装置。
（付記９）
コンピュータが、
アプリケーションが指定された第１の実行要求をネットワークを介して受信した際に、自装置及び当該ネットワークの負荷状況を示す第１の負荷情報を取得し、
前記第１の実行要求の受信後に前記アプリケーションが指定された第２の実行要求を前記ネットワークを介して受信した際に、前記自装置及び前記ネットワークの負荷状況を示す第２の負荷情報を取得し、
前記第１の負荷情報と前記第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測し、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する
アプリケーション実行方法。
（付記１０）
アプリケーションが指定された実行要求をネットワークを介して受信した場合に、自装置及び当該ネットワークの負荷状況を示す負荷情報を取得する処理と、
過去に受信された第１の実行要求に応じて前記取得された第１の負荷情報と、当該第１の実行要求の後に受信された第２の実行要求に応じて前記取得された第２の負荷情報とに基づいて、前記指定されたアプリケーションの実行に要する見込時間を予測する処理と、
前記見込時間に基づいて、前記第２の実行要求に応じた前記アプリケーションの実行がタイムアウトするか否かを判定する処理と、
をコンピュータに実行させるアプリケーション実行プログラム。
【００８０】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００８１】
１  アプリケーション実行装置
１１  取得部
１２  予測部
１３  判定部
１０００  アプリケーション実行システム
１０  クライアント端末
２０  ネットワーク負荷状況収集装置
３１  アプリケーションサーバ
３１０  負荷状況監視部
３２０  データ蓄積部
３３０  アプリケーション実行指令部
３４０  計算部
３５０  アプリケーション実行部
３６０  実行時間監視部
３２  アプリケーションサーバ
３ｎ  アプリケーションサーバ
４０  設定装置
Ｎ  ネットワーク
【図１】
2020135512.tif 000003
【図２】
2020135512.tif 000004
【図３】
2020135512.tif 000005
【図４】
2020135512.tif 000006
【図５】
2020135512.tif 000007
【図６】
2020135512.tif 000008
【図７】
2020135512.tif 000009