Patents by Inventor Jason Wohlgemuth

Jason Wohlgemuth 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: 10534421
    Abstract: A system provides virtual per-processor timers based on a timer such as a platform timer. To virtualize a timer to be used by each processor independently, a data structure is maintained in memory for the timer. The data structure has an entry for each interrupt to be produced for each processor using the timer, specifying the processor and the due time, with the entries sorted by due time. If the virtualized timer is a platform timer that maintains context during power transitions, a processor can switch to the virtual per-processor timer upon a context-losing power transition.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: January 14, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jason Wohlgemuth, Cody Hartwig, Bruce Sherwin, Jr.
  • Patent number: 10157155
    Abstract: An operating system includes an interrupt router that dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. These assignments can be changed given current operating conditions of the system.
    Type: Grant
    Filed: August 19, 2016
    Date of Patent: December 18, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
  • Publication number: 20160357689
    Abstract: An operating system includes an interrupt router that dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. These assignments can be changed given current operating conditions of the system.
    Type: Application
    Filed: August 19, 2016
    Publication date: December 8, 2016
    Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
  • Patent number: 9424212
    Abstract: An operating system is provided in which an interrupt router dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. On a regular basis, these assignments can be changed given current operating conditions of the system.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: August 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
  • Publication number: 20140372786
    Abstract: A system provides virtual per-processor timers based on a timer such as a platform timer. To virtualize a timer to be used by each processor independently, a data structure is maintained in memory for the timer. The data structure has an entry for each interrupt to be produced for each processor using the timer, specifying the processor and the due time, with the entries sorted by due time. If the virtualized timer is a platform timer that maintains context during power transitions, a processor can switch to the virtual per-processor timer upon a context-losing power transition.
    Type: Application
    Filed: June 13, 2013
    Publication date: December 18, 2014
    Inventors: Jason Wohlgemuth, Cody Hartwig, Bruce Sherwin, JR.
  • Publication number: 20140372649
    Abstract: An operating system is provided in which an interrupt router dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. On a regular basis, these assignments can be changed given current operating conditions of the system.
    Type: Application
    Filed: June 13, 2013
    Publication date: December 18, 2014
    Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
  • Publication number: 20110215211
    Abstract: An accessory mount for self-propelled mowers allows accessories to be retrofitted to self-propelled mowers. Self-propelled mowers commonly have wheel assemblies mounted by vertically oriented stems held in vertical hollow tube wheel mounts. The end of the stems of the wheel assemblies extend out the top of the hollow tube wheel mounts, presenting hubs. Apertures in the hubs accept cotter pins for retaining the wheels. Washers at the top and bottom of the wheel assembly stems vertically position the wheels. An accessory mount has apertures sized and spaced to match the hubs and the cotter pins and washers used to retain the wheel assemblies also retain the accessory mount. The distance between apertures in the accessory mount can be adjusted to retrofit to different self-propelled mowers. The accessory mount presents interfaces such as bearing surfaces for interfacing with accessories.
    Type: Application
    Filed: March 5, 2010
    Publication date: September 8, 2011
    Inventor: Jason Wohlgemuth