Patent ID: 8261254

Claim:
A method, comprising: providing, on a computing device comprising a base file system and a base configuration of a base operating system, a virtualization system; virtually installing, to the computing device, a software application by installing the software application to a virtual layer, wherein, when the virtual layer is activated, the virtualization system redirects access requests associated with the software application from the base file system and/or the base configuration to the virtual layer and, when the virtual layer is deactivated, the virtualization system allows access requests associated with the software application to pass through to the base file system and/or the base configuration; activating the virtual layer such that access requests associated with the software application are redirected, by the virtualization system, from the base file system and/or the base configuration to the virtual layer; identifying a subset of functionality associated with the software application that is not currently included in the virtual layer; updating the virtual layer to include the subset of functionality associated with the software application by dynamically inserting a virtual sub-layer that includes the subset of functionality associated with the software application into the virtual layer, wherein the virtual layer remains active during the dynamic insertion of the virtual sub-layer; and selectively making the inserted virtual sub-layer one of visible and invisible to a process associated with the software application executed from the virtual layer by: making the inserted virtual sub-layer visible to the process when the process is determined to have been launched after the insertion of the virtual sub-layer; and making the inserted virtual sub-layer invisible to the process when the process is determined to have been launched before the insertion of the virtual sub-layer.