Patents by Inventor Rudi Martin
Rudi Martin 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: 11003511Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: GrantFiled: September 19, 2017Date of Patent: May 11, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Publication number: 20190095256Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: ApplicationFiled: September 19, 2017Publication date: March 28, 2019Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Patent number: 10203953Abstract: A method for identifying duplicate machine code function implementations provides for identifying position-dependent bits within a first function included in a first executable image and masking the identified position-dependent bits to create a position-independent entity. The method further provides for applying a hashing function to the position-independent entity to generate a representative hash code and comparing the representative hash code to a number of hash codes in a table to identify at least one duplicate implementation of the function that is associated in memory with a second executable image.Type: GrantFiled: February 24, 2017Date of Patent: February 12, 2019Assignee: Microsoft Technology Licensing, LLCInventor: Rudi Martin
-
Publication number: 20180246717Abstract: A method for identifying duplicate machine code function implementations provides for identifying position-dependent bits within a first function included in a first executable image and masking the identified position-dependent bits to create a position-independent entity. The method further provides for applying a hashing function to the position-independent entity to generate a representative hash code and comparing the representative hash code to a number of hash codes in a table to identify at least one duplicate implementation of the function that is associated in memory with a second executable image.Type: ApplicationFiled: February 24, 2017Publication date: August 30, 2018Inventor: Rudi Martin
-
Patent number: 9836290Abstract: Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.Type: GrantFiled: January 29, 2016Date of Patent: December 5, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
-
Patent number: 9785483Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: GrantFiled: March 3, 2015Date of Patent: October 10, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Publication number: 20160147513Abstract: Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.Type: ApplicationFiled: January 29, 2016Publication date: May 26, 2016Inventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
-
Patent number: 9292270Abstract: Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.Type: GrantFiled: March 27, 2014Date of Patent: March 22, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
-
Publication number: 20150277881Abstract: Support for dynamic behavior is provided during static compilation while reducing reliance on JIT compilation and large runtimes. A mapping is created between metadata and native code runtime artifacts, such as between type definition metadata and a runtime type description, or between method definition metadata, a runtime type description, and a native code method location, or field definition metadata, a runtime type description, and a field location. A mapping between runtime artifacts may also be created. Some compilation results include trampoline code to support a reflection invocation of an artifact in the reduced runtime support environment, for virtual method calls, call-time bounds checking, calling convention conversion, or compiler-intrinsic methods. Some results support runtime diagnostics by including certain metadata even when full dynamic behavior is not supported.Type: ApplicationFiled: March 27, 2014Publication date: October 1, 2015Applicant: Microsoft CorporationInventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
-
Publication number: 20150169387Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: ApplicationFiled: March 3, 2015Publication date: June 18, 2015Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Patent number: 8990839Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: GrantFiled: April 22, 2013Date of Patent: March 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Publication number: 20140317641Abstract: The present invention extends to methods, systems, and computer program products for controlling runtime access to application programming interfaces Embodiments of the invention allow library developers to more precisely and easily control which of their libraries' APIs can be called dynamically. Thus, their servicing and versioning burden can be more appropriately controlled. Further, application developers can control which such APIs to further exclude from dynamic calling scenarios, to minimize the runtime support overhead (e.g., preventing generation of metadata).Type: ApplicationFiled: April 22, 2013Publication date: October 23, 2014Applicant: Microsoft CorporationInventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
-
Patent number: 8316357Abstract: The efficient use of type descriptors with frozen objects. A frozen object might actually include several type descriptors, a primary type descriptor that is canonical according to a set of canonicalization rules, and an auxiliary type descriptor that is not identical to the primary type descriptor. The auxiliary type descriptor may be used to access the canonical type descriptor. When performing an operation, if the auxiliary type descriptor can be used to perform the operation, then that auxiliary type descriptor may be used. If the canonical type descriptor is to be used to perform the operation, the auxiliary type descriptor is used to gain access to the canonical primary type descriptor. The primary type descriptor is then used to perform the operation.Type: GrantFiled: September 3, 2008Date of Patent: November 20, 2012Assignee: Microsoft CorporationInventors: Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Patrick H. Dussud, Simon J. Hall, Rudi Martin, Michael M. Magruder, Andrew Pardoe, Madhusudhan Talluri
-
Patent number: 8271938Abstract: Mechanisms that allow frameworks significant flexibility in varying the library of common base classes in a manner that better suits the domain of applications served by the framework. Instead of providing the base class library, the runtime provides a data contract for the data structure of each base class. The frameworks can then define each base class in a custom way so long as the data contract is honored. Thus, for example, the framework may provide custom framework-specific methods and/or properties as is appropriate for the framework. Another framework might define the base classes in a different way.Type: GrantFiled: September 3, 2008Date of Patent: September 18, 2012Assignee: Microsoft CorporationInventors: Patrick H. Dussud, Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Raja Krishnaswamy, Simon J. Hall, Madhusudhan Talluri, Rudi Martin, Michael M. Magruder, Andrew J. Pardoe
-
Patent number: 7685574Abstract: Authored code may include a notification that no tolerance for failure or corruption is expected for an identified sub-set of the code. Any potential failure point, which may be induced by a runtime environment routine or sub-routine, that is associated with the identified sub-set of code may then be identified and hoisted to a point apart from the identified sub-set of code.Type: GrantFiled: September 29, 2004Date of Patent: March 23, 2010Assignee: Microsoft CorporationInventors: Christopher W Brumme, Sean E Trowbridge, Rudi Martin, WeiWen Liu, Brian M. Grunkemeyer, Mahesh Prakriya
-
Publication number: 20100058283Abstract: Mechanisms that allow frameworks significant flexibility in varying the library of common base classes in a manner that better suits the domain of applications served by the framework. Instead of providing the base class library, the runtime provides a data contract for the data structure of each base class. The frameworks can then define each base class in a custom way so long as the data contract is honored. Thus, for example, the framework may provide custom framework-specific methods and/or properties as is appropriate for the framework. Another framework might define the base classes in a different way.Type: ApplicationFiled: September 3, 2008Publication date: March 4, 2010Applicant: Microsoft CorporationInventors: Patrick H. Dussud, Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Raja Krishnaswamy, Simon J. Hall, Madhusudhan Talluri, Rudi Martin, Michael M. Magruder, Andrew Pardoe
-
Publication number: 20100058304Abstract: The efficient use of type descriptors with frozen objects. A frozen object might actually include several type descriptors, a primary type descriptor that is canonical according to a set of canonicalization rules, and an auxiliary type descriptor that is not identical to the primary type descriptor. The auxiliary type descriptor may be used to access the canonical type descriptor. When performing an operation, if the auxiliary type descriptor can be used to perform the operation, then that auxiliary type descriptor may be used. If the canonical type descriptor is to be used to perform the operation, the auxiliary type descriptor is used to gain access to the canonical primary type descriptor. The primary type descriptor is then used to perform the operation.Type: ApplicationFiled: September 3, 2008Publication date: March 4, 2010Applicant: MICROSOFT CORPORATIONInventors: Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Patrick H. Dussud, Simon J. Hall, Rudi Martin, Michael M. Magruder, Andrew Pardoe, Madhusudhan Talluri
-
Patent number: 7610322Abstract: Enabling secure and efficient marshaling, utilization, and releasing of handles in either of an operating system or runtime environment includes wrapping a handle with a counter to tabulate a number of threads using currently using the handle. Thus, handle administration is implemented to circumvent potential security risks, avoid correctness problems, and foster more efficient handle releasing.Type: GrantFiled: May 25, 2004Date of Patent: October 27, 2009Assignee: Microsoft CorporationInventors: Brian M. Grunkemeyer, David Sebastien Mortenson, Rudi Martin, Sonja Keserovic, Mahesh Prakriya, Christopher W. Brumme
-
Patent number: 7571428Abstract: Reliability contracts declare an intent of executable code, and may be associated with at least a portion of the executable code. The intent of the executable code in the face of particular conditions may be declared for the use in any one of a programming, execution, or testing environment.Type: GrantFiled: May 14, 2004Date of Patent: August 4, 2009Assignee: Microsoft CorporationInventors: Rudi Martin, Mahesh Prakriya, Brian M. Grunkemeyer, Christopher W. Brumme, Sean E. Trowbridge, Weiwen Liu
-
Publication number: 20060070041Abstract: Authored code may include a notification that no tolerance for failure or corruption is expected for an identified sub-set of the code. Any potential failure point, which may be induced by a runtime environment routine or sub-routine, that is associated with the identified sub-set of code may then be identified and hoisted to a point apart from the identified sub-set of code.Type: ApplicationFiled: September 29, 2004Publication date: March 30, 2006Applicant: Microsoft CorporationInventors: Christopher Brumme, Sean Trowbridge, Rudi Martin, WeiWen Liu, Brian Grunkemeyer, Mahesh Prakriya