Patents by Inventor Donald Syme

Donald Syme 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: 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: 8776010
    Abstract: A system and method for facilitating development of a computer program that interfaces with a data store. A system queries the data store to retrieve interface information, including schema information corresponding to a portion of data in the data store relevant to a user application. The system uses the retrieved information to provide an integrated development environment (IDE) to a user. The IDE may include one or more features such as completion lists, tool tips, and quick info. The schema information may be used to create synthetic types for use in the target program. The interface information may be used to create synthetic elements to be inserted into a target program. The synthetic types may be used to perform static type checking during an editing session or a program compilation, or to provide the IDE services. During a build, the synthetic elements may be removed and replaced with data store access code, which is subsequently used during program runtime to access the store.
    Type: Grant
    Filed: October 27, 2010
    Date of Patent: July 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Jomo Fisher, Luke Hoban, Timothy Y. Ng, Matteo Taveggia, Donald Syme
  • Publication number: 20120110548
    Abstract: A system and method for facilitating development of a computer program that interfaces with an operating system instrumentation store (OSIS). A system queries an OSIS to retrieve interface information, including schema information corresponding to a portion of data in the OSIS relevant to a user application. The system uses the retrieved information to provide an integrated development environment to a user. The IDE may include one or more features such as completion lists, tool tips, and quick info. The schema information may be used to create synthetic types for use in the target program. The interface information may be used to create synthetic elements to be inserted into a target program. The synthetic types may be used to perform static type checking during an editing session or a program compilation, or to provide the IDE services. During a build, the synthetic elements may be removed and replaced with OSIS access code, which is subsequently used during program runtime to access the store.
    Type: Application
    Filed: October 27, 2010
    Publication date: May 3, 2012
    Applicant: Microsoft Corporation
    Inventors: Jomo Fisher, Luke Hoban, Timothy Y. Ng, Matteo Taveggia, Donald Syme
  • Publication number: 20120110560
    Abstract: A system and method for facilitating development of a computer program that interfaces with a Web Semantic store (WSS). A system queries an WSS to retrieve interface information, including schema information corresponding to a portion of data in the WSS relevant to a user application. The system uses the retrieved information to provide an integrated development environment to a user. The IDE may include one or more features such as completion lists, tool tips, and quick info. The schema information may be used to create synthetic types for use in the target program. The interface information may be used to create synthetic elements to be inserted into a target program. The synthetic types may be used to perform static type checking during an editing session or a program compilation, or to provide the IDE services. During a build, the synthetic elements may be removed and replaced with WSS access code, which is subsequently used during program runtime to access the store.
    Type: Application
    Filed: October 27, 2010
    Publication date: May 3, 2012
    Applicant: Microsoft Corporation
    Inventors: Jomo Fisher, Luke Hoban, Timothy Y. Ng, Dmitry Lomov, Donald Syme
  • 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: 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: 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
  • Patent number: 7171655
    Abstract: Verification of intermediate language code. In one embodiment, a computer-implemented method first verifies metadata of an intermediate language code for consistency and accuracy, and then verifying the intermediate language code for consistency and accuracy. This latter part in one embodiment is accomplished by performing first a syntactic check of the intermediate language code, and then a semantic check of the intermediate language code.
    Type: Grant
    Filed: February 19, 2003
    Date of Patent: January 30, 2007
    Assignee: Microsoft Corporation
    Inventors: Andrew Gordon, Donald Syme, Jonathon Forbes, Vance P. Morrison
  • Publication number: 20040183575
    Abstract: A signaling circuit using sinusoidal driven waveforms is disclosed. The circuit comprises sinusoidal circuit creation means comprising at least one voltage source for driving a pair of offset sinusoidal waveform into a driver circuit; said driver circuit comprising at least two transistors to hold either a Hi or Lo state and a pair of gated buffers to route either phase of the sinusoid pair to an output pin; and logic circuit means to select between either a plurality of hold states (Hi, Lo, or Z (neither)) or the sinusoid phase, thereby generating a required transition during a preset transition period.
    Type: Application
    Filed: March 19, 2003
    Publication date: September 23, 2004
    Inventor: Donald A. Symes
  • Publication number: 20030154468
    Abstract: Verification of intermediate language code. In one embodiment, a computer-implemented method first verifies metadata of an intermediate language code for consistency and accuracy, and then verifying the intermediate language code for consistency and accuracy. This latter part in one embodiment is accomplished by performing first a syntactic check of the intermediate language code, and then a semantic check of the intermediate language code.
    Type: Application
    Filed: February 19, 2003
    Publication date: August 14, 2003
    Applicant: Microsoft Corporation
    Inventors: Andrew Gordon, Donald Syme, Jonathon Forbes, Vance P. Morrison
  • Patent number: 6560774
    Abstract: Verification of intermediate language code. In one embodiment, a computer-implemented method first verifies metadata of an intermediate language code for consistency and accuracy, and then verifying the intermediate language code for consistency and accuracy. This latter part in one embodiment is accomplished by performing first a syntactic check of the intermediate language code, and then a semantic check of the intermediate language code.
    Type: Grant
    Filed: September 1, 1999
    Date of Patent: May 6, 2003
    Assignee: Microsoft Corporation
    Inventors: Andrew Gordon, Donald Syme, Jonathon Forbes, Vance P. Morrison