Patents by Inventor Jeffrey E. Stall

Jeffrey E. Stall 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: 10163245
    Abstract: Animations are displayed on a user interface (UI) of a computing device using one of multiple different animation system modes, each animation system mode operating in a different manner to determine how to change the display for an animation. The animation can be on a particular object that is displayed by the computing device (e.g., scrolling a list, moving an icon or character from one location to another) and/or can be on the display as a whole (e.g., panning or scrolling a view of the whole display). The multi-mode animation system operates to select an animation system mode on a frame by frame basis. For each frame of content being displayed on the display device, the multi-mode animation system selects an appropriate one of the animation system modes to use for generating the content of that frame.
    Type: Grant
    Filed: June 29, 2016
    Date of Patent: December 25, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Anthony R. Young, Lindsay Ann Kubasik, Mark Lee Aldham, Nathan P. Pollock, Jeffrey E. Stall, Peter Auerhann Beissinger
  • Publication number: 20170277311
    Abstract: User input that is part of a user interaction with a computing device is received by a system module. The system module notifies the application of the user input, and the application determines whether the application is to handle the user interaction or the whether the operating system is to handle the user interaction. For user interactions that the operating system is to handle, the application notifies the operating system to handle the user interaction. For the duration of the user interaction, the operating system then determines what changes to make to a display of data based on the user interaction and need not (and typically does not) notify the application of the user input. Thus, the application hands off the user interaction to the operating system.
    Type: Application
    Filed: June 29, 2016
    Publication date: September 28, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Nathan P. Pollock, Mark Lee Aldham, Lindsay Ann Kubasik, Anthony R. Young, Peter B. Freiling, Jeffrey E. Stall
  • Publication number: 20170278291
    Abstract: Animations are displayed on a user interface (UI) of a computing device using one of multiple different animation system modes, each animation system mode operating in a different manner to determine how to change the display for an animation. The animation can be on a particular object that is displayed by the computing device (e.g., scrolling a list, moving an icon or character from one location to another) and/or can be on the display as a whole (e.g., panning or scrolling a view of the whole display). The multi-mode animation system operates to select an animation system mode on a frame by frame basis. For each frame of content being displayed on the display device, the multi-mode animation system selects an appropriate one of the animation system modes to use for generating the content of that frame.
    Type: Application
    Filed: June 29, 2016
    Publication date: September 28, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Anthony R. Young, Lindsay Ann Kubasik, Mark Lee Aldham, Nathan P. Pollock, Jeffrey E. Stall, Peter Auerhann Beissinger
  • Patent number: 8793671
    Abstract: Interface optimization is provided using a closed system in which all the individual software components in the system are known to the compiler at a single point in time. This knowledge enables significant opportunities to optimize the implementation of interfaces on a set of implemented objects. When code is compiled, because the compiler knows the full list of interfaces and the objects which implement the interfaces, it can improve execution and working set (i.e., recently referenced pages in a program's virtual address space) when implementing the interfaces on objects. This improvement may be realized by reducing the size of interface lookup tables which map each interface to the object types which implement that particular interface.
    Type: Grant
    Filed: June 28, 2008
    Date of Patent: July 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Jeffrey E. Stall, Jonathon Michael Stall
  • Patent number: 8196107
    Abstract: The present invention extends to methods, systems, and computer program products for simulating stepping through interpreted code. Embodiments of the present invention facilitate debugging interpreted code. Thus, existing debugger technologies (e.g., those configured for use with compiled code) can be utilized to debug interpreted code. More specifically, existing debugger technologies can be used to step through interpreted code, without stepping into the code of interpreter itself. Accordingly, users developing interpreted code can be provided a stepping experience of relatively the same quality provided to developers developing compiled code, without having to reengineer debuggers to compensate for interpreted code.
    Type: Grant
    Filed: June 19, 2008
    Date of Patent: June 5, 2012
    Assignee: Microsoft Corporation
    Inventors: Jonathon Michael Stall, Jeffrey E. Stall
  • Patent number: 8132191
    Abstract: A method and apparatus for adapting and hosting legacy user interface controls is provided. Legacy user interface controls are exposed within a new window manager as native user interface objects. A bridge between a hosted legacy user interface control and the legacy window manager intercepts messages intended for the hosted user interface control. The messages are filtered to determine if they should be passed to the new window manager. If a message is to be forwarded, the message is forwarded to a root Visual Gadget in the new window manager. The message is processed and routed down the window tree to an adapter control for hosting the legacy user interface control. The adapter control processes the message and routes the message to any listener objects attached to the adapter. If the message has not been completely handled, the message is “bubbled” up the window tree for additional processing.
    Type: Grant
    Filed: February 4, 2009
    Date of Patent: March 6, 2012
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E. Stall
  • Patent number: 7716680
    Abstract: A method and apparatus is provided for providing and integrating high-performance message queues. “Contexts” are provided that allow independent worlds to be created and execute in parallel. A context is created with one or more threads. Each object is created with context affinity, allowing any thread inside the context to modify the object or process pending messages. Threads in a different context are unable to modify the object or process pending messages for that context. To help achieve scalability and context affinity, both global and thread-local data is often moved into the context. Remaining global data has independent locks, providing synchronized access for multiple contexts. Each context has multiple message queues to create a priority queue. There are default queues for sent messages and posted messages, carry-overs from legacy window managers, with the ability to add new queues on demand. A queue bridge is also provided for actually processing the messages.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E Stall
  • Publication number: 20090328020
    Abstract: Interface optimization is provided using a closed system in which all the individual software components in the system are known to the compiler at a single point in time. This knowledge enables significant opportunities to optimize the implementation of interfaces on a set of implemented objects. When code is compiled, because the compiler knows the full list of interfaces and the objects which implement the interfaces, it can improve execution and working set (i.e., recently referenced pages in a program's virtual address space) when implementing the interfaces on objects. This improvement may be realized by reducing the size of interface lookup tables which map each interface to the object types which implement that particular interface.
    Type: Application
    Filed: June 28, 2008
    Publication date: December 31, 2009
    Applicant: Microsoft Corporation
    Inventors: Jeffrey E. Stall, Jonathon Michael Stall
  • Publication number: 20090319999
    Abstract: The present invention extends to methods, systems, and computer program products for simulating stepping through interpreted code. Embodiments of the present invention facilitate debugging interpreted code. Thus, existing debugger technologies (e.g., those configured for use with compiled code) can be utilized to debug interpreted code. More specifically, existing debugger technologies can be used to step through interpreted code, without stepping into the code of interpreter itself Accordingly, users developing interpreted code can be provided a stepping experience of relatively the same quality provided to developers developing compiled code, without having to reengineer debuggers to compensate for interpreted code.
    Type: Application
    Filed: June 19, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Jonathon Michael Stall, Jeffrey E. Stall
  • Patent number: 7631316
    Abstract: A method and apparatus is provided for providing and integrating high-performance message queues. “Contexts” are provided that allow independent worlds to be created and execute in parallel. A context is created with one or more threads. Each object is created with context affinity, allowing any thread inside the context to modify the object or process pending messages. Threads in a different context are unable to modify the object or process pending messages for that context. To help achieve scalability and context affinity, both global and thread-local data is often moved into the context. Remaining global data has independent locks, providing synchronized access for multiple contexts. Each context has multiple message queues to create a priority queue. There are default queues for sent messages and posted messages, carry-overs from legacy window managers, with the ability to add new queues on demand. A queue bridge is also provided for actually processing the messages.
    Type: Grant
    Filed: May 26, 2005
    Date of Patent: December 8, 2009
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E Stall
  • Publication number: 20090144757
    Abstract: A method and apparatus for adapting and hosting legacy user interface controls is provided. Legacy user interface controls are exposed within a new window manager as native user interface objects. A bridge between a hosted legacy user interface control and the legacy window manager intercepts messages intended for the hosted user interface control. The messages are filtered to determine if they should be passed to the new window manager. If a message is to be forwarded, the message is forwarded to a root Visual Gadget in the new window manager. The message is processed and routed down the window tree to an adapter control for hosting the legacy user interface control. The adapter control processes the message and routes the message to any listener objects attached to the adapter. If the message has not been completely handled, the message is “bubbled” up the window tree for additional processing.
    Type: Application
    Filed: February 4, 2009
    Publication date: June 4, 2009
    Applicant: Microsoft Corporation
    Inventor: Jeffrey E. Stall
  • Patent number: 7506345
    Abstract: A method and apparatus for adapting and hosting legacy user interface controls is provided. Legacy user interface controls are exposed within a new window manager as native user interface objects. A bridge between a hosted legacy user interface control and the legacy window manager intercepts messages intended for the hosted user interface control. The messages are filtered to determine if they should be passed to the new window manager. If a message is to be forwarded, the message is forwarded to a root Visual Gadget in the new window manager. The message is processed and routed down the window tree to an adapter control for hosting the legacy user interface control. The adapter control processes the message and routes the message to any listener objects attached to the adapter. If the message has not been completely handled, the message is “bubbled” up the window tree to the parent objects of the adapter control for additional processing.
    Type: Grant
    Filed: June 30, 2005
    Date of Patent: March 17, 2009
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E Stall
  • Patent number: 7487511
    Abstract: A method and apparatus is provided for providing and integrating high-performance message queues. “Contexts” are provided that allow independent worlds to be created and execute in parallel. A context is created with one or more threads. Each object is created with context affinity, allowing any thread inside the context to modify the object or process pending messages. Threads in a different context are unable to modify the object or process pending messages for that context. To help achieve scalability and context affinity, both global and thread-local data is often moved into the context. Remaining global data has independent locks, providing synchronized access for multiple contexts. Each context has multiple message queues to create a priority queue. There are default queues for sent messages and posted messages, carry-overs from legacy window managers, with the ability to add new queues on demand. A queue bridge is also provided for actually processing the messages.
    Type: Grant
    Filed: August 31, 2004
    Date of Patent: February 3, 2009
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E Stall
  • Patent number: 7453473
    Abstract: A method and apparatus for high-performance rendering and hit-testing of a window tree is provided. A window tree may be rendered using an application programming interface provided by the present invention. The application programming interface provides support for world-transforms, enabling entire sub-trees of the window tree to be rotated and scaled during rendering. In order to quickly render and hit-test the transformed nodes of the window tree, a stack-based implementation of the “painter's algorithm” is utilized to achieve fast rendering. By storing all state information on a stack regarding each node in the window tree and building new data structures containing rendering information for each node and its children, any portion of the sub tree may be rendered on demand.
    Type: Grant
    Filed: January 14, 2005
    Date of Patent: November 18, 2008
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E Stall
  • Patent number: 7401339
    Abstract: Hooking replacement and augmented API functions is disclosed. In one embodiment, an alternative implementation of one or more API functions is hooked into the operating system through utilization of a replacement API table. The functions that have been replaced, augmented, or otherwise modified have entries in the table pointing to their new implementation. The entries for functions that have not been change continue to point to their existing implementation. A bit array is also disclosed to track desired messages, as compared to undesired messages, where each bit of the array corresponds to a type of message. The table can be variably sized, and can support nested and re-entrant calls.
    Type: Grant
    Filed: December 23, 2004
    Date of Patent: July 15, 2008
    Assignee: Microsoft Corporation
    Inventors: Gerardo Bermudez, Gerald P. Shea, Jeffrey E. Stall
  • Patent number: 6961945
    Abstract: A method and apparatus for adapting and hosting legacy user interface controls is provided. Legacy user interface controls are exposed within a new window manager as native user interface objects. A bridge between a hosted legacy user interface control and the legacy window manager intercepts messages intended for the hosted user interface control. The messages are filtered to determine if they should be passed to the new window manager. If a message is to be forwarded, the message is forwarded to a root Visual Gadget in the new window manager. The message is processed and routed down the window tree to an adapter control for hosting the legacy user interface control. The adapter control processes the message and routes the message to any listener objects attached to the adapter. If the message has not been completely handled, the message is “bubbled” up the window tree to the parent objects of the adapter control for additional processing.
    Type: Grant
    Filed: June 20, 2001
    Date of Patent: November 1, 2005
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E. Stall
  • Patent number: 6954933
    Abstract: A method and apparatus is provided for providing and integrating high-performance message queues. “Contexts” are provided that allow independent worlds to be created and execute in parallel. A context is created with one or more threads. Each object is created with context affinity, allowing any thread inside the context to modify the object or process pending messages. Threads in a different context are unable to modify the object or process pending messages for that context. To help achieve scalability and context affinity, both global and thread-local data is often moved into the context. Remaining global data has independent locks, providing synchronized access for multiple contexts. Each context has multiple message queues to create a priority queue. There are default queues for sent messages and posted messages, carry-overs from legacy window managers, with the ability to add new queues on demand. A queue bridge is also provided for actually processing the messages.
    Type: Grant
    Filed: June 26, 2001
    Date of Patent: October 11, 2005
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E. Stall
  • Patent number: 6954218
    Abstract: A method and apparatus for high-performance rendering and hit-testing of a window tree is provided. A window tree may be rendered using an application programming interface provided by the present invention. The application programming interface provides support for world-transforms, enabling entire sub-trees of the window tree to be rotated and scaled during rendering. In order to quickly render and hit-test the transformed nodes of the window tree, a stack-based implementation of the “painter's algorithm” is utilized to achieve fast rendering. By storing all state information on a stack regarding each node in the window tree and building new data structures containing rendering information for each node and its children, any portion of the sub tree may be rendered on demand.
    Type: Grant
    Filed: June 20, 2001
    Date of Patent: October 11, 2005
    Assignee: Microsoft Corporation
    Inventor: Jeffrey E. Stall
  • Patent number: 6874149
    Abstract: Hooking replacement and augmented API functions is disclosed. In one embodiment, an alternative implementation of one or more API functions is hooked into the operating system through utilization of a replacement API table. The functions that have been replaced, augmented, or otherwise modified have entries in the table pointing to their new implementation. The entries for functions that have not been change continue to point to their existing implementation. A bit array is also disclosed to track desired messages, as compared to undesired messages, where each bit of the array corresponds to a type of message. The table can be variably sized, and can support nested and re-entrant calls.
    Type: Grant
    Filed: June 28, 2000
    Date of Patent: March 29, 2005
    Assignee: Microsoft Corporation
    Inventors: Gerardo Bermudez, Gerald P. Shea, Jeffrey E. Stall
  • Publication number: 20020075327
    Abstract: A method and apparatus for high-performance rendering and hit-testing of a window tree is provided. A window tree may be rendered using an application programming interface provided by the present invention. The application programming interface provides support for world-transforms, enabling entire sub-trees of the window tree to be rotated and scaled during rendering. In order to quickly render and hit-test the transformed nodes of the window tree, a stack-based implementation of the “painter's algorithm” is utilized to achieve fast rendering. By storing all state information on a stack regarding each node in the window tree and building new data structures containing rendering information for each node and its children, any portion of the sub tree may be rendered on demand.
    Type: Application
    Filed: June 20, 2001
    Publication date: June 20, 2002
    Applicant: Microsoft Corporation
    Inventor: Jeffrey E. Stall