Patent ID: 8689224

Claim:
A method for reusing one or more originally certified software applications without recertification, said method comprising: identifying the one or more originally certified software applications that are likely to change and unlikely to change during a given time frame; creating one or more virtual machines corresponding to each of the one or more originally certified software applications likely to change and unlikely to change, for the purpose of isolating the one or more originally certified software applications from a certification process; upon a change in one of the originally certified software applications identified as likely to change, creating a first virtual machine, that includes the change in one of the originally certified software applications, the first virtual machine including an operating system and an interface, the first virtual machine being a system virtual machine configured as a component of a system architecture based on a plurality of system virtual machines; certifying the first virtual machine for a specific virtualized computing platform, wherein certifying the first virtual machine includes testing the changed originally certified software application using the specific virtualized computing platform and determining whether the first virtual machine conforms to a certification standard; and deploying the certified first virtual machine, including the operating system and the interface, in the specific virtualized computing platform as a component of the system architecture; wherein deploying the certified first virtual machine comprises at least one of: (i) creating a virtual input/output (I/O) device, that has a same interface as an I/O device associated with a hardware platform, for each of the corresponding one or more virtual machines created for the one or more originally certified software applications likely to change, intercepting I/O traffic with a corresponding virtual I/O device of the originally certified application, passing the intercepted I/O traffic to the certified first virtual machine via a corresponding virtual I/O device of the certified first virtual machine; or (ii) providing an inter-operating system communication mechanism between the interface of the certified first virtual machine and another virtual machine, wherein the inter-operating system communication mechanism includes at least one of a virtual network, interrupts, sockets, message queues, semaphores, events, or shared memory space.