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: 11003511
    Abstract: 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: Grant
    Filed: September 19, 2017
    Date of Patent: May 11, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
  • Publication number: 20190095256
    Abstract: 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: Application
    Filed: September 19, 2017
    Publication date: March 28, 2019
    Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
  • Patent number: 10203953
    Abstract: 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: Grant
    Filed: February 24, 2017
    Date of Patent: February 12, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Rudi Martin
  • Publication number: 20180246717
    Abstract: 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: Application
    Filed: February 24, 2017
    Publication date: August 30, 2018
    Inventor: Rudi Martin
  • Patent number: 9836290
    Abstract: 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: Grant
    Filed: January 29, 2016
    Date of Patent: December 5, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
  • Patent number: 9785483
    Abstract: 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: Grant
    Filed: March 3, 2015
    Date of Patent: October 10, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
  • Publication number: 20160147513
    Abstract: 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: Application
    Filed: January 29, 2016
    Publication date: May 26, 2016
    Inventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
  • Patent number: 9292270
    Abstract: 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: Grant
    Filed: March 27, 2014
    Date of Patent: March 22, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
  • Publication number: 20150277881
    Abstract: 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: Application
    Filed: March 27, 2014
    Publication date: October 1, 2015
    Applicant: Microsoft Corporation
    Inventors: Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Mircea Trofin, Rudi Martin
  • Publication number: 20150169387
    Abstract: 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: Application
    Filed: March 3, 2015
    Publication date: June 18, 2015
    Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
  • Patent number: 8990839
    Abstract: 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: Grant
    Filed: April 22, 2013
    Date of Patent: March 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
  • Publication number: 20140317641
    Abstract: 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: Application
    Filed: April 22, 2013
    Publication date: October 23, 2014
    Applicant: Microsoft Corporation
    Inventors: Mircea Trofin, Patrick Dussud, Rudi Martin, John Lawrence Hamby, Michal Strehovsky, David Charles Wrighton, Atsushi Kanamori, Fadi M. Hanna
  • Patent number: 8316357
    Abstract: 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: Grant
    Filed: September 3, 2008
    Date of Patent: November 20, 2012
    Assignee: Microsoft Corporation
    Inventors: 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: 8271938
    Abstract: 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: Grant
    Filed: September 3, 2008
    Date of Patent: September 18, 2012
    Assignee: Microsoft Corporation
    Inventors: 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: 7685574
    Abstract: 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: Grant
    Filed: September 29, 2004
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Christopher W Brumme, Sean E Trowbridge, Rudi Martin, WeiWen Liu, Brian M. Grunkemeyer, Mahesh Prakriya
  • Publication number: 20100058283
    Abstract: 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: Application
    Filed: September 3, 2008
    Publication date: March 4, 2010
    Applicant: Microsoft Corporation
    Inventors: 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: 20100058304
    Abstract: 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: Application
    Filed: September 3, 2008
    Publication date: March 4, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 7610322
    Abstract: 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: Grant
    Filed: May 25, 2004
    Date of Patent: October 27, 2009
    Assignee: Microsoft Corporation
    Inventors: Brian M. Grunkemeyer, David Sebastien Mortenson, Rudi Martin, Sonja Keserovic, Mahesh Prakriya, Christopher W. Brumme
  • Patent number: 7571428
    Abstract: 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: Grant
    Filed: May 14, 2004
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: Rudi Martin, Mahesh Prakriya, Brian M. Grunkemeyer, Christopher W. Brumme, Sean E. Trowbridge, Weiwen Liu
  • Publication number: 20060070041
    Abstract: 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: Application
    Filed: September 29, 2004
    Publication date: March 30, 2006
    Applicant: Microsoft Corporation
    Inventors: Christopher Brumme, Sean Trowbridge, Rudi Martin, WeiWen Liu, Brian Grunkemeyer, Mahesh Prakriya