Patents by Inventor Sanjay A. Bhansali
Sanjay A. Bhansali has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8910124Abstract: An apparatus and method for aiding in debugging and optimizing software is presented, in particular for instrumenting software to trace function calls. Source code is compiled with placeholder memory ranges. While executing the compiled binary object, a call-trace profiling function is inserted into at least certain of the placeholder memory ranges to log call-trace profiling data. Then, the compiled binary object is restored to its original state by removing the call-trace profiling function(s). A NOP function can be inserted in each placeholder memory range during compilation.Type: GrantFiled: October 31, 2011Date of Patent: December 9, 2014Assignee: Google Inc.Inventors: Sanjay Bhansali, Harshit Chopra
-
Publication number: 20120330416Abstract: An ossicular replacement prosthesis includes first and second engagement structures for engaging middle ear structures, a spring that biases the first and second engagement structures longitudinally apart when under compression, and a rod that axially stabilizes longitudinal movement of the first and second engagement structures and conducts sound waves between the first and second engagement structures. Relative axial pressure on the first and second engagement structures causes compression or expansion of the spring which results in movement of the rod to adjust the length of the prosthesis to accommodate changes in anatomical distance as occurs under changes in pressure or abnormal middle ear conditions.Type: ApplicationFiled: September 4, 2012Publication date: December 27, 2012Inventor: Sanjay A. Bhansali
-
Patent number: 8262729Abstract: An ossicular replacement prosthesis includes first and second engagement structures for engaging middle ear structures, a spring that biases the first and second engagement structures longitudinally apart when under compression, and a rod that axially stabilizes longitudinal movement of the first and second engagement structures and conducts sound waves between the first and second engagement structures. Relative axial pressure on the first and second engagement structures causes compression or expansion of the spring which results in movement of the rod to adjust the length of the prosthesis to accommodate changes in anatomical distance as occurs under changes in pressure or abnormal middle ear conditions.Type: GrantFiled: July 2, 2009Date of Patent: September 11, 2012Assignee: EnteroptyxInventor: Sanjay A. Bhansali
-
Patent number: 7769974Abstract: Applications written in modern garbage collected languages like C# tend to have large dynamic working sets and poor data locality and are therefore likely to spend excess time on managing data movements between memory hierarchies. Instead, a low overhead dynamic technology improves data locality of applications. The technology monitors objects while the program runs and places recently accessed objects on the same page(s) on the heap. Providing increased page density is an effective method for reducing DTLB and/or data cache misses.Type: GrantFiled: October 18, 2004Date of Patent: August 3, 2010Assignee: Microsoft CorporationInventors: Sanjay Bhansali, Wen-Ke Chen, Xiaofeng Gao
-
Publication number: 20100010629Abstract: An ossicular replacement prosthesis includes first and second engagement structures for engaging middle ear structures, a spring that biases the first and second engagement structures longitudinally apart when under compression, and a rod that axially stabilizes longitudinal movement of the first and second engagement structures and conducts sound waves between the first and second engagement structures. Relative axial pressure on the first and second engagement structures causes compression or expansion of the spring which results in movement of the rod to adjust the length of the prosthesis to accommodate changes in anatomical distance as occurs under changes in pressure or abnormal middle ear conditions.Type: ApplicationFiled: July 2, 2009Publication date: January 14, 2010Inventor: Sanjay A. Bhansali
-
Patent number: 7620938Abstract: Program execution can be monitored and recorded for later playback. Certain state changes that can be predicted via a virtual processor during playback need not be recorded, so a compressed recording can be stored. To facilitate random access with respect to time during playback, key frames can be stored within the compressed recording. An index mechanism can associate key frames with particular memory addresses. Additionally, a snapshot of values for memory addresses can be used to further facilitate determining the value of a memory address without having to simulate execution. Multiprocessor executions can be supported, and playback can be done on a machine type different from that on which recording took place.Type: GrantFiled: October 31, 2005Date of Patent: November 17, 2009Assignee: Microsoft CorporationInventors: Andrew James Edwards, Darek Mihocka, Ho-Yuen Chau, Ronald C. Murray, Sanjay Bhansali, Stuart D. de Jong, Wen-Ke Chen, Kenneth Bryant Pierce
-
Patent number: 7614044Abstract: A compiler that completes compilation upon identifying unresolvable input during compilation instead of aborting compilation. This can be accomplished by inserting an exception-throwing instruction, and/or handlers in place of the unresolvable input in the compiled code output. If the section of the compiled code containing the inserted exception throwing instruction is later executed, an exception is thrown and/or handled. Compilation of code from a trusted source can be completed without inserting an exception throwing instruction when the code has only suspected but unverifiable problems.Type: GrantFiled: November 18, 2005Date of Patent: November 3, 2009Assignee: Microsoft CorporationInventors: Sanjay Bhansali, Shajan Dasan, Brian D. Harry, Vance Palmer Morrison
-
Publication number: 20070168989Abstract: Program execution can be monitored and recorded for later playback. Certain state changes that can be predicted via a virtual processor during playback need not be recorded, so a compressed recording can be stored. To facilitate random access with respect to time during playback, key frames can be stored within the compressed recording. An index mechanism can associate key frames with particular memory addresses. Additionally, a snapshot of values for memory addresses can be used to further facilitate determining the value of a memory address without having to simulate execution. Multiprocessor executions can be supported, and playback can be done on a machine type different from that on which recording took place.Type: ApplicationFiled: October 31, 2005Publication date: July 19, 2007Applicant: Microsoft CorporationInventors: Andrew Edwards, Darek Mihocka, Ho-Yuen Chau, Ronald Murray, Sanjay Bhansali, Stuart de Jong, Wen-Ke Chen, Kenneth Pierce
-
Publication number: 20060080647Abstract: A compiler that completes compilation upon identifying unresolvable input during compilation instead of aborting compilation. This can be accomplished by inserting an exception-throwing instruction, and/or handlers in place of the unresolvable input in the compiled code output. If the section of the compiled code containing the inserted exception throwing instruction is later executed, an exception is thrown and/or handled. Compilation of code from a trusted source can be completed without inserting an exception throwing instruction when the code has only suspected but unverifiable problems.Type: ApplicationFiled: November 18, 2005Publication date: April 13, 2006Applicant: Microsoft CorporationInventors: Sanjay Bhansali, Shajan Dasan, Brian Harry, Vance Morrison
-
Publication number: 20060059474Abstract: Applications written in modern garbage collected languages like C# tend to have large dynamic working sets and poor data locality and are therefore likely to spend excess time on managing data movements between memory hierarchies. Instead, a low overhead dynamic technology improves data locality of applications. The technology monitors objects while the program runs and places recently accessed objects on the same page(s) on the heap. Providing increased page density is an effective method for reducing DTLB and/or data cache misses.Type: ApplicationFiled: October 18, 2004Publication date: March 16, 2006Applicant: Microsoft CorporationInventors: Sanjay Bhansali, Wen-Ke Chen, Xiaofeng Gao
-
Patent number: 6993751Abstract: A compiler that completes compilation upon identifying unresolvable input during compilation instead of aborting compilation. This can be accomplished by inserting an exception-throwing instruction, and/or handlers in place of the unresolvable input in the compiled code output. If the section of the compiled code containing the inserted exception throwing instruction is later executed, an exception is thrown and/or handled. Compilation of code from a trusted source can be completed without inserting an exception throwing instruction when the code has only suspected but unverifiable problems.Type: GrantFiled: May 14, 2001Date of Patent: January 31, 2006Assignee: Microsoft CorporationInventors: Sanjay Bhansali, Shajan Dasan, Brian D. Harry, Vance Palmer Morrison
-
Publication number: 20020169999Abstract: A compiler that completes compilation upon identifying unresolvable input during compilation instead of aborting compilation. This can be accomplished by inserting an exception-throwing instruction, and/or handlers in place of the unresolvable input in the compiled code output. If the section of the compiled code containing the inserted exception throwing instruction is later executed, an exception is thrown and/or handled. Compilation of code from a trusted source can be completed without inserting an exception throwing instruction when the code has only suspected but unverifiable problems.Type: ApplicationFiled: May 14, 2001Publication date: November 14, 2002Applicant: Microsoft CorporationInventors: Sanjay Bhansali, Shajan Dasan, Brian D. Harry, Vance Palmer Morrison