US 11,720,390 B2
Information processing apparatus that determines whether an extended application can reuse a virtual machine, method of controlling the same, and storage medium
Takeshi Kogure, Toride (JP); Atsushi Ikeda, Toride (JP); and Hiroaki Koike, Kokubunji (JP)
Assigned to Canon Kabushiki Kaisha, Tokyo (JP)
Filed by CANON KABUSHIKI KAISHA, Tokyo (JP)
Filed on Sep. 18, 2020, as Appl. No. 17/24,773.
Claims priority of application No. 2019-169577 (JP), filed on Sep. 18, 2019.
Prior Publication US 2021/0081230 A1, Mar. 18, 2021
Int. Cl. G06F 9/455 (2018.01); G06F 3/04817 (2022.01); G06F 9/50 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 3/04817 (2013.01); G06F 9/5077 (2013.01); G06F 2009/45562 (2013.01); G06F 2009/45575 (2013.01)] 14 Claims
OG exemplary drawing
 
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.