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: 8910124
    Abstract: 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: Grant
    Filed: October 31, 2011
    Date of Patent: December 9, 2014
    Assignee: Google Inc.
    Inventors: Sanjay Bhansali, Harshit Chopra
  • Publication number: 20120330416
    Abstract: 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: Application
    Filed: September 4, 2012
    Publication date: December 27, 2012
    Inventor: Sanjay A. Bhansali
  • Patent number: 8262729
    Abstract: 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: Grant
    Filed: July 2, 2009
    Date of Patent: September 11, 2012
    Assignee: Enteroptyx
    Inventor: Sanjay A. Bhansali
  • Patent number: 7769974
    Abstract: 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: Grant
    Filed: October 18, 2004
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: Sanjay Bhansali, Wen-Ke Chen, Xiaofeng Gao
  • Publication number: 20100010629
    Abstract: 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: Application
    Filed: July 2, 2009
    Publication date: January 14, 2010
    Inventor: Sanjay A. Bhansali
  • Patent number: 7620938
    Abstract: 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: Grant
    Filed: October 31, 2005
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventors: 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: 7614044
    Abstract: 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: Grant
    Filed: November 18, 2005
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Sanjay Bhansali, Shajan Dasan, Brian D. Harry, Vance Palmer Morrison
  • Publication number: 20070168989
    Abstract: 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: Application
    Filed: October 31, 2005
    Publication date: July 19, 2007
    Applicant: Microsoft Corporation
    Inventors: Andrew Edwards, Darek Mihocka, Ho-Yuen Chau, Ronald Murray, Sanjay Bhansali, Stuart de Jong, Wen-Ke Chen, Kenneth Pierce
  • Publication number: 20060080647
    Abstract: 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: Application
    Filed: November 18, 2005
    Publication date: April 13, 2006
    Applicant: Microsoft Corporation
    Inventors: Sanjay Bhansali, Shajan Dasan, Brian Harry, Vance Morrison
  • Publication number: 20060059474
    Abstract: 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: Application
    Filed: October 18, 2004
    Publication date: March 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Sanjay Bhansali, Wen-Ke Chen, Xiaofeng Gao
  • Patent number: 6993751
    Abstract: 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: Grant
    Filed: May 14, 2001
    Date of Patent: January 31, 2006
    Assignee: Microsoft Corporation
    Inventors: Sanjay Bhansali, Shajan Dasan, Brian D. Harry, Vance Palmer Morrison
  • Publication number: 20020169999
    Abstract: 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: Application
    Filed: May 14, 2001
    Publication date: November 14, 2002
    Applicant: Microsoft Corporation
    Inventors: Sanjay Bhansali, Shajan Dasan, Brian D. Harry, Vance Palmer Morrison