Bypassing Races in Live Applications with Execution Filters
Columbia Technology Ventures
posted on 04/18/2011
Lead Inventor: Junfeng Yang, Ph.D. Problem or Unmet Need: Many large software applications such as web servers and databases employ multiple threads of execution in order to facilitate their development or to exploit parallel computing hardware....
Problem or Unmet Need:
Many large software applications such as web servers and databases employ multiple threads of execution in order to facilitate their development or to exploit parallel computing hardware. Such software often contains many races, or situations in which in execution time variability of one thread unexpectedly affects the execution of another thread, leading to problematic application behavior. Fixing diagnosed races without degrading software performance or introducing new bugs is often time-consuming, and consequently leaves buggy applications in an unprotected state until a fix can be deployed and the software restarted.
Details of the Invention:
This technology is a live-update system enabling rapid deployment of temporary workarounds for races in running applications. It employs a novel algorithm that prevents the introduction of new errors due to the running application's state at the time that a workaround is deployed. It provides immediate protection without appreciably reducing application performance or requiring that the application be restarted.
- High-availability software (e.g. infrastructure software such as operating systems, server network software, and databases) that is impractical to restart at short intervals
- Safely deal with multithreaded applications
- Increases the availability of multithreaded applications by reducing the need to stop and restart them to apply race fixes
- Reduces the typically lengthy interval of time between race discovery and fix deployment by facilitating the rapid and safe deployment of temporary workarounds
- More flexible, faster, and safer than existing systems
- Incurs little performance overhead
- Scales well as the number of application threads increases
- Easy to use
Patent Status: Patent Pending
Licensing Status: Available for Sponsored Research Support
Publications: J. Yang, H. Cui, J. Wu, Bypassing Races in Live Applications with Execution Filters, Proceedings of the Ninth Symposium on Operating Systems Design and Implementation (to appear), 2010
File Number: M11-009
Find more innovations