The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Aug. 25, 2009
Filed:
Sep. 08, 2006
Alexey B. Koryakin, Moscow, RU;
Nikolay N. Dobrovolskiy, Moscow, RU;
Andrey A. Omelyanchuk, Moscow, RU;
Maxim A. Kuzkin, Moscow, RU;
Alexander G. Tormasov, Moscow, RU;
Serguei M. Beloussov, Singapore, SG;
Stanislav S. Protassov, Moscow, RU;
Alexey B. Koryakin, Moscow, RU;
Nikolay N. Dobrovolskiy, Moscow, RU;
Andrey A. Omelyanchuk, Moscow, RU;
Maxim A. Kuzkin, Moscow, RU;
Alexander G. Tormasov, Moscow, RU;
Serguei M. Beloussov, Singapore, SG;
Stanislav S. Protassov, Moscow, RU;
Parallels Software International, Inc., Tortola, VG;
Abstract
A method and system for handling of potential unsafe instructions and/or for handling transfers of control in a Virtual Machine, that includes generating a frame composed of pages of analyzed code based on original guest code; identifying instructions within the frame that transfer control (or are otherwise unsafe); replacing instructions that transfer the control with an interrupt that transfers control to a stub in non-privileged code; wherein the stub checks whether the control transfer (or instruction) is safe or unsafe, and (i) for unsafe control transfers/unsafe instructions, switches the context to Virtual Machine Monitor; and (ii) for safe control transfers, executes the control transfer in non-privileged mode. The instructions that transfer control can include any of JMP, CALL, RET and RET(n). The instructions that transfer control can also include interrupts.