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:
Jul. 30, 2013
Filed:
Jun. 29, 2010
Arpad Jakab, Oakland, CA (US);
Humberto Yeverino, Menlo Park, CA (US);
Suman Cherukuri, Cupertino, CA (US);
Jeffrey Daudel, South San Francisco, CA (US);
Jonathan Lindo, Emerald Hills, CA (US);
Arpad Jakab, Oakland, CA (US);
Humberto Yeverino, Menlo Park, CA (US);
Suman Cherukuri, Cupertino, CA (US);
Jeffrey Daudel, South San Francisco, CA (US);
Jonathan Lindo, Emerald Hills, CA (US);
CA, Inc., Islandia, NY (US);
Abstract
Techniques for ensuring deterministic thread context switching in a virtual machine application program include, in one embodiment, providing a single application-level mutex that threads of the executing application program are forced to acquire to execute application code of the virtual machine application program. During a first recorded execution of the virtual machine application program, a record is created and stored in a computer that indicates the order in which threads acquire the application-level mutex. In a subsequent replay execution of the virtual machine application program from the recording, threads of the virtual machine application program are managed to ensure that the application-level mutex is acquired by threads in the same order indicated in the record such that any race conditions that occurred during the recorded execution as a result of executing application code are reproduced during the subsequent replay execution thereby aiding application development personnel in identifying and isolating program errors and bugs related to race conditions.