Patents by Inventor Wen-Ke Chen
Wen-Ke Chen 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: 9772826Abstract: Build-time resolution and type-enforcing of corresponding references in different code that references the same value. In response to detecting a directive within the code itself that a first reference in first code is to be correlated with a second reference in second code, and in response to detection that the types of the references are the same, a code generation tool generates correlation code that is interpretable to a compiler as allowing a value of a type of the first reference of a compiled-form of the first code to be passed as the same value of the same type of the second reference of a compiled-form of the second code. The first code, the second code, and the generated correlation code may then be compiled. If compilation is successful, this means that the first and second references are already properly resolved as referring to the same value and type-enforced.Type: GrantFiled: October 4, 2013Date of Patent: September 26, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
-
Patent number: 9235382Abstract: Input filters correlate to target components. For a given target component, the input filter defines input validation information. The input filter might also define conversions or transformations to be applied to valid input prior to being provided to the target component. At build time, code is accessed that contains the input validation, conversion and transformation and that identifies the associated target component. The information is then used to construct an input filter. At run time, when an input processing component receives an input, the input processing component identifies the target component, accesses the associated input filter, and uses the information contained in the input filter to determine whether the input is valid, and whether and how to convert and transform the value.Type: GrantFiled: September 20, 2013Date of Patent: January 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
-
Publication number: 20150100947Abstract: Build-time resolution and type-enforcing of corresponding references in different code that references the same value. In response to detecting a directive within the code itself that a first reference in first code is to be correlated with a second reference in second code, and in response to detection that the types of the references are the same, a code generation tool generates correlation code that is interpretable to a compiler as allowing a value of a type of the first reference of a compiled-form of the first code to be passed as the same value of the same type of the second reference of a compiled-form of the second code. The first code, the second code, and the generated correlation code may then be compiled. If compilation is successful, this means that the first and second references are already properly resolved as referring to the same value and type-enforced.Type: ApplicationFiled: October 4, 2013Publication date: April 9, 2015Applicant: Microsoft CorporationInventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
-
Publication number: 20150089471Abstract: Input filters correlate to target components. For a given target component, the input filter defines input validation information. The input filter might also define conversions or transformations to be applied to valid input prior to being provided to the target component. At build time, code is accessed that contains the input validation, conversion and transformation and that identifies the associated target component. The information is then used to construct an input filter. At run time, when an input processing component receives an input, the input processing component identifies the target component, accesses the associated input filter, and uses the information contained in the input filter to determine whether the input is valid, and whether and how to convert and transform the value.Type: ApplicationFiled: September 20, 2013Publication date: March 26, 2015Applicant: Microsoft CorporationInventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
-
Patent number: 7769974Abstract: 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: GrantFiled: October 18, 2004Date of Patent: August 3, 2010Assignee: Microsoft CorporationInventors: Sanjay Bhansali, Wen-Ke Chen, Xiaofeng Gao
-
Patent number: 7620938Abstract: 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: GrantFiled: October 31, 2005Date of Patent: November 17, 2009Assignee: Microsoft CorporationInventors: Andrew James Edwards, Darek Mihocka, Ho-Yuen Chau, Ronald C. Murray, Sanjay Bhansali, Stuart D. de Jong, Wen-Ke Chen, Kenneth Bryant Pierce
-
Publication number: 20070168989Abstract: 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: ApplicationFiled: October 31, 2005Publication date: July 19, 2007Applicant: Microsoft CorporationInventors: Andrew Edwards, Darek Mihocka, Ho-Yuen Chau, Ronald Murray, Sanjay Bhansali, Stuart de Jong, Wen-Ke Chen, Kenneth Pierce
-
Publication number: 20060059474Abstract: 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: ApplicationFiled: October 18, 2004Publication date: March 16, 2006Applicant: Microsoft CorporationInventors: Sanjay Bhansali, Wen-Ke Chen, Xiaofeng Gao