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: 10163245Abstract: 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: GrantFiled: June 29, 2016Date of Patent: December 25, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Anthony R. Young, Lindsay Ann Kubasik, Mark Lee Aldham, Nathan P. Pollock, Jeffrey E. Stall, Peter Auerhann Beissinger
-
Publication number: 20170277311Abstract: 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: ApplicationFiled: June 29, 2016Publication date: September 28, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Nathan P. Pollock, Mark Lee Aldham, Lindsay Ann Kubasik, Anthony R. Young, Peter B. Freiling, Jeffrey E. Stall
-
Publication number: 20170278291Abstract: 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: ApplicationFiled: June 29, 2016Publication date: September 28, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Anthony R. Young, Lindsay Ann Kubasik, Mark Lee Aldham, Nathan P. Pollock, Jeffrey E. Stall, Peter Auerhann Beissinger
-
Patent number: 8793671Abstract: 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: GrantFiled: June 28, 2008Date of Patent: July 29, 2014Assignee: Microsoft CorporationInventors: Jeffrey E. Stall, Jonathon Michael Stall
-
Patent number: 8196107Abstract: 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: GrantFiled: June 19, 2008Date of Patent: June 5, 2012Assignee: Microsoft CorporationInventors: Jonathon Michael Stall, Jeffrey E. Stall
-
Patent number: 8132191Abstract: 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: GrantFiled: February 4, 2009Date of Patent: March 6, 2012Assignee: Microsoft CorporationInventor: Jeffrey E. Stall
-
Patent number: 7716680Abstract: 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: GrantFiled: August 31, 2004Date of Patent: May 11, 2010Assignee: Microsoft CorporationInventor: Jeffrey E Stall
-
Publication number: 20090328020Abstract: 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: ApplicationFiled: June 28, 2008Publication date: December 31, 2009Applicant: Microsoft CorporationInventors: Jeffrey E. Stall, Jonathon Michael Stall
-
Publication number: 20090319999Abstract: 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: ApplicationFiled: June 19, 2008Publication date: December 24, 2009Applicant: Microsoft CorporationInventors: Jonathon Michael Stall, Jeffrey E. Stall
-
Patent number: 7631316Abstract: 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: GrantFiled: May 26, 2005Date of Patent: December 8, 2009Assignee: Microsoft CorporationInventor: Jeffrey E Stall
-
Publication number: 20090144757Abstract: 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: ApplicationFiled: February 4, 2009Publication date: June 4, 2009Applicant: Microsoft CorporationInventor: Jeffrey E. Stall
-
Patent number: 7506345Abstract: 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: GrantFiled: June 30, 2005Date of Patent: March 17, 2009Assignee: Microsoft CorporationInventor: Jeffrey E Stall
-
Patent number: 7487511Abstract: 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: GrantFiled: August 31, 2004Date of Patent: February 3, 2009Assignee: Microsoft CorporationInventor: Jeffrey E Stall
-
Patent number: 7453473Abstract: 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: GrantFiled: January 14, 2005Date of Patent: November 18, 2008Assignee: Microsoft CorporationInventor: Jeffrey E Stall
-
Patent number: 7401339Abstract: 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: GrantFiled: December 23, 2004Date of Patent: July 15, 2008Assignee: Microsoft CorporationInventors: Gerardo Bermudez, Gerald P. Shea, Jeffrey E. Stall
-
Patent number: 6961945Abstract: 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: GrantFiled: June 20, 2001Date of Patent: November 1, 2005Assignee: Microsoft CorporationInventor: Jeffrey E. Stall
-
Patent number: 6954933Abstract: 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: GrantFiled: June 26, 2001Date of Patent: October 11, 2005Assignee: Microsoft CorporationInventor: Jeffrey E. Stall
-
Patent number: 6954218Abstract: 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: GrantFiled: June 20, 2001Date of Patent: October 11, 2005Assignee: Microsoft CorporationInventor: Jeffrey E. Stall
-
Patent number: 6874149Abstract: 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: GrantFiled: June 28, 2000Date of Patent: March 29, 2005Assignee: Microsoft CorporationInventors: Gerardo Bermudez, Gerald P. Shea, Jeffrey E. Stall
-
Publication number: 20020075327Abstract: 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: ApplicationFiled: June 20, 2001Publication date: June 20, 2002Applicant: Microsoft CorporationInventor: Jeffrey E. Stall