(57)【要約】リクエストを高速に処理することができる情報処理装置等を提供する。情報処理装置１０１は、第１情報処理装置３００２がオブジェクトプログラムを実行する状況に応じて、オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出部１０２と、リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行部１０３と、第１情報処理装置３００２がリクエストを要求するのに応じて、レスポンスを第１情報処理装置３００２に送信する送信部１０４とを有する。
2015001739.tif 000002
【特許請求の範囲】
【請求項１】
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出手段と、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行手段と、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信する送信手段と
を備える情報処理装置。
【請求項２】
前記第１情報処理装置が前記レスポンスを受け取り、受け取った前記レスポンスに基づき前記オブジェクトプログラムを継続して実行する状況において必要となるパラメタを、前記ソースプログラムから抽出するパラメタ抽出手段を更に備え、
前記送信手段は、前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスと前記パラメタとを前記第１情報処理装置に送信する
請求項１に記載の情報処理装置。
【請求項３】
前記第１情報処理装置が前記オブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムを実行することにより、前記第１情報処理装置における状態を算出する実行手段を更に備え、
前記リクエスト抽出手段は、前記状態と前記ソースプログラムとに基づき、前記リクエストを抽出する
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記状態は、前記ソースプログラムにおけるパラメタの値を含む
請求項３に記載の情報処理装置。
【請求項５】
前記リクエスト抽出手段は、前記ソースプログラムにおいて前記パラメタの値に応じて処理が分岐する場合に、前記パラメタの値に基づき前記リクエストを抽出する
請求項３または請求項４に記載の情報処理装置。
【請求項６】
前記リクエスト実行手段は、前記処理を実行する際にエラーが生じる場合に、エラーメッセージを前記レスポンスとする
請求項１乃至請求項５のいずれかに記載の情報処理装置。
【請求項７】
前記送信手段は、前記第１情報処理装置において実行される所定の情報を前記第１情報処理装置に送信し、
前記リクエスト抽出手段は、前記ソースプログラムとして前記所定の情報からリクエストを抽出する、
請求項１乃至請求項６のいずれかに記載の情報処理装置。
【請求項８】
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出し、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとし、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信するリクエスト処理方法。
【請求項９】
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出機能と、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行機能と、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信する送信機能と
をコンピュータに実現させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記第１情報処理装置が前記レスポンスを受け取り、受け取った前記レスポンスに基づき前記オブジェクトプログラムを継続して実行する状況において入力されるパラメタを、前記ソースプログラムから抽出するパラメタ抽出機能を更に備え、
前記送信機能によって、前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスと前記パラメタとを前記第１情報処理装置に送信する
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、リクエストを処理する情報処理装置等に関する。
【背景技術】
【０００２】
サーバ・クライアントシステムは、業務処理等を実行するアプリケーションを用いてサービスを提供する少数のサーバと、サーバが該サービスを受ける要求（以降、「リクエスト」とも表す）に応じて提供するサービスを受け取る多数のクライアントとを有する。サーバ・クライアントシステムにおいては、サーバは、多数のクライアントが送信するリクエストを、許容時間内に処理し、処理した結果（以降、「レスポンス」とも表す。）をクライアントに返答する。このため、サーバは、高性能な処理能力を有する。【０００３】
サーバ・クライアントシステムを運用する場合において、クライアント数は、該サーバ・クライアントシステムを設計する時点において想定していたクライアント数よりも多くなる傾向がある。また、サーバ・クライアントシステムにおいて、サーバが、新たに追加されるサービスや、設計する時点において想定していた処理量以上のデータを処理することになる傾向がある。このため、サーバは、高性能な処理能力を有していたとしても、クライアントから受け取るリクエストを、許容時間内に処理できないこともある。この場合、サーバが提供するサービスは遅延する。【０００４】
サーバ・クライアントシステムにおいてサービスが遅延する一因は、上記のように、クライアントが、設計する時点において想定していた処理量よりも多くの処理量を一度に要求することである。あるいは、サービスが遅延する一因は、多くのクライアントが同時期にサービスを要求することである。【０００５】
処理量が増えることに起因する遅延を軽減する方法としては、特許文献１が開示するサーバコンピュータシステムのように、サーバがクライアントから実際にリクエストを受け取る前に、あらかじめ該リクエストに応じた処理を行う方法がある。【０００６】
該サーバコンピュータシステムは、まず、リクエストに関する規則性を統計的な手法を用いて解析し、得られた規則性を統計データとして記憶装置に保存する。次に、該サーバコンピュータシステムは、記憶装置に保存する規則性に基づき、次に送受信するリクエストを予測する。次に、該サーバコンピュータシステムは、予測したリクエストに基づき、該リクエストに関する処理を実行し、実際にクライアントからリクエストを受けるのに応じて、実行した結果を出力する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３４８０７９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、統計的な手法は、必ずしも正しい予測を行うとは限らない。統計データがノイズを含む場合等に、特許文献１が開示するサーバコンピュータシステムは、ノイズを含む統計データに基づき、リクエストを予測する。したがって、該サーバコンピュータシステムにおける予測精度は、必ずしも高くはない。この場合、該サーバコンピュータシステムは、誤って予測したリクエストに関する処理を実行する。【０００９】
この結果、該サーバコンピュータシステムは、実際にクライアントからリクエストを受け取る場合に、受け取ったリクエストを実行する。したがって、リクエストを処理する時間は遅延する。【００１０】
そこで、本発明の主たる目的は、リクエストを高速に処理する情報処理装置等を提供することである。
【課題を解決するための手段】
【００１１】
前述の目的を達成するために、本発明に係る情報処理装置は、以下の構成を備えることを特徴とする。【００１２】
すなわち、本発明の一態様に係る情報処理装置は、
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出手段と、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行手段と、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信する送信手段と
を備える。【００１３】
また、本発明の他の見地として、本発明の一態様に係るリクエスト処理方法は、
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出し、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとし、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信する。【００１４】
さらに、同目的は、係るプログラム、および、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１５】
本発明に係る情報処理装置等によれば、リクエストを高速に処理することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る情報処理装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る情報処理装置における処理の流れを示すフローチャートである。
【図３】リクエスト抽出部が解析するソースプログラムの一例を表す図である。
【図４】解析手法の一例を表す図である。
【図５】リクエスト抽出部が抽出するリクエストの一例を概念的に表す図である。
【図６】リクエスト実行部が作成するレスポンスの一例を概念的に表す図である。
【図７】本発明の第２の実施形態に係る情報処理装置が有する構成を示すブロック図である。
【図８】第２の実施形態に係る情報処理装置における処理の流れを示すフローチャートである。
【図９】パラメタ抽出部が抽出するパラメタに関する情報の一例を概念的に表す図である。
【図１０】本発明の第３の実施形態に係る情報処理装置が有する構成を示すブロック図である。
【図１１】第３の実施形態に係る情報処理装置における処理の流れを示すフローチャートである。
【図１２】本発明の各実施形態に係る情報処理装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００１８】
＜第１の実施形態＞
本発明の第１の実施形態に係る情報処理装置１０１が有する構成と、情報処理装置１０１が行う処理とについて、図１と図２とを参照しながら詳細に説明する。図１は、本発明の第１の実施形態に係る情報処理装置１０１が有する構成を示すブロック図である。図２は、第１の実施形態に係る情報処理装置１０１における処理の流れを示すフローチャートである。
【００１９】
本実施形態に係る情報処理装置（「サーバ」とも表す。）１０１は、リクエスト抽出部１０２と、リクエスト実行部１０３と、送信部１０４とを有する。
【００２０】
情報処理装置１０１は、通信ネットワーク３００１を介して、第１情報処理装置（「クライアント」とも表す。）３００２との間において、リクエスト等を含む情報を送受信する。
【００２１】
説明の便宜上、第１情報処理装置３００２は、オブジェクトプログラムを実行するとする。また、オブジェクトプログラムは、ソースプログラムを変換することにより得られるとする。
【００２２】
まず、リクエスト抽出部１０２は、たとえば、図３に示すソースプログラムを、図４に示すような解析手法を用いて解析する。リクエスト抽出部１０２は、第１情報処理装置３００２において実行されるオブジェクトプログラムに変換される基となるソースプログラムを静的に解析する。これにより、リクエスト抽出部１０２は、第１情報処理装置３００２が情報処理装置１０１に対し要求するリクエストを予測する。
【００２３】
図３は、リクエスト抽出部１０２が解析するソースプログラムの一例を表す図である。図４は、解析手法の一例を表す図である。図３に示すソースプログラムは、第１情報処理装置３００２において実行されるオブジェクトプログラムに変換される基となるものである。
【００２４】
図３に示すソースプログラムは、Ｃ言語を用いて記述されたプログラムである。該ソースプログラムにおいて、「Ｏｐｅｒａｔｉｏｎ１」乃至「Ｏｐｅｒａｔｉｏｎ５」は、第１情報処理装置３００２が情報処理装置１０１に対し要求するリクエストである。
【００２５】
第１情報処理装置３００２は、該ソースプログラムに従い、リクエスト「Ｏｐｅｒａｔｉｏｎ１」を要求し、その後、リクエスト「Ｏｐｅｒａｔｉｏｎ１」に対する結果をパラメタ（「変数」とも表す）ａに保存する。次に、第１情報処理装置３００２は、パラメタａが正であると判定する場合に、リクエスト「Ｏｐｅｒａｔｉｏｎ２」を要求する。逆に、第１情報処理装置３００２は、パラメタａが正でないと判定する場合に、リクエスト「Ｏｐｅｒａｔｉｏｎ３」を要求する。
【００２６】
また、図４が示すグラフ構造における各節点（ノード）は、命令を表す。また、各枝（エッジ）は、条件分岐（たとえば、ｉｆ命令等）における条件を表す。
【００２７】
たとえば、図４の１列目におけるノードは、ｍａｉｎ関数（図３における「ｍａｉｎ（）」）を表す。また、図４の２列目におけるノードは、「第１情報処理装置がリクエスト「Ｏｐｅｒａｔｉｏｎ１」を要求し、次に、リクエスト「Ｏｐｅｒａｔｉｏｎ１」に対する結果をパラメタａに保存し、さらに、パラメタｂを読み取る」処理を表す。さらに、図４の２列目におけるノードと、図４の３列目の左側のノードを結ぶエッジは、図３における５列目の条件分岐における条件が成り立つ場合を表す。
【００２８】
次に、リクエスト抽出部１０２は、第１情報処理装置３００２がオブジェクトプログラムを実行する状況に応じて、ソースプログラムからリクエストを抽出する（ステップＳ２０１）。
【００２９】
たとえば、第１情報処理装置３００２が、図３における１行目（ｍａｉｎ（））を実行する場合に、リクエスト抽出部１０２は、第１情報処理装置３００２が次に要求するリクエスト「Ｏｐｅｒａｔｉｏｎ１」を抽出する。また、第１情報処理装置３００２が、図３における４行目（ｓｃａｎｆ命令）を実行する場合に、リクエスト抽出部１０２は、第１情報処理装置３００２が次に要求するリクエスト「Ｏｐｅｒａｔｉｏｎ２」及びリクエスト「Ｏｐｅｒａｔｉｏｎ３」を抽出する。
【００３０】
リクエスト抽出部１０２は、抽出したリクエストを、図５に示すような情報としてまとめてもよい。図５は、リクエスト抽出部１０２が抽出するリクエストの一例を概念的に表す図である。たとえば、図５に示す例において、リクエスト「Ｏｐｅｒａｔｉｏｎ１」は、クライアント２００（第１情報処理装置３００２の１つ）に関連付けされている。これは、クライアント２００は、オブジェクトプログラムにおいて、リクエスト「Ｏｐｅｒａｔｉｏｎ１」を要求することを表す。
【００３１】
リクエストは、上述した項目以外の項目を含んでいてもよく、上述した例に限定されない。
【００３２】
次に、リクエスト実行部１０３は、リクエスト抽出部１０２が抽出したリクエストに応じた処理を実行し、実行した結果をレスポンスとする（ステップＳ２０２）。リクエスト抽出部１０２が複数のリクエストを抽出した場合、本実施形態におけるリクエスト実行部１０３は、各リクエストに応じた処理を実行する。しかし、後述の実施形態に示すように、リクエストをさらに絞り込むことにより実行してもよい。
【００３３】
上述した例において、リクエスト実行部１０３は、リクエスト「Ｏｐｅｒａｔｉｏｎ１」に応じた処理を実行し、値１０を第１情報処理装置３００２に送信するとする。この場合に、第１情報処理装置３００２は、図６に示すようなレスポンスを作成する。図６は、リクエスト実行部１０３が作成するレスポンスの一例を概念的に表す図である。
【００３４】
レスポンスは、上述した項目以外の項目を含んでいてもよく、上述した例に限定されない。
【００３５】
図６に示すレスポンスは、クライアント２００と、リクエスト「Ｏｐｅｒａｔｉｏｎ１」と、値１０とを関連付けする。すなわち、これは、クライアント２００が要求したリクエスト「Ｏｐｅｒａｔｉｏｎ１」に対する実行結果が１０であることを表す。
【００３６】
また、リクエスト実行部１０３は、リクエストに応じた処理を実行する際にエラーが生じる場合には、該エラーを表すエラーメッセージをレスポンスとしてもよい。
【００３７】
次に、送信部１０４は、第１情報処理装置３００２が実際にリクエスト要求するのに応じて、リクエスト実行部１０３が算出したレスポンスを第１情報処理装置３００２に送信する（ステップＳ２０３）。
【００３８】
本実施形態に係る情報処理装置１０１は、第１情報処理装置３００２にて実行されるオブジェクトプログラムの基となるソースプログラムに基づき、第１情報処理装置が要求するリクエストを予測する。そして、情報処理装置１０１は、第１情報処理装置３００２が実際に要求する前に、予測したリクエストに応じた処理を実行する。このため、情報処理装置１０１は、第１情報処理装置３００２がリクエストするのに応じて、すぐにレスポンスを送ることができる。
【００３９】
一方、特許文献１が開示するサーバコンピュータシステムは、リクエストに関する統計データに基づき、リクエストを予測する。統計データが誤差を含む場合に、該統計データに基づいた予測が正確でなくなるので、該サーバコンピュータシステムは、誤ったリクエストを処理する。この結果、サーバコンピュータシステムにおいては、処理効率は低下する。
【００４０】
すなわち、第１の実施形態に係る情報処理装置によれば、リクエストを高速に処理することができる。
【００４１】
尚、上述した例において、第１情報処理装置３００２は、オブジェクトプログラムを実行するとした。しかし、本実施形態は、Ｗｅｂにおけるアプリケーションにも適用可能である。たとえば、情報処理装置１０１は、サーバ（情報処理装置１０１）からクライアント（第１情報処理装置３００２の１つ）に送信するＷｅｂデータ（レスポンス）を上述したソースプログラムとして解析してもよい。この場合における情報処理装置１０１の一例として、送信部１０４は、第１の情報処理装置３００２にWebデータを送信する。また、リクエスト抽出部１０２は、上述したWebデータをソースプログラムとして解析する。すなわち、本実施形態は、上述した例に限定されない。
【００４２】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００４３】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００４４】
図７と図８とを参照しながら、第２の実施形態に係る情報処理装置７０１が有する構成と、情報処理装置７０１が行う処理とについて説明する。図７は、本発明の第２の実施形態に係る情報処理装置７０１が有する構成を示すブロック図である。図８は、第２の実施形態に係る情報処理装置７０１における処理の流れを示すフローチャートである。
【００４５】
本実施形態に係る情報処理装置７０１は、リクエスト抽出部１０２と、リクエスト実行部１０３と、送信部７０２と、パラメタ抽出部７０３とを有する。
【００４６】
情報処理装置７０１は、通信ネットワーク３００１を介して、第１情報処理装置３００２との間において、リクエスト等を含む情報を送受信する。
【００４７】
パラメタ抽出部７０３は、ソースプログラムからパラメタを抽出する（ステップＳ８０１）。パラメタ抽出部７０３により抽出されるパラメタは、第１情報処理装置３００２がリクエスト実行部１０３にて生成されたレスポンスを受け取り、該レスポンスに基づいてオブジェクトプログラムを継続して実行する場合に必要である。パラメタ抽出部７０３は、例えばソースプログラムを解析することにより、パラメタを抽出する。パラメタ抽出部７０３は、さらに、該パラメタに関する型を抽出してもよい。
【００４８】
たとえば、ソースプログラムが図３に示すプログラムである場合、リクエスト抽出部１０２は、リクエスト「Ｏｐｅｒａｔｉｏｎ１」をソースプログラムから抽出したとする。
リクエスト実行部１０３は、リクエスト「Ｏｐｅｒａｔｉｏｎ１」を実行し、実行した結果をレスポンスとする。
【００４９】
次に、パラメタ抽出部７０３は、ソースプログラムにおいてリクエスト「Ｏｐｅｒａｔｉｏｎ１」以降に実行する命令のうち、利用者がパラメタを入力する必要がある命令及び該パラメタを抽出する。この例の場合、ｓｃａｎｆ命令は、利用者がパラメタを入力する必要がある命令である。このため、パラメタ抽出部７０３は、ｓｃａｎｆ命令、及び、パラメタｂを抽出する。
【００５０】
たとえば、パラメタ抽出部７０３は、抽出したパラメタを図９に示すような情報として算出してもよい。図９は、パラメタ抽出部７０３が抽出するパラメタに関する情報の一例を概念的に表す図である。図９において、クライアント２００（第１情報処理装置３００２の一つ）は、パラメタｂに関連付けされている。これは、クライアント２００において、利用者がパラメタｂを入力する必要があることを表す。
【００５１】
次に、送信部７０２は、第１情報処理装置３００２が実際にリクエストを要求するのに応じて、リクエスト実行部１０３が作成したレスポンスと、パラメタ抽出部７０３が抽出したパラメタとを第１情報処理装置３００２に送信する（ステップＳ８０２）。
【００５２】
尚、送信部７０２は、第１情報処理装置３００２に、レスポンスとパラメタとを逐次的に送信してもよいし、同時に送信してもよい。すなわち、送信部７０２がレスポンスとパラメタと送信する順序は、上述した例に限定されない。
【００５３】
第２の実施形態は、上記説明した構成以外の構成は、第１の実施形態と同様の構成を有するため、第２の実施形態は、第１の実施形態と同様の効果を奏する。すなわち、第２の実施形態に係る情報処理装置によれば、リクエストを高速に処理することができる。
【００５４】
さらに、第２の実施形態に係る情報処理装置７０１は、オブジェクトプログラムを継続して実行する状況において、利用者が入力するパラメタを抽出し、抽出したパラメタを第１情報処理装置３００２に送信する。この場合、利用者は、第１情報処理装置３００２においてレスポンスを受け取るまでに、パラメタ抽出部７０３が抽出したパラメタを入力することもできる。したがって、本実施形態によれば、リクエストを送信してからレスポンスを受信するまでの待ち時間を利用者に意識させない効果も有する。
【００５５】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第３の実施形態について説明する。
【００５６】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００５７】
図１０と図１１とを参照しながら、第３の実施形態に係る情報処理装置１００１が有する構成と、情報処理装置１００１が行う処理とについて説明する。図１０は、本発明の第３の実施形態に係る情報処理装置１００１が有する構成を示すブロック図である。図１１は、第３の実施形態に係る情報処理装置１００１における処理の流れを示すフローチャートである。
【００５８】
本実施形態に係る情報処理装置１００１は、リクエスト抽出部１００３と、リクエスト実行部１０３と、送信部１０４と、実行部１００２とを有する。
【００５９】
情報処理装置１００１は、通信ネットワーク３００１を介して、第１情報処理装置３００２との間において、リクエスト等を含む情報を送受信する。
【００６０】
まず、実行部１００２は、第１情報処理装置３００２がオブジェクトプログラムを実行する状況に応じて、該オブジェクトプログラムを実行する。このようにすることで、実行部１００２は、情報処理装置１００１において、第１情報処理装置３００２における状態を算出する（ステップＳ１１０１）。すなわち、実行部１００２は、第１情報処理装置３００２における状態を再現する。なお、この場合において、状態は、ソースプログラムにおけるパラメタの値を含む。また、状態は、ソースプログラムにおいて、パラメタの値に応じて処理が分岐する場合における条件分岐等を含んでいてもよい。状態は、上述した例に限定されない。
【００６１】
図３に示す例を参照しながら、情報処理装置１００１における処理について説明する。
【００６２】
たとえば、第１情報処理装置３００２は、ソースプログラムの先頭から順次処理し、その後、リクエスト「Ｏｐｅｒａｔｉｏｎ１」を処理した結果を情報処理装置１００１から受け取った状態であるとする。
【００６３】
この場合、実行部１００２は、第１情報処理装置３００２と同様に、ソースプログラムにおける先頭から順次処理し、その後、リクエスト「Ｏｐｅｒａｔｉｏｎ１」を処理した結果を、情報処理装置１００１から受け取った状態を算出する。
【００６４】
次に、リクエスト抽出部１００３は、実行部１００２が算出する状態とソースプログラムとに基づきリクエストを抽出する（ステップＳ１１０２）。
【００６５】
図３に示すソースプログラム例の場合、たとえば、パラメタａの値が０であったとする。
【００６６】
この場合、パラメタａの値に応じて、処理は、図３における５行目に示す分岐命令（すなわち、ｉｆ命令文）において分岐する。パラメタａは０であるため、分岐命令における条件判定は成立しない。このため、リクエスト抽出部１００３は、ソースプログラムに基づき、処理が図３における１２行目に示す処理に推移すると判定することにより、リクエスト「Ｏｐｅｒａｔｉｏｎ３」を抽出する。
【００６７】
第３の実施形態は、上記説明した構成以外の構成は、第１の実施形態と同様の構成を有するため、第３の実施形態は、第１の実施形態と同様の効果を奏する。すなわち、第３の実施形態に係る情報処理装置によれば、リクエストを高速に処理することができる。
【００６８】
さらに、リクエスト抽出部１００３は、ソースプログラムと、実行部１００２が算出する状態とに基づき、リクエストを抽出する。すなわち、実行部１００２がオブジェクトプログラムを実行することで、リクエスト抽出部１００３は、第１情報処理装置３００２における状態を反映した上でリクエストを抽出することができる。このため、リクエスト抽出部１００３は、第１の実施形態に比べ、さらに、リクエストを絞り込む機能を有する。この場合、リクエスト実行部１０３における処理量は、リクエスト抽出部１００３が抽出するリクエストに応じて決まるため、第１の実施形態に比べ減少する。
【００６９】
すなわち、本実施形態は、上述した効果に加え、さらに、処理時間が減少する効果を有する。
【００７０】
（ハードウェア構成例）
上述した本発明の各実施形態における情報処理装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係る情報処理装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係る情報処理装置は、専用の装置として実現してもよい。
【００７１】
図１２は、第１の実施形態乃至第３の実施形態に係る情報処理装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、不揮発性記録媒体２４、入力装置２５、および、出力装置２６を有する。
【００７２】
不揮発性記録媒体２４は、コンピュータが読み取り可能な記録媒体であり、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記憶媒体２４は、例えば以下である。ただし、不揮発性記録媒体２４は、上述した媒体に限定されない。
・コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）
・デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）
・ブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ：登録商標）
・ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ
・ソリッドステートドライブ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）
また、不揮発性記録媒体２４の代わりに、通信ネットワークを介して係るプログラムを持ち運びしても良い。
【００７３】
すなわち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、図７、あるいは、図１０に示した各部が表す機能（処理）に対応するところのメモリ２２にあるプログラム（図２、図８、あるいは、図１１）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【００７４】
すなわち、このような場合、本発明は、係るプログラムによっても成し得ると捉えることができる。更に、係るプログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【００７５】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００７６】
この出願は、２０１３年７月３日に出願された日本出願特願２０１３−１３９４１４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００７７】
１０１    情報処理装置
１０２    リクエスト抽出部
１０３    リクエスト実行部
１０４    送信部
７０１    情報処理装置
７０２    送信部
７０３    パラメタ抽出部
１００１    情報処理装置
１００２    実行部
１００３    リクエスト抽出部
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
３００１    通信ネットワーク
３００２    第１情報処理装置
【図１】
2015001739.tif 000003
【図２】
2015001739.tif 000004
【図３】
2015001739.tif 000005
【図４】
2015001739.tif 000006
【図５】
2015001739.tif 000007
【図６】
2015001739.tif 000008
【図７】
2015001739.tif 000009
【図８】
2015001739.tif 000010
【図９】
2015001739.tif 000011
【図１０】
2015001739.tif 000012
【図１１】
2015001739.tif 000013
【図１２】
2015001739.tif 000014
【手続補正書】
【提出日】平成27年12月18日(2015.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出手段と、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行手段と、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信する送信手段と
を備える情報処理装置。
【請求項２】
前記第１情報処理装置が前記レスポンスを受け取り、受け取った前記レスポンスに基づき前記オブジェクトプログラムを継続して実行する状況において必要となるパラメタを、前記ソースプログラムから抽出するパラメタ抽出手段を更に備え、
前記送信手段は、前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスと前記パラメタとを前記第１情報処理装置に送信する
請求項１に記載の情報処理装置。
【請求項３】
前記第１情報処理装置が前記オブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムを実行することにより、前記第１情報処理装置における状態を算出する実行手段を更に備え、
前記リクエスト抽出手段は、前記状態と前記ソースプログラムとに基づき、前記リクエストを抽出する
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記状態は、前記ソースプログラムにおけるパラメタの値を含む
請求項３に記載の情報処理装置。
【請求項５】
前記リクエスト抽出手段は、前記ソースプログラムにおいて前記パラメタの値に応じて処理が分岐する場合に、前記パラメタの値に基づき前記リクエストを抽出する
請求項３または請求項４に記載の情報処理装置。
【請求項６】
前記リクエスト実行手段は、前記処理を実行する際にエラーが生じる場合に、エラーメッセージを前記レスポンスとする
請求項１乃至請求項５のいずれかに記載の情報処理装置。
【請求項７】
前記送信手段は、前記第１情報処理装置において実行される所定の情報を前記第１情報処理装置に送信し、
前記リクエスト抽出手段は、前記ソースプログラムとして前記所定の情報からリクエストを抽出する、
請求項１乃至請求項６のいずれかに記載の情報処理装置。
【請求項８】
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出し、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとし、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信するリクエスト処理方法。
【請求項９】
第１情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出機能と、
前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行機能と、
前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第１情報処理装置に送信する送信機能と
をコンピュータに実現させるプログラム。
【請求項１０】
前記第１情報処理装置が前記レスポンスを受け取り、受け取った前記レスポンスに基づき前記オブジェクトプログラムを継続して実行する状況において入力されるパラメタを、前記ソースプログラムから抽出するパラメタ抽出機能を更に備え、
前記送信機能によって、前記第１情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスと前記パラメタとを前記第１情報処理装置に送信する
請求項９に記載のプログラム。
【国際調査報告】
2015001739.tif 000015
2015001739.tif 000016