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: 11288048
    Abstract: 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: Grant
    Filed: October 31, 2017
    Date of Patent: March 29, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Steven Lucco, Louis Lafreniere, Curtis Cheng-Cheng Man, Paul Adrian Leathers
  • Patent number: 10628398
    Abstract: 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: Grant
    Filed: May 16, 2017
    Date of Patent: April 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Steven Lucco, Curtis Cheng-Cheng Man
  • Patent number: 10466989
    Abstract: 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: Grant
    Filed: September 2, 2011
    Date of Patent: November 5, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Steven Lucco, Louis Lafreniere, Curtis Cheng-Cheng Man, Paul Adrian Leathers
  • Patent number: 10353751
    Abstract: 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: Grant
    Filed: May 15, 2017
    Date of Patent: July 16, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E Rogers
  • Patent number: 10282238
    Abstract: 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: Grant
    Filed: July 26, 2016
    Date of Patent: May 7, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E Rogers
  • Publication number: 20180046442
    Abstract: 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: Application
    Filed: October 31, 2017
    Publication date: February 15, 2018
    Inventors: STEVEN LUCCO, LOUIS LAFRENIERE, CURTIS CHENG-CHENG MAN, PAUL ADRIAN LEATHERS
  • Patent number: 9830305
    Abstract: 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: Grant
    Filed: May 31, 2011
    Date of Patent: November 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Travis Leithead, Justin Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Lucco
  • Patent number: 9830306
    Abstract: 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: Grant
    Filed: October 23, 2012
    Date of Patent: November 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20170322955
    Abstract: 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: Application
    Filed: May 16, 2017
    Publication date: November 9, 2017
    Inventors: STEVEN LUCCO, CURTIS CHENG-CHENG MAN
  • Publication number: 20170249197
    Abstract: 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: Application
    Filed: May 15, 2017
    Publication date: August 31, 2017
    Inventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E. Rogers
  • Patent number: 9684679
    Abstract: 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: Grant
    Filed: September 15, 2014
    Date of Patent: June 20, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Steven Lucco, Curtis Cheng-Cheng Man
  • Patent number: 9582479
    Abstract: 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: Grant
    Filed: November 3, 2014
    Date of Patent: February 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20160335233
    Abstract: 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: Application
    Filed: July 26, 2016
    Publication date: November 17, 2016
    Inventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E. Rogers
  • Patent number: 9430452
    Abstract: 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: Grant
    Filed: June 6, 2013
    Date of Patent: August 30, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yong Qu, Curtis Cheng-Cheng Man, Justin E Rogers
  • Patent number: 9424004
    Abstract: 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: Grant
    Filed: December 8, 2015
    Date of Patent: August 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jedrzej Miadowicz, Curtis Cheng-Cheng Man, Louis Lafreniere
  • Patent number: 9405738
    Abstract: 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: Grant
    Filed: November 3, 2014
    Date of Patent: August 2, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20160092174
    Abstract: 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: Application
    Filed: December 8, 2015
    Publication date: March 31, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jedrzej Miadowicz, Curtis Cheng-Cheng Man, Louis Lafreniere
  • Patent number: 9244896
    Abstract: 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: Grant
    Filed: October 6, 2014
    Date of Patent: January 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Travis Leithead, Justin Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Lucco
  • Patent number: 9207914
    Abstract: 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: Grant
    Filed: December 20, 2013
    Date of Patent: December 8, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jedrzej Miadowicz, Curtis Cheng-Cheng Man, Louis Lafreniere
  • Patent number: 9116867
    Abstract: 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: Grant
    Filed: November 4, 2014
    Date of Patent: August 25, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Travis Leithead, Justin Rogers, Miladin Pavlicic, Curtis Cheng-Cheng Man, Yong Qu, Nathan J. E. Furtwangler, Reza A. Nourai, Steven Lucco