US11720390B2ActiveUtilityA1

Information processing apparatus that determines whether an extended application can reuse a virtual machine, method of controlling the same, and storage medium

48
Assignee: CANON KKPriority: Sep 18, 2019Filed: Sep 18, 2020Granted: Aug 8, 2023
Est. expirySep 18, 2039(~13.2 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 3/04817G06F 9/5077G06F 2009/45562G06F 2009/45575G06F 3/0482G06F 3/04886G06F 9/445G06F 2209/5013G06F 9/5027G06F 9/5022
48
PatentIndex Score
0
Cited by
13
References
14
Claims

Abstract

An information processing apparatus that is able to execute an extended application, and a method of controlling the information processing apparatus are provided. The information processing apparatus holds, in a launched state, a virtual machine (VM) for executing the extended application, determines, in a case that the extended application is launched, whether or not the extended application can reuse the VM. In a case that it is determined that the extended application can reuse the VM, the information processing apparatus determines whether or not a VM that can be reused by the extended application is held, and in a case that it is determined that the VM which can be reused by the extended application is held, execute the extended application using the held VM.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An information processing apparatus that can execute an extended application having one or more functions, the apparatus comprising:
 one or more memories configured to store instructions, a virtual machine (VM) for executing the extended application, and information associated with the extended application indicating whether or not the extended application allows for reusing VMs, wherein the VM for executing the extended application is separate from a control application of the apparatus and the VM is launched in response to detecting an execution environment capable of running the extended application separate from the control application; 
 one or more processors that, upon executing the stored instructions, function to determine, when a function of the extended application is to be executed, whether or not the extended application allows for reusing VMs based on the information; 
 in response to determining based on the information that the extended application allows for reusing VMs, determine whether a VM stored in the one or more memories matches a condition for reuse of the stored VM for the extended application, wherein the condition for reuse comprises determining whether the function of the extended application is the same as a function of the stored VM; and 
 if it is determined that the extended application allows for reusing VMs and it is determined that the stored VM matches the condition for reuse, perform control to execute the function of the extended application using the stored VM. 
 
     
     
       2. The information processing apparatus according to  claim 1 ,
 wherein in a case that it is determined that the extended application does not allow for reusing VMs, or in a case that it has been determined that the stored VM does not match the condition for reuse, the one or more processors function to perform control so that a new VM for executing the extended application is generated and the function of the extended application to be executed is executed using the new VM. 
 
     
     
       3. The information processing apparatus according to  claim 1 ,
 wherein the one or more processors further execute the instructions to, when the extended application is terminated, determine whether or not the extended application allows for reusing VMs, 
 wherein in a case that it is determined upon termination that the extended application allows for reusing VMs, the one or more memories store the VM being used by the extended application without terminating the VM. 
 
     
     
       4. The information processing apparatus according to  claim 3 ,
 wherein the determination upon termination of whether or not the extended application allows for reusing VMs is based on the information. 
 
     
     
       5. The information processing apparatus according to  claim 1 ,
 wherein it is determined that the stored VM matches the condition for reusing the VM for the extended application when the extended application for which the function is to be executed is the same as the extended application which had been executed by the stored VM. 
 
     
     
       6. The information processing apparatus according to  claim 1 ,
 wherein it is determined that the extended application for which the function is to be executed is the same as the extended application for which the stored VM had been executed when an ID for the extended application for which the function is to be executed is the same as an ID for the extended application for which the stored VM had been executed. 
 
     
     
       7. The information processing apparatus according to  claim 1 ,
 wherein the function to be executed includes one of processing for registering an icon corresponding to the extended application, servlet processing performed in accordance with an HTTP request made to the extended application from a web browser, and processing performed when the icon is designated. 
 
     
     
       8. The information processing apparatus according to  claim 1 ,
 wherein the one or more processors, upon execution of the stored instructions, further function to detect an occurrence of an event for releasing the VM stored in the one or more memories; and 
 release the VM stored in the one or more memories in response to detecting the occurrence of the event. 
 
     
     
       9. The information processing apparatus according to  claim 8 ,
 wherein the event is at least one of the extended application being deactivated and a storage region, in the one or more memories, being used up. 
 
     
     
       10. The information processing apparatus according to  claim 1 ,
 wherein the extended application is activated by an HTTP request from a web browser. 
 
     
     
       11. The information processing apparatus according to  claim 1 ,
 wherein the extended application is activated by designating an icon corresponding to the extended application. 
 
     
     
       12. The information processing apparatus according to  claim 1 , wherein, in a case that it is determined that the extended application does not allow for reusing VMs, control is performed to generate a VM for executing the extended application and executes the extended application using the generated VM. 
     
     
       13. A method of controlling an information processing apparatus having one or more memories that store instructions, a virtual machine (VM) for executing an extended application having one or more functions, and information indicating whether or not the extended application allows for reusing VMs, wherein the VM for executing the extended application is separate from a control application of the apparatus and the VM is launched in response to detecting an execution environment capable of running the extended application separate from the control application, the method comprising:
 determining, when a function of the extended application is to be executed, whether or not the extended application allows for reusing VMs based on the information; 
 in response to determining based on the information that the extended application allows for reusing VMs, determining whether a VM stored in the one or more memories matches a condition for reuse of the stored VM for the extended application, wherein the condition for reuse comprises determining whether the function of the extended application is the same as a function of the stored VM, and 
 if it is determined that the extended application allows for reusing VMs and it is determined that the stored VM matches the condition for reuse, performing control so that the function of the extended application is executed using the stored VM. 
 
     
     
       14. A non-transitory computer-readable storage medium storing a program for causing a processor to execute a method of controlling an information processing apparatus having one or more memories that store instructions, a virtual machine (VM) for executing an extended application having one or more functions, and information indicating whether or not the extended application allows for reusing VMs, wherein the VM for executing the extended application is separate from a control application of the apparatus and the VM is launched in response to detecting an execution environment capable of running the extended application separate from the control application, the method comprising:
 determining, when a function of the extended application is to be executed, whether or not the extended application allows for reusing VMs based on the information; 
 in response to determining based on the information that the extended application allows for reusing VMs, determining whether a VM stored in the one or more memories matches a condition for reuse of the stored VM for the extended application, wherein the condition for reuse comprises determining whether the function of the extended application is the same as a function of the stored VM, and 
 if it is determined that the extended application allows for reusing VMs and it is determined that the stored VM matches the condition for reuse, performing control so that the function of the extended application is executed using the stored VM.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.