Patents by Inventor Michal Strehovsky
Michal Strehovsky 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
-
Patent number: 10572275Abstract: Compatibility can be maintained when program code and pre-computed data associated with the program code are distributed in separate modules by using a data structure of key/value pairs comprising a dictionary. The dictionary can include a fixed part, a floating part and a version number. The version number in the dictionary can be used to determine if a dictionary for the program is current or outdated by comparing the dictionary version number and the version number associated with a dictionary layout in the current shared library. The dictionary can be rebuilt dynamically if the version number of the dictionary does not match the version number of the dictionary layout in the current shared library. The version number of the dictionary can be updated to the version associated with the layout version and the version pointer in the dictionary can be updated to point to the updated version number.Type: GrantFiled: June 15, 2017Date of Patent: February 25, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Hongtao Yu, David Charles Wrighton, Ian Michael Bearman, Michal Strehovský, Peter Franz Valentin Sollich
-
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: 10241784Abstract: Support for dynamic behavior is specified while reducing reliance on JIT compilation and large runtimes; semantic characteristics are selectively attached to types and type members outside source code. A directives document contains human-readable directives in a parsable format for submission to an innovative compiler. The directives specify whether a type T or type member M is required, optional, or prohibited in a runtime environment. Some reference an application, library, assembly, or namespace group, and others reference group components: type, type instantiation, method, method instantiation, field, property, or event. Some directives force a generic instantiation. Some directives indirectly reference a type through a parameter, type parameter, or generic directive. Some directives reference degrees to manage runtime activation of type instances, runtime introspection over types, reflection, and/or runtime or static serialization.Type: GrantFiled: February 6, 2017Date of Patent: March 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John Lawrence Hamby, David Charles Wrighton, Michal Strehovsky, Morgan Asher Brown, Fadi Hanna, Turgut Isik, Mircea Trofin, Fatma Didem Gokbulut, Robert Yung-Yi Fu
-
Publication number: 20180365033Abstract: Compatibility can be maintained when program code and pre-computed data associated with the program code are distributed in separate modules by using a data structure of key/value pairs comprising a dictionary. The dictionary can include a fixed part, a floating part and a version number. The version number in the dictionary can be used to determine if a dictionary for the program is current or outdated by comparing the dictionary version number and the version number associated with a dictionary layout in the current shared library. The dictionary can be rebuilt dynamically if the version number of the dictionary does not match the version number of the dictionary layout in the current shared library. The version number of the dictionary can be updated to the version associated with the layout version and the version pointer in the dictionary can be updated to point to the updated version number.Type: ApplicationFiled: June 15, 2017Publication date: December 20, 2018Inventors: Hongtao YU, David Charles WRIGHTON, Ian Michael BEARMAN, Michal STREHOVSKÝ, Peter Franz Valentin SOLLICH
-
Patent number: 9934229Abstract: In one embodiment, a server may identify an executable file using a hash identifier. The server 110 may compute a hash identifier based on a file metadata set associated with an executable file. The server 110 may identify the executable file using the hash identifier.Type: GrantFiled: October 23, 2011Date of Patent: April 3, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Pradeep Jha, Michal Strehovsky, Bruce Chhay, Josh Carroll
-
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: 20170147337Abstract: Support for dynamic behavior is specified while reducing reliance on JIT compilation and large runtimes; semantic characteristics are selectively attached to types and type members outside source code. A directives document contains human-readable directives in a parsable format for submission to an innovative compiler. The directives specify whether a type T or type member M is required, optional, or prohibited in a runtime environment. Some reference an application, library, assembly, or namespace group, and others reference group components: type, type instantiation, method, method instantiation, field, property, or event. Some directives force a generic instantiation. Some directives indirectly reference a type through a parameter, type parameter, or generic directive. Some directives reference degrees to manage runtime activation of type instances, runtime introspection over types, reflection, and/or runtime or static serialization.Type: ApplicationFiled: February 6, 2017Publication date: May 25, 2017Inventors: John Lawrence Hamby, David Charles Wrighton, Michal Strehovsky, Morgan Asher Brown, Fadi Hanna, Turgut Isik, Mircea Trofin, Fatma Didem Gokbulut, Robert Yung-Yi Fu
-
Patent number: 9600272Abstract: Support for dynamic behavior is specified while reducing reliance on JIT compilation and large runtimes; semantic characteristics are selectively attached to types and type members outside source code. A directives document contains human-readable directives in a parsable format for submission to an innovative compiler. The directives specify whether a type T or type member M is required, optional, or prohibited in a runtime environment. Some reference an application, library, assembly, or namespace group, and others reference group components: type, type instantiation, method, method instantiation, field, property, or event. Some directives force a generic instantiation. Some directives indirectly reference a type through a parameter, type parameter, or generic directive. Some directives reference degrees to manage runtime activation of type instances, runtime introspection over types, reflection, and/or runtime or static serialization.Type: GrantFiled: June 2, 2016Date of Patent: March 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: John Lawrence Hamby, David Charles Wrighton, Michal Strehovsky, Morgan Asher Brown, Fadi Hanna, Turgut Isik, Mircea Trofin, Fatma Didem Gokbulut, Robert Yung-Yi Fu
-
Publication number: 20160274905Abstract: Support for dynamic behavior is specified while reducing reliance on JIT compilation and large runtimes; semantic characteristics are selectively attached to types and type members outside source code. A directives document contains human-readable directives in a parsable format for submission to an innovative compiler. The directives specify whether a type T or type member M is required, optional, or prohibited in a runtime environment. Some reference an application, library, assembly, or namespace group, and others reference group components: type, type instantiation, method, method instantiation, field, property, or event. Some directives force a generic instantiation. Some directives indirectly reference a type through a parameter, type parameter, or generic directive. Some directives reference degrees to manage runtime activation of type instances, runtime introspection over types, reflection, and/or runtime or static serialization.Type: ApplicationFiled: June 2, 2016Publication date: September 22, 2016Inventors: John Lawrence Hamby, David Charles Wrighton, Michal Strehovsky, Morgan Asher Brown, Fadi Hanna, Turgut Isik, Mircea Trofin, Fatma Didem Gokbulut, Robert Yung-Yi Fu
-
Patent number: 9389890Abstract: Support for dynamic behavior is specified while reducing reliance on JIT compilation and large runtimes; semantic characteristics are selectively attached to types and type members outside source code. A directives document contains human-readable directives in a parsable format for submission to an innovative compiler. The directives specify whether a type T or type member M is required, optional, or prohibited in a runtime environment. Some reference an application, library, assembly, or namespace group, and others reference group components: type, type instantiation, method, method instantiation, field, property, or event. Some directives force a generic instantiation. Some directives indirectly reference a type through a parameter, type parameter, or generic directive. Some directives reference degrees to manage runtime activation of type instances, runtime introspection over types, reflection, and/or runtime or static serialization.Type: GrantFiled: March 27, 2014Date of Patent: July 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: John Lawrence Hamby, David Charles Wrighton, Michal Strehovsky, Morgan Asher Brown, Fadi Hanna, Turgut Isik, Mircea Trofin, Fatma Didem Gokbulut, Robert Yung-Yi Fu
-
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: 20150277899Abstract: Support for dynamic behavior is specified while reducing reliance on JIT compilation and large runtimes; semantic characteristics are selectively attached to types and type members outside source code. A directives document contains human-readable directives in a parsable format for submission to an innovative compiler. The directives specify whether a type T or type member M is required, optional, or prohibited in a runtime environment. Some reference an application, library, assembly, or namespace group, and others reference group components: type, type instantiation, method, method instantiation, field, property, or event. Some directives force a generic instantiation. Some directives indirectly reference a type through a parameter, type parameter, or generic directive. Some directives reference degrees to manage runtime activation of type instances, runtime introspection over types, reflection, and/or runtime or static serialization.Type: ApplicationFiled: March 27, 2014Publication date: October 1, 2015Applicant: Microsoft CorporationInventors: John Lawrence Hamby, David Charles Wrighton, Michal Strehovsky, Morgan Asher Brown, Fadi Hanna, Turgut Isik, Mircea Trofin, Fatma Didem Gokbulut, Robert Yung-Yi Fu
-
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
-
Publication number: 20130103651Abstract: In one embodiment, a server may identify an executable file using a hash identifier. The server 110 may compute a hash identifier based on a file metadata set associated with an executable file. The server 110 may identify the executable file using the hash identifier.Type: ApplicationFiled: October 23, 2011Publication date: April 25, 2013Applicant: Microsoft CorporationInventors: Pradeep Jha, Michal Strehovsky, Bruce Chhay, Josh Carroll