WO2020161788A1 - 情報処理装置、情報処理システム、プログラム及び情報処理方法 - Google Patents

情報処理装置、情報処理システム、プログラム及び情報処理方法 Download PDF

Info

Publication number
WO2020161788A1
WO2020161788A1 PCT/JP2019/003985 JP2019003985W WO2020161788A1 WO 2020161788 A1 WO2020161788 A1 WO 2020161788A1 JP 2019003985 W JP2019003985 W JP 2019003985W WO 2020161788 A1 WO2020161788 A1 WO 2020161788A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
processing
request
unit
information
Prior art date
Application number
PCT/JP2019/003985
Other languages
English (en)
French (fr)
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 CN201980087955.6A priority Critical patent/CN113366444A/zh
Priority to PCT/JP2019/003985 priority patent/WO2020161788A1/ja
Priority to JP2019541490A priority patent/JP6679201B1/ja
Priority to US17/310,218 priority patent/US11700299B2/en
Publication of WO2020161788A1 publication Critical patent/WO2020161788A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to an information processing device, an information processing system, a program, and an information processing method.
  • a distributed processing device in an information processing device equipped with a plurality of processors, a distributed processing device is provided to determine which processor is to be allocated in order to efficiently use each processor and maximize the capacity.
  • a technique for allocating distributed processing is described. This distributed processing device estimates a processing time for each process by executing a predetermined arithmetic process before executing the distributed process allocation. Then, the distributed processing device allocates a new process to the processor with the minimum processing load based on the estimation result and a management table that records which degree of processing is allocated to which processor. The processing load of the processor is averaged.
  • the processing time is assigned to a device with a low processing load based on an estimated value of the processing time for a predetermined arithmetic process and a management table that records how much processing is assigned to which information processing device. Is determined.
  • the time until the result of the processing actually distributed is obtained is not taken into consideration.
  • the transfer time of the data to be processed is not taken into consideration, even if the processing is assigned to the information processing device having a low processing load, if the transfer time becomes long, the response performance of the entire system will be deteriorated. descend.
  • the transfer time of the data to be processed by considering the transfer time of the data to be processed, the time until the processing result is answered is accurately calculated, and the optimum distributed processing request is made.
  • the purpose is to be able to determine the destination.
  • An information processing apparatus is an information processing system in which n information processing apparatuses (n is an integer of 2 or more) connected to a network are distributed to perform processing, and An information processing device used as one of the processing devices, comprising: a communication interface unit for communicating with the network; and a first for requesting execution of a first process for the first data.
  • Request processing unit that sends the processing distribution request of (1) to the m information processing devices (m is an integer satisfying 1 ⁇ m ⁇ n ⁇ 1) of the n information processing devices via the communication interface unit.
  • a first time calculated as a time until the first processing result obtained by executing the first processing on the first data is received after receiving the transfer of the first data.
  • the first response expected time is used to select the A request destination for requesting execution of the first process, and a request destination selecting unit for requesting execution of the first process for the first data to the request destination via the communication interface unit. It is characterized by being provided.
  • An information processing system is an information processing system in which n information processing devices (n is an integer of 2 or more) connected to a network are distributed to execute processing, Each of the information processing devices of the above-mentioned communication interface unit performs a communication with the network and a first process distribution request for requesting execution of the first process for the first data, with the communication interface unit.
  • a request processing unit for sending to the m information processing devices (m is an integer satisfying 1 ⁇ m ⁇ n ⁇ 1) of the n information processing devices, and the transfer of the first data.
  • the communication interface unit is configured to receive a first response expected time calculated as a time until a response to the first processing result obtained by executing the first processing on the first data is received.
  • a program is an information processing system in which n information processing devices (n is an integer of 2 or more) connected to a network are distributed to execute processing.
  • a program for causing each of the information processing devices to function, the communication interface unit for communicating the computer with the network, and a first request for requesting execution of a first process for first data.
  • Request processing unit that sends the processing distribution request of (1) to the m information processing devices (m is an integer satisfying 1 ⁇ m ⁇ n ⁇ 1) of the n information processing devices via the communication interface unit. , And a time calculated from the transfer of the first data to the reply of the first processing result obtained by executing the first processing on the first data.
  • a response expected time of 1 is received as a response to the first processing distribution request via the communication interface unit, and the first response expected time is used to select one of the n information processing devices.
  • a request destination selecting unit that selects a request destination for requesting execution of the first process and requests the request destination to execute the first process for the first data via the communication interface unit. It is characterized by making it function.
  • An information processing method is an information processing method in which processing is performed by being distributed among n information processing devices (n is an integer of 2 or more) connected to a network.
  • n information processing devices n is an integer of 2 or more
  • each of the n information processing devices sends a first process distribution request for requesting execution of the first process for the first data.
  • Is an integer that satisfies 1 ⁇ m ⁇ n ⁇ 1) receives the transfer of the first data, and executes the first processing on the first data to obtain the first data.
  • the first reply expected time calculated as the time until the processing result is answered is received as a response to the first processing distribution request, and the n information processing devices are used by using the first reply expected time. From among the above, a request destination for requesting execution of the first process is selected, and the request destination is requested to execute the first process for the first data.
  • the transfer time of the data to be processed is taken into account to accurately calculate the time until the processing result is answered, and to request the optimum distributed processing. You can decide where to go.
  • FIG. 7 is a block diagram schematically showing the configuration of the distributed information processing system according to the first to fifth embodiments. It is a block diagram which shows roughly the structure of the information processing apparatus which concerns on Embodiment 1, 3 and 4.
  • (A) And (B) is a block diagram which shows a hardware structural example.
  • 5 is a flowchart showing an operation when the information processing apparatus according to the first embodiment performs distributed processing.
  • 9 is a flowchart showing a process of selecting a request destination for distributed processing according to the first embodiment.
  • 7 is a flowchart showing an operation in the information processing device when a processing distribution request and a distributed processing execution request are received.
  • 6 is a flowchart showing an operation when executing a process requested by another information processing device in the first embodiment.
  • FIG. 7 is a block diagram schematically showing the configuration of an information processing device in the second embodiment.
  • FIG. 11 is a flowchart showing an operation when the information processing apparatus according to the second embodiment performs distributed processing.
  • 16 is a flowchart showing a process of selecting a request destination for distributed processing according to the second embodiment.
  • 17 is a flowchart showing a process of selecting a request destination for distributed processing according to the third embodiment.
  • 17 is a flowchart showing an operation when the information processing apparatus according to the fourth embodiment performs distributed processing.
  • 16 is a flowchart showing an operation when executing a process requested by another information processing device in the fifth embodiment.
  • FIG. 1 is a block diagram schematically showing a configuration of a distributed information processing system 100 as an information processing system according to the first embodiment.
  • the distributed information processing system 100 includes a plurality of information processing devices 110A, 110B, 110C and 110D.
  • the plurality of information processing devices 110A, 110B, 110C and 110D are connected to the network 101.
  • the information processing apparatus 110 is referred to as the information processing apparatus 110.
  • the distributed information processing system 100 is a system in which a plurality of information processing apparatuses 110A, 110B, 110C, and 110D share processing, and the processing results are mutually transmitted and received as necessary to provide services in cooperation with each other. Is. Although the distributed information processing system 100 includes four information processing devices 110A, 110B, 110C, and 110D in FIG. 1, it is sufficient that the distributed information processing system 100 includes two or more information processing devices 110. In other words, the distributed information processing system 100 includes n information processing devices 110 (n is an integer of 2 or more).
  • FIG. 2 is a block diagram schematically showing the configuration of the information processing device 110.
  • the information processing apparatus 110 includes a device interface unit (hereinafter referred to as a device I/F unit) 111, a communication interface unit (hereinafter referred to as a communication I/F unit) 112, a process execution unit 120, and a processing load management unit 130.
  • the request processing unit 140 includes a device interface unit (hereinafter referred to as a device I/F unit) 111, a communication interface unit (hereinafter referred to as a communication I/F unit) 112, a process execution unit 120, and a processing load management unit 130.
  • the request processing unit 140 includes a device interface unit (hereinafter referred to as a device I/F unit) 111, a communication interface unit (hereinafter referred to as a communication I/F unit) 112, a process execution unit 120, and a processing load management unit 130.
  • the request processing unit 140 includes a device interface unit (hereinafter referred to
  • the device I/F unit 111 inputs a signal to be processed by the process execution unit 120.
  • the device I/F unit 111 is connected with other devices 160 such as a device 160A, a device 160B,....
  • the number of devices 160A, 160B,... Connected to the device I/F unit 111 is not particularly limited. If there is no particular need to distinguish between the devices 160A, 160B,... Connected to the device I/F unit 111, they will be referred to as devices 160.
  • the device I/F unit 111 receives a signal input from the device 160.
  • the device 160 is, for example, a camera, an illuminance meter, or another sensor.
  • the communication I/F unit 112 communicates with the network 101.
  • the processing execution unit 120 executes processing. For example, the process execution unit 120 executes a process on the data indicated by the signal input to the device I/F unit 111. Further, the processing execution unit 120 executes the processing requested by the other information processing apparatus 110 based on the distributed processing execution instruction from the request processing unit 140.
  • the process execution unit 120 includes calculation resources 121A, 121B,... And a calculation unit 122.
  • the number of calculation resources 121A, 121B,... Provided in the process execution unit 120 may be 1 or more.
  • the computing resources 121 are referred to as computing resources 121.
  • the arithmetic resource 121 executes arithmetic processing.
  • the computing resource 121 can be realized by an integrated circuit such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit).
  • the calculation unit 122 allocates the calculation process to one or a plurality of calculation resources 121 according to the contents of the calculation process executed by the process execution unit 120. Further, the arithmetic unit 122 notifies the processing load management unit 130 of the processing execution state information indicating the processing execution state such as the usage rate of the arithmetic resources 121 or the number of tasks waiting to be processed at the time of executing the arithmetic processing.
  • the processing execution state indicates the processing load.
  • the processing load management unit 130 manages the processing load of the process execution unit 120.
  • the processing load management unit 130 includes an execution state storage unit 131, a processing request issuance determination unit 132, and a response expected time calculation unit 133.
  • the execution state storage unit 131 stores the process execution state information notified from the process execution unit 120.
  • the processing request issuance determination unit 132 determines to disperse the processing when the processing load of the processing execution unit 120 is equal to or more than a predetermined threshold. For example, the processing request issuance determination unit 132 requests the other information processing apparatuses 110 to execute the processing in a distributed manner based on the processing execution state indicated by the processing execution state information stored in the execution state storage unit 131. It is determined whether or not to issue the processing distribution request. When it is determined that the processing distribution request should be issued to another information processing apparatus 110, the processing request issuance determination unit 132 gives the request processing unit 140 a request instruction to issue the processing distribution request.
  • the response expected time calculation unit 133 Upon receipt of the process distribution request from the other information processing device 110 from the request processing unit 140, the response expected time calculation unit 133 receives the process distribution request based on the process execution state information stored in the execution state storage unit 131.
  • the data to be processed is transferred from the request source of the request via the communication I/F unit 112
  • the requested processing is executed for the data, and the time required to reply the processing result is returned. It is calculated as an estimated time, and response expected time information indicating the calculated expected response time is given to the request processing unit 140.
  • the expected response time calculation unit 133 calculates the expected response time in consideration of the data transfer time.
  • the data transfer time may be predetermined according to the data amount, and for example, the predetermined data transfer may be performed between the information processing devices 110 in advance, and the result may be changed to the data amount.
  • the transfer time may be calculated accordingly.
  • the transfer time is obtained from the difference between the reception time when the processing distribution request is received and the data amount. Good.
  • the request processing unit 140 processes a request instruction from the processing load management unit 130, a distributed processing execution request to another information processing apparatus 110, and a processing distribution request and a distributed processing execution request from another information processing apparatus 110. ..
  • the request processing unit 140 includes a request processing unit 141 and a request destination selection unit 142.
  • the request processing unit 141 Upon receiving the request instruction from the processing load management unit 130, the request processing unit 141 causes the communication I/F unit 112 to send a processing distribution request to another information processing device 110.
  • the processing distribution request is provided with information indicating the amount of data to be processed, which is the amount of data to be processed.
  • the process distribution request sent from the own device to the other information processing device 110 is also called a first process distribution request.
  • the first process distribution request requests execution of the first process for the first data. Request to do so.
  • the processing request issuance determination unit 132 determines that the processing should not be distributed to the other information processing apparatuses 110, the processing is performed by the own apparatus, but the processing performed by the own apparatus is also performed. It is included in the first processing for the first data.
  • the request processing unit 141 when the request processing unit 141 receives a processing distribution request from another information processing apparatus 110 from the communication I/F unit 112, the request processing unit 141 gives the processing distribution request to the expected response time calculation unit 133. Then, when the request processing unit 141 receives the response estimated time information from the response estimated time calculation unit 133, the request processing unit 141 causes the communication I/F unit 112 to transmit the response estimated time information to the request source of the processing distribution request. , Make that response.
  • the processing distribution request from the other information processing device 110 is also called a second processing distribution request, and the second processing distribution request is a request for requesting execution of the second processing on the second data.
  • the response expected time calculated by the response expected time calculation unit 133 in response to the second processing distribution request is also referred to as a second response estimated time
  • the response expected time information indicating the second response estimated time is It is also referred to as second answer expected time information.
  • the request processing unit 141 when the request processing unit 141 receives the response expected time information from the other information processing apparatus 110 from the communication I/F unit 112, the request processing unit 141 gives the response expected time information to the request destination selection unit 142.
  • the response expected time information from the other information processing device 110 is also referred to as first response expected time information
  • the response expected time indicated by the first response expected time information is also referred to as the first response expected time.
  • the request processing unit 141 When the request processing unit 141 receives a distributed processing execution request from another information processing apparatus 110 from the communication I/F unit 112, the request processing unit 141 sends a corresponding distributed processing execution instruction based on the distributed processing execution request. It is given to the arithmetic unit 122. Then, the request processing unit 141 causes the communication I/F unit 112 to transmit the processing result of the calculation unit 122 to the information processing apparatus 110 that is the transmission source of the distributed processing execution request.
  • the distributed processing execution request from the other information processing device 110 is also referred to as a second distributed processing execution request.
  • the second distributed processing execution request is the execution of the second processing for the second data. I shall request it.
  • a processing result obtained by executing the second processing on the second data is also referred to as a second processing result.
  • the request destination selection unit 142 selects the information processing apparatus 110 to request the execution of the process, using the response expected time indicated by the response expected time information from the other information processing apparatus 110. Then, the request destination selecting unit 142 causes the communication I/F unit 112 to transmit the distributed processing execution request to the selected information processing device 110.
  • the distributed processing execution request sent from the own apparatus to the other information processing apparatus 110 is also referred to as a first distributed processing execution request.
  • the first distributed processing execution request is the first processing for the first data. Shall be requested to be executed.
  • the processing result obtained by executing the first processing on the first data is also referred to as the first processing result.
  • the processing request issuance determination unit 132 determines that the processing should not be distributed to the other information processing apparatuses 110, the processing is performed by the own apparatus, but the processing performed by the own apparatus is also performed. It is included in the first processing for the first data.
  • the distributed information processing system 100 distributes the processing to other information processing apparatuses 110, it is necessary to send the distributed processing execution request together with the data to be processed. Therefore, even if the processing execution time is short, if it takes time to transfer the data to be processed, the time from receiving the distributed processing request to returning the processing result becomes long. In such a case, it is possible to obtain an answer faster by processing after the processing being executed by the own apparatus is finished than by distributing the processing to other information processing apparatuses 110. In other words, in such a case, there is a possibility that the system performance may be deteriorated due to useless distributed processing, and network traffic may be squeezed due to the data transfer for the distributed processing, thereby hindering the advantages of edge computing.
  • the information processing apparatus 110 is provided with the response expected time calculation unit 133 to calculate the expected time until the response to the processing distribution request in consideration of the time required to transfer the processing target data.
  • the response expected time calculation unit 133 calculates the expected time until the response to the processing distribution request in consideration of the time required to transfer the processing target data.
  • the information processing apparatus 110 described above is, for example, as illustrated in FIG. 3A, a processor such as a memory 10 and a CPU (Central Processing Unit) that executes a program stored in the memory 10. It can be realized by a computer provided with 11.
  • the processing execution unit 120, the processing request issuance determination unit 132 and the expected response time calculation unit 133 of the processing load management unit 130, and the request processing unit 140 can be realized by the processor 11, and the processing load management unit 130 can be implemented.
  • the execution state storage unit 131 can be realized by the memory 10.
  • a plurality of processors 11 may be provided.
  • Such a program may be provided via a network, or may be provided by being recorded in a recording medium. That is, such a program may be provided as a program product, for example.
  • part or all of the information processing apparatus 110 may be, for example, as shown in FIG. 3B, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific). It can also be configured with a processing circuit 12 such as Integrated Circuits) or FPGA (Field Programmable Gate Array).
  • a processing circuit 12 such as Integrated Circuits) or FPGA (Field Programmable Gate Array).
  • the device I/F unit 111 can be realized by a connection interface such as a USB (Universal Serial Bus). Further, the communication I/F unit 112 can be realized by a communication interface such as NIC (Network Interface Card).
  • NIC Network Interface Card
  • FIG. 4 is a flowchart showing an operation when the information processing apparatus 110 according to the first embodiment performs the processing in a distributed manner.
  • the processing request issuance determination unit 132 of the information processing apparatus 110 monitors the processing load of its own apparatus and determines whether or not the processing is distributed to the other information processing apparatuses 110 (S10). For example, the processing request issuance determination unit 132 determines that the usage rate of the computing resources 121 of the own device or the number of tasks waiting to be processed becomes a certain amount or more, the response speed of the own device becomes less than a certain amount, or the response speed of the own device is initially set.
  • the response speed corresponds to, for example, in the case of video analysis processing for camera video, a frame rate indicating how many captured images can be analyzed per second.
  • the processing request issuance determination unit 132 determines whether or not to perform distributed processing, depending on the content of processing or the amount of data to be processed.
  • the processing request issuance determination unit 132 processes the processing that should not be distributed to the other information processing apparatuses 110 by itself. For example, the processing that does not perform the distributed processing may be predetermined for each type of processing. If it is determined that the processing is distributed, the processing proceeds to step S11.
  • step S11 the processing request issuance determination unit 132 gives a request instruction to the request processing unit 141 to issue a processing distribution request.
  • the request processing unit 141 issues a process distribution request to all other information processing devices 110 included in the distributed information processing system 100 via the communication I/F unit 112 (S12). ..
  • the request-destination selecting unit 142 waits for a reply from the information processing device 110 of the response expected time information, and performs a process of selecting a request destination for the distributed processing (S13).
  • the processing here will be described with reference to FIG.
  • the request destination selection unit 142 issues a distributed processing execution request to the information processing apparatus 110 selected as the request destination via the communication I/F unit 112 (S14). ..
  • the issuing information processing apparatus 110 waits for reception of the processing result from the issuing destination information processing apparatus 110 (S15). When the processing result is received, the received processing result is given to the request processing unit 141.
  • FIG. 5 is a flowchart showing processing for selecting a request destination for distributed processing according to the first embodiment.
  • the request destination selecting unit 142 receives the expected response time information from another information processing device 110 via the communication I/F unit 112 (S20).
  • the received expected response time information is temporarily stored in, for example, a storage unit (not shown).
  • the request destination selection unit 142 waits for a response from another information processing device 110 until the condition for the response reception completion determination is satisfied (S21).
  • the condition for the response reception completion determination is, for example, whether replies have been received from a certain number or more of information processing apparatuses 110, or whether a certain time or more has elapsed since the processing distribution request was issued. By providing the response reception completion determination, it is possible to eliminate unnecessary response reception waiting time that occurs when the specific information processing device 110 cannot respond due to a failure or the like. Then, when the condition for the response reception completion determination is satisfied (Yes in S21), the process proceeds to step S22.
  • the request destination selecting unit 142 compares the expected response time indicated by the expected response time information received from the other information processing apparatus 110, and selects the request destination of the distributed processing. For example, the request destination selection unit 142 selects the information processing apparatus 110 that has responded with the shortest expected response time as the request destination. However, when the shortest expected response time is longer than the predetermined threshold time, the request destination selecting unit 142 selects the own device as the request destination.
  • FIG. 6 is a flowchart showing the operation of the information processing apparatus 110 when receiving the processing distribution request and the distributed processing execution request.
  • the request processing unit 141 determines whether or not a distributed processing request has been received from another information processing apparatus 110 via the communication I/F unit 112 (S30). When the distributed processing request is received (Yes in S30), the process proceeds to step S31.
  • the expected response time calculation unit 133 calculates the expected response time required to reply the processing result to the processing requested by the received processing distribution request.
  • the expected response time is based on the task type, the number of tasks, the amount of data to be processed, and the load status of its own device, which is indicated by the processing distribution request, and receives the data to be processed and processes that data. It is the time required to send back the processing result. As described above, by considering the transfer time of the data to be processed when calculating the expected response time, it is possible to accurately calculate the time required when the distributed processing is executed in each information processing apparatus 110.
  • the information processing apparatus 110 that improves the response performance of the entire system can be appropriately selected as the request destination of the distributed processing.
  • the requester of the distributed processing can also choose to process with its own device, so unnecessary distributed processing and the network due to the accompanying data transfer It is possible to suppress traffic pressure.
  • the request processing unit 141 sends, via the communication I/F unit 112, the reply expected time information indicating the reply expected time calculated by the reply expected time calculation unit 133 to the transmission source of the processing distribution request (S32). If the distributed processing execution request from another information processing apparatus 110 cannot be received because the load of the own apparatus is high, the request processing unit 141 saves the trouble of extra response expected time calculation processing. It is also possible to send request unacceptable information as a response to the processing distribution request.
  • step S34 move on.
  • step S34 the request processing unit 141 sends a distributed processing execution command to the calculation unit 122.
  • the arithmetic unit 122 executes the processing requested by the other information processing device 110 based on the distributed processing execution instruction (S35). The processing here will be described with reference to FIG. 7.
  • the request processing unit 141 When the request processing unit 141 receives the processing result for the distributed processing execution instruction from the arithmetic unit 122, the request processing unit 141 sends the processing result to the requester of the distributed processing execution request via the communication I/F unit 112 (S36).
  • FIG. 7 is a flowchart showing an operation when executing a process requested by another information processing device 110.
  • the arithmetic unit 122 receives the distributed processing execution instruction from the request processing unit 141 (S40).
  • the operation unit 122 adds the task indicated by the distributed processing execution instruction to the operation waiting task queue (S41).
  • the calculation unit 122 allocates the calculation resources 121 to the tasks included in the task queue and sequentially executes them (S42). Then, the arithmetic unit 122 determines whether or not the processing result for the distributed processing execution instruction has been acquired (S43). When the processing result for the distributed processing execution instruction is acquired (Yes in S43), the processing proceeds to step S44.
  • step S44 the calculation unit 122 gives the acquired processing result to the request processing unit 141.
  • the arithmetic unit 122 also provides the processing load management unit 130 with the processing execution state information indicating the processing execution state at any time even when the distributed processing from the other information processing apparatus 110 is executed, as in the normal case.
  • unnecessary processing distribution is suppressed in the distributed information processing system 100, the communication load in the system is not unnecessarily increased, and the information processing apparatus 110 in the system is not affected.
  • the response processing performance of the entire system can be improved.
  • any information processing apparatus 110 in the system requests the other information processing apparatus 110 for the distributed processing. It can also be a transmitting side that receives the distributed processing from another information processing apparatus 110.
  • a distributed information processing system 200 as an information processing system according to the second embodiment includes a plurality of information processing devices 210A, 210B, 210C and 210D.
  • the plurality of information processing devices 210A, 210B, 210C and 210D are connected to the network 101.
  • each of the plurality of information processing devices 210A, 210B, 210C, and 210D is referred to as an information processing device 210 when there is no particular need to distinguish between them.
  • FIG. 8 is a block diagram schematically showing the configuration of the information processing device 210 according to the second embodiment.
  • the information processing device 210 according to the second embodiment includes a device I/F unit 111, a communication I/F unit 112, a processing execution unit 120, a processing load management unit 130, and a request processing unit 240.
  • the device I/F unit 111, the communication I/F unit 112, the process execution unit 120, and the processing load management unit 130 of the information processing apparatus 210 according to the second embodiment are the device I/F unit 111 of the information processing apparatus 110 according to the first embodiment. It is the same as the A/F unit 111, the communication I/F unit 112, the processing execution unit 120, and the processing load management unit 130.
  • the request processing unit 240 processes a request instruction from the processing load management unit 130, a distributed processing execution request to another information processing apparatus 210, and a processing distribution request and a distributed processing execution request from another information processing apparatus 210. ..
  • the request processing unit 240 includes a request processing unit 241, a request destination selection unit 242, a request processing record information storage unit 243, a management information storage unit 244, and a request destination selection unit 245.
  • the request processing unit 241 When the request processing unit 241 receives the request instruction from the processing load management unit 130, the request processing unit 241 issues a processing distribution request selection command to the request destination selection unit 245 to select the transmission destination of the processing distribution request. Then, when the request destination selection unit 245 selects the information processing device 210, the request processing unit 241 causes the communication I/F unit 112 to transmit the processing distribution request to the selected information processing device 210.
  • the other processing of the request processing unit 241 in the second embodiment is the same as the processing of the request processing unit 141 in the first embodiment.
  • the request processing result information storage unit 243 stores request processing result information related to the results of distributed processing with other information processing apparatuses 110.
  • the requested processing result information is, for each information processing apparatus 210, a response expected time, information regarding whether or not request unacceptable information has been received, and information indicating whether or not a response has been made to a past processing distribution request, and
  • the information processing apparatus 210 includes information indicating the processing result response time and the presence or absence of a processing result response.
  • the management information storage unit 244 can receive information indicating attributes such as the type, number, or performance of the computing resources 121 held by each information processing apparatus 210, and whether or not a processing execution request can be received from another information processing apparatus 210.
  • the management information including the information and the like is stored. Regarding the management information, it is possible to collectively store the specifications of each information processing device 210 in advance, or to periodically communicate between the information processing devices 210 and exchange the information to update the information.
  • the request destination selection unit 245 Upon receiving the processing distribution request destination selection command, the request destination selection unit 245 refers to the management information stored in the management information storage unit 244 and the request processing performance information stored in the request processing performance information storage unit 243.
  • the information processing apparatus 210 that transmits the processing distribution request in other words, the information processing apparatus 210 that is suitable for executing the requested processing is selected.
  • the selection result is given to the request processing unit 241, and as described above, the request processing unit 241 issues a processing distribution request only to the selected information processing device 210. For example, when the distributed information processing system 200 includes n information processing devices 210 (n is an integer of 2 or more), the request processing unit 241 determines that the m information processing devices 210 (m Is a integer satisfying 1 ⁇ m ⁇ n ⁇ 1).
  • the request-destination selecting unit 245 refers to conditions such as the type, number, or performance of the computing resources 121 required for the process execution, which are set for each process, and the management information, and thereby is required for the process execution.
  • the information processing device 210 that does not satisfy the condition is not selected. Further, the request destination selection unit 245 does not select the information processing device 210 that cannot accept the distributed processing from another information processing device 210 by referring to the management information.
  • the request destination selecting unit 245 calculates the average value of the expected response times for each information processing device 210 by referring to the request processing result information, and the information processing whose average value is longer than a predetermined threshold value. Device 210 is not selected. Further, the request destination selecting unit 245 selects the information processing apparatus 210 by referring to the request processing result information, assuming that the information processing apparatus 210 having the longest expected response time is under heavy load. do not do. Furthermore, the request destination selection unit 245 refers to the requested processing result information, and thereby the information processing apparatus 210 that does not respond to the processing distribution request or the distributed processing execution request within a certain period or the most recent time is out of order from the network 101 or the failure. Assuming that the information processing device 210 has been processed, such an information processing device 210 is not selected. The request destination selection unit 245 may select an information processing device 210 other than the information processing device 210 determined not to be selected as described above.
  • the request destination selecting unit 242 selects the information processing apparatus 210 that requests the execution of the process, using the response expected time indicated by the response estimated time information from the other information processing apparatus 210. Then, the request destination selecting unit 242 causes the communication I/F unit 112 to transmit the distributed processing execution request to the selected information processing device 210.
  • the request destination selecting unit 242 stores necessary information in the request processing result information stored in the request processing result information storage unit 243 according to the response status from the other information processing device 210 to the processing distribution request. To do. Further, the request destination selecting unit 242 stores necessary information in the request processing record information storage unit 243, which will be described later, according to the response status from the other information processing apparatus 210 to the distributed processing execution request. Stored in actual information.
  • the request processing unit 241, the request destination selection unit 242, and the request destination selection unit 245 of the request processing unit 240 described above can also be realized by, for example, the processor 11 illustrated in FIG.
  • the request processing result information storage unit 243 and the management information storage unit 244 of the processing unit 240 can be realized by the memory 10.
  • part or all of the request processing unit 241, the request destination selecting unit 242, and the request destination selecting unit 245 of the request processing unit 240 may be configured by the processing circuit 12 shown in FIG. 3B, for example. it can.
  • FIG. 9 is a flowchart showing an operation when the information processing apparatus 210 according to the second embodiment performs the processing in a distributed manner.
  • steps similar to those included in the flowchart shown in FIG. 4 are designated by the same reference numerals as those in FIG. The description is omitted.
  • Steps S10 and S11 in FIG. 9 are the same as steps S10 and S11 in FIG. However, after step S11 of FIG. 9, the process proceeds to step S50.
  • step S50 when the request processing unit 241 receives a request instruction from the processing request issuance determination unit 132 to issue a processing distribution request, it issues a processing distribution request destination selection command to the request destination selection unit 245.
  • the request destination selection unit 245 Upon receiving the processing distribution request selection command, the request destination selection unit 245 refers to the management information stored in the management information storage unit 244 and the request processing performance information stored in the request processing performance information storage unit 243, The information processing device 210 that transmits the processing distribution request is selected (S51). Then, the request destination selecting unit 245 notifies the request processing unit 241 of the selected information processing device 210.
  • the request processing unit 241 issues a processing distribution request to the selected information processing device 210 via the communication I/F unit 112 (S52).
  • the request-destination selecting unit 242 waits for a reply from the selected information processing device 210 of the response expected time information, and performs a process of selecting a request destination for the distributed processing (S53). The processing here will be described with reference to FIG. Then, the process proceeds to step S14.
  • Steps S14 and S15 of FIG. 9 are the same as steps S14 and S15 of FIG. If the processing result is received in step S15 in FIG. 9 (Yes in S15), the process proceeds to step S54.
  • step S54 the request destination selection unit 242 updates the request processing result information stored in the request processing result information storage unit 243 based on the response status from the information processing device 210 to the distributed processing execution request.
  • the request destination selecting unit 242 stores information indicating the response time of the processing result received from the information processing apparatus 210 and the presence/absence of a response in the requested processing result information.
  • FIG. 10 is a flowchart showing processing for selecting a request destination for distributed processing according to the second embodiment.
  • steps similar to those included in the flowchart shown in FIG. 5 are designated by the same reference numerals as those in FIG. The description is omitted.
  • Step S20 shown in FIG. 10 is the same as step S20 shown in FIG. However, after step S20, the process proceeds to step S60.
  • step S60 the request destination selection unit 242 updates the request processing result information stored in the request processing result information storage unit 243 based on the response status from the information processing device 210 to the request distribution request.
  • the request destination selecting unit 242 stores, in the requested process result information, the information indicating that the response expected time and the response received from the information processing device 210 are in response to the process distribution request. Then, the process proceeds to step S21.
  • Steps S21 and S22 of FIG. 10 are the same as steps S21 and S22 of FIG. However, after the process of step S22, the process proceeds to step S61.
  • the request destination selection unit 242 updates the request processing result information stored in the request processing result information storage unit 243 as necessary, based on the response status from the information processing apparatus 210 to the request distribution request. To do. For example, when the request destination selection unit 242 receives the request unacceptable information from the information processing device 210 in response to the process distribution request, the request destination selecting unit 242 stores the fact in the request processing result information. Further, if there is an information processing device 210 that does not respond to the processing distribution request, the request destination selecting unit 242 stores information indicating that there is no response in the requested processing result information.
  • the request-destination selecting unit 245 limits the information processing apparatus 210 that issues the processing distribution request to an appropriate one, resulting in unnecessary communication and in each information processing apparatus 210. It is possible to reduce useless response expected time calculation processing and useless response waiting time for processing distribution requests.
  • the request destination selecting unit 245 uses both the management information stored in the management information storage unit 244 and the request processing record information stored in the request processing record information storage unit 243.
  • the information processing apparatus 210 that issues the processing distribution request is selected, but the second embodiment is not limited to such an example.
  • the request destination selecting unit 245 may refer to only one of the management information and the request processing record information to select the information processing apparatus 210 that issues the processing distribution request.
  • the request processing result information is updated each time the response expected time information is received, but the second embodiment is not limited to such an example.
  • the request destination selecting unit 242 may temporarily store the expected response time information in a storage unit (not shown), and collectively update the request information record information in step S61, for example.
  • the request information record information may be updated for each task type of the distributed request processing, and the request information record information may be updated for each distributed request processing of the same task.
  • the information processing apparatus 220 that has returned the shortest expected response time is selected as the request destination, as in the first embodiment.
  • the request destination selecting unit 242 may select the request destination by referring to at least one of the management information and the request processing record information.
  • the request destination selection unit 242 when there is an information processing apparatus that has transmitted the response expected time information indicating the response estimated time within a predetermined time from the shortest response estimated time, the request destination selection unit 242 causes the request destination selection unit 242 to perform the request processing.
  • the information processing device that has transmitted the response expected time information indicating the shortest response estimated time by referring to the record information, and the response estimated time indicating the response estimated time within a predetermined time from the shortest response estimated time Among the information processing apparatuses that have transmitted information, the information processing apparatus 210 that has frequently answered distributed processing execution requests is selected as the request destination. By doing so, if the expected response times are the same to some extent, it can be regarded as an error range, and the risk of not obtaining a response to the distributed processing can be reduced. For example, it is possible to exclude the information processing apparatus 210 that has resources necessary for calculation but often cannot obtain a reply because the connection to the network 101 is unstable.
  • the request destination selection unit 242 refers to the management information. Then, the information processing apparatus 210 having the largest number of the computing resources 121 suitable for the requested processing is selected as the request destination. By doing so, it is possible to select the information processing apparatus 210 that has a higher degree of certainty that a processing result can be obtained quickly.
  • a distributed information processing system 300 as an information processing system according to the third embodiment includes a plurality of information processing devices 310A, 310B, 310C, 310D.
  • the plurality of information processing devices 310A, 310B, 310C, 310D are connected to the network 101.
  • the information processing device 310 is referred to.
  • the information processing apparatus 310 includes a device I/F unit 111, a communication I/F unit 112, a processing execution unit 120, a processing load management unit 130, The request processing unit 340.
  • the device I/F unit 111, the communication I/F unit 112, the processing execution unit 120, and the processing load management unit 130 of the information processing apparatus 310 according to the third embodiment are the device I/F unit 111 of the information processing apparatus 110 according to the first embodiment. It is the same as the A/F unit 111, the communication I/F unit 112, the processing execution unit 120, and the processing load management unit 130.
  • the request processing unit 340 processes a request instruction from the processing load management unit 130, a distributed processing execution request to another information processing apparatus 310, and a processing distribution request and a distributed processing execution request from another information processing apparatus 310. ..
  • the request processing unit 340 includes a request processing unit 141 and a request destination selection unit 342.
  • the request processing unit 141 of the request processing unit 340 in the third embodiment is the same as the request processing unit 141 of the request processing unit 140 in the first embodiment.
  • the request destination selecting unit 342 according to the third embodiment is different from the request destination selecting unit 142 according to the first embodiment in the condition of the response reception completion determination, but regarding the other processing, the request destination selecting unit according to the first embodiment is selected. It is similar to the part 142. This will be described below with reference to FIG.
  • FIG. 11 is a flowchart showing processing for selecting a request destination for distributed processing according to the third embodiment.
  • steps similar to those included in the flowchart shown in FIG. 5 are designated by the same reference numerals as those in FIG. The description is omitted.
  • Step S20 shown in FIG. 11 is the same as step S20 shown in FIG. However, after step S20, the process proceeds to step S70.
  • step S70 the request destination selecting unit 342 waits for a response from the other information processing device 310 until the condition for the response reception completion determination is satisfied.
  • the condition for the response reception completion determination is, for example, that the response expected time indicated by the response expected time information from the information processing device 310 satisfies the request destination condition that is a predetermined threshold value. In other words, when the response expected time shorter than the predetermined time is obtained, it is determined that the condition for the response reception completion determination is satisfied. Then, when the condition of the response reception completion determination is satisfied (Yes in S70), the process proceeds to step S22.
  • Step S22 shown in FIG. 11 is similar to step S22 shown in FIG.
  • the request destination selection unit 342 requests the response reception completion determination if the expected response times from all the information processing devices 310 that have sent the processing distribution request do not satisfy the request destination conditions. It is considered that the previous condition is satisfied, and the process proceeds to step S22. Then, the request destination selecting unit 342 may select the own device as the request destination in step S22.
  • the third embodiment by setting the condition of the response reception completion determination until obtaining the expected response time that satisfies the request destination condition, it is possible to reduce the unnecessary response waiting time and to appropriately It is possible to select a different information processing device 310 as the distributed processing request destination.
  • the information processing apparatus 310 that first responds is the request destination for the expected response time that satisfies the request destination condition, it is possible to quickly and appropriately select the request destination.
  • the threshold as the request destination condition is not limited to a predetermined time, and for example, the time required for the request destination selecting unit 342 to satisfy the system response performance request is calculated by using a predetermined function or the like, and is calculated.
  • the available time may be used as a request destination condition.
  • the request destination selecting unit 342 may set the expected response time in the own device as the request destination condition. As a result, the information processing device 310 that can obtain the processing result faster than the own device can select the distributed processing request destination. Further, the request destination selecting unit 342 further extends the response when the response from each information processing device 310 is received during the predetermined reception waiting time and the expected response time received therein does not satisfy the request destination condition. Then, the response may be accepted.
  • a distributed information processing system 400 as an information processing system according to the fourth embodiment includes a plurality of information processing devices 410A, 410B, 410C, 410D.
  • the plurality of information processing devices 410A, 410B, 410C, 410D are connected to the network 101.
  • the information processing device 410 is referred to.
  • the information processing device 410 includes a device I/F unit 111, a communication I/F unit 112, a processing execution unit 120, a processing load management unit 130, The request processing unit 440.
  • the device I/F unit 111, the communication I/F unit 112, the processing execution unit 120, and the processing load management unit 130 of the information processing apparatus 410 according to the fourth embodiment are the device I/F unit 111 of the information processing apparatus 110 according to the first embodiment. It is the same as the A/F unit 111, the communication I/F unit 112, the processing execution unit 120, and the processing load management unit 130.
  • the request processing unit 440 processes a request instruction from the processing load management unit 130, a distributed processing execution request to another information processing apparatus 410, and a processing distribution request and a distributed processing execution request from another information processing apparatus 410. ..
  • the request processing unit 440 includes a request processing unit 141 and a request destination selection unit 442.
  • the request processing unit 141 of the request processing unit 440 in the fourth embodiment is the same as the request processing unit 141 of the request processing unit 140 in the first embodiment.
  • the request destination selecting unit 442 selects the information processing apparatus 410 that requests execution of the process, using the response expected time indicated by the response expected time information from the other information processing apparatus 410. Then, the request destination selecting unit 442 causes the communication I/F unit 112 to transmit the distributed processing execution request to the selected information processing device 410.
  • the request destination selecting unit 442 according to the fourth embodiment is different from the request destination selecting unit 142 according to the first embodiment in the process of selecting the request destination of the distributed processing and acquiring the processing result from the request destination. .. This will be described below with reference to FIG.
  • FIG. 12 is a flowchart showing an operation when the information processing apparatus 410 according to the fourth embodiment carries out distributed processing.
  • steps included in the flowchart shown in FIG. 12 steps similar to those included in the flowchart shown in FIG. 4 or 5 are the same as those in FIG. 4 or FIG.
  • the reference numerals are given and the description thereof is omitted.
  • Steps S10 to S12 shown in FIG. 12 are the same as steps S10 to S12 shown in FIG. However, in FIG. 12, after step S12, the process proceeds to step S20. Further, steps S20 and S21 shown in FIG. 12 are the same as steps S20 and S21 shown in FIG. However, in FIG. 12, after step S21, the process proceeds to step S80.
  • step S80 the request destination selection unit 442 temporarily stores the expected response time indicated by the received expected response time information in a storage unit (not shown).
  • the request destination selecting unit 442 compares the expected response times stored in the storage unit (not shown) and responds with the shortest expected response time from the information processing devices 410 that have not been selected.
  • the information processing device 410 is selected as the request destination (S81). Then, the process proceeds to step S14.
  • Step S14 shown in FIG. 12 is the same as step S14 shown in FIG. However, in FIG. 12, after step S14, the process proceeds to step S82.
  • step S82 the request destination selecting unit 442 determines whether or not the processing result from the information processing device 410 to which the distributed processing execution request is issued is received. If the processing result has been received (Yes in S82), the processing ends, and if the processing result has not been received (No in S82), the processing proceeds to step S83.
  • step S83 the request destination selection unit 442 determines whether or not a predetermined period has elapsed since the distributed processing execution request was issued. If the predetermined period has not elapsed (No in S83), the process returns to step S82, and if the predetermined period has elapsed (Yes in S83), the process returns to step S81.
  • step S81 the information processing device 410 different from the currently selected information processing device 410, here, the information processing device 410 having the shortest expected response time next to the currently selected information processing device 410 is newly updated. Selected.
  • the other information processing device 410 selected here may be its own device. For example, when the next shortest possible response time of the currently selected response time of the information processing apparatus 410 is longer than a predetermined threshold time, the request destination selecting unit 442 selects its own apparatus.
  • a deadline is set for the acceptance of the processing result from the distributed processing requester, and if the processing result is not sent within the set time, the next information processing device 410
  • requesting distributed processing for example, it is possible to prevent processing from being stopped without obtaining a processing result due to a failure of the requested information processing device 410 after requesting distributed processing. can do.
  • the response expected completion time may be determined to satisfy the request destination condition, which is a predetermined threshold, as a condition for determining the response reception completion.
  • a distributed information processing system 500 as an information processing system according to the fifth embodiment includes a plurality of information processing devices 510A, 510B, 510C and 510D.
  • the plurality of information processing devices 510A, 510B, 510C and 510D are connected to the network 101.
  • the information processing device 510 is referred to.
  • the information processing device 510 includes a device I/F unit 111, a communication I/F unit 112, a process execution unit 520, a processing load management unit 130, and The request processing unit 140.
  • the device I/F unit 111, the communication I/F unit 112, the processing load management unit 130, and the request processing unit 140 of the information processing apparatus 510 according to the fifth embodiment are the device I of the information processing apparatus 110 according to the first embodiment. It is the same as the A/F unit 111, the communication I/F unit 112, the processing load management unit 130, and the request processing unit 140.
  • the process execution unit 520 includes a calculation resource 121 and a calculation unit 522.
  • the calculation resource 121 of the process execution unit 520 in the fifth embodiment is the same as the calculation resource 121 of the process execution unit 120 in the first embodiment.
  • the operation unit 522 is different from the operation unit 122 in the first embodiment in the method of executing processing. This will be described below with reference to FIG.
  • FIG. 13 is a flowchart showing an operation when executing a process requested by another information processing device 510. Note that, of the steps included in the flowchart shown in FIG. 13, steps similar to those included in the flowchart shown in FIG. 7 are assigned the same reference numerals as those in FIG. The description is omitted.
  • Step S40 shown in FIG. 13 is the same as step S40 shown in FIG. However, in FIG. 13, after step S40, the process proceeds to step S90.
  • step S90 the operation unit 522 assigns a priority to the task indicated by the distributed processing execution instruction, and adds the task with the set priority to the task waiting queue for operation with priority.
  • the priority assigned to the task is set for each information processing device 510.
  • the information processing device 510 connected to a camera installed in an important place such as a building entrance/exit in a camera monitoring system in a building, a high priority is set, and thus such an important information processing device 510 is set.
  • the processing of the information processing device 510 can be preferentially executed.
  • a higher priority may be assigned as the generation time of the data to be processed is older. As a result, the larger the processing delay, the more preferentially the processing can be performed. Furthermore, the assigned priority may be changed depending on the processing load status of the information processing apparatus 510 of the request destination. For example, when the processing load is high, the priority of the task of the own device is increased to prevent the processing interruption due to the distributed processing request from the other information processing device 510, and the input of the device 160 connected to the own device. The processing corresponding to the signal can be performed without delay.
  • the operation unit 522 assigns the operation resources 121 in order of priority to the tasks included in the operation waiting task queue with priority and executes them sequentially (S91). Then, the process proceeds to step S43.
  • Steps S43 and S44 shown in FIG. 13 are the same as steps S43 and S44 shown in FIG.
  • the calculation unit 522 is configured to execute the target process on the corresponding data according to the priority assigned to the target process, Even when the other information processing device 510 requests the execution of the process, the priority is assigned to the requested process and the process is executed in accordance with the assigned priority. As a result, the priority of the process to be executed can be flexibly changed and executed for each information processing device 510. Specifically, by setting the task priority, the processing can be executed according to the importance of the processing or the delay status. Therefore, it is possible to prevent interrupt processing due to execution of distributed processing.
  • 100, 200, 300, 400, 500 distributed information processing system 101 network, 110, 210, 310, 410, 510 information processing device, 111 device I/F unit, 112 communication I/F unit, 120, 520 process execution unit , 121 computing resources, 122,522 computing unit, 130 processing load management unit, 131 execution status storage unit, 132 processing request issuance determination unit, 133 expected response time calculation unit, 140, 240, 340, 440 request processing unit, 141, 241, request processing unit, 142, 242, 342, 442 request destination selection unit, 243 request processing result information storage unit, 244 management information storage unit, 245 request destination selection unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、通信I/F部(112)を介して、他の情報処理装置(110)に送る要求処理部(141)と、第1のデータの転送を受けて、第1のデータに対して第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、通信I/F部(112)を介して、第1の処理分散要求の応答として受け取り、第1の回答見込時間を用いて、複数の情報処理装置(110)の中から、第1の処理の実行を依頼する依頼先を選択し、通信I/F部(112)を介して、選択された依頼先に、第1のデータに対する第1の処理の実行を依頼する依頼先選択部(142)とを備える。

Description

情報処理装置、情報処理システム、プログラム及び情報処理方法
 本発明は、情報処理装置、情報処理システム、プログラム及び情報処理方法に関する。
 従来、カメラで撮像された映像の解析処理等の高度な情報処理は、クラウドにある強力な情報処理装置で行われていた。近年、ネットワークトラフィックの削減及び通信遅延による性能低下を回避するため、カメラ等の信号入力デバイスの近くに軽微な情報処理装置を配置し、入力信号等の情報処理を迅速に行うエッジコンピューティングによる分散情報処理システムが構築されている。
 しかし、分散情報処理システム内の複数の情報処理装置の各々に入力されるデータの量及び内容は異なるため、特定の情報処理装置の負荷が高くなると、システム全体の性能が低下する。例えば、ビル内監視システムにおいてビル内に設置された複数のカメラで撮像された映像から、特定の人物がどのエリアにいるかを検出するサービスを提供する場合には、各カメラで撮像された映像から人物を検出し、検出された各人物の検出領域についての映像分析処理が必要となる。このため、人が多く映る建物の出入り口付近のカメラに接続された情報処理装置は、負荷が高くなり、システム全体としての応答性能が低下する。一方、非常階段等の人通りの少ない場所に設置されたカメラに接続された情報処理装置は、人物検出領域の映像分析処理を実行することが少ないため、処理負荷が低く、遊休状態が続き演算資源が無駄になる。
 特許文献1には、複数プロセッサを搭載した情報処理装置において、各プロセッサを効率的に使用して能力を最大限利用するために、どのプロセッサに処理を割当てるかを決める分散処理装置を設けて、処理を分散して割り当てる技術が記載されている。この分散処理装置は、分散処理の割り当てを実行する前に、予め決められた演算処理を実行して各処理に対する処理時間を見積る。そして、その分散処理装置は、その見積結果と、どのプロセッサにどの程度の規模の処理を割当てたかを記録した管理テーブルとに基づいて、処理負荷が最小のプロセッサに新たな処理を割り当てることで各プロセッサの処理負荷の平均化を行っている。
特開平6-274608号公報
 従来の技術では、予め決められた演算処理に対する処理時間の見積値と、どの程度の処理をどの情報処理装置に割当てたかを記録した管理テーブルとに基づいて、処理負荷の低い装置に処理の割り当てが決定される。
 しかしながら、従来の技術では、実際に分散して行われた処理の結果が得られるまでの時間については、考慮されていない。例えば、従来の技術では、処理対象となるデータの転送時間が考慮されていないため、処理負荷の低い情報処理装置に処理を割り当てたとしても、転送時間が長くなると、システム全体としての応答性能が低下する。
 そこで、本発明の1又は複数の態様は、分散処理において、処理対象となるデータの転送時間を考慮することで、処理結果を回答するまでの時間を正確に算出し、最適な分散処理の依頼先を決定できるようにすることを目的とする。
 本発明の1態様に係る情報処理装置は、ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理システムにおいて、前記n台の情報処理装置の中の1つとして使用される情報処理装置であって、前記ネットワークとの間で通信を行う通信インタフェース部と、第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記通信インタフェース部を介して、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送る要求処理部と、前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記通信インタフェース部を介して、前記第1の処理分散要求の応答として受け取り、前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼する依頼先選択部と、を備えることを特徴とする。
 本発明の1態様に係る情報処理システムは、ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理システムであって、前記n台の情報処理装置の各々は、前記ネットワークとの間で通信を行う通信インタフェース部と、第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記通信インタフェース部を介して、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送る要求処理部と、前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記通信インタフェース部を介して、前記第1の処理分散要求の応答として受け取り、前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼する依頼先選択部と、を備えることを特徴とする。
 本発明の1態様に係るプログラムは、ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理システムにおいて、コンピュータを、前記n台の情報処理装置の各々として機能させるためのプログラムであって、前記コンピュータを、前記ネットワークとの間で通信を行う通信インタフェース部、第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記通信インタフェース部を介して、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送る要求処理部、及び、前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記通信インタフェース部を介して、前記第1の処理分散要求の応答として受け取り、前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼する依頼先選択部、として機能させることを特徴とする。
 本発明の1態様に係る情報処理方法は、ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理方法であって、前記n台の情報処理装置の各々が、第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送り、前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記第1の処理分散要求の応答として受け取り、前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼することを特徴とする。
 本発明の1又は複数の態様によれば、分散処理において、処理対象となるデータの転送時間を考慮することで、処理結果を回答するまでの時間を正確に算出し、最適な分散処理の依頼先を決定することができる。
実施の形態1~5に係る分散情報処理システムの構成を概略的に示すブロック図である。 実施の形態1、3及び4に係る情報処理装置の構成を概略的に示すブロック図である。 (A)及び(B)は、ハードウェア構成例を示すブロック図である。 実施の形態1における情報処理装置が処理を分散して行う際の動作を示すフローチャートである。 実施の形態1における分散処理の依頼先を選択する処理を示すフローチャートである。 処理分散要求及び分散処理実行依頼を受け取った場合における情報処理装置での動作を示すフローチャートである。 実施の形態1において、他の情報処理装置から依頼された処理を実行する際の動作を示すフローチャートである。 実施の形態2における情報処理装置の構成を概略的に示すブロック図である。 実施の形態2における情報処理装置が処理を分散して行う際の動作を示すフローチャートである。 実施の形態2における分散処理の依頼先を選択する処理を示すフローチャートである。 実施の形態3における分散処理の依頼先を選択する処理を示すフローチャートである。 実施の形態4における情報処理装置が処理を分散して行う際の動作を示すフローチャートである。 実施の形態5において、他の情報処理装置から依頼された処理を実行する際の動作を示すフローチャートである。
実施の形態1.
 図1は、実施の形態1に係る情報処理システムとしての分散情報処理システム100の構成を概略的に示すブロック図である。
 分散情報処理システム100は、複数の情報処理装置110A、110B、110C、110Dを備える。複数の情報処理装置110A、110B、110C、110Dは、ネットワーク101に接続されている。
 ここで、複数の情報処理装置110A、110B、110C、110Dの各々を特に区別する必要がない場合には、情報処理装置110という。
 分散情報処理システム100は、複数の情報処理装置110A、110B、110C、110Dの各々で処理を分担し、その処理結果を必要に応じて相互に送受信することで、連携してサービスを提供するシステムである。
 なお、図1では、分散情報処理システム100は、4台の情報処理装置110A、110B、110C、110Dを備えているが、2台以上の情報処理装置110を備えていればよい。言い換えると、分散情報処理システム100は、n台の情報処理装置110(nは、2以上の整数)を備えている。
 図2は、情報処理装置110の構成を概略的に示すブロック図である。
 情報処理装置110は、デバイスインタフェース部(以下、デバイスI/F部という)111と、通信インタフェース部(以下、通信I/F部という)112と、処理実行部120と、処理負荷管理部130と、依頼処理部140とを備える。
 デバイスI/F部111は、処理実行部120での処理対象となる信号を入力する。例えば、デバイスI/F部111には、デバイス160A、デバイス160B、・・・、といった他のデバイス160が接続されている。デバイスI/F部111に接続されるデバイス160A、デバイス160B、・・・の数については、特に制限はない。デバイスI/F部111に接続されるデバイス160A、デバイス160B、・・・、の各々を特に区別する必要がない場合には、デバイス160という。デバイスI/F部111は、デバイス160から信号の入力を受ける。デバイス160は、例えば、カメラ、照度計、又は、その他のセンサ等である。
 通信I/F部112は、ネットワーク101との間で通信を行う。
 処理実行部120は、処理を実行する。例えば、処理実行部120は、デバイスI/F部111に入力された信号で示されるデータに対する処理を実行する。また、処理実行部120は、依頼処理部140からの分散処理実行命令に基づき、他の情報処理装置110から依頼された処理を実行する。
 処理実行部120は、演算資源121A、121B、・・・と、演算部122とを備える。
 処理実行部120が備える演算資源121A、121B、・・・の数については、1以上であればよい。なお、演算資源121A、121B、・・・の各々を特に区別する必要がない場合には、演算資源121という。
 演算資源121は、演算処理を実行する。例えば、演算資源121は、CPU(Central Processing Unit)又はGPU(Graphics Processing Unit)等の集積回路により実現することができる。
 演算部122は、処理実行部120が実行する演算処理の内容に応じて、1又は複数の演算資源121に演算処理を割り振る。
 また、演算部122は、演算処理の実行時に演算資源121の使用率又は処理待ちタスク数等の処理実行状態を示す処理実行状態情報を処理負荷管理部130に通知する。処理実行状態は、処理負荷を示す。
 処理負荷管理部130は、処理実行部120の処理負荷を管理する。
 処理負荷管理部130は、実行状態記憶部131と、処理依頼発行判断部132と、回答見込時間算出部133とを備える。
 実行状態記憶部131は、処理実行部120から通知される処理実行状態情報を記憶する。
 処理依頼発行判断部132は、処理実行部120の処理負荷が予め定められた閾値以上となった場合に、処理を分散して実行すると判断する。例えば、処理依頼発行判断部132は、実行状態記憶部131に記憶されている処理実行状態情報で示される処理実行状態に基づいて、他の情報処理装置110に、処理を分散して実行する要求である処理分散要求を発行するか否かを判断する。他の情報処理装置110への処理分散要求の発行が必要と判断した場合、処理依頼発行判断部132は、処理分散要求の発行を指示する要求指示を依頼処理部140に与える。
 回答見込時間算出部133は、他の情報処理装置110からの処理分散要求を、依頼処理部140から受け取ると、実行状態記憶部131に記憶されている処理実行状態情報に基づいて、処理分散要求の要求元から通信I/F部112を介して処理対象となるデータの転送を受けて、そのデータに対して依頼された処理を実行し、その処理結果を回答するまでにかかる時間を、回答見込時間として算出して、算出された回答見込時間を示す回答見込時間情報を依頼処理部140に与える。言い換えると、回答見込時間算出部133は、データの転送時間も考慮した回答見込時間を算出する。なお、データの転送時間については、データ量に応じて、予め定められてもよく、例えば、事前に、情報処理装置110間で予め定められたデータの転送を行い、その結果から、データ量に応じて転送時間が求められてもよい。また、送信側の情報処理装置110が処理分散要求に送信時間を追加しておくことで、その処理分散要求を受信した受信時間との差分から、データ量に応じて、転送時間が求められてもよい。
 依頼処理部140は、処理負荷管理部130からの要求指示、他の情報処理装置110への分散処理実行依頼、並びに、他の情報処理装置110からの処理分散要求及び分散処理実行依頼を処理する。
 依頼処理部140は、要求処理部141と、依頼先選択部142とを備える。
 要求処理部141は、処理負荷管理部130から要求指示を受けると、通信I/F部112に、他の情報処理装置110へ処理分散要求を送信させる。処理分散要求には、例えば、他の情報処理装置110に依頼する処理であるタスクの種類及び数等に加えて、処理対象となるデータのデータ量である処理対象データ量を示す情報が付与される。ここで、自装置から、他の情報処理装置110に送る処理分散要求を、第1の処理分散要求ともいい、第1の処理分散要求は、第1のデータに対する第1の処理の実行を依頼するための要求であるものとする。また、後述のように、処理依頼発行判断部132が、他の情報処理装置110へ処理を分散しない方がよいと判断する場合は、自装置で処理を行うが、自装置で実行する処理も第1のデータに対する第1の処理に含まれる。
 なお、実施の形態1において、要求処理部141は、通信I/F部112に、処理分散要求を、他の全ての情報処理装置110へ送信させるものとする。例えば、分散情報処理システム100がn台の情報処理装置110(nは、2以上の整数)を備えている場合、要求処理部141は、自装置以外のm台の情報処理装置110(mは、m=n-1を満たす整数)に処理分散要求を送る。
 また、要求処理部141は、他の情報処理装置110からの処理分散要求を、通信I/F部112から受け取った場合には、回答見込時間算出部133に、その処理分散要求を与える。そして、要求処理部141は、回答見込時間算出部133から、回答見込時間情報を受け取ると、通信I/F部112に、処理分散要求の要求元へ、その回答見込時間情報を送信させることで、その応答を行う。ここで、他の情報処理装置110からの処理分散要求を、第2の処理分散要求ともいい、第2の処理分散要求は、第2のデータに対する第2の処理の実行を依頼するための要求であるものとする。
 なお、第2の処理分散要求に応じて、回答見込時間算出部133で算出された回答見込時間を、第2の回答見込時間ともいい、第2の回答見込時間を示す回答見込時間情報を、第2の回答見込時間情報ともいう。
 さらに、要求処理部141は、他の情報処理装置110からの回答見込時間情報を、通信I/F部112から受け取った場合には、その回答見込時間情報を、依頼先選択部142に与える。なお、他の情報処理装置110からの回答見込時間情報を、第1の回答見込時間情報ともいい、第1の回答見込時間情報で示されている回答見込時間を、第1の回答見込時間ともいう。
 要求処理部141は、他の情報処理装置110からの分散処理実行依頼を、通信I/F部112から受け取った場合には、その分散処理実行依頼に基づいて、対応する分散処理実行命令を、演算部122に与える。そして、要求処理部141は、演算部122による処理結果を、通信I/F部112に分散処理実行依頼の送信元の情報処理装置110に送信させる。ここで、他の情報処理装置110からの分散処理実行依頼を、第2の分散処理実行依頼ともいい、第2の分散処理実行依頼は、第2のデータに対して第2の処理の実行を依頼するものとする。また、第2のデータに対して第2の処理を実行することで得られる処理結果を第2の処理結果ともいう。
 依頼先選択部142は、他の情報処理装置110からの回答見込時間情報で示されている回答見込時間を用いて、処理の実行を依頼する情報処理装置110を選択する。そして、依頼先選択部142は、通信I/F部112に、選択された情報処理装置110へ分散処理実行依頼を送信させる。ここで、自装置から他の情報処理装置110に送る分散処理実行依頼を、第1の分散処理実行依頼ともいい、第1の分散処理実行依頼は、第1のデータに対して第1の処理の実行を依頼するものとする。また、第1のデータに対して第1の処理を実行することで得られる処理結果を第1の処理結果ともいう。また、後述のように、処理依頼発行判断部132が、他の情報処理装置110へ処理を分散しない方がよいと判断する場合は、自装置で処理を行うが、自装置で実行する処理も第1のデータに対する第1の処理に含まれる。
 分散情報処理システム100で他の情報処理装置110に処理を分散させる場合、分散処理実行依頼とともに、処理の対象となるデータも併せて送信する必要がある。このため、処理の実行時間が短くても、処理の対象となるデータの転送に時間を要すると、分散処理依頼を受けてから処理結果を返信するまでの時間は長くなる。そのような場合、他の情報処理装置110に処理を分散させるよりも自装置で実行中の処理が終わってから処理するほうが速く回答を得ることができる。言い換えると、そのような場合には、無駄な分散処理によるシステム性能の低下、及び、分散処理のためのデータ転送によりネットワークトラフィックの圧迫を引き起こしエッジコンピューティングの利点を阻害するおそれがあった。
 しかし、実施の形態1のように、情報処理装置110に回答見込時間算出部133を設け、処理分散要求に対して、処理対象データの転送にかかる時間も考慮した回答までの見込時間を算出し、各情報処理装置110からの回答見込時間情報に基づき、分散処理依頼先を選択することで、無駄な分散処理を抑止するとともに、最も速く分散処理依頼に対する回答が得られる情報処理装置110を選択することができる。このため、分散情報処理システム100の全体の応答性能を向上させることができる。また、特定の情報処理装置110が故障しても適切な分散処理依頼先を選定することが可能になる。
 以上に記載された情報処理装置110は、例えば、図3(A)に示されているように、メモリ10と、メモリ10に格納されているプログラムを実行するCPU(Central Processing Unit)等のプロセッサ11とを備えるコンピュータにより実現することができる。
 例えば、処理実行部120、処理負荷管理部130の処理依頼発行判断部132及び回答見込時間算出部133、並びに、依頼処理部140は、プロセッサ11で実現することができ、処理負荷管理部130の実行状態記憶部131は、メモリ10で実現することができる。なお、複数のプロセッサ11が備えられていてもよい。
 このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
 また、情報処理装置110の一部又は全部は、例えば、図3(B)に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuits)又はFPGA(Field Programmable Gate Array)等の処理回路12で構成することもできる。
 なお、デバイスI/F部111は、USB(Universal Serial Bus)等の接続インタフェースで実現することができる。
 また、通信I/F部112は、NIC(Network Interface Card)等の通信インタフェースで実現することができる。
 次に、実施の形態1における情報処理装置110が行う動作について説明する。
 図4は、実施の形態1における情報処理装置110が処理を分散して行う際の動作を示すフローチャートである。
 情報処理装置110の処理依頼発行判断部132は、自装置の処理負荷を監視し、他の情報処理装置110に処理を分散して行うか否かを判断する(S10)。処理依頼発行判断部132は、例えば、自装置の演算資源121の使用率又は処理待ちタスク数が一定以上になる、自装置の応答速度が一定以下になる、又は、自装置の応答速度が当初よりも一定以上の割合で遅くなる等の条件から、処理を分散して行うか否かを判断することができる。なお、応答速度は、例えば、カメラ映像に対する映像解析処理の場合であれば、1秒間に何枚分のキャプチャ画像に対して分析処理できたかを示すフレームレートが該当する。
 なお、処理依頼発行判断部132は、処理の内容又は処理の対象となるデータ量により、分散処理の対象とするか否かを判断する。処理依頼発行判断部132は、他の情報処理装置110へ処理を分散しないほうがよい処理については、自装置で処理するものとする。例えば、分散処理を行わない処理については、処理の種別毎に予め定められていてもよい。
 処理を分散して行うと判断された場合には、処理はステップS11に進む。
 ステップS11では、処理依頼発行判断部132は、要求処理部141へ処理分散要求を発行するように指示する要求指示を与える。
 このような要求指示を受けた要求処理部141は、通信I/F部112を介して、分散情報処理システム100に含まれる他の全ての情報処理装置110へ処理分散要求を発行する(S12)。
 次に、依頼先選択部142は、各情報処理装置110からの回答見込時間情報の返信を待ち、分散処理の依頼先を選択する処理を行う(S13)。ここでの処理については、図5を用いて説明する。
 ステップS13において分散処理の依頼先が決定すると、依頼先選択部142は、通信I/F部112を介して、依頼先として選択された情報処理装置110へ分散処理実行依頼を発行する(S14)。
 分散処理実行依頼の発行後は、発行元の情報処理装置110は、発行先の情報処理装置110からの処理結果の受信を待機する(S15)。処理結果が受信されると、受信された処理結果は、要求処理部141に与えられる。
 図5は、実施の形態1における分散処理の依頼先を選択する処理を示すフローチャートである。
 依頼先選択部142は、通信I/F部112を介して、他の情報処理装置110からの回答見込時間情報を受け取る(S20)。受け取られた回答見込時間情報は、例えば、図示されていない記憶部に一時的に記憶される。
 そして、依頼先選択部142は、応答受信完了判定の条件が成立するまで、他の情報処理装置110からの応答を待つ(S21)。応答受信完了判定の条件は、例えば、一定数以上の情報処理装置110から応答を受け取ったか否か、又は、処理分散要求を発行してから一定時間以上が経過したか、等である。応答受信完了判定を設けることで、特定の情報処理装置110が故障等により応答できない場合に発生する無駄な応答受信待機時間をなくすことができる。
 そして、応答受信完了判定の条件が成立すると(S21でYes)、処理はステップS22に進む。
 ステップS22では、依頼先選択部142は、他の情報処理装置110から受け取った回答見込時間情報で示されている回答見込時間を比較して、分散処理の依頼先を選択する。例えば、依頼先選択部142は、最も短い回答見込時間を応答してきた情報処理装置110を依頼先として選択する。但し、最も短い回答見込時間が、予め定められた閾値時間よりも長い場合には、依頼先選択部142は、自装置を依頼先として選択する。
 図6は、処理分散要求及び分散処理実行依頼を受け取った場合における情報処理装置110での動作を示すフローチャートである。
 要求処理部141は、通信I/F部112を介して、他の情報処理装置110から分散処理要求を受け取ったか否かを判断する(S30)。分散処理要求を受け取った場合(S30でYes)には、処理はステップS31に進む。
 ステップS31では、回答見込時間算出部133は、受け取った処理分散要求で要求された処理に対して、処理結果を回答するまでにかかる回答見込時間を算出する。回答見込時間は、処理分散要求で示されている、タスクの種類、タスクの数及び処理対象のデータ量、並びに、自装置の負荷状況から、処理対象となるデータを受信し、そのデータを処理してその処理結果を返信するまでに必要な時間である。以上のように、回答見込時間の算出にあたり処理対象となるデータの転送時間も考慮することで、各情報処理装置110で分散処理を実行した場合に必要な時間を正確に算出することができるため、システム全体の応答性能を向上する情報処理装置110を分散処理の依頼先として適切に選択することができる。
 また、処理対象データが大きく、回答見込時間が長くなる場合には、分散処理の依頼元が自装置で処理することも選択できるようになるため、不要な分散処理とそれに伴うデータの転送によるネットワークトラフィックの圧迫を抑止することができる。
 そして、要求処理部141は、通信I/F部112を介して、回答見込時間算出部133が算出した回答見込時間を示す回答見込時間情報を、処理分散要求の送信元に送る(S32)。
 なお、自装置の負荷が高い等の理由で他の情報処理装置110からの分散処理実行依頼を受けられない場合は、要求処理部141は、余計な回答見込時間算出処理の手間を省くため、処理分散要求に対する応答として要求受付不可情報を送ることもできる。
 処理分散要求に対し回答見込時間を応答した後に、要求処理部141が、通信I/F部112を介して、分散処理実行依頼を受け取った場合(S33でYes)には、処理はステップS34に進む。
 ステップS34では、要求処理部141は、演算部122に対し分散処理実行命令を送る。
 分散処理実行命令を受け取った演算部122は、分散処理実行命令に基づき他の情報処理装置110から依頼された処理を実行する(S35)。ここでの処理については、図7を用いて説明する。
 要求処理部141は、演算部122から分散処理実行命令に対する処理結果を受け取ると、通信I/F部112を介して、その処理結果を、分散処理実行依頼の依頼元に送る(S36)。
 図7は、他の情報処理装置110から依頼された処理を実行する際の動作を示すフローチャートである。
 演算部122は、要求処理部141からの分散処理実行命令を受け取る(S40)。
 演算部122は、演算待ちタスクキューに、分散処理実行命令で示されているタスクを追加する(S41)。
 演算部122は、タスクキューに含まれているタスクに対して、演算資源121を割り当てて、順次実行させる(S42)。
 そして、演算部122は、分散処理実行命令に対する処理結果が取得できたか否かを判断する(S43)。分散処理実行命令に対する処理結果が取得された場合(S43でYes)には、処理はステップS44に進む。
 ステップS44では、演算部122は、取得された処理結果を要求処理部141に与える。なお、演算部122は、他の情報処理装置110からの分散処理の実行時も、通常時と同様に、その処理実行状態を示す処理実行状態情報を、随時、処理負荷管理部130に与える。
 以上のように、実施の形態1によれば、分散情報処理システム100において不要な処理分散を抑止し、システム内の通信負荷を無駄に高くすることなく、かつ、システム内の情報処理装置110の演算資源を有効活用することで、システム全体の応答処理性能を向上させることができる。
 なお、以上の説明では処理分散要求及び分散処理実行依頼の送信側と受信側とで処理を分けて説明したが、システム内のどの情報処理装置110も他の情報処理装置110に分散処理を要求する送信側になることができ、また、他の情報処理装置110からの分散処理を受ける受信側になることもできる。
実施の形態2.
 図1に示されているように、実施の形態2に係る情報処理システムとしての分散情報処理システム200は、複数の情報処理装置210A、210B、210C、210Dを備える。複数の情報処理装置210A、210B、210C、210Dは、ネットワーク101に接続されている。
 ここで、複数の情報処理装置210A、210B、210C、210Dの各々を特に区別する必要がない場合には、情報処理装置210という。
 図8は、実施の形態2における情報処理装置210の構成を概略的に示すブロック図である。
 実施の形態2における情報処理装置210は、デバイスI/F部111と、通信I/F部112と、処理実行部120と、処理負荷管理部130と、依頼処理部240とを備える。
 実施の形態2における情報処理装置210の、デバイスI/F部111、通信I/F部112、処理実行部120及び処理負荷管理部130は、実施の形態1における情報処理装置110の、デバイスI/F部111、通信I/F部112、処理実行部120及び処理負荷管理部130と同様である。
 依頼処理部240は、処理負荷管理部130からの要求指示、他の情報処理装置210への分散処理実行依頼、並びに、他の情報処理装置210からの処理分散要求及び分散処理実行依頼を処理する。
 依頼処理部240は、要求処理部241と、依頼先選択部242と、依頼処理実績情報記憶部243と、管理情報記憶部244と、要求先選択部245とを備える。
 要求処理部241は、処理負荷管理部130から要求指示を受けると、要求先選択部245に、処理分散要求の送信先を選択させる処理分散要求選択指令を発行する。
 そして、要求処理部241は、要求先選択部245が情報処理装置210を選択すると、通信I/F部112に、選択された情報処理装置210へ処理分散要求を送信させる。
 なお、実施の形態2における要求処理部241のその他の処理については、実施の形態1における要求処理部141の処理と同様である。
 依頼処理実績情報記憶部243は、他の情報処理装置110との間の分散処理の実績に関する依頼処理実績情報を格納する。例えば、依頼処理実績情報は、過去の処理分散要求に対して、情報処理装置210毎に、回答見込時間、要求受付不可情報の受信の有無、及び、返信があったか否かを示す情報、並びに、過去の分散処理実行依頼に対して、情報処理装置210毎に、処理結果の回答時間及び処理結果の回答の有無を示す情報を含む。
 このように、依頼処理実績情報を記憶しておくことで、事前に各情報処理装置210の仕様を知らなくても適切な候補を選択できるほか、特定の情報処理装置210が故障した場合、又は、分散情報処理システム200を構成する情報処理装置210の数又は種類が変わった場合にも、無駄な分散処理要求を発行することなく、適切な情報処理装置210から分散処理依頼先を選択することができるようになる。
 管理情報記憶部244は、各情報処理装置210が保有する演算資源121の種類、数又は性能等の属性を示す情報、並びに、他の情報処理装置210から処理の実行依頼を受付可能か否かの情報等を含む管理情報を記憶する。
 管理情報については、予め各情報処理装置210の仕様をまとめて格納するほか、定期的に情報処理装置210間で通信を行い、情報をやり取りして更新することも可能である。
 要求先選択部245は、処理分散要求先選択指令を受けると、管理情報記憶部244に記憶されている管理情報及び依頼処理実績情報記憶部243に記憶されている依頼処理実績情報を参照して、処理分散要求を送信する情報処理装置210、言い換えると、依頼する処理の実行に好適な情報処理装置210を選択する。選択結果は、要求処理部241に与えられ、上述のように、要求処理部241は、選択された情報処理装置210にのみ処理分散要求を発行する。例えば、分散情報処理システム200がn台の情報処理装置210(nは、2以上の整数)を備えている場合、要求処理部241は、好適と判断されたm台の情報処理装置210(mは、1≦m≦n-1を満たす整数)に処理分散要求を送る。
 例えば、要求先選択部245は、処理毎に定められた、処理実行に必要とされる演算資源121の種類、数又は性能といった条件と、管理情報とを参照することで、処理実行に必要な条件を満たさない情報処理装置210を選択しない。
 また、要求先選択部245は、管理情報を参照することで、他の情報処理装置210からの分散処理を受付可能ではない情報処理装置210を選択しない。
 さらに、要求先選択部245は、依頼処理実績情報を参照することで、情報処理装置210毎に、回答見込時間の平均値を算出し、その平均値が予め定められた閾値よりも長い情報処理装置210を選択しない。
 また、要求先選択部245は、依頼処理実績情報を参照することで、直近の回答見込時間が長い情報処理装置210は負荷が高くなっていると見込んで、そのような情報処理装置210を選択しない。
 さらに、要求先選択部245は、依頼処理実績情報を参照することで、一定期間又は直近で、処理分散要求又は分散処理実行依頼に対して回答がない情報処理装置210は故障又はネットワーク101から外されたとみなして、そのような情報処理装置210を選択しない。
 要求先選択部245は、以上のようにして選択しないと判断された情報処理装置210以外の情報処理装置210を選択すればよい。
 依頼先選択部242は、他の情報処理装置210からの回答見込時間情報で示されている回答見込時間を用いて、処理の実行を依頼する情報処理装置210を選択する。そして、依頼先選択部242は、通信I/F部112に、選択された情報処理装置210へ分散処理実行依頼を送信させる。
 なお、依頼先選択部242は、処理分散要求に対する他の情報処理装置210からの応答状況に応じて、必要な情報を、依頼処理実績情報記憶部243に記憶されている依頼処理実績情報に格納する。
 さらに、依頼先選択部242は、分散処理実行依頼に対する他の情報処理装置210からの回答状況に応じて、必要な情報を、依頼処理実績情報記憶部243に記憶されている、後述する依頼処理実績情報に格納する。
 以上に記載された依頼処理部240の要求処理部241、依頼先選択部242及び要求先選択部245も、例えば、図3(A)に示されているプロセッサ11で実現することができ、依頼処理部240の依頼処理実績情報記憶部243及び管理情報記憶部244は、メモリ10で実現することができる。
 また、依頼処理部240の要求処理部241、依頼先選択部242及び要求先選択部245の一部又は全部も、例えば、図3(B)に示されている処理回路12で構成することもできる。
 図9は、実施の形態2における情報処理装置210が処理を分散して行う際の動作を示すフローチャートである。
 なお、図9に示されているフローチャートに含まれているステップのうち、図4に示されているフローチャートに含まれているステップと同様のステップについては、図4と同じ符号を付し、その説明を省略する。
 図9のステップS10及びS11は、図4のステップS10及びS11と同様である。但し、図9のステップS11の後、処理はステップS50に進む。
 ステップS50では、要求処理部241は、処理依頼発行判断部132から処理分散要求を発行するように要求指示を受けると、要求先選択部245に処理分散要求先選択指令を発行する。
 処理分散要求選択指令を受けた要求先選択部245は、管理情報記憶部244に記憶されている管理情報及び依頼処理実績情報記憶部243に記憶されている依頼処理実績情報を参照することで、処理分散要求を送信する情報処理装置210を選択する(S51)。そして、要求先選択部245は、選択された情報処理装置210を要求処理部241に通知する。
 要求処理部241は、通信I/F部112を介して、選択された情報処理装置210へ処理分散要求を発行する(S52)。
 次に、依頼先選択部242は、選択された情報処理装置210からの回答見込時間情報の返信を待ち、分散処理の依頼先を選択する処理を行う(S53)。ここでの処理については、図10を用いて説明する。そして、処理はステップS14に進む。
 図9のステップS14及びS15は、図4のステップS14及びS15と同様である。なお、図9のステップS15で、処理結果が受信された場合(S15でYes)には、処理はステップS54に進む。
 ステップS54では、依頼先選択部242は、分散処理実行依頼に対する情報処理装置210からの回答状況に基づいて、依頼処理実績情報記憶部243に記憶されている依頼処理実績情報を更新する。例えば、依頼先選択部242は、情報処理装置210から受け取った処理結果の回答時間及び回答の有無を示す情報を依頼処理実績情報に格納する。
 図10は、実施の形態2における分散処理の依頼先を選択する処理を示すフローチャートである。
 なお、図10に示されているフローチャートに含まれているステップのうち、図5に示されているフローチャートに含まれているステップと同様のステップについては、図5と同じ符号を付し、その説明を省略する。
 図10に示されているステップS20は、図5に示されているステップS20と同様である。但し、ステップS20の後、処理はステップS60に進む。
 ステップS60では、依頼先選択部242は、依頼分散要求に対する情報処理装置210からの応答状況に基づいて、依頼処理実績情報記憶部243に記憶されている依頼処理実績情報を更新する。ここでは、例えば、依頼先選択部242は、処理分散要求に対して、情報処理装置210から受け取った回答見込時間及び応答があった旨を示す情報を、依頼処理実績情報に格納する。
 そして、処理はステップS21に進む。
 図10のステップS21及びS22は、図5のステップS21及びS22と同様である。
 但し、ステップS22での処理の後、処理はステップS61に進む。
 ステップS61では、依頼先選択部242は、依頼分散要求に対する情報処理装置210からの応答状況に基づいて、必要に応じて、依頼処理実績情報記憶部243に記憶されている依頼処理実績情報を更新する。例えば、依頼先選択部242は、処理分散要求に対して、情報処理装置210から要求受付不可情報を受け取った場合には、その旨を依頼処理実績情報に格納する。また、依頼先選択部242は、処理分散要求に対して、応答しない情報処理装置210がある場合には、応答がなかった旨を示す情報を、依頼処理実績情報に格納する。
 以上のように、実施の形態2によれば、要求先選択部245が、処理分散要求を発行する情報処理装置210を適切なものに制限することで、無駄な通信、各情報処理装置210における無駄な回答見込時間算出処理、及び、処理分散要求に対する無駄な応答待ち時間を削減することができる。
 なお、上述した実施の形態2では、要求先選択部245は、管理情報記憶部244に記憶されている管理情報及び依頼処理実績情報記憶部243に記憶されている依頼処理実績情報の両方を用いて、処理分散要求を発行する情報処理装置210を選択しているが、実施の形態2は、このような例に限定されない。
 例えば、要求先選択部245は、管理情報及び依頼処理実績情報の何れか一方のみを参照して、処理分散要求を発行する情報処理装置210を選択してもよい。
 また、図10のステップS60では、回答見込時間情報が受信されるたびに、依頼処理実績情報を更新しているが、実施の形態2は、このような例に限定されない。例えば、依頼先選択部242は、回答見込時間情報を一時的に図示しない記憶部に記憶しておき、例えば、ステップS61において、依頼情報実績情報をまとめて更新してもよい。この場合、分散要求処理のタスク種毎にまとめて、同じタスクの分散要求処理毎に、依頼情報実績情報を更新してもよい。
 さらに、図10のステップS22では、実施の形態1と同様に、最も短い回答見込時間を返信してきた情報処理装置220が依頼先として選択されているが、実施の形態2は、このような例に限定されない。
 例えば、依頼先選択部242は、管理情報及び依頼処理実績情報の少なくとも何れか一方を参照して、依頼先を選択してもよい。
 具体的には、最も短い回答見込時間から予め定められた時間内にある回答見込時間を示す回答見込時間情報を送信してきた情報処理装置がある場合には、依頼先選択部242は、依頼処理実績情報を参照して、最も短い回答見込時間を示す回答見込時間情報を送信してきた情報処理装置、及び、最も短い回答見込時間から予め定められた時間内にある回答見込時間を示す回答見込時間情報を送信してきた情報処理装置の中で、分散処理実行依頼に対して回答した回数の多い情報処理装置210を、依頼先として選択する。このようにすることで、回答見込時間がある程度同じであれば誤差の範囲とみなし、分散処理に対する回答が得られないリスクを低減することができる。例えば、演算に必要な資源は保有しているが、ネットワーク101への接続が不安定なため回答が得られないことが多い情報処理装置210を除外することができる。
 また、最も短い回答見込時間から予め定められた時間内にある回答見込時間を示す回答見込時間情報を送信してきた情報処理装置がある場合には、依頼先選択部242は、管理情報を参照して、依頼する処理に適合した演算資源121の保有数が最も多い情報処理装置210を、依頼先として選択する。このようにすることで、速く処理結果が得られる確度がより高い情報処理装置210を選択することができる。
実施の形態3.
 図1に示されているように、実施の形態3に係る情報処理システムとしての分散情報処理システム300は、複数の情報処理装置310A、310B、310C、310Dを備える。複数の情報処理装置310A、310B、310C、310Dは、ネットワーク101に接続されている。
 ここで、複数の情報処理装置310A、310B、310C、310Dの各々を特に区別する必要がない場合には、情報処理装置310という。
 図2に示されているように、実施の形態3における情報処理装置310は、デバイスI/F部111と、通信I/F部112と、処理実行部120と、処理負荷管理部130と、依頼処理部340とを備える。
 実施の形態3における情報処理装置310の、デバイスI/F部111、通信I/F部112、処理実行部120及び処理負荷管理部130は、実施の形態1における情報処理装置110の、デバイスI/F部111、通信I/F部112、処理実行部120及び処理負荷管理部130と同様である。
 依頼処理部340は、処理負荷管理部130からの要求指示、他の情報処理装置310への分散処理実行依頼、並びに、他の情報処理装置310からの処理分散要求及び分散処理実行依頼を処理する。
 依頼処理部340は、要求処理部141と、依頼先選択部342とを備える。
 実施の形態3における依頼処理部340の要求処理部141は、実施の形態1における依頼処理部140の要求処理部141と同様である。
 実施の形態3における依頼先選択部342は、応答受信完了判定の条件において、実施の形態1における依頼先選択部142と異なっているが、その他の処理については、実施の形態1における依頼先選択部142と同様である。以下、図11を用いて説明する。
 図11は、実施の形態3における分散処理の依頼先を選択する処理を示すフローチャートである。
 なお、図11に示されているフローチャートに含まれているステップのうち、図5に示されているフローチャートに含まれているステップと同様のステップについては、図5と同じ符号を付し、その説明を省略する。
 図11に示されているステップS20は、図5に示されているステップS20と同様である。但し、ステップS20の後、処理はステップS70に進む。
 ステップS70では、依頼先選択部342は、応答受信完了判定の条件が成立するまで、他の情報処理装置310からの応答を待つ。応答受信完了判定の条件は、例えば、情報処理装置310からの回答見込時間情報で示される回答見込時間が、予め定められた閾値である依頼先条件を満たしていることである。言い換えると、予め定められている時間よりも短い回答見込時間が得られた場合には、応答受信完了判定の条件が満たされたと判断される。そして、応答受信完了判定の条件が満たされた場合(S70でYes)には、処理はステップS22に進む。
 図11に示されているステップS22は、図5に示されているステップS22と同様である。
 なお、ステップS70において、依頼先選択部342は、処理分散要求を送った全ての情報処理装置310からの回答見込時間が、依頼先条件を満たさない場合には、応答受信完了判定のための依頼先条件が満たされたとみなし、ステップS22ヘ進む。そして、依頼先選択部342は、ステップS22において、自装置を依頼先として選択すればよい。
 以上のように、実施の形態3によれば、応答受信完了判定の条件を、依頼先条件を満たす回答見込時間を取得するまでとすることで、余計な応答待ち時間を削減し、かつ、適切な情報処理装置310を分散処理依頼先として選択することができる。言い換えると、実施の形態3では、依頼先条件を満たす回答見込時間を、最初に応答してきた情報処理装置310が依頼先とされるため、迅速かつ適切に依頼先を選択することができる。
 なお、依頼先条件としての閾値は、予め定められた時間に限られず、例えば、依頼先選択部342がシステム応答性能要求を満たす時間を、予め定められた関数等を用いて算出し、算出された時間が依頼先条件として用いられてもよい。
 また、依頼先選択部342は、自装置における回答見込時間を依頼先条件として設定してもよい。これにより、自装置で処理するよりも速く処理結果が得られる情報処理装置310を分散処理の依頼先として選択することができる。
 さらに、依頼先選択部342は、予め定められた受付待ち時間において、各情報処理装置310からの応答を受け付け、その中で受け取られた回答見込時間が依頼先条件を満たさない場合に、さらに延長して応答を受け付けてもよい。
実施の形態4.
 図1に示されているように、実施の形態4に係る情報処理システムとしての分散情報処理システム400は、複数の情報処理装置410A、410B、410C、410Dを備える。複数の情報処理装置410A、410B、410C、410Dは、ネットワーク101に接続されている。
 ここで、複数の情報処理装置410A、410B、410C、410Dの各々を特に区別する必要がない場合には、情報処理装置410という。
 図2に示されているように、実施の形態4における情報処理装置410は、デバイスI/F部111と、通信I/F部112と、処理実行部120と、処理負荷管理部130と、依頼処理部440とを備える。
 実施の形態4における情報処理装置410の、デバイスI/F部111、通信I/F部112、処理実行部120及び処理負荷管理部130は、実施の形態1における情報処理装置110の、デバイスI/F部111、通信I/F部112、処理実行部120及び処理負荷管理部130と同様である。
 依頼処理部440は、処理負荷管理部130からの要求指示、他の情報処理装置410への分散処理実行依頼、並びに、他の情報処理装置410からの処理分散要求及び分散処理実行依頼を処理する。
 依頼処理部440は、要求処理部141と、依頼先選択部442とを備える。
 実施の形態4における依頼処理部440の要求処理部141は、実施の形態1における依頼処理部140の要求処理部141と同様である。
 実施の形態4における依頼先選択部442は、他の情報処理装置410からの回答見込時間情報で示されている回答見込時間を用いて、処理の実行を依頼する情報処理装置410を選択する。そして、依頼先選択部442は、通信I/F部112に、選択された情報処理装置410へ分散処理実行依頼を送信させる。
 なお、実施の形態4における依頼先選択部442は、分散処理の依頼先を選択して、その依頼先から処理結果を取得する処理において、実施の形態1における依頼先選択部142と異なっている。以下、図12を用いて説明する。
 図12は、実施の形態4における情報処理装置410が処理を分散して行う際の動作を示すフローチャートである。
 なお、図12に示されているフローチャートに含まれているステップのうち、図4又は図5に示されているフローチャートに含まれているステップと同様のステップについては、図4又は図5と同じ符号を付し、その説明を省略する。
 図12に示されているステップS10~S12は、図4に示されているステップS10~S12と同様である。但し、図12においては、ステップS12の後、処理はステップS20に進む。
 また、図12に示されているステップS20及びS21は、図5に示されているステップS20及びS21と同様である。但し、図12においては、ステップS21の後、処理はステップS80に進む。
 ステップS80では、依頼先選択部442は、受け取った回答見込時間情報で示されている回答見込時間を、図示しない記憶部に一時的に記憶する。
 次に、依頼先選択部442は、図示されていない記憶部に記憶されている回答見込時間を比較して、未だ選択されていない情報処理装置410の中から、最も短い回答見込時間を応答してきた情報処理装置410を依頼先として選択する(S81)。そして、処理はステップS14に進む。
 図12に示されているステップS14は、図4に示されているステップS14と同様である。但し、図12においては、ステップS14の後、処理はステップS82に進む。
 ステップS82では、依頼先選択部442は、分散処理実行依頼の発行先の情報処理装置410からの処理結果を受信したか否かを判断する。処理結果が受信された場合(S82でYes)には、処理は終了し、処理結果が受信されていない場合(S82でNo)には、処理はステップS83に進む。
 ステップS83では、依頼先選択部442は、分散処理実行依頼を発行してから、予め定められた期間が経過したか否かを判断する。予め定められた期間が経過していない場合(S83でNo)には、処理はステップS82に戻り、予め定められた期間が経過した場合(S83でYes)には、処理はステップS81に戻る。なお、ステップS81では、現在選択されている情報処理装置410とは別の情報処理装置410、ここでは、現在選択されている情報処理装置410の次に回答見込時間の短い情報処理装置410が改めて選択される。ここで選択される別の情報処理装置410は、自装置であってもよい。例えば、現在選択されている情報処理装置410の回答見込時間の次に短い回答見込時間が、予め定められた閾値時間よりも長い場合には、依頼先選択部442は、自装置を選択する。
 以上のように、実施の形態4によれば、分散処理の依頼先からの処理結果の受け付けに期限を設定し、設定時間内に処理結果が送られてこなければ、次の情報処理装置410に分散処理を依頼するようにすることで、例えば、分散処理を依頼した後に依頼先の情報処理装置410が故障してしまうことで、処理結果が得られずに処理が停止してしまうことを防止することができる。
 図12のステップS21では、実施の形態3と同様に、応答受信完了判定の条件として、回答見込時間が、予め定められた閾値である依頼先条件を満たしていることとされてもよい。
実施の形態5.
 図1に示されているように、実施の形態5に係る情報処理システムとしての分散情報処理システム500は、複数の情報処理装置510A、510B、510C、510Dを備える。複数の情報処理装置510A、510B、510C、510Dは、ネットワーク101に接続されている。
 ここで、複数の情報処理装置510A、510B、510C、510Dの各々を特に区別する必要がない場合には、情報処理装置510という。
 図2に示されているように、実施の形態5における情報処理装置510は、デバイスI/F部111と、通信I/F部112と、処理実行部520と、処理負荷管理部130と、依頼処理部140とを備える。
 実施の形態5における情報処理装置510の、デバイスI/F部111、通信I/F部112、処理負荷管理部130及び依頼処理部140は、実施の形態1における情報処理装置110の、デバイスI/F部111、通信I/F部112、処理負荷管理部130及び依頼処理部140と同様である。
 処理実行部520は、演算資源121と、演算部522とを備える。
 実施の形態5における処理実行部520の演算資源121は、実施の形態1における処理実行部120の演算資源121と同様である。
 演算部522は、処理を実行する方法が、実施の形態1における演算部122と異なっている。以下、図13を用いて説明する。
 図13は、他の情報処理装置510から依頼された処理を実行する際の動作を示すフローチャートである。
 なお、図13に示されているフローチャートに含まれているステップのうち、図7に示されているフローチャートに含まれているステップと同様のステップについては、図7と同じ符号を付し、その説明を省略する。
 図13に示されているステップS40は、図7に示されているステップS40と同様である。但し、図13においては、ステップS40の後、処理はステップS90に進む。
 ステップS90では、演算部522は、分散処理実行命令で示されているタスクに優先度を割り当て、優先度が設定されたタスクを、優先度付き演算待ちタスクキューに追加する。
 ここで、タスクに割り当てられる優先度は、情報処理装置510毎に設定されているものとする。例えば、ビル内のカメラ監視システムで建物出入り口等の重要な箇所に設置されているカメラに接続されている情報処理装置510については、高い優先度が設定されていることで、そのような重要な情報処理装置510の処理を優先して実行できるようになる。
 また、処理対象となるデータの生成時間が古いほど、高い優先度が割り当てられてもよい。それにより処理遅延が大きいものほど優先して処理することができるようになる。
 さらに、依頼先の情報処理装置510の処理負荷状況に応じで、割り当てられる優先度が変わってもよい。例えば、処理負荷が高い時は自装置のタスクの優先度を高くすることで、他の情報処理装置510からの分散処理の依頼による処理割込みを防止し、自装置に接続されたデバイス160の入力信号に対応した処理を遅延なく行えるようになる。一方、処理負荷が低く余裕がある場合には、自装置のタスクの優先度を下げ、他の情報処理装置510の分散処理におけるタスクの優先度を上げることで、他の情報処理装置510の処理を優先して実行することができる。
 演算部522は、優先度付き演算待ちタスクキューに含まれているタスクに対して、優先度順に演算資源121を割り当てて、順次実行させる(S91)。そして、処理はステップS43に進む。
 図13に示されているステップS43及びS44は、図7に示されているステップS43及びS44と同様である。
 以上のように、実施の形態5によれば、演算部522は、対象となる処理に割り当てられた優先度に従って、対応するデータに対して、対象となる処理を実行するようにされており、他の情報処理装置510から処理の実行を依頼された場合にも、依頼された処理に優先度を割り当てて、割り当てられた優先度に従って、処理を実行する。これにより、情報処理装置510毎に、実行する処理の優先度を柔軟に変更して、実行することができるようになる。具体的には、タスク優先度を設定することで、処理の重要度又は遅延状況に応じて処理を実行できるようになる。このため、分散処理の実行による割込み処理を防止することができる。
 100,200,300,400,500 分散情報処理システム、 101 ネットワーク、 110,210,310,410,510 情報処理装置、 111 デバイスI/F部、 112 通信I/F部、 120,520 処理実行部、 121 演算資源、 122,522 演算部、 130 処理負荷管理部、 131 実行状態記憶部、 132 処理依頼発行判断部、 133 回答見込時間算出部、 140,240,340,440 依頼処理部、 141,241 要求処理部、 142,242,342,442 依頼先選択部、 243 依頼処理実績情報記憶部、 244 管理情報記憶部、 245 要求先選択部。

Claims (16)

  1.  ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理システムにおいて、前記n台の情報処理装置の中の1つとして使用される情報処理装置であって、
     前記ネットワークとの間で通信を行う通信インタフェース部と、
     第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記通信インタフェース部を介して、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送る要求処理部と、
     前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記通信インタフェース部を介して、前記第1の処理分散要求の応答として受け取り、前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼する依頼先選択部と、を備えること
     を特徴とする情報処理装置。
  2.  前記m台の情報処理装置は、自装置を除いた前記n台の情報処理装置であること
     を特徴とする請求項1に記載の情報処理装置。
  3.  前記n台の情報処理装置の各々が処理を実行するために備える1又は複数の演算資源の属性、及び、前記n台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す管理情報を記憶する管理情報記憶部と、
     前記管理情報を参照して、前記n台の情報処理装置の中から、前記第1の処理の実行に好適な一又は複数の情報処理装置を、前記m台の情報処理装置として選択する要求先選択部と、をさらに備えること
     を特徴とする請求項1に記載の情報処理装置。
  4.  前記n台の情報処理装置の何れかとの間における分散処理の実績に関する依頼処理実績情報を記憶する依頼処理実績情報記憶部と、
     前記依頼処理実績情報を参照して、前記n台の情報処理装置の中から、前記第1の処理の実行に好適な一又は複数の情報処理装置を、前記m台の情報処理装置として選択する要求先選択部と、をさらに備えること
     を特徴とする請求項1に記載の情報処理装置。
  5.  前記n台の情報処理装置の各々が処理を実行するために備える1又は複数の演算資源の属性、及び、前記n台の情報処理装置の各々が処理の実行依頼を受け付けることができるか否かを示す管理情報を記憶する管理情報記憶部と、
     前記n台の情報処理装置の何れかとの間における分散処理の実績に関する依頼処理実績情報を記憶する依頼処理実績情報記憶部と、
     前記管理情報及び前記依頼処理実績情報を参照して、前記n台の情報処理装置の中から、前記第1の処理の実行に好適な一又は複数の情報処理装置を、前記m台の情報処理装置として選択する要求先選択部と、をさらに備えること
     を特徴とする請求項1に記載の情報処理装置。
  6.  前記依頼先選択部は、最も短い前記第1の回答見込時間が予め定められた閾値時間以下である場合には、前記m台の情報処理装置の中で、最も短い前記第1の回答見込時間を応答した情報処理装置を、前記依頼先として選択すること
     を特徴とする請求項1から5の何れか一項に記載の情報処理装置。
  7.  前記依頼先選択部は、最も短い前記第1の回答見込時間が予め定められた閾値時間よりも長い場合には、自装置を前記依頼先として選択すること
     を特徴とする請求項1から6の何れか一項に記載の情報処理装置。
  8.  前記依頼先選択部は、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼してから、予め定められた期間、前記第1の処理結果の回答がない場合には、前記通信インタフェース部を介して、前記n台の情報処理装置の中の別の情報処理装置に、前記第1のデータに対する前記第1の処理の実行を依頼すること
     を特徴とする請求項6に記載の情報処理装置。
  9.  前記依頼先選択部は、前記m台の情報処理装置の中で、予め定められた依頼先条件を満たす前記第1の回答見込時間を最初に応答した情報処理装置を、前記依頼先として選択すること
     を特徴とする請求項1から5の何れか一項に記載の情報処理装置。
  10.  前記依頼先選択部は、前記依頼先選択部は、前記m台の情報処理装置の中で、予め定められた依頼先条件を満たす前記第1の回答見込時間を応答した情報処理装置がない場合には、自装置を前記依頼先として選択すること
     を特徴とする請求項9に記載の情報処理装置。
  11.  データの処理を実行する処理実行部と、
     前記処理実行部における処理負荷を管理する処理負荷管理部と、をさらに備え、
     前記要求処理部は、前記処理負荷が予め定められた閾値以上となった場合に、前記第1の処理分散要求を前記m台の情報処理装置に送ること
     を特徴とする請求項1から10の何れか一項に記載の情報処理装置。
  12.  前記n台の情報処理装置の中の1つの情報処理装置から、第2のデータに対する第2の処理の実行を依頼するための第2の処理分散要求を受けた場合に、前記処理実行部が、前記第2のデータの転送を受けて、前記第2のデータに対して前記第2の処理を実行することで得られる第2の処理結果を回答するまでの時間を、第2の回答見込時間として算出する回答見込時間算出部をさらに備え、
     前記要求処理部は、前記通信インタフェース部を介して、前記第2の回答見込時間を、前記1つの情報処理装置に送ること
     を特徴とする請求項11に記載の情報処理装置。
  13.  対象となる処理に割り当てられた優先度に従って、対応するデータに対して前記対象となる処理を実行する処理実行部をさらに備え、
     前記処理実行部は、前記n台の情報処理装置の中の1つの情報処理装置から、第2のデータに対する第2の処理の実行を依頼された場合に、前記第2の処理に優先度を割り当てて、前記第2の処理に割り当てられた前記優先度に従って、前記第2のデータに対して前記第2の処理を実行すること
     を特徴とする請求項1から10の何れか一項に記載の情報処理装置。
  14.  ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理システムであって、
     前記n台の情報処理装置の各々は、
     前記ネットワークとの間で通信を行う通信インタフェース部と、
     第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記通信インタフェース部を介して、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送る要求処理部と、
     前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記通信インタフェース部を介して、前記第1の処理分散要求の応答として受け取り、前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼する依頼先選択部と、を備えること
     を特徴とする情報処理システム。
  15.  ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理システムにおいて、コンピュータを、前記n台の情報処理装置の各々として機能させるためのプログラムであって、
     前記コンピュータを、
     前記ネットワークとの間で通信を行う通信インタフェース部、
     第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記通信インタフェース部を介して、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送る要求処理部、及び、
     前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記通信インタフェース部を介して、前記第1の処理分散要求の応答として受け取り、前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、前記通信インタフェース部を介して、前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼する依頼先選択部、として機能させること
     を特徴とするプログラム。
  16.  ネットワークに接続されたn台の情報処理装置(nは、2以上の整数)で分散して処理を実行する情報処理方法であって、
     前記n台の情報処理装置の各々が、
     第1のデータに対する第1の処理の実行を依頼するための第1の処理分散要求を、前記n台の情報処理装置の中のm台の情報処理装置(mは、1≦m≦n-1を満たす整数)に送り、
     前記第1のデータの転送を受けて、前記第1のデータに対して前記第1の処理を実行することで得られる第1の処理結果を回答するまでの時間として算出された第1の回答見込時間を、前記第1の処理分散要求の応答として受け取り、
     前記第1の回答見込時間を用いて、前記n台の情報処理装置の中から、前記第1の処理の実行を依頼する依頼先を選択し、
     前記依頼先に、前記第1のデータに対する前記第1の処理の実行を依頼すること
     を特徴とする情報処理方法。
PCT/JP2019/003985 2019-02-05 2019-02-05 情報処理装置、情報処理システム、プログラム及び情報処理方法 WO2020161788A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980087955.6A CN113366444A (zh) 2019-02-05 2019-02-05 信息处理装置、信息处理系统、程序和信息处理方法
PCT/JP2019/003985 WO2020161788A1 (ja) 2019-02-05 2019-02-05 情報処理装置、情報処理システム、プログラム及び情報処理方法
JP2019541490A JP6679201B1 (ja) 2019-02-05 2019-02-05 情報処理装置、情報処理システム、プログラム及び情報処理方法
US17/310,218 US11700299B2 (en) 2019-02-05 2019-02-05 Information processing apparatus, information processing system, non-transitory computer-readable medium, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/003985 WO2020161788A1 (ja) 2019-02-05 2019-02-05 情報処理装置、情報処理システム、プログラム及び情報処理方法

Publications (1)

Publication Number Publication Date
WO2020161788A1 true WO2020161788A1 (ja) 2020-08-13

Family

ID=70166413

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/003985 WO2020161788A1 (ja) 2019-02-05 2019-02-05 情報処理装置、情報処理システム、プログラム及び情報処理方法

Country Status (4)

Country Link
US (1) US11700299B2 (ja)
JP (1) JP6679201B1 (ja)
CN (1) CN113366444A (ja)
WO (1) WO2020161788A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022031621A (ja) * 2020-09-21 2022-02-22 ペキン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021011623A1 (en) * 2019-07-15 2021-01-21 Vertiv Corporation Risk-based scheduling of containerized application services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077258A (ja) * 1983-10-05 1985-05-01 Fujitsu Ltd 計算機ネツトワ−クシステムにおける負荷分散処理方式
JP2017016494A (ja) * 2015-07-03 2017-01-19 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP2017157136A (ja) * 2016-03-04 2017-09-07 日本電気株式会社 ジョブ管理システム、プログラム実行装置の決定方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0268651A (ja) 1988-09-02 1990-03-08 Fujitsu Ltd くり返し制御構造の並列処理方式
JPH06274608A (ja) 1993-03-23 1994-09-30 Seiko Epson Corp マルチプロセッサ画像処理装置
JPH09237193A (ja) 1996-02-29 1997-09-09 Mitsubishi Electric Corp 並列計算機における動的負荷分散方法
US7451344B1 (en) * 2005-04-08 2008-11-11 Western Digital Technologies, Inc. Optimizing order of error recovery steps in a disk drive
JP5188057B2 (ja) * 2006-11-14 2013-04-24 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理装置、および情報処理方法
US10026045B1 (en) * 2009-03-20 2018-07-17 Information Sciences Corporation Computer system or process performance method and system
CN102549971B (zh) * 2009-09-25 2014-12-24 三菱电机株式会社 网络性能预估装置及方法、网络结构确认方法、以及通信管理装置及数据通信方法
EP2538343A4 (en) * 2010-02-18 2013-07-31 Hitachi Ltd INFORMATION AND COMMUNICATION PROCESSING SYSTEM, METHOD AND NETWORK NODES
US9195684B2 (en) * 2012-03-02 2015-11-24 Cleversafe, Inc. Redundant task execution in a distributed storage and task network
WO2013140517A1 (ja) * 2012-03-19 2013-09-26 富士通株式会社 検出装置、通知方法、および通知プログラム
JP2015052977A (ja) * 2013-09-09 2015-03-19 日本電信電話株式会社 負荷分散装置、負荷分散方法および負荷分散プログラム
JP2015191457A (ja) * 2014-03-28 2015-11-02 富士通フロンテック株式会社 振り分け装置、分散処理方法、および分散処理システム
CN105763856B (zh) * 2016-04-25 2019-02-05 清华大学 高速图像采集处理方法及系统
US11036422B2 (en) * 2017-08-07 2021-06-15 Datto, Inc. Prioritization and source-nonspecific based virtual machine recovery apparatuses, methods and systems
KR102030462B1 (ko) * 2017-12-08 2019-10-10 현대오트론 주식회사 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077258A (ja) * 1983-10-05 1985-05-01 Fujitsu Ltd 計算機ネツトワ−クシステムにおける負荷分散処理方式
JP2017016494A (ja) * 2015-07-03 2017-01-19 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP2017157136A (ja) * 2016-03-04 2017-09-07 日本電気株式会社 ジョブ管理システム、プログラム実行装置の決定方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022031621A (ja) * 2020-09-21 2022-02-22 ペキン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
JP7081014B2 (ja) 2020-09-21 2022-06-06 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
US11711285B2 (en) 2020-09-21 2023-07-25 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus, electronic device and readable storage medium for adjusting instance number

Also Published As

Publication number Publication date
US11700299B2 (en) 2023-07-11
JPWO2020161788A1 (ja) 2021-02-18
CN113366444A (zh) 2021-09-07
US20220321644A1 (en) 2022-10-06
JP6679201B1 (ja) 2020-04-15

Similar Documents

Publication Publication Date Title
US9535775B2 (en) Session-based remote management system and load balance controlling method
CN107395458B (zh) 系统监控方法及装置
CN110196770B (zh) 云系统内存数据处理方法、装置、设备及存储介质
US20180285169A1 (en) Information processing system and computer-implemented method
WO2018107751A1 (zh) 一种资源调度装置、系统和方法
US7925922B2 (en) Failover method and system for a computer system having clustering configuration
US7600229B1 (en) Methods and apparatus for load balancing processing of management information
JP6679201B1 (ja) 情報処理装置、情報処理システム、プログラム及び情報処理方法
US10606650B2 (en) Methods and nodes for scheduling data processing
US20200387312A1 (en) Systems and methods for i/o transmissions in queue pair-based nvmeof initiator-target system
US20190213052A1 (en) Distributed processing system, distributed processing method, and recording medium
WO2019034091A1 (zh) 分布式数据计算的分配方法、装置、服务器及存储介质
WO2011096249A1 (ja) 負荷制御装置
CN104731524B (zh) 设置缓存器容量的方法
JP4743904B2 (ja) リソース過分配防止システム
CN114116203A (zh) 一种资源调用控制方法、资源调用控制装置及存储介质
US20160224378A1 (en) Method to control deployment of a program across a cluster of machines
US20140019623A1 (en) Virtual server system, management server device, and system managing method
WO2022222975A1 (zh) 负载处理方法、计算节点、计算节点集群及相关设备
US11809910B2 (en) System and method for dynamically resizing computational infrastructure to accommodate unexpected demands
JP4613183B2 (ja) 指標値算出装置、およびプログラム
Smith et al. Robust resource allocation in a cluster based imaging system
JP2008009852A (ja) 負荷分散制御システム、方法、およびサーバ装置
US20190018707A1 (en) Parallel processing control device and computer system
JP6322332B2 (ja) エネルギー管理システムおよび業務アプリケーションの実行方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019541490

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19914571

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19914571

Country of ref document: EP

Kind code of ref document: A1