Patents by Inventor Timothy Yat Tim Ng

Timothy Yat Tim Ng 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: 9880860
    Abstract: Architecture that includes an asynchronous library which remembers the synchronization context that initiated an asynchronous method call and when the request is completed, the library restores the synchronization context of the calling thread before executing a callback. This ensures that the callback executes on the same thread as the original asynchronous request. The callback to the asynchronous operation that asynchronous library provides automatically “jumps threads” to maintain thread affinity.
    Type: Grant
    Filed: May 5, 2010
    Date of Patent: January 30, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Donald Syme, Lucas James Hoban, Dmitry Lomov, Timothy Yat Tim Ng
  • Patent number: 9411568
    Abstract: A system and method for implementing an asynchronous construct in a computer program. A state machine is generated from the computer program, and the program is translated to generate code that executes the state machine during runtime. The asynchronous construct may be made into a function that invokes an asynchronous function, passing the function as a callback, and then exits. When the asynchronous operation completes, the function is invoked as a callback, returning to a configuration equivalent to that prior to the asynchronous call. Variable closure may be used to maintain the state of variables during a state prior to invoking the asynchronous operation and a state after invoking the asynchronous operation.
    Type: Grant
    Filed: April 15, 2010
    Date of Patent: August 9, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Donald Syme, Luke Hoban, Timothy Yat Tim Ng, Dmitry Lomov
  • Patent number: 9170787
    Abstract: Compiler functionality is componentized to enable use across different contexts. Conventionally tightly coupled functionality is decoupled and an interface afforded to facilitate interaction with compiler components/subcomponents in various scenarios. In one instance, compiler components can be employed across compile time and runtime. Compile time functionality can be employed at runtime and runtime functionality utilized at compile time thereby blurring the line between time dimensions.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: October 27, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Avner Y. Aharoni, Henricus Johannes Maria Meijer, Timothy Yat Tim Ng, Amanda K. Silver, Paul A. Vick, Scott Daniel Wisniewski
  • Patent number: 8813027
    Abstract: Static type checking is performed against external data sources in an interacting editing environment. A rich editing experience can be provided to users for external data equivalent to that provided for internal static, typed data. An extensible compiler is provided so that a user or third party can extend type checking facilities to any external data source. An extensible language service is provided so that a user or third party can extend the language service to provide a consistent, current static view of external data. The extensible compiler and language service allow language extensions to plug into the type checking process. This enables the compiler and language service to provide an extension point that allows extensions of the compiler and allow the language service to render dynamic information statically.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Timothy Yat Tim Ng, Jomo Ahab Fisher, Donald Syme, Lucas James Hoban
  • Patent number: 8479178
    Abstract: A batch compiler is employed to enable compilation of code provided at runtime. A managed application receives code during execution and invokes the compiler to transform the code to enable it to execute within the context of the receiving application. Among other things, employment of a batch compiler preserves investments made to such compilers while also opening up new scenarios in application scripting and/or hosting that are otherwise unavailable.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: July 2, 2013
    Assignee: Microsoft Corporation
    Inventors: Avner Y. Aharoni, Henricus Johannes Maria Meijer, Timothy Yat Tim Ng, Amanda K. Silver, Scott Daniel Wisniewski, Kevin Wagner Halverson, David N. Schach, Aleksey V. Tsingauz, Paul A. Vick
  • Patent number: 8239842
    Abstract: Modified compilers and other development tools provide implied line continuation within a sequence of syntax tokens of a programming language grammar which includes multiple semantic contexts and which uses line termination as presumptive statement termination. When source code parsing encounters a line terminator adjacent a context-dependent implicit line continuation token in an associated semantic context, an explicit decision is made whether to imply line continuation. Line continuation may also be implied in response to other specified tokens.
    Type: Grant
    Filed: February 24, 2009
    Date of Patent: August 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Avner Aharoni, Timothy Yat Tim Ng, David N. Schach, Paul Allen Vick, Jr., Lisa Feigenbaum, Sophia Salim, Henricus Johannes Maria Meijer, Jonathan Paul Aneja, Joseph Tyler Whitney
  • Publication number: 20110276983
    Abstract: Architecture that includes an asynchronous library which remembers the synchronization context that initiated an asynchronous method call and when the request is completed, the library restores the synchronization context of the calling thread before executing a callback. This ensures that the callback executes on the same thread as the original asynchronous request. The callback to the asynchronous operation that asynchronous library provides automatically “jumps threads” to maintain thread affinity.
    Type: Application
    Filed: May 5, 2010
    Publication date: November 10, 2011
    Applicant: Microsoft Corporation
    Inventors: Donald Syme, Lucas James Hoban, Dmitry Lomov, Timothy Yat Tim Ng
  • Publication number: 20110276950
    Abstract: Architecture that provides a way to plug into a compiler (e.g., F#) and the associated language service. The language components define a standard plug-in mechanism that allows any component to plug into the services and, provide name binding and type resolution services. The compiler and language service utilize the protocol defined (e.g., in the shape of interfaces and classes that must be implemented in order to plug-in to the system) to provide compile time and design time extensions. The architecture provides the ability to define a customized protocol to interact with the compiler's name binding mechanism. The use of this protocol allows not only compilation to succeed, but to also provide rich IDE services, such as name lookup, and value lookup for quick information. Additionally, the capability to provide static type information to satisfy the requirements of a typed programming language is supported.
    Type: Application
    Filed: May 5, 2010
    Publication date: November 10, 2011
    Applicant: Microsoft Corporation
    Inventors: Jomo A. Fisher, Donald Syme, Lucas J. Hoban, Timothy Yat Tim Ng
  • Publication number: 20110258594
    Abstract: A system and method for implementing an asynchronous construct in a computer program. A state machine is generated from the computer program, and the program is translated to generate code that executes the state machine during runtime. The asynchronous construct may be made into a function that invokes an asynchronous function, passing the function as a callback, and then exits. When the asynchronous operation completes, the function is invoked as a callback, returning to a configuration equivalent to that prior to the asynchronous call. Variable closure may be used to maintain the state of variables during a state prior to invoking the asynchronous operation and a state after invoking the asynchronous operation.
    Type: Application
    Filed: April 15, 2010
    Publication date: October 20, 2011
    Applicant: Microsoft Corporation
    Inventors: Donald Syme, Luke Hoban, Timothy Yat Tim Ng, Dmitry Lomov
  • Publication number: 20110258593
    Abstract: Static type checking is performed against external data sources in an interacting editing environment. A rich editing experience can be provided to users for external data equivalent to that provided for internal static, typed data. An extensible compiler is provided so that a user or third party can extend type checking facilities to any external data source. An extensible language service is provided so that a user or third party can extend the language service to provide a consistent, current static view of external data. The extensible compiler and language service allow language extensions to plug into the type checking process. This enables the compiler and language service to provide an extension point that allows extensions of the compiler and allow the language service to render dynamic information statically.
    Type: Application
    Filed: April 14, 2010
    Publication date: October 20, 2011
    Applicant: Microsoft Corporation
    Inventors: Timothy Yat Tim Ng, Jomo Ahab Fisher, Donald Syme, Lucas James Hoban
  • Publication number: 20100218173
    Abstract: Modified compilers and other development tools provide implied line continuation within a sequence of syntax tokens of a programming language grammar which includes multiple semantic contexts and which uses line termination as presumptive statement termination. When source code parsing encounters a line terminator adjacent a context-dependent implicit line continuation token in an associated semantic context, an explicit decision is made whether to imply line continuation. Line continuation may also be implied in response to other specified tokens.
    Type: Application
    Filed: February 24, 2009
    Publication date: August 26, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Avner Aharoni, Timothy Yat Tim Ng, David N. Schach, Paul Allen Vick, JR., Lisa Feigenbaum, Sophia Salim, Henricus Johannes Maria Meijer, Jonathan Paul Aneja, Joseph Tyler Whitney
  • Publication number: 20090328012
    Abstract: A batch compiler is employed to enable compilation of code provided at runtime. A managed application receives code during execution and invokes the compiler to transform the code to enable it to execute within the context of the receiving application. Among other things, employment of a batch compiler preserves investments made to such compilers while also opening up new scenarios in application scripting and/or hosting that are otherwise unavailable.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Avner Y. Aharoni, Henricus Johannes Maria Meijer, Timothy Yat Tim Ng, Amanda K. Silver, Scott Daniel Wisniewski, Kevin Wagner Halverson, David N. Schach, Aleksey V. Tsingauz, Paul A. Vick
  • Publication number: 20090328016
    Abstract: Expression tree versatility and applicability are enhanced to facilitate programming across various program languages and execution contexts. An expression tree can represent programmatic code as data in a representation common to multiple process mechanisms. As a result, entire programs or portions thereof can be captured and processed by a numerous common language components. Further, language specific concepts can be reduced to the common representation to enable language independent employment.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Timothy Yat Tim Ng, Robert Elliott Viehland, James Hugunin, Samuel Y. Ng, Matthew J. Warren, Anders Hejlsberg, Henricus Johannes Maria Meijer, John Wesley Dyer, Avner Y. Aharoni, John Benjamin Messerly, Martin Maly, William P. Chiles, Mads Torgersen
  • Publication number: 20090328013
    Abstract: Compiler functionality is componentized to enable use across different contexts. Conventionally tightly coupled functionality is decoupled and an interface afforded to facilitate interaction with compiler components/subcomponents in various scenarios. In one instance, compiler components can be employed across compile time and runtime. Compile time functionality can be employed at runtime and runtime functionality utilized at compile time thereby blurring the line between time dimensions.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Avner Y. Aharoni, Henricus Johannes Maria Meijer, Timothy Yat Tim Ng, Amanda K. Silver, Paul A. Vick, Scott Daniel Wisniewski
  • Publication number: 20080320453
    Abstract: A type inference option is available for a computer programming language. The option acts as a switch to specify whether or not type inference is applicable (e.g., on or off). Type inference can be employed in conjunction with late binding or options therefor. In this manner, a computer program can be developed with the convenience of type inference and the flexibility of late binding while still maintaining at a degree of type safety.
    Type: Application
    Filed: June 21, 2007
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, Amanda Silver, Paul A. Vick, Jonathan Paul Aneja, Timothy Yat Tim Ng, John J. Rivard