Switching dual virtual self-service terminals (SSTs)
Dual Self-Service Terminal (SST) Virtual Machines (VMs) are provided. A VM is selected for processing a transaction on the SST as an active core. The active core is dynamically switched back and forth between a first VM and a second VM on a per-transaction basis. Upon failure, a last-successful image for the failing VM is reloaded for the failing VM when the failing VM is scheduled to be cycled back to the active core.
1. A method, comprising:
detecting a completion of a transaction that was processed by a first Virtual Machine (VM) of a Self-Service Terminal (SST);
switching to a second VM as an active core for processing a next transaction from the SST; and
imaging the first VM on storage of the SST as a first image when the transaction was successfully processed by the first VM.
2. The method of claim 1 further comprising, detecting a second completion for the next transaction, moving the first VM to be the active core on the SST, and imaging the second VM on the storage of the SST as a second image when the next transaction was successfully processed by the second VM.
3. The method of claim 2 further comprising, iterating the method by changing the active core between the first VM and the second VM on the SST after completion of each transaction processed by a current active core.
4. The method of claim 3 further comprising, preventing the imaging when a particular transaction fails or a failure in the active core is detected ensuring that both the first image and the second image represent known error-free images during the iterating.
5. The method of claim 1 , wherein switching further includes dynamically switching from a first set of processors that execute the first VM to a second set of processors that are executing the second VM when making the second VM the active core.
6. The method of claim 5 , wherein dynamically switching further includes processing the second VM from a different volatile memory partition from that which is associated with the first VM.
7. The method of claim 1 , wherein switching further includes loading instructions in a last-taken image for the second VM into volatile memory for execution by hardware processors of the SST as the active core.
8. A Self-Service Terminal (SST), comprising:
processors configured to load into memory and execute a first virtual machine (VM) image for a first VM, a second VM image for a second VM, and a switch;
the first VM image;
the second VM image; and
the switch;
wherein the switch is configured to: i) set an active core on the SST for transaction processing by alternating between the first VM and the second VM on a per-transaction basis, ii) capture snapshots representing the first VM image and the second VM image after the first VM and the second VM process assigned transactions successfully, and iii) re-load particular snapshots when one of: the first VM and the second VM fails during processing of their assigned transactions.
9. The SST of claim 8 , wherein the SST is an Automated Teller Machine (ATM).
10. The SST of claim 8 , wherein the switch is further configured, in i), to clear memory of the SST when changing the active core between the first VM and the second VM.