Patent ID: 8244945

Claim:
A method for handling interrupts in a virtual technology environment with integrity services, the method comprising: receiving an interrupt during execution of a software agent, wherein the software agent is in a first mode; assigning the interrupt to a virtual machine running the software agent; suspending execution of the software agent; invoking a first interrupt handler referred to by a first data structure, wherein the first interrupt handler and the first data structure are enforced as read-only by a memory protection module; copying content to a protected interrupt stack from an active interrupt stack allocated to the interrupt in response to verifying that the content has not been tampered with by malicious code; replacing a first return address from the protected interrupt stack with a second return address, wherein the first and second return addresses refer to first and second functions for returning to execution of the software agent; switching the software agent to a second mode; executing a second interrupt handler referred to by a second data structure; returning control to the second function instead of the first function to ensure that execution of the software agent resumes safely; identifying an instruction, wherein the instruction was suspended due to the interrupt; switching the software agent to the first mode in response to verifying that the content in the protected interrupt stack allocated to the interrupt has not been tampered with by malicious code; and passing control back to the identified instruction to resume execution of the software agent.