Patents by Inventor Krzysztof Cwalina
Krzysztof Cwalina 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: 10698726Abstract: Various technologies and techniques are disclosed for switching threads within routines. A controller routine receives a request from an originating routine to execute a coroutine, and executes the coroutine on an initial thread. The controller routine receives a response back from the coroutine when the coroutine exits based upon a return statement. Upon return, the coroutine indicates a subsequent thread that the coroutine should be executed on when the coroutine is executed a subsequent time. The controller routine executes the coroutine the subsequent time on the subsequent thread. The coroutine picks up execution at a line of code following the return statement. Multiple return statements can be included in the coroutine, and the threads can be switched multiple times using this same approach. Graphical user interface logic and worker thread logic can be co-mingled into a single routine.Type: GrantFiled: June 26, 2018Date of Patent: June 30, 2020Assignee: Microsoft Technology Licensing, LLCInventor: Krzysztof Cwalina
-
Patent number: 10402208Abstract: Platform-agnostic source code can be augmented with one or more portions of source code annotated for different platforms and/or versions. The source code including both the platform-agnostic and platform-specific and/or version-specific portions can be compiled once to create a single executable that can be distributed to and can run on multiple device platforms and/or multiple versions of one or more platforms. Platform-specific or version-specific executables (e.g., assemblies, binaries, etc.) can be embedded into a binary or executable as resources (e.g., data). When the compiled code is executed on a device, the runtime can extract the platform-specific portion corresponding to the device on which the executable is being run, can bind the extracted portion to the executable and can load and execute the executable. Hence the same binary can produce different results or functionalities depending on the capabilities of the platform on which the binary runs.Type: GrantFiled: June 18, 2012Date of Patent: September 3, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Mircea Trofin, Krzysztof Cwalina, Patrick H. Dussud
-
Publication number: 20190138347Abstract: Various technologies and techniques are disclosed for switching threads within routines. A controller routine receives a request from an originating routine to execute a coroutine, and executes the coroutine on an initial thread. The controller routine receives a response back from the coroutine when the coroutine exits based upon a return statement. Upon return, the coroutine indicates a subsequent thread that the coroutine should be executed on when the coroutine is executed a subsequent time. The controller routine executes the coroutine the subsequent time on the subsequent thread. The coroutine picks up execution at a line of code following the return statement. Multiple return statements can be included in the coroutine, and the threads can be switched multiple times using this same approach. Graphical user interface logic and worker thread logic can be co-mingled into a single routine.Type: ApplicationFiled: June 26, 2018Publication date: May 9, 2019Applicant: Microsoft Technology Licensing, LLCInventor: Krzysztof Cwalina
-
Patent number: 10007551Abstract: Various technologies and techniques are disclosed for switching threads within routines. A controller routine receives a request from an originating routine to execute a coroutine, and executes the coroutine on an initial thread. The controller routine receives a response back from the coroutine when the coroutine exits based upon a return statement. Upon return, the coroutine indicates a subsequent thread that the coroutine should be executed on when the coroutine is executed a subsequent time. The controller routine executes the coroutine the subsequent time on the subsequent thread. The coroutine picks up execution at a line of code following the return statement. Multiple return statements can be included in the coroutine, and the threads can be switched multiple times using this same approach. Graphical user interface logic and worker thread logic can be co-mingled into a single routine.Type: GrantFiled: October 21, 2013Date of Patent: June 26, 2018Assignee: Microsoft Technology Licensing, LLCInventor: Krzysztof Cwalina
-
Patent number: 9766883Abstract: The subject disclosure relates to enabling the evolution of a framework by providing public surface area factorings for both old and new public surface areas. The factoring can mitigate changes in the implementation of existing distributions of framework. The factoring can also mitigate breaking existing binaries. Further, the factoring can be provided while mitigating a degradation in the security guarantees of the linking model. The factorings can be applied for runtime and/or for a development toolkit. Thus, multiple, almost simultaneous, interoperable views of a framework implementation can be enabled at runtime and/or at design or build time. The views can represent different versions of the framework.Type: GrantFiled: September 11, 2014Date of Patent: September 19, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Mircea Trofin, Wes Haggard, Krzysztof Cwalina, David Kean, Jobst-Immo Landwerth
-
Publication number: 20140380275Abstract: The subject disclosure relates to enabling the evolution of a framework by providing public surface area factorings for both old and new public surface areas. The factoring can mitigate changes in the implementation of existing distributions of framework. The factoring can also mitigate breaking existing binaries. Further, the factoring can be provided while mitigating a degradation in the security guarantees of the linking model. The factorings can be applied for runtime and/or for a development toolkit. Thus, multiple, almost simultaneous, interoperable views of a framework implementation can be enabled at runtime and/or at design or build time. The views can represent different versions of the framework.Type: ApplicationFiled: September 11, 2014Publication date: December 25, 2014Inventors: MIRCEA TROFIN, WES HAGGARD, KRZYSZTOF CWALINA, DAVID KEAN, JOBST-IMMO LANDWERTH
-
Patent number: 8863092Abstract: The subject disclosure relates to enabling the evolution of a framework by providing public surface area factorings for both old and new public surface areas. The factoring can mitigate changes in the implementation of existing distributions of framework. The factoring can also mitigate breaking existing binaries. Further, the factoring can be provided while mitigating a degradation in the security guarantees of the linking model. The factorings can be applied for runtime and/or for a development toolkit. Thus, multiple, almost simultaneous, interoperable views of a framework implementation can be enabled at runtime and/or at design or build time. The views can represent different versions of the framework.Type: GrantFiled: February 10, 2011Date of Patent: October 14, 2014Assignee: Microsoft CorporationInventors: Mircea Trofin, Wes Haggard, Krzysztof Cwalina, David Kean, Jobst-Immo Landwerth
-
Publication number: 20140047446Abstract: Various technologies and techniques are disclosed for switching threads within routines. A controller routine receives a request from an originating routine to execute a coroutine, and executes the coroutine on an initial thread. The controller routine receives a response back from the coroutine when the coroutine exits based upon a return statement. Upon return, the coroutine indicates a subsequent thread that the coroutine should be executed on when the coroutine is executed a subsequent time. The controller routine executes the coroutine the subsequent time on the subsequent thread. The coroutine picks up execution at a line of code following the return statement. Multiple return statements can be included in the coroutine, and the threads can be switched multiple times using this same approach. Graphical user interface logic and worker thread logic can be co-mingled into a single routine.Type: ApplicationFiled: October 21, 2013Publication date: February 13, 2014Applicant: Microsoft CorporationInventor: Krzysztof Cwalina
-
Publication number: 20130339928Abstract: Platform-agnostic source code can be augmented with one or more portions of source code annotated for different platforms and/or versions. The source code including both the platform-agnostic and platform-specific and/or version-specific portions can be compiled once to create a single executable that can be distributed to and can run on multiple device platforms and/or multiple versions of one or more platforms. Platform-specific or version-specific executables (e.g., assemblies, binaries, etc.) can be embedded into a binary or executable as resources (e.g., data). When the compiled code is executed on a device, the runtime can extract the platform-specific portion corresponding to the device on which the executable is being run, can bind the extracted portion to the executable and can load and execute the executable. Hence the same binary can produce different results or functionalities depending on the capabilities of the platform on which the binary runs.Type: ApplicationFiled: June 18, 2012Publication date: December 19, 2013Applicant: MICROSOFT CORPORATIONInventors: Mircea Trofin, Krzysztof Cwalina, Patrick H. Dussud
-
Patent number: 8589925Abstract: Various technologies and techniques are disclosed for switching threads within routines. A controller routine receives a request from an originating routine to execute a coroutine, and executes the coroutine on an initial thread. The controller routine receives a response back from the coroutine when the coroutine exits based upon a return statement. Upon return, the coroutine indicates a subsequent thread that the coroutine should be executed on when the coroutine is executed a subsequent time. The controller routine executes the coroutine the subsequent time on the subsequent thread. The coroutine picks up execution at a line of code following the return statement. Multiple return statements can be included in the coroutine, and the threads can be switched multiple times using this same approach. Graphical user interface logic and worker thread logic can be co-mingled into a single routine.Type: GrantFiled: October 25, 2007Date of Patent: November 19, 2013Assignee: Microsoft CorporationInventor: Krzysztof Cwalina
-
Publication number: 20120210300Abstract: The subject disclosure relates to enabling the evolution of a framework by providing public surface area factorings for both old and new public surface areas. The factoring can mitigate changes in the implementation of existing distributions of framework. The factoring can also mitigate breaking existing binaries. Further, the factoring can be provided while mitigating a degradation in the security guarantees of the linking model. The factorings can be applied for runtime and/or for a development toolkit. Thus, multiple, almost simultaneous, interoperable views of a framework implementation can be enabled at runtime and/or at design or build time. The views can represent different versions of the framework.Type: ApplicationFiled: February 10, 2011Publication date: August 16, 2012Applicant: MICROSOFT CORPORATIONInventors: Mircea Trofin, Wes Haggard, Krzysztof Cwalina, David Kean, Jobst-Immo Landwerth
-
Publication number: 20090113436Abstract: Various technologies and techniques are disclosed for switching threads within routines. A controller routine receives a request from an originating routine to execute a coroutine, and executes the coroutine on an initial thread. The controller routine receives a response back from the coroutine when the coroutine exits based upon a return statement. Upon return, the coroutine indicates a subsequent thread that the coroutine should be executed on when the coroutine is executed a subsequent time. The controller routine executes the coroutine the subsequent time on the subsequent thread. The coroutine picks up execution at a line of code following the return statement. Multiple return statements can be included in the coroutine, and the threads can be switched multiple times using this same approach. Graphical user interface logic and worker thread logic can be co-mingled into a single routine.Type: ApplicationFiled: October 25, 2007Publication date: April 30, 2009Applicant: Microsoft CorporationInventor: Krzysztof Cwalina
-
Publication number: 20060015528Abstract: A generic nullable type that is capable of representing null values for reference, value, and other types in a uniform manner is described. The nullable generic type includes at least two portions: a container portion and a Boolean member portion. The container portion can hold other objects of other types, including both reference and value types. The Boolean member portion indicates whether the type held by the container has a value or not. Specifically, when the Boolean member is true, the values of the general type held by the container are valid. When the Boolean member is false, the values of the general type are invalid or undefined to represent an unspecified or null condition. Stack memory usage for the nullable type, a comparison of two objects of the nullable type, and an example database manipulation using the nullable type are also described.Type: ApplicationFiled: July 14, 2004Publication date: January 19, 2006Applicant: Microsoft CorporationInventors: Anders Hejlsberg, Anthony Moore, Brian Grunkemeyer, Donald Box, Gang Peng, Krzysztof Cwalina
-
Publication number: 20050246716Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NETâ„¢ platform.Type: ApplicationFiled: June 23, 2005Publication date: November 3, 2005Applicant: Microsoft CorporationInventors: Adam Smith, Anthony Moore, Brian LaMacchia, Anders Hejlsberg, Brian Grunkemeyer, Caleb Doise, Christopher Brumme, Christopher Anderson, Corina Feuerstein, Craig Sinclair, Daniel Takacs, David Ebbo, David Driver, David Mortenson, Erik Christensen, Erik Olson, Fabio Yeon, Gopala Kakivaya, Gregory Fee, Hany Ramadan, Henry Sanders, Jayanth Rajan, Jeffrey Cooperstein, Jonathan Hawkins, James Hogg, Joe Long, John McConnell, Jesus Ruiz-Scougall, James Miller, Julie Bennett, Krzysztof Cwalina, Lance Olson, Loren Kohnfelder, Michael Magruder, Manish Prabhu, Radu Palanca, Raja Krishnaswamy, Shawn Burke, Sean Trowbridge, Seth Demsey, Shajan Dasan, Stefan Pharies, Suzanne Cook, Tarun Anand, Travis Muhlestein, Yann Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
-
Publication number: 20050240943Abstract: An application program interface (API) provides a set of functions, including a set of base classes and types that are used in substantially all applications accessing the API, for application developers who build Web applications on Microsoft Corporation's .NETâ„¢ platform.Type: ApplicationFiled: June 23, 2005Publication date: October 27, 2005Applicant: Microsoft CorporationInventors: Adam Smith, Anthony Moore, Brian LaMacchia, Anders Hejlsberg, Biran Grunkemeyer, Caleb Doise, Christopher Brumme, Christopher Anderson, Corina Feuerstein, Craig Sinclair, Daniel Takacs, David Ebbo, David Driver, David Mortenson, Erik Christensen, Erik Olson, Fabio Yeon, Gopala Kakivaya, George Fee, Hany Ramadan, Henry Sanders, Jayanth Rajan, Jeffrey Cooperstein, Jonathan Hawkins, James Hogg, Joe Long, John McConnell, Jesus Ruiz-Scougall, James Miller, Julie Bennett, Krzysztof Cwalina, Lance Olson, Loren Kohnfelder, Michael Magruder, Manish Prabhu, Radu Palanca, Raja Krishnaswamy, Shawn Burke, Sean Trowbridge, Seth Demsey, Shajan Dasan, Stefan Pharies, Suzanne Cook, Tarun Anand, Travis Muhlestein, Yann Christensen, Yung-shin Lin, Ramasamy Krishnaswamy, Joseph Roxe, Alan Boshier, David Bau
-
Publication number: 20050183068Abstract: Methods, systems, and computer program products for correlating trace events to facilitate analysis based on how the trace events are related. Relationship information that defines relationships between logical operations is maintained within a correlation identifier stack. A correlation identifier that marks the occurrence of a logical operation is obtained for executing software and stored in the correlation identifier stack. A trace event is generated that comprises both the correlation identifier stack and an initial event payload to describe the runtime behavior of the executing software. The trace event is stored to a trace log for subsequent analysis of the executing software based on the logical operation relationship information in the correlation identifier stack and the initial correlation identifier that marks the occurrence of the logical operation. Upon obtaining an indication that the logical operation has ended, the correlation identifier is removed from the correlation identifier stack.Type: ApplicationFiled: February 13, 2004Publication date: August 18, 2005Inventors: Krzysztof Cwalina, Melur Raghuraman, David Gutierrez
-
Publication number: 20050091660Abstract: A first exemplary method implementation for designing an application programming interface (API) includes: preparing multiple code samples for a core scenario, each respective code sample of the multiple code samples corresponding to a respective programming language of multiple programming languages; and deriving the API from the core scenario responsive to the multiple code samples. A second exemplary method for designing an API includes: selecting a core scenario for a feature area; writing at least one code sample for the core scenario; and deriving an API for the core scenario responsive to the at least one code sample. A third exemplary method for designing an API includes: deriving an API for a scenario responsive to at least one code sample written with regard to the scenario; performing one or more usability studies on the API utilizing multiple developers; and revising the API based on the one or more usability studies.Type: ApplicationFiled: October 23, 2003Publication date: April 28, 2005Inventors: Krzysztof Cwalina, Bradley Abrams, Anthony Moore, Christopher Anderson, Michael Pizzo, Robert Brigham