WO2015001739A1 - Information processing device, request processing method, and computer-readable recording medium - Google Patents

Information processing device, request processing method, and computer-readable recording medium Download PDF

Info

Publication number
WO2015001739A1
WO2015001739A1 PCT/JP2014/003228 JP2014003228W WO2015001739A1 WO 2015001739 A1 WO2015001739 A1 WO 2015001739A1 JP 2014003228 W JP2014003228 W JP 2014003228W WO 2015001739 A1 WO2015001739 A1 WO 2015001739A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
request
processing apparatus
response
program
Prior art date
Application number
PCT/JP2014/003228
Other languages
French (fr)
Japanese (ja)
Inventor
政義 大内
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2015525031A priority Critical patent/JP6269668B2/en
Publication of WO2015001739A1 publication Critical patent/WO2015001739A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Definitions

  • the present invention relates to an information processing apparatus that processes a request, for example.
  • the server / client system receives a small number of servers that provide services using applications that execute business processing and the like, and a large number of services that are provided according to requests that the servers receive the services (hereinafter also referred to as “requests”). With clients.
  • the server processes requests transmitted by a large number of clients within an allowable time, and returns the processed result (hereinafter also referred to as “response”) to the client. For this reason, the server has a high-performance processing capability.
  • the number of clients tends to be larger than the number of clients assumed at the time of designing the server / client system. Further, in the server / client system, the server tends to process a service to be newly added or data exceeding the processing amount assumed at the time of designing. For this reason, even if the server has a high-performance processing capability, it may not be able to process the request received from the client within the allowable time. In this case, the service provided by the server is delayed.
  • One reason for the delay in service in the server / client system is that, as described above, the client requests a larger amount of processing at a time than the amount of processing assumed at the time of designing.
  • one reason for service delays is that many clients request services at the same time.
  • the server computer system first analyzes the regularity of the request using a statistical technique, and stores the obtained regularity as statistical data in a storage device. Next, the server computer system predicts the next request to be transmitted / received based on the regularity stored in the storage device. Next, the server computer system executes processing related to the request based on the predicted request, and outputs the execution result in response to the request actually received from the client.
  • the server computer system disclosed in Patent Document 1 predicts a request based on the statistical data including noise. Therefore, the prediction accuracy in the server computer system is not necessarily high. In this case, the server computer system executes a process related to an erroneously predicted request.
  • the server computer system executes the received request. Therefore, the time for processing the request is delayed.
  • a main object of the present invention is to provide an information processing apparatus that processes requests at high speed.
  • an information processing apparatus is characterized by having the following configuration.
  • Request extraction means for extracting a request from a source program that is a basis of the object program according to a situation in which the first information processing apparatus executes the object program;
  • Request execution means for executing processing according to the request and using the execution result as a response;
  • Transmitting means for transmitting the response to the first information processing apparatus in response to the first information processing apparatus requesting the request.
  • a request processing method includes: Depending on the situation in which the first information processing apparatus executes the object program, the request is extracted from the source program that is the basis of the object program, Execute the process according to the request, the execution result as a response, The response is transmitted to the first information processing device in response to the first information processing device requesting the request.
  • this object is also realized by such a program and a computer-readable recording medium for recording the program.
  • the information processing apparatus can process a request at high speed.
  • FIG. 1 is a block diagram showing the configuration of the information processing apparatus 101 according to the first embodiment of the present invention.
  • FIG. 2 is a flowchart showing the flow of processing in the information processing apparatus 101 according to the first embodiment.
  • the information processing apparatus (also referred to as “server”) 101 includes a request extraction unit 102, a request execution unit 103, and a transmission unit 104.
  • the information processing apparatus 101 transmits and receives information including requests and the like to and from the first information processing apparatus (also referred to as “client”) 3002 via the communication network 3001.
  • client also referred to as “client”
  • the object program is obtained by converting the source program.
  • the request extraction unit 102 analyzes the source program shown in FIG. 3 by using an analysis method as shown in FIG.
  • the request extraction unit 102 statically analyzes a source program that is a basis to be converted into an object program executed in the first information processing apparatus 3002. Accordingly, the request extraction unit 102 predicts a request that the first information processing apparatus 3002 requests the information processing apparatus 101.
  • FIG. 3 is a diagram illustrating an example of a source program analyzed by the request extraction unit 102.
  • FIG. 4 is a diagram illustrating an example of an analysis method.
  • the source program shown in FIG. 3 is a basis for conversion into an object program executed in the first information processing apparatus 3002.
  • the source program shown in FIG. 3 is a program written using C language.
  • “Operation 1” to “Operation 5” are requests that the first information processing apparatus 3002 requests the information processing apparatus 101.
  • the first information processing apparatus 3002 requests the request “Operation1” according to the source program, and then stores the result for the request “Operation1” in the parameter (also referred to as “variable”) a. Next, when determining that the parameter a is positive, the first information processing apparatus 3002 requests the request “Operation2”. Conversely, the first information processing apparatus 3002 requests the request “Operation3” when determining that the parameter a is not positive.
  • Each node in the graph structure shown in FIG. 4 represents an instruction.
  • Each branch (edge) represents a condition in a conditional branch (for example, an if instruction).
  • the node in the first column in FIG. 4 represents a main function (“main ()” in FIG. 3).
  • the node in the second column in FIG. 4 indicates that “the first information processing apparatus requests the request“ Operation1 ”, then stores the result for the request“ Operation1 ”in the parameter“ a ”, and further reads the parameter“ b ”.
  • the edge connecting the node in the second column in FIG. 4 and the left node in the third column in FIG. 4 represents a case where the condition in the conditional branch in the fifth column in FIG. 3 is satisfied.
  • the request extraction unit 102 extracts a request from the source program according to the situation in which the first information processing apparatus 3002 executes the object program (step S201).
  • the request extraction unit 102 extracts the request “Operation1” that the first information processing apparatus 3002 next requests. To do.
  • the request extraction unit 102 requests the request “Operation2” and the request “ “Operation3” is extracted.
  • the request extraction unit 102 may collect the extracted requests as information as shown in FIG.
  • FIG. 5 is a diagram conceptually illustrating an example of a request extracted by the request extraction unit 102.
  • the request “Operation1” is associated with the client 200 (one of the first information processing devices 3002). This represents that the client 200 requests the request “Operation1” in the object program.
  • the request may include items other than the items described above, and is not limited to the example described above.
  • the request execution unit 103 executes processing according to the request extracted by the request extraction unit 102, and sets the execution result as a response (step S202).
  • the request execution unit 103 in the present embodiment executes processing according to each request. However, as shown in an embodiment described later, the request may be executed by further narrowing down the requests.
  • the request execution unit 103 executes processing according to the request “Operation1” and transmits the value 10 to the first information processing apparatus 3002.
  • the first information processing apparatus 3002 creates a response as shown in FIG.
  • FIG. 6 is a diagram conceptually illustrating an example of a response created by the request execution unit 103.
  • the response may include items other than the items described above, and is not limited to the example described above.
  • the response shown in FIG. 6 associates the client 200 with the request “Operation1” and the value 10. That is, this indicates that the execution result for the request “Operation 1” requested by the client 200 is 10.
  • the request execution unit 103 may use an error message indicating the error as a response.
  • the transmission unit 104 transmits the response calculated by the request execution unit 103 to the first information processing device 3002 in response to the first information processing device 3002 actually requesting the request (step S203).
  • the information processing apparatus 101 predicts a request requested by the first information processing apparatus based on a source program that is a basis of an object program executed by the first information processing apparatus 3002. Then, the information processing apparatus 101 executes processing according to the predicted request before the first information processing apparatus 3002 actually requests it. Therefore, the information processing apparatus 101 can immediately send a response in response to the request from the first information processing apparatus 3002.
  • the server computer system disclosed in Patent Document 1 predicts a request based on statistical data regarding the request. If the statistical data contains an error, the server computer system processes an incorrect request because the prediction based on the statistical data becomes inaccurate. As a result, processing efficiency decreases in the server computer system.
  • requests can be processed at high speed.
  • the first information processing apparatus 3002 executes the object program.
  • the information processing apparatus 101 may analyze Web data (response) transmitted from a server (information processing apparatus 101) to a client (one of the first information processing apparatuses 3002) as the above-described source program.
  • the transmission unit 104 transmits Web data to the first information processing apparatus 3002.
  • the request extraction unit 102 analyzes the Web data described above as a source program. That is, this embodiment is not limited to the above-described example.
  • FIG. 7 is a block diagram showing the configuration of the information processing apparatus 701 according to the second embodiment of the present invention.
  • FIG. 8 is a flowchart showing the flow of processing in the information processing apparatus 701 according to the second embodiment.
  • the information processing apparatus 701 includes a request extraction unit 102, a request execution unit 103, a transmission unit 702, and a parameter extraction unit 703.
  • the information processing apparatus 701 transmits / receives information including a request to / from the first information processing apparatus 3002 via the communication network 3001.
  • the parameter extraction unit 703 extracts parameters from the source program (step S801).
  • the parameters extracted by the parameter extraction unit 703 are necessary when the first information processing apparatus 3002 receives the response generated by the request execution unit 103 and continuously executes the object program based on the response.
  • the parameter extraction unit 703 extracts parameters by, for example, analyzing a source program.
  • the parameter extraction unit 703 may further extract a type related to the parameter.
  • the request extraction unit 102 extracts the request “Operation1” from the source program.
  • the request execution unit 103 executes the request “Operation1” and uses the execution result as a response.
  • the parameter extraction unit 703 extracts an instruction that requires a user to input a parameter from instructions executed after the request “Operation 1” in the source program and the parameter.
  • the scan instruction is an instruction that requires the user to input parameters. For this reason, the parameter extraction unit 703 extracts a scan instruction and a parameter b.
  • the parameter extraction unit 703 may calculate the extracted parameters as information as shown in FIG.
  • FIG. 9 is a diagram conceptually illustrating an example of information regarding parameters extracted by the parameter extraction unit 703.
  • the client 200 one of the first information processing devices 3002 is associated with the parameter b. This indicates that the user needs to input the parameter b in the client 200.
  • the transmission unit 702 displays the response created by the request execution unit 103 and the parameters extracted by the parameter extraction unit 703 as the first information processing.
  • the data is transmitted to the device 3002 (step S802).
  • the transmission unit 702 may sequentially transmit responses and parameters to the first information processing apparatus 3002, or may transmit them simultaneously. That is, the order in which the transmission unit 702 transmits the response, the parameter, and the parameter is not limited to the above-described example.
  • the second embodiment has the same configuration as the first embodiment except for the configuration described above, the second embodiment has the same effects as the first embodiment. That is, according to the information processing apparatus according to the second embodiment, a request can be processed at high speed.
  • the information processing apparatus 701 extracts parameters input by the user in a situation where the object program is continuously executed, and transmits the extracted parameters to the first information processing apparatus 3002.
  • the user can input the parameter extracted by the parameter extraction unit 703 until the first information processing apparatus 3002 receives the response. Therefore, according to this embodiment, there is also an effect that does not make the user aware of the waiting time from when a request is transmitted until when a response is received.
  • FIG. 10 is a block diagram showing a configuration of the information processing apparatus 1001 according to the third embodiment of the present invention.
  • FIG. 11 is a flowchart showing the flow of processing in the information processing apparatus 1001 according to the third embodiment.
  • the information processing apparatus 1001 includes a request extraction unit 1003, a request execution unit 103, a transmission unit 104, and an execution unit 1002.
  • the information processing apparatus 1001 transmits and receives information including requests and the like to and from the first information processing apparatus 3002 via the communication network 3001.
  • the execution unit 1002 executes the object program according to the situation in which the first information processing apparatus 3002 executes the object program.
  • the execution part 1002 calculates the state in the 1st information processing apparatus 3002 in the information processing apparatus 1001 (step S1101). That is, the execution unit 1002 reproduces the state in the first information processing device 3002.
  • the state includes a parameter value in the source program.
  • the state may include a conditional branch in the case where the process branches according to the parameter value in the source program. The state is not limited to the example described above.
  • the first information processing apparatus 3002 receives the result of processing the request “Operation1” from the information processing apparatus 1001 after sequentially processing from the top of the source program.
  • the execution unit 1002 sequentially processes from the top in the source program, and then calculates the state of receiving the result of processing the request “Operation1” from the information processing apparatus 1001. .
  • the request extraction unit 1003 extracts a request based on the state calculated by the execution unit 1002 and the source program (step S1102).
  • the process branches at a branch instruction (that is, an if statement) shown on the fifth line in FIG. Since parameter a is 0, the condition determination in the branch instruction is not satisfied. Therefore, the request extraction unit 1003 extracts the request “Operation3” by determining that the process shifts to the process indicated by the 12th line in FIG. 3 based on the source program.
  • the third embodiment has the same configuration as the first embodiment except for the configuration described above, the third embodiment has the same effect as the first embodiment. That is, according to the information processing apparatus according to the third embodiment, requests can be processed at high speed.
  • the request extraction unit 1003 extracts a request based on the source program and the state calculated by the execution unit 1002. That is, when the execution unit 1002 executes the object program, the request extraction unit 1003 can extract a request while reflecting the state in the first information processing apparatus 3002. For this reason, the request extraction unit 1003 further has a function of narrowing down the requests as compared with the first embodiment. In this case, since the processing amount in the request execution unit 103 is determined according to the request extracted by the request extraction unit 1003, it is reduced compared to the first embodiment.
  • this embodiment has an effect of further reducing the processing time in addition to the above-described effect.
  • the information processing apparatus may be realized using at least two calculation processing apparatuses physically or functionally.
  • the information processing apparatus may be realized as a dedicated apparatus.
  • FIG. 12 is a diagram schematically illustrating a hardware configuration of a calculation processing apparatus that can realize the information processing apparatus according to the first to third embodiments.
  • the computing device 20 includes a central processing unit (Central Processing Unit, hereinafter referred to as “CPU”) 21, a memory 22, a disk 23, a nonvolatile recording medium 24, an input device 25, and an output device 26.
  • CPU Central Processing Unit
  • the non-volatile recording medium 24 is a computer-readable recording medium that retains such a program without being supplied with power and allows it to be carried.
  • the nonvolatile storage medium 24 is, for example, as follows. However, the non-volatile recording medium 24 is not limited to the above-described medium. ⁇ Compact Disc ⁇ Digital Versatile Disc (Digital Versatile Disc) ⁇ Blu-ray Disc (registered trademark) ⁇ Universal Serial Bus (Universal Serial Bus) Memory ⁇ Solid State Drive (Solid State Drive) Further, the program may be carried via a communication network instead of the nonvolatile recording medium 24.
  • the CPU 21 copies a software program (computer program: hereinafter simply referred to as “program”) stored in the disk 23 to the memory 22 and executes arithmetic processing.
  • the CPU 21 reads data necessary for program execution from the memory 22. When the display is necessary, the CPU 21 displays the output result on the output device 26. When inputting a program from the outside, the CPU 21 reads the program from the input device 25.
  • the CPU 21 interprets the program (FIG. 2, FIG. 8 or FIG. 11) in the memory 22 corresponding to the function (processing) represented by each unit shown in FIG. 1, FIG. 7, or FIG. Execute.
  • the CPU 21 sequentially performs the processes described in the above-described embodiments of the present invention.
  • the present invention can also be achieved by such a program. Furthermore, it can be understood that the present invention can also be realized by a computer-readable non-volatile recording medium in which such a program is recorded.

Abstract

Provided are an information processing device and the like by which requests can be rapidly processed. An information processing device (101) has the following: a request extraction unit (102) for extracting a request from a source program, which is the basis of an object program, in accordance with the circumstances in which a first information processing device (3002) executes the object program; a request execution unit (103) for executing processing in accordance with the request, and using the result of execution as a response; and a transmission unit (104) for transmitting the response to the first information processing device (3002) in response to when a request is sought by the first information processing device (3002).

Description

情報処理装置、リクエスト処理方法及びコンピュータ読み取り可能な記録媒体Information processing apparatus, request processing method, and computer-readable recording medium
 本発明は、たとえば、リクエストを処理する情報処理装置等に関する。 The present invention relates to an information processing apparatus that processes a request, for example.
 サーバ・クライアントシステムは、業務処理等を実行するアプリケーションを用いてサービスを提供する少数のサーバと、サーバが該サービスを受ける要求(以降、「リクエスト」とも表す)に応じて提供するサービスを受け取る多数のクライアントとを有する。サーバ・クライアントシステムにおいては、サーバは、多数のクライアントが送信するリクエストを、許容時間内に処理し、処理した結果(以降、「レスポンス」とも表す。)をクライアントに返答する。このため、サーバは、高性能な処理能力を有する。 The server / client system receives a small number of servers that provide services using applications that execute business processing and the like, and a large number of services that are provided according to requests that the servers receive the services (hereinafter also referred to as “requests”). With clients. In the server / client system, the server processes requests transmitted by a large number of clients within an allowable time, and returns the processed result (hereinafter also referred to as “response”) to the client. For this reason, the server has a high-performance processing capability.
 サーバ・クライアントシステムを運用する場合において、クライアント数は、該サーバ・クライアントシステムを設計する時点において想定していたクライアント数よりも多くなる傾向がある。また、サーバ・クライアントシステムにおいて、サーバが、新たに追加されるサービスや、設計する時点において想定していた処理量以上のデータを処理することになる傾向がある。このため、サーバは、高性能な処理能力を有していたとしても、クライアントから受け取るリクエストを、許容時間内に処理できないこともある。この場合、サーバが提供するサービスは遅延する。 When a server / client system is operated, the number of clients tends to be larger than the number of clients assumed at the time of designing the server / client system. Further, in the server / client system, the server tends to process a service to be newly added or data exceeding the processing amount assumed at the time of designing. For this reason, even if the server has a high-performance processing capability, it may not be able to process the request received from the client within the allowable time. In this case, the service provided by the server is delayed.
 サーバ・クライアントシステムにおいてサービスが遅延する一因は、上記のように、クライアントが、設計する時点において想定していた処理量よりも多くの処理量を一度に要求することである。あるいは、サービスが遅延する一因は、多くのクライアントが同時期にサービスを要求することである。 One reason for the delay in service in the server / client system is that, as described above, the client requests a larger amount of processing at a time than the amount of processing assumed at the time of designing. Alternatively, one reason for service delays is that many clients request services at the same time.
 処理量が増えることに起因する遅延を軽減する方法としては、特許文献1が開示するサーバコンピュータシステムのように、サーバがクライアントから実際にリクエストを受け取る前に、あらかじめ該リクエストに応じた処理を行う方法がある。 As a method of reducing the delay caused by the increase in the processing amount, as in the server computer system disclosed in Patent Document 1, before the server actually receives the request from the client, the processing corresponding to the request is performed in advance. There is a way.
 該サーバコンピュータシステムは、まず、リクエストに関する規則性を統計的な手法を用いて解析し、得られた規則性を統計データとして記憶装置に保存する。次に、該サーバコンピュータシステムは、記憶装置に保存する規則性に基づき、次に送受信するリクエストを予測する。次に、該サーバコンピュータシステムは、予測したリクエストに基づき、該リクエストに関する処理を実行し、実際にクライアントからリクエストを受けるのに応じて、実行した結果を出力する。 The server computer system first analyzes the regularity of the request using a statistical technique, and stores the obtained regularity as statistical data in a storage device. Next, the server computer system predicts the next request to be transmitted / received based on the regularity stored in the storage device. Next, the server computer system executes processing related to the request based on the predicted request, and outputs the execution result in response to the request actually received from the client.
特許第3480794号公報Japanese Patent No. 3480794
 しかし、統計的な手法は、必ずしも正しい予測を行うとは限らない。統計データがノイズを含む場合等に、特許文献1が開示するサーバコンピュータシステムは、ノイズを含む統計データに基づき、リクエストを予測する。したがって、該サーバコンピュータシステムにおける予測精度は、必ずしも高くはない。この場合、該サーバコンピュータシステムは、誤って予測したリクエストに関する処理を実行する。 However, statistical methods do not always make correct predictions. When the statistical data includes noise, the server computer system disclosed in Patent Document 1 predicts a request based on the statistical data including noise. Therefore, the prediction accuracy in the server computer system is not necessarily high. In this case, the server computer system executes a process related to an erroneously predicted request.
 この結果、該サーバコンピュータシステムは、実際にクライアントからリクエストを受け取る場合に、受け取ったリクエストを実行する。したがって、リクエストを処理する時間は遅延する。 As a result, when the server computer system actually receives a request from a client, the server computer system executes the received request. Therefore, the time for processing the request is delayed.
 そこで、本発明の主たる目的は、リクエストを高速に処理する情報処理装置等を提供することである。 Therefore, a main object of the present invention is to provide an information processing apparatus that processes requests at high speed.
 前述の目的を達成するために、本発明に係る情報処理装置は、以下の構成を備えることを特徴とする。 In order to achieve the above object, an information processing apparatus according to the present invention is characterized by having the following configuration.
 すなわち、本発明の一態様に係る情報処理装置は、
 第1情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出手段と、
 前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行手段と、
 前記第1情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第1情報処理装置に送信する送信手段と
 を備える。
That is, an information processing device according to one embodiment of the present invention is provided.
Request extraction means for extracting a request from a source program that is a basis of the object program according to a situation in which the first information processing apparatus executes the object program;
Request execution means for executing processing according to the request and using the execution result as a response;
Transmitting means for transmitting the response to the first information processing apparatus in response to the first information processing apparatus requesting the request.
 また、本発明の他の見地として、本発明の一態様に係るリクエスト処理方法は、
  第1情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出し、
  前記リクエストに応じた処理を実行し、実行した結果をレスポンスとし、
  前記第1情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第1情報処理装置に送信する。
Further, as another aspect of the present invention, a request processing method according to one aspect of the present invention includes:
Depending on the situation in which the first information processing apparatus executes the object program, the request is extracted from the source program that is the basis of the object program,
Execute the process according to the request, the execution result as a response,
The response is transmitted to the first information processing device in response to the first information processing device requesting the request.
 さらに、同目的は、係るプログラム、および、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。 Furthermore, this object is also realized by such a program and a computer-readable recording medium for recording the program.
 本発明に係る情報処理装置等によれば、リクエストを高速に処理することができる。 The information processing apparatus according to the present invention can process a request at high speed.
本発明の第1の実施形態に係る情報処理装置が有する構成を示すブロック図である。It is a block diagram which shows the structure which the information processing apparatus which concerns on the 1st Embodiment of this invention has. 第1の実施形態に係る情報処理装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the information processing apparatus which concerns on 1st Embodiment. リクエスト抽出部が解析するソースプログラムの一例を表す図である。It is a figure showing an example of the source program which a request extraction part analyzes. 解析手法の一例を表す図である。It is a figure showing an example of an analysis method. リクエスト抽出部が抽出するリクエストの一例を概念的に表す図である。It is a figure which represents notionally an example of the request which a request extraction part extracts. リクエスト実行部が作成するレスポンスの一例を概念的に表す図である。It is a figure which represents notionally an example of the response which a request execution part produces. 本発明の第2の実施形態に係る情報処理装置が有する構成を示すブロック図である。It is a block diagram which shows the structure which the information processing apparatus which concerns on the 2nd Embodiment of this invention has. 第2の実施形態に係る情報処理装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the information processing apparatus which concerns on 2nd Embodiment. パラメタ抽出部が抽出するパラメタに関する情報の一例を概念的に表す図である。It is a figure which expresses an example of the information regarding the parameter which a parameter extraction part extracts conceptually. 本発明の第3の実施形態に係る情報処理装置が有する構成を示すブロック図である。It is a block diagram which shows the structure which the information processing apparatus which concerns on the 3rd Embodiment of this invention has. 第3の実施形態に係る情報処理装置における処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process in the information processing apparatus which concerns on 3rd Embodiment. 本発明の各実施形態に係る情報処理装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。It is a block diagram which shows roughly the hardware constitutions of the calculation processing apparatus which can implement | achieve the information processing apparatus which concerns on each embodiment of this invention.
 次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。 Next, embodiments for carrying out the present invention will be described in detail with reference to the drawings.
 <第1の実施形態>
 本発明の第1の実施形態に係る情報処理装置101が有する構成と、情報処理装置101が行う処理とについて、図1と図2とを参照しながら詳細に説明する。図1は、本発明の第1の実施形態に係る情報処理装置101が有する構成を示すブロック図である。図2は、第1の実施形態に係る情報処理装置101における処理の流れを示すフローチャートである。
<First Embodiment>
The configuration of the information processing apparatus 101 according to the first embodiment of the present invention and the processing performed by the information processing apparatus 101 will be described in detail with reference to FIGS. 1 and 2. FIG. 1 is a block diagram showing the configuration of the information processing apparatus 101 according to the first embodiment of the present invention. FIG. 2 is a flowchart showing the flow of processing in the information processing apparatus 101 according to the first embodiment.
 本実施形態に係る情報処理装置(「サーバ」とも表す。)101は、リクエスト抽出部102と、リクエスト実行部103と、送信部104とを有する。 The information processing apparatus (also referred to as “server”) 101 according to the present embodiment includes a request extraction unit 102, a request execution unit 103, and a transmission unit 104.
 情報処理装置101は、通信ネットワーク3001を介して、第1情報処理装置(「クライアント」とも表す。)3002との間において、リクエスト等を含む情報を送受信する。 The information processing apparatus 101 transmits and receives information including requests and the like to and from the first information processing apparatus (also referred to as “client”) 3002 via the communication network 3001.
 説明の便宜上、第1情報処理装置3002は、オブジェクトプログラムを実行するとする。また、オブジェクトプログラムは、ソースプログラムを変換することにより得られるとする。 For convenience of explanation, it is assumed that the first information processing apparatus 3002 executes an object program. The object program is obtained by converting the source program.
 まず、リクエスト抽出部102は、たとえば、図3に示すソースプログラムを、図4に示すような解析手法を用いて解析する。リクエスト抽出部102は、第1情報処理装置3002において実行されるオブジェクトプログラムに変換される基となるソースプログラムを静的に解析する。これにより、リクエスト抽出部102は、第1情報処理装置3002が情報処理装置101に対し要求するリクエストを予測する。 First, for example, the request extraction unit 102 analyzes the source program shown in FIG. 3 by using an analysis method as shown in FIG. The request extraction unit 102 statically analyzes a source program that is a basis to be converted into an object program executed in the first information processing apparatus 3002. Accordingly, the request extraction unit 102 predicts a request that the first information processing apparatus 3002 requests the information processing apparatus 101.
 図3は、リクエスト抽出部102が解析するソースプログラムの一例を表す図である。図4は、解析手法の一例を表す図である。図3に示すソースプログラムは、第1情報処理装置3002において実行されるオブジェクトプログラムに変換される基となるものである。 FIG. 3 is a diagram illustrating an example of a source program analyzed by the request extraction unit 102. FIG. 4 is a diagram illustrating an example of an analysis method. The source program shown in FIG. 3 is a basis for conversion into an object program executed in the first information processing apparatus 3002.
 図3に示すソースプログラムは、C言語を用いて記述されたプログラムである。該ソースプログラムにおいて、「Operation1」乃至「Operation5」は、第1情報処理装置3002が情報処理装置101に対し要求するリクエストである。 The source program shown in FIG. 3 is a program written using C language. In the source program, “Operation 1” to “Operation 5” are requests that the first information processing apparatus 3002 requests the information processing apparatus 101.
 第1情報処理装置3002は、該ソースプログラムに従い、リクエスト「Operation1」を要求し、その後、リクエスト「Operation1」に対する結果をパラメタ(「変数」とも表す)aに保存する。次に、第1情報処理装置3002は、パラメタaが正であると判定する場合に、リクエスト「Operation2」を要求する。逆に、第1情報処理装置3002は、パラメタaが正でないと判定する場合に、リクエスト「Operation3」を要求する。 The first information processing apparatus 3002 requests the request “Operation1” according to the source program, and then stores the result for the request “Operation1” in the parameter (also referred to as “variable”) a. Next, when determining that the parameter a is positive, the first information processing apparatus 3002 requests the request “Operation2”. Conversely, the first information processing apparatus 3002 requests the request “Operation3” when determining that the parameter a is not positive.
 また、図4が示すグラフ構造における各節点(ノード)は、命令を表す。また、各枝(エッジ)は、条件分岐(たとえば、if命令等)における条件を表す。 Each node in the graph structure shown in FIG. 4 represents an instruction. Each branch (edge) represents a condition in a conditional branch (for example, an if instruction).
 たとえば、図4の1列目におけるノードは、main関数(図3における「main()」)を表す。また、図4の2列目におけるノードは、「第1情報処理装置がリクエスト「Operation1」を要求し、次に、リクエスト「Operation1」に対する結果をパラメタaに保存し、さらに、パラメタbを読み取る」処理を表す。さらに、図4の2列目におけるノードと、図4の3列目の左側のノードを結ぶエッジは、図3における5列目の条件分岐における条件が成り立つ場合を表す。 For example, the node in the first column in FIG. 4 represents a main function (“main ()” in FIG. 3). Further, the node in the second column in FIG. 4 indicates that “the first information processing apparatus requests the request“ Operation1 ”, then stores the result for the request“ Operation1 ”in the parameter“ a ”, and further reads the parameter“ b ”. Represents a process. Further, the edge connecting the node in the second column in FIG. 4 and the left node in the third column in FIG. 4 represents a case where the condition in the conditional branch in the fifth column in FIG. 3 is satisfied.
 次に、リクエスト抽出部102は、第1情報処理装置3002がオブジェクトプログラムを実行する状況に応じて、ソースプログラムからリクエストを抽出する(ステップS201)。 Next, the request extraction unit 102 extracts a request from the source program according to the situation in which the first information processing apparatus 3002 executes the object program (step S201).
 たとえば、第1情報処理装置3002が、図3における1行目(main())を実行する場合に、リクエスト抽出部102は、第1情報処理装置3002が次に要求するリクエスト「Operation1」を抽出する。また、第1情報処理装置3002が、図3における4行目(scanf命令)を実行する場合に、リクエスト抽出部102は、第1情報処理装置3002が次に要求するリクエスト「Operation2」及びリクエスト「Operation3」を抽出する。 For example, when the first information processing apparatus 3002 executes the first line (main ()) in FIG. 3, the request extraction unit 102 extracts the request “Operation1” that the first information processing apparatus 3002 next requests. To do. When the first information processing apparatus 3002 executes the fourth line (scan instruction) in FIG. 3, the request extraction unit 102 requests the request “Operation2” and the request “ “Operation3” is extracted.
 リクエスト抽出部102は、抽出したリクエストを、図5に示すような情報としてまとめてもよい。図5は、リクエスト抽出部102が抽出するリクエストの一例を概念的に表す図である。たとえば、図5に示す例において、リクエスト「Operation1」は、クライアント200(第1情報処理装置3002の1つ)に関連付けされている。これは、クライアント200は、オブジェクトプログラムにおいて、リクエスト「Operation1」を要求することを表す。 The request extraction unit 102 may collect the extracted requests as information as shown in FIG. FIG. 5 is a diagram conceptually illustrating an example of a request extracted by the request extraction unit 102. For example, in the example illustrated in FIG. 5, the request “Operation1” is associated with the client 200 (one of the first information processing devices 3002). This represents that the client 200 requests the request “Operation1” in the object program.
 リクエストは、上述した項目以外の項目を含んでいてもよく、上述した例に限定されない。 The request may include items other than the items described above, and is not limited to the example described above.
 次に、リクエスト実行部103は、リクエスト抽出部102が抽出したリクエストに応じた処理を実行し、実行した結果をレスポンスとする(ステップS202)。リクエスト抽出部102が複数のリクエストを抽出した場合、本実施形態におけるリクエスト実行部103は、各リクエストに応じた処理を実行する。しかし、後述の実施形態に示すように、リクエストをさらに絞り込むことにより実行してもよい。 Next, the request execution unit 103 executes processing according to the request extracted by the request extraction unit 102, and sets the execution result as a response (step S202). When the request extraction unit 102 extracts a plurality of requests, the request execution unit 103 in the present embodiment executes processing according to each request. However, as shown in an embodiment described later, the request may be executed by further narrowing down the requests.
 上述した例において、リクエスト実行部103は、リクエスト「Operation1」に応じた処理を実行し、値10を第1情報処理装置3002に送信するとする。この場合に、第1情報処理装置3002は、図6に示すようなレスポンスを作成する。図6は、リクエスト実行部103が作成するレスポンスの一例を概念的に表す図である。 In the example described above, the request execution unit 103 executes processing according to the request “Operation1” and transmits the value 10 to the first information processing apparatus 3002. In this case, the first information processing apparatus 3002 creates a response as shown in FIG. FIG. 6 is a diagram conceptually illustrating an example of a response created by the request execution unit 103.
 レスポンスは、上述した項目以外の項目を含んでいてもよく、上述した例に限定されない。 The response may include items other than the items described above, and is not limited to the example described above.
 図6に示すレスポンスは、クライアント200と、リクエスト「Operation1」と、値10とを関連付けする。すなわち、これは、クライアント200が要求したリクエスト「Operation1」に対する実行結果が10であることを表す。 The response shown in FIG. 6 associates the client 200 with the request “Operation1” and the value 10. That is, this indicates that the execution result for the request “Operation 1” requested by the client 200 is 10.
 また、リクエスト実行部103は、リクエストに応じた処理を実行する際にエラーが生じる場合には、該エラーを表すエラーメッセージをレスポンスとしてもよい。 Further, when an error occurs when executing the process according to the request, the request execution unit 103 may use an error message indicating the error as a response.
 次に、送信部104は、第1情報処理装置3002が実際にリクエスト要求するのに応じて、リクエスト実行部103が算出したレスポンスを第1情報処理装置3002に送信する(ステップS203)。 Next, the transmission unit 104 transmits the response calculated by the request execution unit 103 to the first information processing device 3002 in response to the first information processing device 3002 actually requesting the request (step S203).
 本実施形態に係る情報処理装置101は、第1情報処理装置3002にて実行されるオブジェクトプログラムの基となるソースプログラムに基づき、第1情報処理装置が要求するリクエストを予測する。そして、情報処理装置101は、第1情報処理装置3002が実際に要求する前に、予測したリクエストに応じた処理を実行する。このため、情報処理装置101は、第1情報処理装置3002がリクエストするのに応じて、すぐにレスポンスを送ることができる。 The information processing apparatus 101 according to the present embodiment predicts a request requested by the first information processing apparatus based on a source program that is a basis of an object program executed by the first information processing apparatus 3002. Then, the information processing apparatus 101 executes processing according to the predicted request before the first information processing apparatus 3002 actually requests it. Therefore, the information processing apparatus 101 can immediately send a response in response to the request from the first information processing apparatus 3002.
 一方、特許文献1が開示するサーバコンピュータシステムは、リクエストに関する統計データに基づき、リクエストを予測する。統計データが誤差を含む場合に、該統計データに基づいた予測が正確でなくなるので、該サーバコンピュータシステムは、誤ったリクエストを処理する。この結果、サーバコンピュータシステムにおいては、処理効率は低下する。 On the other hand, the server computer system disclosed in Patent Document 1 predicts a request based on statistical data regarding the request. If the statistical data contains an error, the server computer system processes an incorrect request because the prediction based on the statistical data becomes inaccurate. As a result, processing efficiency decreases in the server computer system.
 すなわち、第1の実施形態に係る情報処理装置によれば、リクエストを高速に処理することができる。 That is, according to the information processing apparatus according to the first embodiment, requests can be processed at high speed.
 尚、上述した例において、第1情報処理装置3002は、オブジェクトプログラムを実行するとした。しかし、本実施形態は、Webにおけるアプリケーションにも適用可能である。たとえば、情報処理装置101は、サーバ(情報処理装置101)からクライアント(第1情報処理装置3002の1つ)に送信するWebデータ(レスポンス)を上述したソースプログラムとして解析してもよい。この場合における情報処理装置101の一例として、送信部104は、第1の情報処理装置3002にWebデータを送信する。また、リクエスト抽出部102は、上述したWebデータをソースプログラムとして解析する。すなわち、本実施形態は、上述した例に限定されない。 In the above example, the first information processing apparatus 3002 executes the object program. However, this embodiment can also be applied to Web applications. For example, the information processing apparatus 101 may analyze Web data (response) transmitted from a server (information processing apparatus 101) to a client (one of the first information processing apparatuses 3002) as the above-described source program. As an example of the information processing apparatus 101 in this case, the transmission unit 104 transmits Web data to the first information processing apparatus 3002. Further, the request extraction unit 102 analyzes the Web data described above as a source program. That is, this embodiment is not limited to the above-described example.
 <第2の実施形態>
 次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
<Second Embodiment>
Next, a second embodiment of the present invention based on the first embodiment described above will be described.
 以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。 In the following description, the characteristic part according to the present embodiment will be mainly described, and the same components as those in the first embodiment described above will be denoted by the same reference numerals, and redundant description will be omitted. To do.
 図7と図8とを参照しながら、第2の実施形態に係る情報処理装置701が有する構成と、情報処理装置701が行う処理とについて説明する。図7は、本発明の第2の実施形態に係る情報処理装置701が有する構成を示すブロック図である。図8は、第2の実施形態に係る情報処理装置701における処理の流れを示すフローチャートである。 The configuration of the information processing apparatus 701 according to the second embodiment and the processing performed by the information processing apparatus 701 will be described with reference to FIGS. FIG. 7 is a block diagram showing the configuration of the information processing apparatus 701 according to the second embodiment of the present invention. FIG. 8 is a flowchart showing the flow of processing in the information processing apparatus 701 according to the second embodiment.
 本実施形態に係る情報処理装置701は、リクエスト抽出部102と、リクエスト実行部103と、送信部702と、パラメタ抽出部703とを有する。 The information processing apparatus 701 according to the present embodiment includes a request extraction unit 102, a request execution unit 103, a transmission unit 702, and a parameter extraction unit 703.
 情報処理装置701は、通信ネットワーク3001を介して、第1情報処理装置3002との間において、リクエスト等を含む情報を送受信する。 The information processing apparatus 701 transmits / receives information including a request to / from the first information processing apparatus 3002 via the communication network 3001.
 パラメタ抽出部703は、ソースプログラムからパラメタを抽出する(ステップS801)。パラメタ抽出部703により抽出されるパラメタは、第1情報処理装置3002がリクエスト実行部103にて生成されたレスポンスを受け取り、該レスポンスに基づいてオブジェクトプログラムを継続して実行する場合に必要である。パラメタ抽出部703は、例えばソースプログラムを解析することにより、パラメタを抽出する。パラメタ抽出部703は、さらに、該パラメタに関する型を抽出してもよい。 The parameter extraction unit 703 extracts parameters from the source program (step S801). The parameters extracted by the parameter extraction unit 703 are necessary when the first information processing apparatus 3002 receives the response generated by the request execution unit 103 and continuously executes the object program based on the response. The parameter extraction unit 703 extracts parameters by, for example, analyzing a source program. The parameter extraction unit 703 may further extract a type related to the parameter.
 たとえば、ソースプログラムが図3に示すプログラムである場合、リクエスト抽出部102は、リクエスト「Operation1」をソースプログラムから抽出したとする。
リクエスト実行部103は、リクエスト「Operation1」を実行し、実行した結果をレスポンスとする。
For example, when the source program is the program shown in FIG. 3, it is assumed that the request extraction unit 102 extracts the request “Operation1” from the source program.
The request execution unit 103 executes the request “Operation1” and uses the execution result as a response.
 次に、パラメタ抽出部703は、ソースプログラムにおいてリクエスト「Operation1」以降に実行する命令のうち、利用者がパラメタを入力する必要がある命令及び該パラメタを抽出する。この例の場合、scanf命令は、利用者がパラメタを入力する必要がある命令である。このため、パラメタ抽出部703は、scanf命令、及び、パラメタbを抽出する。 Next, the parameter extraction unit 703 extracts an instruction that requires a user to input a parameter from instructions executed after the request “Operation 1” in the source program and the parameter. In this example, the scan instruction is an instruction that requires the user to input parameters. For this reason, the parameter extraction unit 703 extracts a scan instruction and a parameter b.
 たとえば、パラメタ抽出部703は、抽出したパラメタを図9に示すような情報として算出してもよい。図9は、パラメタ抽出部703が抽出するパラメタに関する情報の一例を概念的に表す図である。図9において、クライアント200(第1情報処理装置3002の一つ)は、パラメタbに関連付けされている。これは、クライアント200において、利用者がパラメタbを入力する必要があることを表す。 For example, the parameter extraction unit 703 may calculate the extracted parameters as information as shown in FIG. FIG. 9 is a diagram conceptually illustrating an example of information regarding parameters extracted by the parameter extraction unit 703. In FIG. 9, the client 200 (one of the first information processing devices 3002) is associated with the parameter b. This indicates that the user needs to input the parameter b in the client 200.
 次に、送信部702は、第1情報処理装置3002が実際にリクエストを要求するのに応じて、リクエスト実行部103が作成したレスポンスと、パラメタ抽出部703が抽出したパラメタとを第1情報処理装置3002に送信する(ステップS802)。 Next, in response to the first information processing apparatus 3002 actually requesting the request, the transmission unit 702 displays the response created by the request execution unit 103 and the parameters extracted by the parameter extraction unit 703 as the first information processing. The data is transmitted to the device 3002 (step S802).
 尚、送信部702は、第1情報処理装置3002に、レスポンスとパラメタとを逐次的に送信してもよいし、同時に送信してもよい。すなわち、送信部702がレスポンスとパラメタと送信する順序は、上述した例に限定されない。 Note that the transmission unit 702 may sequentially transmit responses and parameters to the first information processing apparatus 3002, or may transmit them simultaneously. That is, the order in which the transmission unit 702 transmits the response, the parameter, and the parameter is not limited to the above-described example.
 第2の実施形態は、上記説明した構成以外の構成は、第1の実施形態と同様の構成を有するため、第2の実施形態は、第1の実施形態と同様の効果を奏する。すなわち、第2の実施形態に係る情報処理装置によれば、リクエストを高速に処理することができる。 Since the second embodiment has the same configuration as the first embodiment except for the configuration described above, the second embodiment has the same effects as the first embodiment. That is, according to the information processing apparatus according to the second embodiment, a request can be processed at high speed.
 さらに、第2の実施形態に係る情報処理装置701は、オブジェクトプログラムを継続して実行する状況において、利用者が入力するパラメタを抽出し、抽出したパラメタを第1情報処理装置3002に送信する。この場合、利用者は、第1情報処理装置3002においてレスポンスを受け取るまでに、パラメタ抽出部703が抽出したパラメタを入力することもできる。したがって、本実施形態によれば、リクエストを送信してからレスポンスを受信するまでの待ち時間を利用者に意識させない効果も有する。 Furthermore, the information processing apparatus 701 according to the second embodiment extracts parameters input by the user in a situation where the object program is continuously executed, and transmits the extracted parameters to the first information processing apparatus 3002. In this case, the user can input the parameter extracted by the parameter extraction unit 703 until the first information processing apparatus 3002 receives the response. Therefore, according to this embodiment, there is also an effect that does not make the user aware of the waiting time from when a request is transmitted until when a response is received.
 <第3の実施形態>
 次に、上述した第1の実施形態を基本とする本発明の第3の実施形態について説明する。
<Third Embodiment>
Next, a third embodiment of the present invention based on the first embodiment described above will be described.
 以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。 In the following description, the characteristic part according to the present embodiment will be mainly described, and the same components as those in the first embodiment described above will be denoted by the same reference numerals, and redundant description will be omitted. To do.
 図10と図11とを参照しながら、第3の実施形態に係る情報処理装置1001が有する構成と、情報処理装置1001が行う処理とについて説明する。図10は、本発明の第3の実施形態に係る情報処理装置1001が有する構成を示すブロック図である。図11は、第3の実施形態に係る情報処理装置1001における処理の流れを示すフローチャートである。 The configuration of the information processing apparatus 1001 according to the third embodiment and the processing performed by the information processing apparatus 1001 will be described with reference to FIGS. 10 and 11. FIG. 10 is a block diagram showing a configuration of the information processing apparatus 1001 according to the third embodiment of the present invention. FIG. 11 is a flowchart showing the flow of processing in the information processing apparatus 1001 according to the third embodiment.
 本実施形態に係る情報処理装置1001は、リクエスト抽出部1003と、リクエスト実行部103と、送信部104と、実行部1002とを有する。 The information processing apparatus 1001 according to the present embodiment includes a request extraction unit 1003, a request execution unit 103, a transmission unit 104, and an execution unit 1002.
 情報処理装置1001は、通信ネットワーク3001を介して、第1情報処理装置3002との間において、リクエスト等を含む情報を送受信する。 The information processing apparatus 1001 transmits and receives information including requests and the like to and from the first information processing apparatus 3002 via the communication network 3001.
 まず、実行部1002は、第1情報処理装置3002がオブジェクトプログラムを実行する状況に応じて、該オブジェクトプログラムを実行する。このようにすることで、実行部1002は、情報処理装置1001において、第1情報処理装置3002における状態を算出する(ステップS1101)。すなわち、実行部1002は、第1情報処理装置3002における状態を再現する。なお、この場合において、状態は、ソースプログラムにおけるパラメタの値を含む。また、状態は、ソースプログラムにおいて、パラメタの値に応じて処理が分岐する場合における条件分岐等を含んでいてもよい。状態は、上述した例に限定されない。 First, the execution unit 1002 executes the object program according to the situation in which the first information processing apparatus 3002 executes the object program. By doing in this way, the execution part 1002 calculates the state in the 1st information processing apparatus 3002 in the information processing apparatus 1001 (step S1101). That is, the execution unit 1002 reproduces the state in the first information processing device 3002. In this case, the state includes a parameter value in the source program. In addition, the state may include a conditional branch in the case where the process branches according to the parameter value in the source program. The state is not limited to the example described above.
 図3に示す例を参照しながら、情報処理装置1001における処理について説明する。 Processing in the information processing apparatus 1001 will be described with reference to the example illustrated in FIG.
 たとえば、第1情報処理装置3002は、ソースプログラムの先頭から順次処理し、その後、リクエスト「Operation1」を処理した結果を情報処理装置1001から受け取った状態であるとする。 For example, it is assumed that the first information processing apparatus 3002 receives the result of processing the request “Operation1” from the information processing apparatus 1001 after sequentially processing from the top of the source program.
 この場合、実行部1002は、第1情報処理装置3002と同様に、ソースプログラムにおける先頭から順次処理し、その後、リクエスト「Operation1」を処理した結果を、情報処理装置1001から受け取った状態を算出する。 In this case, as in the first information processing apparatus 3002, the execution unit 1002 sequentially processes from the top in the source program, and then calculates the state of receiving the result of processing the request “Operation1” from the information processing apparatus 1001. .
 次に、リクエスト抽出部1003は、実行部1002が算出する状態とソースプログラムとに基づきリクエストを抽出する(ステップS1102)。 Next, the request extraction unit 1003 extracts a request based on the state calculated by the execution unit 1002 and the source program (step S1102).
 図3に示すソースプログラム例の場合、たとえば、パラメタaの値が0であったとする。 In the example of the source program shown in FIG. 3, for example, assume that the value of parameter a is 0.
 この場合、パラメタaの値に応じて、処理は、図3における5行目に示す分岐命令(すなわち、if命令文)において分岐する。パラメタaは0であるため、分岐命令における条件判定は成立しない。このため、リクエスト抽出部1003は、ソースプログラムに基づき、処理が図3における12行目に示す処理に推移すると判定することにより、リクエスト「Operation3」を抽出する。 In this case, according to the value of the parameter a, the process branches at a branch instruction (that is, an if statement) shown on the fifth line in FIG. Since parameter a is 0, the condition determination in the branch instruction is not satisfied. Therefore, the request extraction unit 1003 extracts the request “Operation3” by determining that the process shifts to the process indicated by the 12th line in FIG. 3 based on the source program.
 第3の実施形態は、上記説明した構成以外の構成は、第1の実施形態と同様の構成を有するため、第3の実施形態は、第1の実施形態と同様の効果を奏する。すなわち、第3の実施形態に係る情報処理装置によれば、リクエストを高速に処理することができる。 Since the third embodiment has the same configuration as the first embodiment except for the configuration described above, the third embodiment has the same effect as the first embodiment. That is, according to the information processing apparatus according to the third embodiment, requests can be processed at high speed.
 さらに、リクエスト抽出部1003は、ソースプログラムと、実行部1002が算出する状態とに基づき、リクエストを抽出する。すなわち、実行部1002がオブジェクトプログラムを実行することで、リクエスト抽出部1003は、第1情報処理装置3002における状態を反映した上でリクエストを抽出することができる。このため、リクエスト抽出部1003は、第1の実施形態に比べ、さらに、リクエストを絞り込む機能を有する。この場合、リクエスト実行部103における処理量は、リクエスト抽出部1003が抽出するリクエストに応じて決まるため、第1の実施形態に比べ減少する。 Further, the request extraction unit 1003 extracts a request based on the source program and the state calculated by the execution unit 1002. That is, when the execution unit 1002 executes the object program, the request extraction unit 1003 can extract a request while reflecting the state in the first information processing apparatus 3002. For this reason, the request extraction unit 1003 further has a function of narrowing down the requests as compared with the first embodiment. In this case, since the processing amount in the request execution unit 103 is determined according to the request extracted by the request extraction unit 1003, it is reduced compared to the first embodiment.
 すなわち、本実施形態は、上述した効果に加え、さらに、処理時間が減少する効果を有する。 That is, this embodiment has an effect of further reducing the processing time in addition to the above-described effect.
 (ハードウェア構成例)
 上述した本発明の各実施形態における情報処理装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る情報処理装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係る情報処理装置は、専用の装置として実現してもよい。
(Hardware configuration example)
A configuration example of hardware resources for realizing the information processing apparatus according to each embodiment of the present invention described above using one calculation processing apparatus (information processing apparatus, computer) will be described. However, the information processing apparatus may be realized using at least two calculation processing apparatuses physically or functionally. The information processing apparatus may be realized as a dedicated apparatus.
 図12は、第1の実施形態乃至第3の実施形態に係る情報処理装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置20は、中央処理演算装置(Central Processing Unit、以降「CPU」と表す)21、メモリ22、ディスク23、不揮発性記録媒体24、入力装置25、および、出力装置26を有する。 FIG. 12 is a diagram schematically illustrating a hardware configuration of a calculation processing apparatus that can realize the information processing apparatus according to the first to third embodiments. The computing device 20 includes a central processing unit (Central Processing Unit, hereinafter referred to as “CPU”) 21, a memory 22, a disk 23, a nonvolatile recording medium 24, an input device 25, and an output device 26.
 不揮発性記録媒体24は、コンピュータが読み取り可能な記録媒体であり、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記憶媒体24は、例えば以下である。ただし、不揮発性記録媒体24は、上述した媒体に限定されない。
・コンパクトディスク(Compact Disc)
・デジタルバーサタイルディスク(Digital Versatile Disc)
・ブルーレイディスク(Blu-ray Disc:登録商標)
・ユニバーサルシリアルバス(Universal Serial Bus)メモリ
・ソリッドステートドライブ(Solid State Drive)
また、不揮発性記録媒体24の代わりに、通信ネットワークを介して係るプログラムを持ち運びしても良い。
The non-volatile recording medium 24 is a computer-readable recording medium that retains such a program without being supplied with power and allows it to be carried. The nonvolatile storage medium 24 is, for example, as follows. However, the non-volatile recording medium 24 is not limited to the above-described medium.
・ Compact Disc
・ Digital Versatile Disc (Digital Versatile Disc)
・ Blu-ray Disc (registered trademark)
・ Universal Serial Bus (Universal Serial Bus) Memory ・ Solid State Drive (Solid State Drive)
Further, the program may be carried via a communication network instead of the nonvolatile recording medium 24.
 すなわち、CPU21は、ディスク23が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合には、CPU21は、出力装置26に出力結果を表示する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図7、あるいは、図10に示した各部が表す機能(処理)に対応するところのメモリ22にあるプログラム(図2、図8、あるいは、図11)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次行う。 That is, the CPU 21 copies a software program (computer program: hereinafter simply referred to as “program”) stored in the disk 23 to the memory 22 and executes arithmetic processing. The CPU 21 reads data necessary for program execution from the memory 22. When the display is necessary, the CPU 21 displays the output result on the output device 26. When inputting a program from the outside, the CPU 21 reads the program from the input device 25. The CPU 21 interprets the program (FIG. 2, FIG. 8 or FIG. 11) in the memory 22 corresponding to the function (processing) represented by each unit shown in FIG. 1, FIG. 7, or FIG. Execute. The CPU 21 sequentially performs the processes described in the above-described embodiments of the present invention.
 すなわち、このような場合、本発明は、係るプログラムによっても成し得ると捉えることができる。更に、係るプログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。 That is, in such a case, it can be understood that the present invention can also be achieved by such a program. Furthermore, it can be understood that the present invention can also be realized by a computer-readable non-volatile recording medium in which such a program is recorded.
 以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 As mentioned above, although this invention was demonstrated with reference to embodiment (and an Example), this invention is not limited to the said embodiment (and Example). Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
 この出願は、2013年7月3日に出願された日本出願特願2013-139414を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2013-139414 filed on July 3, 2013, the entire disclosure of which is incorporated herein.
 101  情報処理装置
 102  リクエスト抽出部
 103  リクエスト実行部
 104  送信部
 701  情報処理装置
 702  送信部
 703  パラメタ抽出部
 1001  情報処理装置
 1002  実行部
 1003  リクエスト抽出部
 20  計算処理装置
 21  CPU
 22  メモリ
 23  ディスク
 24  不揮発性記録媒体
 25  入力装置
 26  出力装置
 3001  通信ネットワーク
 3002  第1情報処理装置
DESCRIPTION OF SYMBOLS 101 Information processing apparatus 102 Request extraction part 103 Request execution part 104 Transmission part 701 Information processing apparatus 702 Transmission part 703 Parameter extraction part 1001 Information processing apparatus 1002 Execution part 1003 Request extraction part 20 Computation processing apparatus 21 CPU
22 memory 23 disk 24 nonvolatile recording medium 25 input device 26 output device 3001 communication network 3002 first information processing device

Claims (10)

  1.  第1情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出手段と、
     前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行手段と、
     前記第1情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第1情報処理装置に送信する送信手段と
     を備える情報処理装置。
    Request extraction means for extracting a request from a source program that is a basis of the object program according to a situation in which the first information processing apparatus executes the object program;
    Request execution means for executing processing according to the request and using the execution result as a response;
    An information processing apparatus comprising: a transmission unit configured to transmit the response to the first information processing apparatus in response to the first information processing apparatus requesting the request.
  2.  前記第1情報処理装置が前記レスポンスを受け取り、受け取った前記レスポンスに基づき前記オブジェクトプログラムを継続して実行する状況において必要となるパラメタを、前記ソースプログラムから抽出するパラメタ抽出手段を更に備え、
     前記送信手段は、前記第1情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスと前記パラメタとを前記第1情報処理装置に送信する
     請求項1に記載の情報処理装置。
    The first information processing apparatus receives the response, and further includes parameter extraction means for extracting parameters necessary in a situation in which the object program is continuously executed based on the received response from the source program,
    The information processing apparatus according to claim 1, wherein the transmission unit transmits the response and the parameter to the first information processing apparatus in response to the first information processing apparatus requesting the request.
  3.  前記第1情報処理装置が前記オブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムを実行することにより、前記第1情報処理装置における状態を算出する実行手段を更に備え、
     前記リクエスト抽出手段は、前記状態と前記ソースプログラムとに基づき、前記リクエストを抽出する
     請求項1または請求項2に記載の情報処理装置。
    An execution means for calculating a state in the first information processing apparatus by executing the object program according to a situation in which the first information processing apparatus executes the object program;
    The information processing apparatus according to claim 1, wherein the request extraction unit extracts the request based on the state and the source program.
  4.  前記状態は、前記ソースプログラムにおけるパラメタの値を含む
     請求項3に記載の情報処理装置。
    The information processing apparatus according to claim 3, wherein the state includes a value of a parameter in the source program.
  5.  前記リクエスト抽出手段は、前記ソースプログラムにおいて前記パラメタの値に応じて処理が分岐する場合に、前記パラメタの値に基づき前記リクエストを抽出する
     請求項3または請求項4に記載の情報処理装置。
    5. The information processing apparatus according to claim 3, wherein the request extraction unit extracts the request based on the parameter value when processing branches according to the parameter value in the source program.
  6.  前記リクエスト実行手段は、前記処理を実行する際にエラーが生じる場合に、エラーメッセージを前記レスポンスとする
     請求項1乃至請求項5のいずれかに記載の情報処理装置。
    The information processing apparatus according to any one of claims 1 to 5, wherein the request execution unit uses an error message as the response when an error occurs when the processing is executed.
  7.  前記送信手段は、前記第1情報処理装置において実行される所定の情報を前記第1情報処理装置に送信し、
     前記リクエスト抽出手段は、前記ソースプログラムとして前記所定の情報からリクエストを抽出する、
     請求項1乃至請求項6のいずれかに記載の情報処理装置。
    The transmission means transmits predetermined information executed in the first information processing apparatus to the first information processing apparatus,
    The request extraction unit extracts a request from the predetermined information as the source program.
    The information processing apparatus according to claim 1.
  8.   第1情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出し、
      前記リクエストに応じた処理を実行し、実行した結果をレスポンスとし、
      前記第1情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第1情報処理装置に送信するリクエスト処理方法。
    Depending on the situation in which the first information processing apparatus executes the object program, the request is extracted from the source program that is the basis of the object program,
    Execute the process according to the request, the execution result as a response,
    A request processing method for transmitting the response to the first information processing apparatus in response to the first information processing apparatus requesting the request.
  9.  第1情報処理装置がオブジェクトプログラムを実行する状況に応じて、前記オブジェクトプログラムの基であるソースプログラムからリクエストを抽出するリクエスト抽出機能と、
     前記リクエストに応じた処理を実行し、実行した結果をレスポンスとするリクエスト実行機能と、
     前記第1情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスを前記第1情報処理装置に送信する送信機能と
     をコンピュータに実現させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
    A request extraction function for extracting a request from a source program that is a basis of the object program according to a situation in which the first information processing apparatus executes the object program;
    A request execution function that executes a process according to the request and uses the execution result as a response;
    A computer-readable recording medium storing a program for causing a computer to realize a transmission function of transmitting the response to the first information processing apparatus in response to the first information processing apparatus requesting the request.
  10.  前記第1情報処理装置が前記レスポンスを受け取り、受け取った前記レスポンスに基づき前記オブジェクトプログラムを継続して実行する状況において入力されるパラメタを、前記ソースプログラムから抽出するパラメタ抽出機能を更に備え、
     前記送信機能によって、前記第1情報処理装置が前記リクエストを要求するのに応じて、前記レスポンスと前記パラメタとを前記第1情報処理装置に送信する
     請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
    The first information processing apparatus further includes a parameter extraction function for extracting from the source program parameters input in a situation where the response is received by the first information processing apparatus and the object program is continuously executed based on the received response.
    The computer according to claim 9, wherein the transmission function transmits the response and the parameter to the first information processing apparatus in response to the first information processing apparatus requesting the request. Possible recording media.
PCT/JP2014/003228 2013-07-03 2014-06-17 Information processing device, request processing method, and computer-readable recording medium WO2015001739A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015525031A JP6269668B2 (en) 2013-07-03 2014-06-17 Information processing apparatus, request processing method, and computer-readable recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013139414 2013-07-03
JP2013-139414 2013-07-03

Publications (1)

Publication Number Publication Date
WO2015001739A1 true WO2015001739A1 (en) 2015-01-08

Family

ID=52143342

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/003228 WO2015001739A1 (en) 2013-07-03 2014-06-17 Information processing device, request processing method, and computer-readable recording medium

Country Status (2)

Country Link
JP (1) JP6269668B2 (en)
WO (1) WO2015001739A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069468A (en) * 1996-06-14 1998-03-10 Internatl Business Mach Corp <Ibm> Device and method for generating prediction response
US20080208789A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation HTTP acceleration by prediction and pre-fetching
JP2012038001A (en) * 2010-08-05 2012-02-23 Fujitsu Ltd Prediction device, prediction method and prediction program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069468A (en) * 1996-06-14 1998-03-10 Internatl Business Mach Corp <Ibm> Device and method for generating prediction response
US20080208789A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation HTTP acceleration by prediction and pre-fetching
JP2012038001A (en) * 2010-08-05 2012-02-23 Fujitsu Ltd Prediction device, prediction method and prediction program

Also Published As

Publication number Publication date
JPWO2015001739A1 (en) 2017-02-23
JP6269668B2 (en) 2018-01-31

Similar Documents

Publication Publication Date Title
US10735536B2 (en) Scalable data enrichment for cloud streaming analytics
US10768997B2 (en) Tail latency-based job offloading in load-balanced groups
US9928215B1 (en) Iterative simple linear regression coefficient calculation for streamed data using components
JP6794345B2 (en) A system, method, and computer program product for directly entering commands and / or content created by a local desktop application on a computer device into a web browser and vice versa.
US11934287B2 (en) Method, electronic device and computer program product for processing data
JP7437517B2 (en) Methods, devices, electronic devices and computer readable media for generating predictive information
US9760539B1 (en) Incremental simple linear regression coefficient calculation for big data or streamed data using components
US11381630B2 (en) Transmitting data over a network in representational state transfer (REST) applications
JP2015503787A (en) Scenario-based patrol method, system, and computer program
US20170339201A1 (en) Streaming data on data processes
JP6269668B2 (en) Information processing apparatus, request processing method, and computer-readable recording medium
JP6244771B2 (en) Information processing system, processing apparatus, distributed processing method, and program
JP6330277B2 (en) TRANSMISSION DEVICE, TRANSMISSION METHOD, TRANSMISSION PROGRAM, AND RELAY SYSTEM
US10175961B2 (en) Joining operator graph elements via whole program optimization
JP2015210735A (en) Specification extraction device, specification extraction method and program
US10320685B1 (en) Iterative autocorrelation calculation for streamed data using components
JP2015014847A (en) Design assist system, design assist method, and program
US9235382B2 (en) Input filters and filter-driven input processing
US10467326B1 (en) Decremental simple linear regression coefficient calculation for big data or streamed data using components
KR101590719B1 (en) The method and architecture for exchanging data between the web services based on big-data analysis
JP2015203975A (en) Transfer control program, method, and device
CN116501288A (en) Data processing method, electronic device and program product implemented at edge switch
EP2006779A1 (en) A method for client server communication of data across a communication network
JP2009258931A (en) Information providing system
JP2014153982A (en) Distributed processing system, distributed processing device, distributed processing program, and distributed processing method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14820694

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015525031

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14820694

Country of ref document: EP

Kind code of ref document: A1