Patents by Inventor William R. Messmer
William R. Messmer 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: 10169196Abstract: Enabling breakpoints on entire data structures include methods, systems, and computer program products for setting breakpoints on a plurality of memory addresses covered by a data structure. One embodiment includes receiving a reference to a data structure for which breakpoints are requested and then, based on this reference, identifying a data structure layout of the data structure. Based on the data structure layout of the data structure, a plurality of memory addresses that are covered by the data structure are identified, and the plurality of memory addresses are added to a list of breakpoints.Type: GrantFiled: March 20, 2017Date of Patent: January 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jordi Mola, William R. Messmer
-
Publication number: 20180267882Abstract: Enabling breakpoints on entire data structures include methods, systems, and computer program products for setting breakpoints on a plurality of memory addresses covered by a data structure. One embodiment includes receiving a reference to a data structure for which breakpoints are requested and then, based on this reference, identifying a data structure layout of the data structure. Based on the data structure layout of the data structure, a plurality of memory addresses that are covered by the data structure are identified, and the plurality of memory addresses are added to a list of breakpoints.Type: ApplicationFiled: March 20, 2017Publication date: September 20, 2018Inventors: Jordi Mola, William R. Messmer
-
Patent number: 9384063Abstract: A concurrent data structure allows synchronization to be elided for read accesses. Processing resources that remove one or more elements of the concurrent data structure are allowed to delete the elements only after all other processing resources have reached a safe point. Each processing resource maintains an indicator that indicates whether the processing resource has reached as safe point (i.e., will not access the concurrent data structure). When the indicators indicate that all processing resources have reached a safe point, elements of the data structure may be deleted.Type: GrantFiled: June 18, 2009Date of Patent: July 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Paul Ringseth, Michael L. Chu, William R. Messmer, Marko Radmilac, Genevieve Fernandes
-
Patent number: 9378062Abstract: An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The resource manager also communicates with the schedulers to dynamically allocate and reallocate resources among the schedulers in the same or different processes or computer systems in accordance with the statistical information.Type: GrantFiled: June 18, 2009Date of Patent: June 28, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Genevieve Fernandes, Marko Radmilac
-
Patent number: 9367350Abstract: A process in a computer system creates and uses a meta-scheduler with meta-contexts that execute on meta-virtual processors. The meta-scheduler includes a set of schedulers with scheduler-contexts that execute on virtual processors. The meta-scheduler schedules the scheduler-contexts on the meta-contexts and schedules the meta-contexts on the meta-virtual processors which execute on execution contexts associated with hardware threads.Type: GrantFiled: October 3, 2008Date of Patent: June 14, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Joseph L. Hellerstein
-
Patent number: 9304831Abstract: A scheduler in a process of a computer system detects an execution context that blocked from outside of the scheduler while in a critical region. The scheduler ensures that the execution context resumes execution on the processing resource of the scheduler on which the execution context blocked when the execution context becomes unblocked. The scheduler also prevents another execution context from entering a critical region on the processing resource prior to the blocked execution context becoming unblocked and exiting the critical region.Type: GrantFiled: September 29, 2008Date of Patent: April 5, 2016Assignee: Microsoft Technology Licensing, LLCInventor: William R. Messmer
-
Patent number: 8959517Abstract: A scheduler in a process of a computer system schedules tasks of a task group for concurrent execution by multiple execution contexts. The scheduler provides a mechanism that allows the task group to be cancelled by an arbitrary execution context or an asynchronous error state. When a task group is cancelled, the scheduler sets a cancel indicator in each execution context that is executing tasks corresponding to the cancelled task group and performs a cancellation process on each of the execution contexts where a cancel indicator is set. The scheduler also creates local aliases to allow task groups to be used without synchronization by execution contexts that are not directly bound to the task groups.Type: GrantFiled: June 10, 2009Date of Patent: February 17, 2015Assignee: Microsoft CorporationInventors: William R. Messmer, David Callahan, Paul F. Ringseth, Niklas Gustafsson
-
Monitoring and updating tasks arrival and completion statistics without data locking synchronization
Patent number: 8843927Abstract: Each processing resource in a scheduler of a process executing on a computer system maintains counts of the number of tasks that arrive at the processing resource and the number of tasks that complete on the processing resource. The counts are maintained in storage that is only writeable by the corresponding processing resource. The scheduler collects and sums the counts from each processing resource and provides statistics based on the summed counts and previous summed counts to a resource manager in response to a request from the resource manager. The scheduler does not reset the counts when the counts are collected and stores copies of the summed counts for use with the next request from the resource manager. The counts may be maintained without synchronization and with thread safety to minimize the impact of gathering statistics on the application.Type: GrantFiled: April 23, 2009Date of Patent: September 23, 2014Assignee: Microsoft CorporationInventors: Marko Radmilac, Paul Ringseth, Genevieve Fernandes, William R. Messmer, Niklas Gustafsson -
Patent number: 7934202Abstract: Visualization for active execution tracing pertains to one or more tools used to capture and analyze events leading to a point-of-failure during execution of a function or at least a portion of an application, program, process, or other assemblage of programmable and executable code.Type: GrantFiled: April 28, 2005Date of Patent: April 26, 2011Assignee: Microsoft CorporationInventors: William R. Messmer, Thomas S. Coon
-
Publication number: 20100325098Abstract: A concurrent data structure allows synchronization to be elided for read accesses. Processing resources that remove one or more elements of the concurrent data structure are allowed to delete the elements only after all other processing resources have reached a safe point. Each processing resource maintains an indicator that indicates whether the processing resource has reached as safe point (i.e., will not access the concurrent data structure). When the indicators indicate that all processing resources have reached a safe point, elements of the data structure may be deleted.Type: ApplicationFiled: June 18, 2009Publication date: December 23, 2010Applicant: MICROSOFT CORPORATIONInventors: Paul Ringseth, Michael L. Chu, William R. Messmer, Marko Radmilac, Genevieve Fernandes
-
Publication number: 20100325636Abstract: An interface between a resource manager and schedulers in a process executing on a computer system allows the resource manager to manage the resources of the schedulers. The resource manager communicates with the schedulers using the interface to access statistical information from the schedulers. The statistical information describes the amount of use of the resources by the schedulers. The resource manager also communicates with the schedulers to dynamically allocate and reallocate resources among the schedulers in the same or different processes or computer systems in accordance with the statistical information.Type: ApplicationFiled: June 18, 2009Publication date: December 23, 2010Applicant: MICROSOFT CORPORATIONInventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Genevieve Fernandes, Marko Radmilac
-
Publication number: 20100318995Abstract: A scheduler in a process of a computer system schedules tasks of a task group for concurrent execution by multiple execution contexts. The scheduler provides a mechanism that allows the task group to be cancelled by an arbitrary execution context or an asynchronous error state. When a task group is cancelled, the scheduler sets a cancel indicator in each execution context that is executing tasks corresponding to the cancelled task group and performs a cancellation process on each of the execution contexts where a cancel indicator is set. The scheduler also creates local aliases to allow task groups to be used without synchronization by execution contexts that are not directly bound to the task groups.Type: ApplicationFiled: June 10, 2009Publication date: December 16, 2010Applicant: Microsoft CorporationInventors: William R. Messmer, David Callahan, Paul F. Ringseth, Niklas Gustafsson
-
Publication number: 20100275207Abstract: Each processing resource in a scheduler of a process executing on a computer system maintains counts of the number of tasks that arrive at the processing resource and the number of tasks that complete on the processing resource. The counts are maintained in storage that is only writeable by the corresponding processing resource. The scheduler collects and sums the counts from each processing resource and provides statistics based on the summed counts and previous summed counts to a resource manager in response to a request from the resource manager. The scheduler does not reset the counts when the counts are collected and stores copies of the summed counts for use with the next request from the resource manager. The counts may be maintained without synchronization and with thread safety to minimize the impact of gathering statistics on the application.Type: ApplicationFiled: April 23, 2009Publication date: October 28, 2010Applicant: Microsoft CorporationInventors: Marko Radmilac, Paul Ringseth, Genevieve Fernandes, William R. Messmer, Niklas Gustafsson
-
Publication number: 20100088704Abstract: A process in a computer system creates and uses a meta-scheduler with meta-contexts that execute on meta-virtual processors. The meta-scheduler includes a set of schedulers with scheduler-contexts that execute on virtual processors. The meta-scheduler schedules the scheduler-contexts on the meta-contexts and schedules the meta-contexts on the meta-virtual processors which execute on execution contexts associated with hardware threads.Type: ApplicationFiled: October 3, 2008Publication date: April 8, 2010Applicant: Microsoft CorporationInventors: Paul F. Ringseth, William R. Messmer, Niklas Gustafsson, Joseph L. Hellerstein
-
Publication number: 20100083258Abstract: A scheduler in a process of a computer system detects an execution context that blocked from outside of the scheduler while in a critical region. The scheduler ensures that the execution context resumes execution on the processing resource of the scheduler on which the execution context blocked when the execution context becomes unblocked. The scheduler also prevents another execution context from entering a critical region on the processing resource prior to the blocked execution context becoming unblocked and exiting the critical region.Type: ApplicationFiled: September 29, 2008Publication date: April 1, 2010Applicant: Microsoft CorporationInventor: William R. Messmer
-
Patent number: 7552450Abstract: Systems and methods for interfacing media components are disclosed. Information about the capabilities of digital media components registered with the system is stored in a capabilities register. In addition, a profile register that contains information about specific capabilities required to perform specific tasks is developed. An application that requires digital media services can select one or more profiles representative of the required service from the profile register. The profile can be mapped onto the capabilities register to locate one or more digital media components registered with system capable of performing operations required to provide the digital media services. The components can be instantiated and connected to build a device capable of providing the requested digital media service. Also disclosed is an Application Programming Interface (API) that enables applications to interface with digital media components from disparate third-party vendors.Type: GrantFiled: September 30, 2003Date of Patent: June 23, 2009Assignee: Microsoft CorporationInventors: Glenn F. Evans, William R. Messmer, Matthijs A. Gates