Patents by Inventor Curtis Cheng-Cheng Man
Curtis Cheng-Cheng Man 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: 11288048Abstract: Dynamic code generation and coordination techniques are provided for display of dynamic markup documents including script code. A code generation process is not only guided by deferral of code preparation stages and sub-stages, but also informed by various information levels possessed concerning the code itself, either through interpretation or observation of execution, to not only generate modified code, but also to generate alternative code for alternative situations (e.g., generating different loop bodies that can thereafter be readily swapped in or out depending on a given function call by the browser application). A multi-core architecture further improves user experience by asymmetrically ensuring web site presentation and functionality is prioritized for the user experience.Type: GrantFiled: October 31, 2017Date of Patent: March 29, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Steven Lucco, Louis Lafreniere, Curtis Cheng-Cheng Man, Paul Adrian Leathers
-
Patent number: 10628398Abstract: Aspects for conservative garbage collecting are disclosed. In one aspect, root objects included in a call stack are identified, which comprise integers and pointers. Integer representations are tagged and distinguishable from untagged pointer representations. Root objects are traced to corresponding memory locations such that a subsequent tracing is performed on the pointer representations and skipped on the integer representations. Memory allocated to objects unreachable by the call stack is then freed. In another aspect, an object graph associated with a call stack is tagged, and a heap is generated comprising objects included in an executed portion of the call stack. Objects included in an unexecuted portion of the call stack are traced to corresponding memory locations on the heap such that a subsequent tracing is only performed on the untagged pointer representations. Memory locations corresponding to heap objects unreachable by the unexecuted portion of the call stack are then cleared.Type: GrantFiled: May 16, 2017Date of Patent: April 21, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Steven Lucco, Curtis Cheng-Cheng Man
-
Patent number: 10466989Abstract: Dynamic code generation and coordination techniques are provided for display of dynamic markup documents including script code. A code generation process is not only guided by deferral of code preparation stages and sub-stages, but also informed by various information levels possessed concerning the code itself, either through interpretation or observation of execution, to not only generate modified code, but also to generate alternative code for alternative situations (e.g., generating different loop bodies that can thereafter be readily swapped in or out depending on a given function call by the browser application). A multi-core architecture further improves user experience by asymmetrically ensuring web site presentation and functionality is prioritized for the user experience.Type: GrantFiled: September 2, 2011Date of Patent: November 5, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Steven Lucco, Louis Lafreniere, Curtis Cheng-Cheng Man, Paul Adrian Leathers
-
Patent number: 10353751Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: May 15, 2017Date of Patent: July 16, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E Rogers
-
Patent number: 10282238Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: July 26, 2016Date of Patent: May 7, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E Rogers
-
Publication number: 20180046442Abstract: Dynamic code generation and coordination techniques are provided for display of dynamic markup documents including script code. A code generation process is not only guided by deferral of code preparation stages and sub-stages, but also informed by various information levels possessed concerning the code itself, either through interpretation or observation of execution, to not only generate modified code, but also to generate alternative code for alternative situations (e.g., generating different loop bodies that can thereafter be readily swapped in or out depending on a given function call by the browser application). A multi-core architecture further improves user experience by asymmetrically ensuring web site presentation and functionality is prioritized for the user experience.Type: ApplicationFiled: October 31, 2017Publication date: February 15, 2018Inventors: STEVEN LUCCO, LOUIS LAFRENIERE, CURTIS CHENG-CHENG MAN, PAUL ADRIAN LEATHERS
-
Patent number: 9830305Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: May 31, 2011Date of Patent: November 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Travis Leithead, Justin Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Lucco
-
Patent number: 9830306Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: October 23, 2012Date of Patent: November 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Travis Leithead, Justin E. Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Edward Lucco
-
Publication number: 20170322955Abstract: Aspects for conservative garbage collecting are disclosed. In one aspect, root objects included in a call stack are identified, which comprise integers and pointers. Integer representations are tagged and distinguishable from untagged pointer representations. Root objects are traced to corresponding memory locations such that a subsequent tracing is performed on the pointer representations and skipped on the integer representations. Memory allocated to objects unreachable by the call stack is then freed. In another aspect, an object graph associated with a call stack is tagged, and a heap is generated comprising objects included in an executed portion of the call stack. Objects included in an unexecuted portion of the call stack are traced to corresponding memory locations on the heap such that a subsequent tracing is only performed on the untagged pointer representations. Memory locations corresponding to heap objects unreachable by the unexecuted portion of the call stack are then cleared.Type: ApplicationFiled: May 16, 2017Publication date: November 9, 2017Inventors: STEVEN LUCCO, CURTIS CHENG-CHENG MAN
-
Publication number: 20170249197Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: ApplicationFiled: May 15, 2017Publication date: August 31, 2017Inventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E. Rogers
-
Patent number: 9684679Abstract: Aspects for conservative garbage collecting are disclosed. In one aspect, root objects included in a call stack are identified, which comprise integers and pointers. Integer representations are tagged and distinguishable from untagged pointer representations. Root objects are traced to corresponding memory locations such that a subsequent tracing is performed on the pointer representations and skipped on the integer representations. Memory allocated to objects unreachable by the call stack is then freed. In another aspect, an object graph associated with a call stack is tagged, and a heap is generated comprising objects included in an executed portion of the call stack. Objects included in an unexecuted portion of the call stack are traced to corresponding memory locations on the heap such that a subsequent tracing is only performed on the untagged pointer representations. Memory locations corresponding to heap objects unreachable by the unexecuted portion of the call stack are then cleared.Type: GrantFiled: September 15, 2014Date of Patent: June 20, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Steven Lucco, Curtis Cheng-Cheng Man
-
Patent number: 9582479Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: November 3, 2014Date of Patent: February 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Travis Leithead, Justin E. Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Edward Lucco
-
Publication number: 20160335233Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: ApplicationFiled: July 26, 2016Publication date: November 17, 2016Inventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E. Rogers
-
Patent number: 9430452Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: June 6, 2013Date of Patent: August 30, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E Rogers
-
Patent number: 9424004Abstract: A method for executing a machine code based on a dynamic language is disclosed. An execution guard is created as a value stored in a data structure. The value is representative of an expected condition or a set of conditions for a reusable portion of the machine code. The value representative of the expected condition(s) is compared to an actual value encountered later during execution of a portion of the machine code. The reusable machine code is executed if the actual value corresponds with the value representative of the expected condition(s). The execution guard is invalidated if any of the expected conditions changes.Type: GrantFiled: December 8, 2015Date of Patent: August 23, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Jedrzej Miadowicz, Curtis Cheng-Cheng Man, Louis Lafreniere
-
Patent number: 9405738Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: November 3, 2014Date of Patent: August 2, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Travis Leithead, Justin E. Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Edward Lucco
-
Publication number: 20160092174Abstract: A method for executing a machine code based on a dynamic language is disclosed. An execution guard is created as a value stored in a data structure. The value is representative of an expected condition or a set of conditions for a reusable portion of the machine code. The value representative of the expected condition(s) is compared to an actual value encountered later during execution of a portion of the machine code. The reusable machine code is executed if the actual value corresponds with the value representative of the expected condition(s). The execution guard is invalidated if any of the expected conditions changes.Type: ApplicationFiled: December 8, 2015Publication date: March 31, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Jedrzej Miadowicz, Curtis Cheng-Cheng Man, Louis Lafreniere
-
Patent number: 9244896Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: October 6, 2014Date of Patent: January 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Travis Leithead, Justin Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Lucco
-
Patent number: 9207914Abstract: A method for executing a machine code based on a dynamic language is disclosed. An execution guard is created as a value stored in a data structure. The value is representative of an expected condition or a set of conditions for a reusable portion of the machine code. The value representative of the expected condition(s) is compared to an actual value encountered later during execution of a portion of the machine code. The reusable machine code is executed if the actual value corresponds with the value representative of the expected condition(s). The execution guard is invalidated if any of the expected conditions changes.Type: GrantFiled: December 20, 2013Date of Patent: December 8, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jedrzej Miadowicz, Curtis Cheng-Cheng Man, Louis Lafreniere
-
Patent number: 9116867Abstract: Various embodiments provide an interface between a Web browser's layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.Type: GrantFiled: November 4, 2014Date of Patent: August 25, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Travis Leithead, Justin Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Lucco