Information processing device and application startup control method

The information processing device optimizes application launch timings and lifecycles in cloud environments to reduce operational costs and maintain user experience by coordinating application launches based on trigger detection and call counts.

JP7848105B2Active Publication Date: 2026-04-20HITACHI BUILDING SYST CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
HITACHI BUILDING SYST CO LTD
Filing Date
2022-11-30
Publication Date
2026-04-20

AI Technical Summary

Technical Problem

The existing microservice architecture in cloud environments leads to increased operational costs due to the pay-per-use charging model, and resuming virtual machines upon access can cause delays, degrading user experience.

Method used

An information processing device that coordinates application launches based on trigger detection, calculating optimal launch timings and managing application call counts to minimize uptime and prevent user experience degradation.

Benefits of technology

Reduces application uptime and maintains user experience by optimizing application launch timings and managing application lifecycles to minimize waiting times and operational costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007848105000001
    Figure 0007848105000001
  • Figure 0007848105000002
    Figure 0007848105000002
  • Figure 0007848105000003
    Figure 0007848105000003
Patent Text Reader

Abstract

To achieve both reduction of an operation time of an application and prevention of lowering user experience.SOLUTION: A container executing board 20 according to an embodiment of the present invention has: a trigger monitoring unit 212 for detecting occurrence of a trigger; and an application activation control unit 211 for, based on information on a next application invoking time required for invoking a control target application which is scheduled to be invoked next to a trigger application corresponding to the trigger detected by the trigger monitoring unit 212 and information on an application activation time required for activating the control target application, determining an activation timing of the control target application and performing control to activate the control target application at the activation timing.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus and an application startup control method.

Background Art

[0002] In recent years, in the construction of services provided using a cloud environment (hereinafter also simply referred to as "cloud"), the mechanism of a microservice architecture is increasingly adopted. The microservice architecture is a mechanism for constructing one service by combining a plurality of applications having single functions.

[0003] In the microservice architecture, applications are created for each function or purpose, and the created applications are integrated. Therefore, as the scale of the service increases, the number of applications used in the service also increases. In a public cloud, it is common to adopt a pay-per-use charging method in which charging is performed according to the amount of application usage. Therefore, for example, when using a public cloud, as the number of applications increases, the operation cost in the cloud also increases.

[0004] Patent Document 1 discloses a virtual machine management program having a refresh process of suspending a suspended virtual machine after resume control and suspending it after a second time elapses even when no access to the suspended virtual machine occurs, and a resume process of resuming the virtual machine when access to the suspended virtual machine occurs. By using the technique described in Patent Document 1, since the operation of the virtual machine can be terminated at a time when there is no request, the operation cost in the cloud can be reduced.

Prior Art Documents

Patent Documents

[0005] [Patent Document 1] Patent No. 6070355 [Overview of the project] [Problems that the invention aims to solve]

[0006] By the way, in the technology described in Patent Document 1, the virtual machine is resumed as soon as access to the suspended virtual machine occurs, which is expected to cause a delay in response to the user and degrade the user experience (UX).

[0007] This invention was made in consideration of the above circumstances, and its objective is to achieve both a reduction in application uptime and a prevention of a decline in user experience. [Means for solving the problem]

[0008] An information processing device according to one aspect of the present invention is an information processing device that provides services by operating multiple applications in a cloud environment in a coordinated manner. The information processing device according to one aspect of the present invention comprises a trigger detection unit that detects the occurrence of a defined trigger, and an application launch control unit that determines the launch timing of the second application based on information of a first time required for calling a second application which is scheduled to be called after the first application associated with the trigger detected by the trigger detection unit, and information of a second time required for launching the second application, and controls the launch of the second application at that launch timing. The first time is the time from the start of execution of the first application until the first application calls the second application. The application launch control unit calculates the third time, which is the time obtained by subtracting the second time from the first time, and determines that the second application will be launched when the third time has elapsed since the start of execution of the first application. The application launch control unit manages information on the number of times the first application has called the second application. The call count is increased by 1 each time the first application calls the second application and decreased by 1 when the execution of the second application is completed. The application launch control unit stops the operation of the second application after confirming that the call count has become 0. [Effects of the Invention]

[0009] According to at least one aspect of the present invention, it becomes possible to achieve both a reduction in application uptime and prevention of a decline in user experience. Other issues, configurations, and effects not mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]

[0010] [Figure 1] This figure shows an example of a schematic configuration of an information processing system according to one embodiment of the present invention. [Figure 2] This is a block diagram showing an example configuration of the control system of a container execution platform according to one embodiment of the present invention. [Figure 3] This is a block diagram showing an example configuration of a user terminal control system according to one embodiment of the present invention. [Figure 4] This figure shows an example configuration of an application information database related to one embodiment of the present invention. [Figure 5] This figure shows an example configuration of the control target set information DB related to one embodiment of the present invention. [Figure 6] This figure shows an example configuration of the activation trigger information database related to one embodiment of the present invention. [Figure 7] This flowchart shows an example of the procedure for application startup control processing by a container execution platform according to one embodiment of the present invention. [Figure 8] This flowchart shows an example of the procedure for selecting a target to be launched by the application launch control unit according to one embodiment of the present invention. [Figure 9] This flowchart shows an example of the procedure for application startup delay control processing by a startup delay control unit according to one embodiment of the present invention. [Figure 10] This flowchart shows an example of the procedure for stopping an application by an application launch control unit according to one embodiment of the present invention. [Modes for carrying out the invention]

[0011] Hereinafter, examples of embodiments for carrying out the present invention (hereinafter referred to as "embodiments") will be described with reference to the accompanying drawings. The present invention is not limited to these embodiments, and various numerical values ​​and the like in the embodiments are illustrative. Furthermore, in this specification and drawings, the same reference numerals will be used for identical components or components having substantially the same function, and redundant explanations will be omitted.

[0012] <Outline configuration of the information processing system> First, referring to FIG. 1, the configuration of an information processing system according to an embodiment of the present invention will be described. FIG. 1 is a diagram showing a schematic configuration example of an information processing system 100 according to an embodiment of the present invention.

[0013] As shown in FIG. 1, the information processing system 100 includes a user terminal 30 connected to a network 10 and a container execution platform 20 provided on a cloud 40.

[0014] The container execution platform 20 (an example of an information processing device) is a platform that provides services to a user who operates the user terminal 30 using container technology, and includes an app container 250, an app startup control unit 211, and a trigger monitoring unit 212. Container technology is a technology for executing a container (app container 250) that packages an application and an operating environment as one package in units of processes.

[0015] The app container 250 is composed of a plurality of applications (hereinafter also referred to as "apps") each having a single function. The applications include a web application that a user browses and operates, and an application that executes batch processing that processes at a certain time as a trigger. Note that the functions and types of the app container 250 are not limited to these, and various ones may exist.

[0016] The app startup control unit 211 controls the startup operation and stop operation of each application in the app container 250. The trigger monitoring unit 212 (an example of a trigger detection unit) monitors the occurrence of a defined trigger, and when the occurrence of the trigger is detected, notifies the app startup control unit 211 of the occurrence of the trigger.

[0017] Note that FIG. 1 shows an example in which only one container execution platform 20 is provided on the cloud 40, but the present invention is not limited to this, and a plurality of container execution platforms may be provided. Also, the application containers 250, application startup control unit 211, trigger monitoring unit 212, or other functions (not shown) executed by the container execution platform 20 may be distributed and arranged on a plurality of container execution platforms connected by the network 10. Also, the user terminal 30 is not limited to one, and a plurality of user terminals may be provided.

[0018] The network 10 is configured by, for example, an in-house LAN (Local Area Network). The in-house LAN is realized by, for example, a wired LAN, a wireless LAN, short-range wireless, etc. Or, the in-house LAN may be realized by a combination of these plurality of connection forms.

[0019] The user terminal 30 is configured by, for example, a PC (Personal Computer) or the like, and the user terminal 30 includes an input / output interface (I / O 303: see FIG. 3) or the like that displays a screen related to the service provided by the application container 250 and receives an operation input by the user. In the present embodiment, the container execution platform 20 on the cloud 40 provides a service based on a usage-based charging system to the user. That is, a usage fee corresponding to the length of time the application container 250 is operating on the cloud 40 is charged to the user.

[0020] <Configuration of the control system of the container execution platform> Next, referring to FIG. 2, the hardware configuration for realizing the functions of the control system of the container execution platform 20 will be described. FIG. 2 is a block diagram showing a configuration example of the control system of the container execution platform 20.

[0021] As shown in FIG. 2, the container execution platform 20 includes a memory 201, a CPU (Central Processing Unit) 202, an I / O (Input / Output: input / output interface) 203, an auxiliary storage device 204, a network I / F (Interface) 205, etc.

[0022] The CPU 202 is a processor that executes programs stored in memory 201 or auxiliary storage device 204. Memory 201 includes non-volatile memory elements such as ROM (Read Only Memory) and volatile memory elements such as RAM (Random Access Memory) (neither of which are shown in the figure). ROM stores immutable programs such as BIOS (Basic Input Output System). RAM consists of high-speed, volatile memory elements such as DRAM (Dynamic Random Access Memory). RAM temporarily stores programs stored in auxiliary storage device 204 and data used during program execution.

[0023] I / O203 is both an input interface for users to input instructions to the container execution platform 20 and an output interface for presenting program execution results and other information to the user. Input / output devices such as keyboards, mice, touch panels, displays, and printers (none of which are shown) are connected to I / O203. A user interface provided by an unshown management terminal connected via network 10 (see Figure 1) may also be connected to I / O203.

[0024] The auxiliary storage device 204 is a high-capacity, non-volatile storage device, such as a magnetic storage device (HDD: Hard Disk Drive) or flash memory (SSD: Solid State Drive). The auxiliary storage device 204 stores programs executed by the CPU 202 and data used during program execution. In other words, the auxiliary storage device 204 is used as an example of a computer-readable, non-transient recording medium that stores programs executed by the computer.

[0025] The program that implements the functions of the present invention is read from the auxiliary storage device 204, loaded into memory 201, and executed by the CPU 202. Figure 2 shows the state in which each functional unit of the container execution platform 20 is loaded into memory 201.

[0026] The container execution platform 20 is a computer system consisting of one physical computer or multiple logical or physical computers. Programs stored in memory 201 may run in separate threads on the same computer, or they may run on virtual computers built on multiple physical computing resources.

[0027] Furthermore, the container execution platform 20 and other devices not shown may be housed in a single physical or logical computer. Note that all or part of the processing realized by program execution may be implemented by hardware (e.g., FPGA: Field-Programmable Gate Array).

[0028] Network I / F205 consists of a NIC (Network Interface Card), etc., and communicates with other servers and user terminals 30 connected via network 10.

[0029] In this embodiment, an example is shown in which each function realizing the present invention is stored and operated in container format, but the present invention is not limited to this. Other formats such as virtual machines or FaaS (Function as a Service) applications may be used as long as they can be controlled in the same way as in this embodiment, such as starting and stopping.

[0030] In the example shown in Figure 2, the application launch control unit 211, trigger monitoring unit 212, routing control unit 213, application log acquisition unit 214, launch delay control unit 215, and application container 250 are loaded into memory 201. Furthermore, the information stored in the application information DB (Database) 221, the controlled target set information DB 222, and the launch trigger information DB 223 is also loaded into memory 201.

[0031] The application launch control unit 211 controls the launch and shutdown timings of the target application container 250 in accordance with notifications from the trigger monitoring unit 212. For example, the application launch control unit 211 controls the application to minimize the application's operating time without causing any waiting time for user requests. Specifically, it adjusts the launch timing of the controlled application (hereinafter also referred to as the "controlled application") that is called after the trigger application, which is the application associated with the trigger. The application launch control unit 211 determines the launch timing of the controlled application based on information about the time the trigger application called the controlled application and information about the launch time of the controlled application. Details of the processing by the application launch control unit 211 will be described in detail later with reference to Figure 7.

[0032] The trigger monitoring unit 212 detects triggers from logs acquired by the application log acquisition unit 214, based on information stored in the startup trigger information DB 223, and notifies the application startup control unit 211 of the trigger detection. Alternatively, the trigger monitoring unit 212 may directly detect triggers from signals output from each application.

[0033] The routing control unit 213 distributes requests to the application container 250 and the startup delay control unit 215. Requests include requests entered by the user and startup requests from other application containers 250. If the application to which the request is sent has finished starting, the routing control unit 213 distributes the request to the application container 250. On the other hand, if the application to which the request is sent is stopped or preparing to start, the routing control unit 213 distributes the request to the startup delay control unit 215.

[0034] The application log acquisition unit 214 acquires and stores the logs output by the application container 250. The log information held by the application log acquisition unit 214 is referenced by other programs such as the trigger monitoring unit 212.

[0035] The startup delay control unit 215 controls the timing of the forwarding of requests from the trigger application to the controlled application. Specifically, the startup delay control unit 215 delays the sending of processing requests from the trigger application to the controlled application if the controlled application has not finished starting up at the time the controlled application is executing its processing. The startup delay control unit 215 will be described in detail later with reference to Figure 9.

[0036] The application information DB221 is a database that stores information about each application in the application container 250 running on the container execution platform 20. The application information DB221 will be described in detail later with reference to Figure 4.

[0037] The Control Target Set Information DB222 is a database that stores information about processes (functions) (hereinafter also referred to as "control target sets") that are implemented by combining multiple applications. The Control Target Set Information DB222 will be described in detail later with reference to Figure 5.

[0038] The Activation Trigger Information DB223 is a database that stores information about events that trigger the activation of a controlled set. The Activation Trigger Information DB223 will be described in detail later with reference to Figure 6.

[0039] <Configuration of the user terminal control system> Next, with reference to Figure 3, the hardware configuration for realizing the control system functions of the user terminal 30 will be described. Figure 3 is a block diagram showing an example of the control system configuration of the user terminal 30.

[0040] As shown in Figure 3, the user terminal 30 includes memory 301, CPU 302, I / O 303, auxiliary storage device 304, network I / F 305, etc.

[0041] The CPU 302 is a processor that executes programs stored in the memory 301. The memory 301 includes ROM, a non-volatile memory element, and RAM, a volatile memory element (neither of which are shown in the figure). The ROM stores immutable programs, such as the BIOS. The RAM is composed of high-speed, volatile memory elements such as DRAM. The RAM temporarily stores programs stored in the auxiliary storage device 304 and data used when executing programs.

[0042] Specifically, the web browser 311 is stored in memory 301. The web browser 311 provides the user with a UI (User Interface) when the user runs and displays web applications and the like contained in the application container 250 (see Figure 1).

[0043] I / O303 is both an input interface for the user to input instructions to the user terminal 30 and an output interface for presenting program execution results and other information to the user. Input / output devices such as a keyboard, mouse, touch panel, display, and printer (none of which are shown) are connected to I / O303. A user interface provided by an unshown management terminal connected via network 10 (see Figure 1) may also be connected to I / O303.

[0044] The auxiliary storage device 304 is a high-capacity, non-volatile storage device, such as a magnetic storage device (HDD) or flash memory (SSD). The auxiliary storage device 304 stores programs executed by the CPU 302 and data used during program execution. In other words, the auxiliary storage device 304 is used as an example of a computer-readable, non-transient recording medium that stores programs executed by the computer.

[0045] The program is read from the auxiliary storage device 304, loaded into memory 301, and executed by the CPU 302. Figure 3 shows the state in which each functional unit of the user terminal 30 is loaded into memory 301.

[0046] <Configuration of the application information database> Next, we will explain the configuration of the application information DB221 with reference to Figure 4. Figure 4 is a diagram showing an example of the configuration of the application information DB221.

[0047] As shown in Figure 4, the application information DB221 contains the following items: "Application Identifier," "Application Name," "Calling Application Information," "Next Calling Application Information," "Next Application Call Time," "Application Startup Time," "Request Timeout Time," and "Number of Calls."

[0048] The "App Identifier" field stores information about the application identifier set for each application within the app container 250. In the example shown in Figure 4, the application identifier is represented by a three-digit number such as "001" or "002". The "App Name" field stores information about the name of the application. In the example shown in Figure 4, the application names stored include "Authentication," "Information Registration," "Information Change," "Change Notification," "Difference Extraction," "Backup," and "Excess Data Deletion."

[0049] The "authentication" application verifies the user ID and password entered by the user and, if successful, allows the user to log in to the system. The "information registration" application provides a function to register the user's information in the system when it detects that the user has pressed the registration button on the page displayed after the user has completed logging in (not shown in the diagram).

[0050] The "Information Change" app is an application that provides the function to change already registered user information when it detects that the user has pressed an unillustrated change button on a page (not shown) displayed after the user has completed logging in. The "Change Notification" app is an application that is automatically executed when the "Information Change" app processes, and provides the function to notify the user that their user information has been changed. The "Difference Extraction" app is an application that provides the function to extract information that has been registered or changed on that day.

[0051] The "Backup" app is an application called from the "Difference Extraction" app and provides the function of backing up the contents extracted by the "Difference Extraction" app. The "Excess Data Deletion" app is also an application called from the "Difference Extraction" app and provides the function of deleting data if data older than a predetermined threshold is stored in the backup data.

[0052] The "Caller Information" field stores information about the events that trigger the execution of an application assigned an application identifier. These trigger events include the start of execution of the trigger application that calls the application, or actions such as user input. If the trigger is the start of execution of a specific application, the caller information stores the application identifier of that application. If the trigger is a specific action, the caller information stores an identifier indicating that action.

[0053] In the example shown in Figure 4, "1000" in the caller information indicates a user input operation, and "2000" indicates a batch process that is performed periodically. For example, the "Difference Extraction" application is executed periodically (for example, once a day) by batch processing, so the "Caller Information" of the "Difference Extraction" application stores the identifier "2000" which indicates periodic execution. If there are multiple calling applications or actions, the "Caller Information" will store multiple identifiers corresponding to them.

[0054] The "Next Called Application Information" field stores information (application identifier) ​​about the next application (controlled application) that is scheduled to be executed (called) after the application with the assigned application identifier has been executed. If there are multiple applications to be called next, the "Next Called Application Information" field will store multiple identifiers corresponding to them. If there is no application to be called after that application, the "Next Called Application Information" field will be left blank.

[0055] The "Next App Call Time" field stores information about the time (an example of the first hour) from when the execution of the application with the assigned app identifier begins until the next application is called. If user input is required between the start of the current application's execution and the call of the next application, the time required for that input is also included in the "Next App Call Time." If the "Next Called App Information" field for that application contains information for multiple applications, the "Next App Call Time" field will contain information for multiple times, corresponding to each of those applications.

[0056] The "App Launch Time" field stores information about the time required from when the application with the assigned app identifier is instructed to launch until the launch is complete (until it is ready to begin processing) (an example of the second hour).

[0057] The "Request Timeout" field stores information about the allowable waiting time for a response to a request made by an application with an assigned application identifier. For example, suppose an application has a request timeout of 10 seconds. If this application does not receive a response to a request it made to the next controlled application after 10 seconds, the processing of the requesting application times out, and its processing terminates at that point.

[0058] The "Invocation Count" field stores information indicating how many times the application assigned an application identifier has been invoked as a controlled application. The value (count) stored in the "Invocation Count" field is increased or decreased by the application launch control unit 211 (see Figure 1). Specifically, the value of "Invocation Count" is increased by "1" each time the application is invoked, and decreased by "1" when the processing of the application is completed.

[0059] Therefore, if multiple applications have made calls and the processing based on those calls has not yet finished, the "Number of Calls" field will contain a number of 2 or more. The information in the "Number of Calls" field is referenced when the application startup control unit 211 (see Figure 1) executes the application shutdown process. The application shutdown process will be described in detail later with reference to Figure 10.

[0060] The information regarding the next application call time and application startup time is set based on the operational history shown by multiple launches and processes performed by each application. The next application call time and application startup time can be set to the average, maximum, minimum, etc., of the times shown in the operational history. In addition, values ​​obtained by adding a fixed value as a margin may be used. The next application call time and application startup time are expected to be set in advance before the application launch control unit 211 performs its processing, but the values ​​may be updated during the execution of the processing.

[0061] In the example shown in Figure 4, the application name with app identifier "001" is "Authentication," and the caller information for the "Authentication" application is "1000," indicating that it is a user input operation. The applications called after the "Authentication" application are the "Information Registration" application with app identifier "002" and the "Information Change" application with app identifier "003," and the "Next App Call Time" associated with these applications is "10 seconds" and "15 seconds," respectively. The application startup time for the "Authentication" application is "5 seconds," the request timeout time is "10 seconds," and the number of calls is "0 (times)."

[0062] Furthermore, the application with app identifier "025" is named "Difference Extraction," and the caller information for the "Difference Extraction" application is "2000," indicating that it is a batch process that runs periodically. Additionally, the applications called after the "Difference Extraction" application are the "Backup" application with app identifier "026" and the "Excess Data Deletion" application with app identifier "027," and the "Next App Call Time" associated with these applications is "20 seconds." Finally, the application startup time for the "Difference Extraction" application is not set, the request timeout time is "30 seconds," and the number of calls is "0."

[0063] <Configuration of the Controlled Set Information DB> Next, with reference to Figure 5, the configuration of the controlled set information DB222 will be described. Figure 5 shows an example of the configuration of the controlled set information DB222.

[0064] As shown in Figure 5, the Controlled Set Information DB222 has the following items: "Controlled Set Identifier", "Controlled Set Name", and "Controlled Application".

[0065] The "Controlled Set Identifier" field stores information about the identifiers (controlled set identifiers) assigned to each of the processes implemented by the combination of multiple applications, which constitute the controlled set. In the example shown in Figure 5, the controlled set identifiers are represented by three-digit numbers such as "001" and "002".

[0066] The "Controlled Set Name" field stores the name assigned to the controlled set, such as "Registration Process" or "Modification Process". The "Controlled App" field stores the app identifier, which is information about the application (controlled app) that will be controlled during the processing of the controlled set.

[0067] In the example shown in Figure 5, the name of the controlled set whose controlled set identifier is "001" is "Registration Process," and the application controlled by the controlled set of Registration Process is the application with application identifier "002" ("Information Registration" application).

[0068] Furthermore, the name of the controlled set whose controlled set identifier is "002" is "Change Processing," and the applications controlled by the controlled set of Change Processing are the application with app identifier "003" ("Information Change" app) and the application with app identifier "004" ("Change Notification" app).

[0069] <Configuration of the Activation Trigger Information Database> Next, the configuration of the Activation Trigger Information DB223 will be described with reference to Figure 6. Figure 6 is a diagram showing an example of the configuration of the Activation Trigger Information DB223. As shown in Figure 6, the Activation Trigger Information DB223 has the following items: "Activation Trigger Identifier", "Control Target Set Information", "Trigger Application", "Trigger Content", and "Call Probability".

[0070] The "Activation Trigger Identifier" field stores the identifier (activation trigger identifier) ​​assigned to the event that triggers the processing of the controlled set. In the example shown in Figure 6, the activation trigger identifier is represented by a three-digit number such as "001" or "002". The "Controlled Set Information" field stores the controlled set identifier.

[0071] The "Trigger App" field stores an app identifier as information about the application (trigger app) associated with the event that triggers the start of processing in the controlled set. The trigger app field may also be automatically populated with application information listed in the "Caller Information" section of the app information DB221 (see Figure 4), which is associated with the "Controlled App" in the controlled set information DB222 (see Figure 5).

[0072] The "Trigger Details" field stores information about the events that trigger the activation of the controlled set's processing. Examples of events that trigger the activation of the controlled set's processing include specific input processing by the user, detection of specific logs output from a specific application, and execution of specific processes. The "Invocation Probability" field stores information about the probability that the processing of the controlled set will be invoked after the event that triggers the activation has occurred.

[0073] In the example shown in Figure 6, the target set of the controlled object that is activated by the activation trigger with activation trigger identifier "001" is the controlled object set with the controlled object set identifier "001". Furthermore, the trigger application that triggers the processing of the controlled object set is the application with application identifier "001" ("Authentication" application). The trigger content is "Start execution of trigger application processing", and the probability of calling the controlled object set's processing is "40%".

[0074] The "call probability" information in the startup trigger information DB223 is referenced when the application startup control unit 211 (see Figure 1) executes the startup target selection process. The startup target selection process is executed by the application startup control unit 211 when there are multiple control target applications associated with a trigger detected by the trigger monitoring unit 212. When there are multiple control target applications associated with a trigger, the application startup control unit 211 selects the application whose "call probability" in the startup trigger information DB223 is higher than a predetermined threshold as the application to be started (controlled). The startup target selection process by the application startup control unit 211 will be described in detail later with reference to Figure 8.

[0075] <Application startup control processing by information processing device> Next, with reference to Figure 7, the application startup control process by the container execution platform 20 (see Figure 1) will be explained. Figure 7 is a flowchart showing an example of the procedure for the application startup control process by the container execution platform 20.

[0076] First, the trigger monitoring unit 212 of the container execution platform 20 detects the occurrence of an event that triggers the start of processing for the controlled set and notifies the application startup control unit 211 of the occurrence of the trigger (step S1). The trigger monitoring unit 212 can detect the occurrence of an event that triggers the start of processing for the controlled set by, for example, monitoring the log information acquired from each application by the application log acquisition unit 214.

[0077] Next, the application launch control unit 211 counts how many applications associated with the event detected in step S1 are set in the "trigger application" item of the launch trigger information DB 223 (step S2). For example, suppose the event that triggers the processing of the controlled set detected in step S1 is the start of processing of the "authentication application". In this case, the number of settings for the "authentication application" with application identifier "001" in the "trigger application" of the launch trigger information DB 223 (see Figure 6) will be 2.

[0078] Next, the application launch control unit 211 determines whether the number of settings counted in step S2 is "1" or not (step S3). If it is determined in step S3 that the number of settings is "1" (if step S3 is determined to be YES), the application launch control unit 211 obtains the "control target set information" associated with the "trigger application" from the launch trigger information DB 223 (step S4).

[0079] On the other hand, if it is determined in step S3 that the number of settings is "2" or more (i.e., if step S3 is determined to be NO), the application launch control unit 211 performs the launch target selection process (step S5). The launch target selection process by the application launch control unit 211 will be described in detail with reference to Figure 8 below.

[0080] After processing in step S4 or step S5, the application launch control unit 211 determines the application to be controlled based on the acquired control target set information (step S6). For example, suppose that in step S4 or step S5, information for a "registration process" with a control target set identifier of "001" is acquired as "control target set information". In this case, the application launch control unit 211 determines the application with an application identifier of "002" ("information registration" application), which is associated with the control target set identifier "001" in the control target set information DB 222 (see Figure 5), as the application to be controlled.

[0081] Next, the application launch control unit 211 adds "1" to the "Number of Calls" item in the application information DB 221 (see Figure 4) for the controlled application determined in step S6 (step S7). For example, suppose that multiple "trigger applications" are associated with the controlled application determined in step S6, and that calls are being made from those trigger applications. In this case, the number in the "Number of Calls" item in the application information DB 221 will be 2 or more.

[0082] Next, the application launch control unit 211 determines the launch timing of the controlled application based on the next application call time of the application that triggers the launch of the controlled application (trigger application) and the application launch time of the controlled application (step S8). For example, if the application determined to be the controlled application is the "Information Registration" application with application identifier "002", the trigger application for the "Information Registration" application will be the "Authentication" application with application identifier "001" stored in the "Caller Information" of the application information DB 221.

[0083] The application launch control unit 211 then obtains information on the "next application call time" for the "authentication" application, which is the trigger application for the "information registration" application, from the application information DB 221. In the example shown in Figure 4, the "authentication" application, whose application identifier is "001", has two pieces of information stored in its "next application call time": "10 seconds" and "15 seconds". "10 seconds" is the "next application call time" associated with the application ("information registration" application) with application identifier "002" stored in the "next call information". "15 seconds" is the "next application call time" associated with the application ("information change" application) with application identifier "003" stored in the "next call information".

[0084] If the application determined to be the controlled application in step S6 is, for example, "Information Registration," the application launch control unit 211 obtains "10 seconds" as the "next application call time" for the trigger application, "Authentication." Furthermore, the application launch control unit 211 obtains "5 seconds" as the application launch time for the controlled application. This is because, according to the application information DB 221, the application launch time for the controlled application, "Information Registration," is "5 seconds."

[0085] Next, the app launch control unit 211 calculates a difference of "5 seconds" (an example of the third time) by subtracting the app launch time of the controlled app, "5 seconds," from the trigger app's "next app call time," which is "10 seconds." Then, the app launch control unit 211 determines that the launch timing of the controlled app, the "information registration" app, is the point in time when the difference of "5 seconds" has elapsed since the start of processing of the trigger app.

[0086] By having the application launch control unit 211 perform this control, the "Information Registration" application, which is the controlled application, can be launched by the time the 10 seconds required for the "Authentication" application, which is the trigger application, to call the "Information Registration" application, which is the control application, have elapsed. In other words, it is possible to prevent a situation where the controlled application has not yet launched when the call is made from the trigger application. If the controlled application has not launched despite the call being made from the trigger application, a waiting time will occur for the controlled application to launch. According to this embodiment, it is possible to prevent a waiting time for the controlled application to launch, that is, a delay in responding to the user, and thus prevent a decline in UX (User Experience).

[0087] Furthermore, in this embodiment, the timing at which the controlled application completes to start up and the timing at which the trigger application completes to call the controlled application can be made approximately the same. In other words, it is possible to prevent a waiting period from occurring after the controlled application starts up while waiting for the trigger application to call it. This means that the time the controlled application is running can be kept to the minimum necessary, and thus the charges for services provided by the container execution platform 20 can be reduced. Therefore, according to this embodiment, it is possible to achieve both a reduction in application uptime and prevention of a decline in user experience.

[0088] Next, the application launch control unit 211 waits until the launch timing of the controlled application determined in step S8, and then instructs the controlled application to launch (step S9). If the next application call time of the trigger application is shorter than the launch time of the controlled application, the application launch control unit 211 will launch the controlled application immediately after the trigger application starts processing.

[0089] Next, the application launch control unit 211 determines whether the trigger application's processing timed out before the controlled application's processing was executed, that is, whether the trigger application's request timeout period had elapsed (step S10). If it is determined in step S10 that no timeout occurred (step S10 is determined to be NO), the application launch control unit 211 determines whether the controlled application had completed launching at the time the controlled application's processing was executed (step S11).

[0090] If it is determined in step S11 that the startup of the controlled application is complete (if step S11 is determined to be YES), the processing by the controlled application is executed (step S12). On the other hand, if it is determined in step S11 that the startup of the controlled application is not complete (if step S11 is determined to be NO), the startup delay control unit 215 (see Figure 2) executes the application startup delay control process (step S13). The application startup delay control process by the startup delay control unit 215 will be described in detail later with reference to Figure 9.

[0091] After the processing in step S12, or if step S10 is determined to be YES, the application startup control unit 211 executes the application stop process (step S14). The application stop process by the application startup control unit 211 will be described in detail later with reference to Figure 10. After the processing in step S14, the application startup control process by the information processing system 100 is terminated.

[0092] [Selection process for launching targets] Next, with reference to Figure 8, the launch target selection process performed in step S5 of Figure 7 will be described. Figure 8 is a flowchart showing an example of the procedure for the launch target selection process performed by the application launch control unit 211.

[0093] First, the application launch control unit 211 obtains information on the "call probability" of the control target set associated with the trigger application from the launch trigger information DB 223 (see Figure 6) (step S21). Next, the application launch control unit 211 extracts control target sets whose call probability obtained in step S21 exceeds a predetermined threshold, and selects these control target sets as launch targets (step S22).

[0094] For example, suppose a threshold of "25%" is pre-set for the probability of calling a function. Also, suppose the control target sets associated with the trigger application are "Registration Process" with control target set identifier "001" and "Modification Process" with identifier "002". According to the Activation Trigger Information DB223, the probability of calling "Registration Process" is "40%", and the probability of calling "Modification Process" is "60%". In other words, the probability of calling both "Registration Process" and "Modification Process" exceeds the threshold.

[0095] Therefore, the application launch control unit 211 selects the "Information Registration" application, whose application identifier is "002" and which is associated with the "Registration Process" control target set in the Control Target Set Information DB 222 (see Figure 5), as the application to be controlled. Furthermore, the application launch control unit 211 selects the "Information Change" application, whose application identifier is "003" and which is associated with the "Change Process," and the "Change Notification" application, whose application identifier is "004," as applications to be controlled. After the processing in step S22, the application launch control unit 211's application launch target selection process ends.

[0096] The application launch control unit 211 selects controlled applications based on the application's call probability, so that only applications whose call probability exceeds a predetermined threshold are selected as controlled applications. Therefore, for example, it is possible to prevent applications that are very unlikely to be called as the next application after a trigger application from being selected and launched as controlled applications. If such an application is selected and launched as a controlled application and is not actually used, the application's operating time is wasted. According to this embodiment, such behavior can be prevented, thus reducing billing costs.

[0097] In this embodiment, we have given an example of determining the controlled application based on information about the probability that the next application will be called after the trigger application (an example of a predetermined condition), but the present invention is not limited to this. For example, user information and information about the usage rate of each application by that user may be associated in advance, and control may be performed to determine the application with a high usage rate by the user as the controlled application.

[0098] Furthermore, for example, the length of time spent by the user may be associated with the type of application that will be called next by the trigger application. Then, control may be implemented to select the application to be controlled based on the operation time, such as selecting application A if the user operation is completed within X seconds, and application B if it exceeds X seconds.

[0099] Alternatively, the amount of data processed by the trigger application may be associated with the type of application that will be called next. Then, control may be implemented to select the application to be controlled based on the amount of data, such as selecting application C if the amount of data processed by the trigger application is Y or greater.

[0100] In other words, by setting conditions that match the system's intended use as criteria for determining which application to control, it becomes possible to appropriately select the application to control when there are multiple applications that will be called next.

[0101] [App launch delay control processing] Next, with reference to Figure 9, the application launch delay control process performed in step S13 of Figure 7 will be described. Figure 9 is a flowchart showing an example of the procedure for the application launch delay control process performed by the launch delay control unit 215 (see Figure 2).

[0102] The application launch delay control process is executed when the controlled application has not completed launching within the time limit of the trigger application. If the controlled application has not completed launching within the time limit, the application launch control unit 211 instructs the routing control unit 213 to forward the request from the trigger application to the launch delay control unit 215. When this instruction is executed, the launch delay control unit 215 accepts the request from the routing control unit 213 (step S31). Next, the launch delay control unit 215 obtains information on the request timeout time of the application stored in the "trigger application" of the launch trigger information DB 223 from the application information DB 221 (see Figure 4) (step S32). For example, suppose the trigger application is a "differential extraction" application with application identifier "025". In this case, the launch delay control unit 215 obtains information of "30 seconds" in step S32.

[0103] Next, the startup delay control unit 215 obtains information from the application information DB 221 regarding the time it takes for the controlled application associated with the trigger application to complete startup (application startup time) (step S33). In the application information DB 221, the "next call information" for the "differential extraction" application is associated with the "backup" application with application identifier "026" and the "excess data deletion" application with application identifier "027". According to the application information DB 221, the "application startup time" set for the "backup" application with application identifier "026" and the "excess data deletion" application with application identifier "027" is "5 seconds" each. Therefore, in step S33, the startup delay control unit 215 obtains the information of "5 seconds".

[0104] Next, the startup delay control unit 215 determines whether the startup of the controlled application will be completed before the trigger application times out, that is, before the request timeout period set for the trigger application arrives (step S34). If the request timeout period obtained in step S32 is "30 seconds" and the application startup time obtained in step S33 is "5 seconds", it can be seen that the startup of both the controlled application, the "Difference Extraction" application and the "Excess Data Deletion" application, will be completed before the trigger application times out. In this case, step S34 will be determined to be YES.

[0105] If step S34 is determined to be YES, the startup delay control unit 215 will not send a request to the controlled application until the controlled application has finished starting up, and will forward the request to the controlled application after the controlled application has finished starting up (step S35). As a result of the process in step S35, the sending of the request to the controlled application will be performed after the controlled application has finished starting up.

[0106] On the other hand, if step S34 determines that the controlled application will not complete to start before the trigger application times out (i.e., if step S34 is determined to be NO), the startup delay control unit 215 sends an error response to the trigger application that includes information on the time required for the controlled application to complete to start up (step S36).

[0107] Next, the trigger application waits until the startup completion timing of the controlled application described in the error response, and after waiting is complete, it sends another request to the controlled application (step S37). Because the startup delay control unit 215 performs this control, even if, for example, an irregular operation occurs and a request is issued from the trigger application earlier than expected, the request from the trigger application to the controlled application will be issued after the startup of the controlled application that is the target of the request has completed. Therefore, according to this embodiment, it is possible to prevent errors from occurring due to the controlled application that is the target of the request not being started. After processing in step S35 or step S37, the application startup delay control processing by the startup delay control unit 215 ends.

[0108] If, in step S34, it is determined that the startup of the controlled application will not be completed before the timeout, the startup delay control unit 215 may simply generate an error instead of performing any further control. In this case, the trigger application that received the error notification will retry issuing a request to the controlled application.

[0109] [App termination process] Next, with reference to Figure 10, the application termination process performed in step S14 of Figure 7 will be described. Figure 10 is a flowchart showing an example of the procedure for application termination processing by the application launch control unit 211.

[0110] The application stop process shown in Figure 10 is performed on each of the control target applications selected as launch targets in the launch target selection process in step S5 of Figure 7. First, the application launch control unit 211 subtracts "1" from the "number of calls" of the control application that is the target of the application stop process (step S41).

[0111] Next, the application launch control unit 211 checks the "number of calls" of the control application that is the target of the application stop process (step S42). Next, the application launch control unit 211 determines whether the number of calls is "0" or not (step S43). If it is determined in step S43 that the "number of calls" is "0" (if step S43 is determined to be YES), the application launch control unit 211 stops the operation of the control application that is the target of the application stop process (step S44). After the processing in step S44, the application stop process by the application launch control unit 211 is completed.

[0112] On the other hand, if in step S43 it is determined that the "number of calls" is not "0," that is, it is "1" or more (if step S43 is determined to be NO), the application startup control unit 211 terminates the application stop process.

[0113] If the trigger application's processing is initiated multiple times, or if there are calls from multiple trigger applications and the processing based on those calls has not yet finished, the number of calls to the controlled application will be "1" or more. If the number of calls is "1" or more, the controlled application in question is likely to be performing processing based on a request from one of the trigger applications, so the application startup control unit 211 excludes this application from the application stop processing. Then, when the "number of calls" becomes "0", the application is stopped.

[0114] By performing such control by the application launch control unit 211, it is possible to prevent applications that are currently running or applications that are waiting to be executed from being stopped unintentionally.

[0115] <Specific examples of application launch control processing> Next, we will explain the application launch control process shown in Figure 7 (including the application launch target selection process shown in Figure 8, the application launch delay control process shown in Figure 9, and the application stop process shown in Figure 10) with specific examples. [Specific example] First, as a concrete example 1, let's consider the case where the application whose trigger is detected by the trigger monitoring unit 212 is the "authentication" application with application identifier "001". In concrete example 1 described below, the threshold for the probability of calling the application is set to "25%", and the total number of calls to all applications at the time the trigger is detected is assumed to be "0".

[0116] First, let's assume that the "authentication" application is executed based on user input. Since the "authentication" application is an application stored in the "trigger application" of the startup trigger information DB223 (see Figure 6), the trigger monitoring unit 212 detects the occurrence of an event that triggers the start of processing for the controlled set, i.e., the execution of the "authentication" application (step S1 in Figure 7).

[0117] Next, the application launch control unit 211 counts the number of applications configured as trigger applications for the launch trigger (step S2). In the launch trigger information DB 223, the "authentication" application with application identifier "001" is registered twice in the "trigger application" field. Therefore, in the next step S3, the determination of "Is the number of settings 1?" is made, and "NO" is selected. As a result, the application launch control unit 211 performs the launch target selection process (step S5).

[0118] In the application launch control unit 211's launch target selection process, it first obtains information on the call probability of the control target set associated with the trigger application from the launch trigger information DB 223 (step S21 in Figure 8). The control target sets associated with the trigger application are "registration process" with control target set identifier "001" and "modification process" with control target set identifier "002". Therefore, in step S21, the application launch control unit 211 obtains information on the call probability of "registration process" ("40%") and the call probability of "modification process" ("60%").

[0119] Since the probabilities of these two calls exceed a predetermined threshold of "25%", the application launch control unit 211 selects the two control target sets, "registration process" and "modification process," as the control target sets to be launched in the next step S22.

[0120] According to the Control Target Set Information DB222 (see Figure 5), the controlled application for the "Registration Process" with a controlled target set identifier of "001" is the "Information Registration" application with an application identifier of "002". Also, the controlled applications for the "Change Process" with a controlled target set identifier of "002" are the "Information Change" application with an application identifier of "003" and the "Change Notification" application with an application identifier of "004". Therefore, in step S6 in Figure 7, which is performed after the startup target selection process, the application startup control unit 211 selects the three applications, the "Registration Process" application, the "Information Change" application, and the "Information Notification" application, as controlled applications.

[0121] Next, the application launch control unit 211 adds "1" to the "invocation count" of each of these applications set for the controlled application (step S7). Then, the application launch control unit 211 determines the launch timing of the controlled application based on the next application invocation time of the trigger application and the application launch time of the controlled application (step S8). Finally, when the determined launch timing arrives, the controlled application is launched (step S9).

[0122] For example, let's assume that the application set as the control target is the "Information Registration" application with application identifier "002". According to the application information DB221, the "next application call time" for the "Authentication" application with application identifier "001", which is the trigger application for the "Information Registration" application, is "10 seconds". Also, the "application startup time" for the "Information Registration" application set as the control target application is "5 seconds". Therefore, the application startup control unit 211 determines that the startup timing for the "Information Registration" application is 5 seconds after the "Authentication" application, the trigger application, starts execution.

[0123] For example, suppose a login process is performed by the "authentication" app based on user input, and 12 seconds after the login process, the user performs an information registration operation. In this case, since the "information registration" app is already running 12 seconds after the login process, the information registration process is executed as scheduled (step S12).

[0124] Subsequently, the application launch control unit 211 performs the application stop process (step S14). In the application stop process, "1" is deducted from the "number of calls" for each of the "information registration" application, the "information change" application, and the "change notification" application (step S41 in Figure 10).

[0125] Since the "invocation count" for these applications was "0" before the application launch control process was executed, the "1" added in step S7 of Figure 7 is subtracted, making the "invocation count" "0". Therefore, step S43 results in a YES judgment, and the operation of the "Information Registration" application, the "Information Change" application, and the "Change Notification" application is stopped (step S44 in Figure 10).

[0126] [Specific Example 2] Next, as a second specific example, we will consider the case where the trigger monitoring unit 212 detects the arrival of the execution timing for the "Difference Extraction" application with application identifier "025" as a trigger. In this second specific example, as described below, the threshold for the probability of calling an application is set to "25%", and the total number of calls to all applications at the time the trigger is detected is assumed to be "0".

[0127] First, when the "Difference Extraction" app with app identifier "025" is automatically executed at the specified time, the app launch control unit 211 counts the number of applications that are set as trigger apps (step S2 in Figure 7). In the launch trigger information DB 223, the "Difference Extraction" app with app identifier "025" is registered twice in the "Trigger App" field. Therefore, in the next step S3, the determination of "Is the number of settings 1?" is made, and "NO" is selected. As a result, the app launch control unit 211 performs the launch target selection process (step S5).

[0128] In the application launch control unit 211's launch target selection process, it first obtains information on the call probability of the control target set associated with the trigger application from the launch trigger information DB 223 (step S21 in Figure 8). The control target sets associated with the trigger application "Difference Extraction" are "Backup Processing" with control target set identifier "008" and "Deletion of Expired Data Processing" with control target set identifier "009". Therefore, in step S21, the application launch control unit 211 obtains information on the call probability of "Backup Processing" (70%) and the call probability of "Deletion of Expired Data Processing" (10%).

[0129] Of these two call probabilities, the call probability of "deleting expired data" is "10%", which is below the predetermined threshold of "25%". On the other hand, the call probability of "backup processing" is "70%", which is above the predetermined threshold of "25%". Therefore, the application launch control unit 211 selects "backup processing", whose call probability exceeds the threshold, as the set of controlled objects to be launched (step S22 in Figure 8).

[0130] According to the Control Target Set Information DB222 (see Figure 5), the controlled application for the "Backup Process" with a controlled target set identifier of "008" is the "Backup" application with an application identifier of "026". Therefore, in step S6 in Figure 7, which follows the startup target selection process, the application startup control unit 211 selects the "Backup" application as the controlled application.

[0131] Next, the app launch control unit 211 adds "1" to the "number of calls" of the application set as the controlled app ("backup" app) (step S7). Then, the app launch control unit 211 determines the launch timing of the controlled app based on the next app call time of the trigger app and the app launch time of the controlled app (step S8). Finally, when the determined launch timing arrives, the controlled app is launched (step S9).

[0132] The "next app call time" for the "Difference Extraction" app, which is the trigger app for the "Backup" app and has app identifier "025", is "20 seconds". Also, the "app launch time" for the "Backup" app, which is set as the controlled app, is "5 seconds". Therefore, the app launch control unit 211 determines that the launch timing for the "Backup" app is 15 seconds (20 seconds - 5 seconds) after the trigger app, the "Difference Extraction" app, starts execution.

[0133] The difference extraction process with app identifier "025" is normally called by the next process after 20 seconds. However, suppose that the next application is called after 10 seconds, for example, because there was an extremely small amount of difference information to extract. In this case, the next "backup" app, which is scheduled to start 15 seconds after the trigger app, the "difference extraction" app, begins execution, has not yet started.

[0134] In this case, step S11 in Figure 7 results in a NO determination, and the application startup delay control process is executed (step S13). During the application startup delay control process, the startup delay control unit 215 (see Figure 2) accepts a request from the routing control unit 213 (step S31 in Figure 9). In the next step S32, the startup delay control unit 215 obtains "30" seconds as the request timeout period for the trigger application's "diff extraction" application. Then, in the next step S33, the startup delay control unit 215 obtains "5 seconds" as the time until the controlled application completes startup (application startup time).

[0135] Next, the startup delay control unit 215 determines whether the startup of the controlled application, the "backup" application, will be completed before the trigger application, the "diff extraction" application, times out (step S34). Based on the information obtained in steps S32 and S33, it is determined that the startup of the controlled application, the "backup" application, will be completed before the "diff extraction" application times out (step S34 is determined to be YES).

[0136] Therefore, the startup delay control unit 215 holds the request for 5 seconds, which is the time required to start the "backup" app, and then forwards the request to the controlled app, the "backup" app (step S35). As a result, the controlled app, the "backup" app, can accept the request from the "diff extraction" app after it has finished starting up itself.

[0137] Then, in step S12 in Figure 7, which follows the application startup delay control processing by the startup delay control unit 215, the backup process is executed, and in the next step S14, the "backup" application is stopped and the backup process is terminated.

[0138] The embodiments described above are intended to explain the configuration of the apparatus and system in detail and concretely in order to make the present invention easier to understand, and are not necessarily limited to those comprising all of the described configurations.

[0139] Furthermore, the control lines or information lines shown as solid lines in Figure 1 are those deemed necessary for explanation purposes and do not necessarily represent all control lines or information lines in the actual product. In reality, it can be assumed that almost all components are interconnected.

[0140] Furthermore, in this specification, processing steps describing chronological processing include not only processing performed chronologically in the order described, but also processing that is not necessarily performed chronologically but is executed in parallel or individually (for example, parallel processing or processing by objects). [Explanation of Symbols]

[0141] 20...Container execution platform, 30...User terminal, 40...Cloud, 100...Information processing system, 211...Application launch control unit, 212...Trigger monitoring unit, 213...Routing control unit, 214...Application log acquisition unit, 215...Startup delay control unit, 221...Application information DB, 250...Application container, 221...Application information DB, 222...Control target set information DB, 223...Startup trigger information DB

Claims

1. An information processing device that provides services by coordinating and operating multiple applications in a cloud environment, A trigger detection unit that detects the occurrence of a defined trigger, The system includes an application launch control unit that determines the launch timing of the second application based on information of the first time required to call the second application which is scheduled to be called after the first application associated with the trigger detected by the trigger detection unit, and information of the second time required to launch the second application, and controls the launch of the second application at that launch timing. The first time is the time from the start of execution of the first application until the first application makes a call to the second application. The application launch control unit calculates a third time, which is the time obtained by subtracting the second time from the first time, and determines the time when the third time has elapsed since the start of execution of the first application as the launch timing of the second application. The application launch control unit manages information on the number of times the first application has called the second application, and the number of calls is incremented by 1 when the first application calls the second application, and decremented by 1 when the execution of the second application is completed. The application launch control unit stops the operation of the second application after confirming that the number of calls has become zero. Information processing device.

2. If there are multiple second applications associated with the first application, the application launch control unit selects an application that satisfies predetermined conditions as the application to be launched. The information processing apparatus according to claim 1.

3. The aforementioned condition is that the probability of the first application executing a call exceeds a predetermined threshold. The information processing apparatus according to claim 2.

4. The system further includes a startup delay control unit that delays the timing of sending a processing request from the first application to the second application if the second application has not yet finished starting up at the time the second application is executing processing. The information processing apparatus according to claim 1.

5. If the startup delay control unit determines that the startup of the second application will be completed before the timeout period set for the first application has elapsed, it sends a processing request from the first application to the second application after the startup of the second application is complete. The information processing apparatus according to claim 4.

6. If the startup delay control unit determines that the startup of the second application will not be completed within the timeout period set for the first application, it notifies the first application of the time required for the startup of the second application to be completed. The first application waits until the second application has finished starting up, and then sends a processing request to the second application. The information processing apparatus according to claim 4.

7. An application startup control method by an information processing device that provides services by operating multiple applications in a cloud environment in coordination, A trigger detection procedure in which the trigger detection unit detects the occurrence of a defined trigger, The application launch control unit includes an application launch procedure which determines the launch timing of the second application based on information of a first time required for calling a second application that is scheduled to be called after the first application associated with the trigger detected by the trigger detection procedure, and information of a second time required for launching the second application, and performs control to launch the second application at that launch timing. The first time is the time from the start of execution of the first application until the first application makes a call to the second application. The application launch control unit calculates a third time, which is the time obtained by subtracting the second time from the first time, and determines the time when the third time has elapsed since the start of execution of the first application as the launch timing of the second application. The application launch control unit manages information on the number of times the first application has called the second application, and the number of calls is incremented by 1 when the first application calls the second application, and decremented by 1 when the execution of the second application is completed. The application launch control unit stops the operation of the second application after confirming that the number of calls has become zero. Application launch control method.

Citation Information

Patent Citations

  • Closure device

    JP1985070355A

  • Startup control program, startup control method, and startup control device

    JP2017016505A

  • Information processor and application control program

    JP2022065835A