Patents by Inventor Tristan Brown
Tristan Brown 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).
-
Publication number: 20240125795Abstract: Disclosed herein are methods for identifying physicochemical properties associated with protein corona formation at the level of proteins and NP-functionalization. Further disclosed herein are compositions comprising combinations of particles configured for low abundance protein collection and deep proteomic analysis.Type: ApplicationFiled: February 25, 2022Publication date: April 18, 2024Inventors: Daniel Hornburg, Craig Stolarczyk, Behzad Tangeysh, Asim Siddiqui, Tristan Brown, Shadi Roshdiferdosi, Martin Goldberg, Moaraj HASAN
-
Publication number: 20230014161Abstract: Methods and catalysts for oxidizing ammonia to nitrogen are described. Specifically, diruthenium complexes that spontaneously catalyze this reaction are disclosed. Accordingly, the disclosed methods and catalysts can be used in various electrochemical cell-based energy storage and energy production applications that could form the basis for a potential nitrogen economy.Type: ApplicationFiled: September 7, 2022Publication date: January 19, 2023Inventors: John Berry, Christian Wallen, Michael Trenerry, Tristan Brown, Sungho Park
-
Patent number: 11465136Abstract: Methods and catalysts for oxidizing ammonia to nitrogen are described. Specifically, diruthenium complexes that spontaneously catalyze this reaction are disclosed. Accordingly, the disclosed methods and catalysts can be used in various electrochemical cell-based energy storage and energy production applications that could form the basis for a potential nitrogen economy.Type: GrantFiled: October 23, 2020Date of Patent: October 11, 2022Assignee: Wisconsin Alumni Research FoundationInventors: John Berry, Christian Wallen, Tristan Brown, Sungho Park
-
Publication number: 20210121861Abstract: Methods and catalysts for oxidizing ammonia to nitrogen are described. Specifically, diruthenium complexes that spontaneously catalyze this reaction are disclosed. Accordingly, the disclosed methods and catalysts can be used in various electrochemical cell-based energy storage and energy production applications that could form the basis for a potential nitrogen economy.Type: ApplicationFiled: October 23, 2020Publication date: April 29, 2021Inventors: John Berry, Christian Wallen, Michael Trenerry, Tristan Brown, Sungho Park
-
Patent number: 10642325Abstract: Embodiments are directed to capturing and storing historical data regarding thermal remediations, to predicting and acting on remediation futures and to communicating with applications regarding thermal remediations implemented on the computer system. In one scenario, a computer system determines which thermal remediations are currently being implemented on a monitored computing device. The thermal remediations are based on the monitored computing device's current operating environment including the physical thermal environment and/or the current software execution environment. The computer system further tracks thermal remediation levels for those thermal remediations that are currently being implemented on the monitored computing device, the thermal remediation levels indicating the degree to which each thermal remediation is implemented.Type: GrantFiled: April 29, 2015Date of Patent: May 5, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Bruce Lee Worthington, Tristan A. Brown, Iulian Doroftei Calinov
-
Patent number: 10503238Abstract: Each processor core in a computing device supports various different frequency ranges, also referred to as p-states, and can operate to run threads at any one of those different frequency ranges. Threads in the computing device are assigned one of multiple importance levels. A processor core is configured to run at a particular frequency range or in accordance with a particular energy performance preference based on the importance level of the thread it is running. A utilization factor of a processor core can also be determined over some time duration, the utilization factor being based on the amount of time during the time duration that the processor core was running a thread(s), and also based on the importance levels of the thread(s) run during the time duration. The utilization factor can then be used to determine whether to park the processor core.Type: GrantFiled: May 30, 2017Date of Patent: December 10, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Mehmet Iyigun, Kai-Lun Hsu, Rahul Nair, Mark Allan Bellon, Arun U. Kishan, Tristan A. Brown
-
Patent number: 10372494Abstract: Each processor core in a device supports various different frequency ranges and/or energy performance preferences, and can operate to run threads at any one of those different frequency ranges and/or energy performance preferences. Processor cores are partitioned into different groups, each group running at different frequency ranges and/or energy performance preferences. Threads in the device are assigned one of multiple importance levels and scheduled to run on a processor core in a particular group based on the importance level of the thread. Lower importance level threads are scheduled to run in a group that is more power efficient, and higher importance level threads are scheduled to run in a group that is higher performance. The group that a processor core is part of can change during operation of the device based on the needs of the device and/or applications running on the device.Type: GrantFiled: February 22, 2017Date of Patent: August 6, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Kai-Lun Hsu, Tristan A. Brown
-
Patent number: 10157155Abstract: 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: GrantFiled: August 19, 2016Date of Patent: December 18, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 9996392Abstract: In embodiments of an idle time service, it can be determined that processing on a device is in an idle state. An execution duration of applications that are scheduled to be executed by a processor of the device can then be extended to reduce power consumption by the device. In other embodiments, it can be determined that an application configured to execute on a device is a background application. The execution duration of the background application can then be extended to reduce power consumption by the device.Type: GrantFiled: June 17, 2015Date of Patent: June 12, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Patrick L. Stemen, Nicholas S. Judge, Tristan A. Brown, Dean L. DeWhitt
-
Publication number: 20180150324Abstract: In embodiments of an idle time service, it can be determined that processing on a device is in an idle state. An execution duration of applications that are scheduled to be executed by a processor of the device can then be extended to reduce power consumption by the device. In other embodiments, it can be determined that an application configured to execute on a device is a background application. The execution duration of the background application can then be extended to reduce power consumption by the device.Type: ApplicationFiled: January 23, 2018Publication date: May 31, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Patrick L. Stemen, Nicholas S. Judge, Tristan A. Brown, Dean L. DeWhitt
-
Publication number: 20180129534Abstract: Each processor core in a device supports various different frequency ranges and/or energy performance preferences, and can operate to run threads at any one of those different frequency ranges and/or energy performance preferences. Processor cores are partitioned into different groups, each group running at different frequency ranges and/or energy performance preferences. Threads in the device are assigned one of multiple importance levels and scheduled to run on a processor core in a particular group based on the importance level of the thread. Lower importance level threads are scheduled to run in a group that is more power efficient, and higher importance level threads are scheduled to run in a group that is higher performance. The group that a processor core is part of can change during operation of the device based on the needs of the device and/or applications running on the device.Type: ApplicationFiled: February 22, 2017Publication date: May 10, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Kai-Lun Hsu, Tristan A. Brown
-
Publication number: 20180120920Abstract: Each processor core in a computing device supports various different frequency ranges, also referred to as p-states, and can operate to run threads at any one of those different frequency ranges. Threads in the computing device are assigned one of multiple importance levels. A processor core is configured to run at a particular frequency range or in accordance with a particular energy performance preference based on the importance level of the thread it is running. A utilization factor of a processor core can also be determined over some time duration, the utilization factor being based on the amount of time during the time duration that the processor core was running a thread(s), and also based on the importance levels of the thread(s) run during the time duration. The utilization factor can then be used to determine whether to park the processor core.Type: ApplicationFiled: May 30, 2017Publication date: May 3, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Mehmet IYIGUN, Kai-Lun HSU, Rahul NAIR, Mark Allan BELLON, Arun U. KISHAN, Tristan A. BROWN
-
Publication number: 20160357689Abstract: 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: ApplicationFiled: August 19, 2016Publication date: December 8, 2016Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 9424092Abstract: Heterogeneous thread scheduling techniques are described in which a processing workload is distributed to heterogeneous processing cores of a processing system. The heterogeneous thread scheduling may be implemented based upon a combination of periodic assessments of system-wide power management considerations used to control states of the processing cores and higher frequency thread-by-thread placement decisions that are made in accordance with thread specific policies. In one or more implementations, a system workload context is periodically analyzed for a processing system having heterogeneous cores including power efficient cores and performance oriented cores. Based on the periodic analysis, cores states are set for some of the heterogeneous cores to control activation of the power efficient cores and performance oriented cores for thread scheduling.Type: GrantFiled: September 26, 2014Date of Patent: August 23, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Neeraj Kumar Singh, Tristan A. Brown, Jeremiah S. Samli, Jason S. Wohlgemuth, Youssef Maged Barakat
-
Patent number: 9424212Abstract: 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: GrantFiled: June 13, 2013Date of Patent: August 23, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Publication number: 20160224081Abstract: Embodiments are directed to capturing and storing historical data regarding thermal remediations, to predicting and acting on remediation futures and to communicating with applications regarding thermal remediations implemented on the computer system. In one scenario, a computer system determines which thermal remediations are currently being implemented on a monitored computing device. The thermal remediations are based on the monitored computing device's current operating environment including the physical thermal environment and/or the current software execution environment. The computer system further tracks thermal remediation levels for those thermal remediations that are currently being implemented on the monitored computing device, the thermal remediation levels indicating the degree to which each thermal remediation is implemented.Type: ApplicationFiled: April 29, 2015Publication date: August 4, 2016Inventors: Bruce Lee Worthington, Tristan A. Brown, Iulian Doroftei Calinov
-
Publication number: 20160092274Abstract: Heterogeneous thread scheduling techniques are described in which a processing workload is distributed to heterogeneous processing cores of a processing system. The heterogeneous thread scheduling may be implemented based upon a combination of periodic assessments of system-wide power management considerations used to control states of the processing cores and higher frequency thread-by-thread placement decisions that are made in accordance with thread specific policies. In one or more implementations, a system workload context is periodically analyzed for a processing system having heterogeneous cores including power efficient cores and performance oriented cores. Based on the periodic analysis, cores states are set for some of the heterogeneous cores to control activation of the power efficient cores and performance oriented cores for thread scheduling.Type: ApplicationFiled: September 26, 2014Publication date: March 31, 2016Inventors: Neeraj Kumar Singh, Tristan A. Brown, Jeremiah S. Samli, Jason S. Wohlgemuth, Youssef Maged Barakat
-
Publication number: 20150286503Abstract: In embodiments of an idle time service, it can be determined that processing on a device is in an idle state. An execution duration of applications that are scheduled to be executed by a processor of the device can then be extended to reduce power consumption by the device. In other embodiments, it can be determined that an application configured to execute on a device is a background application. The execution duration of the background application can then be extended to reduce power consumption by the device.Type: ApplicationFiled: June 17, 2015Publication date: October 8, 2015Inventors: Patrick L. Stemen, Nicholas S. Judge, Tristan A. Brown, Dean L. DeWhitt
-
Patent number: 9075652Abstract: In embodiments of an idle time service, it can be determined that processing on a device is in an idle state. An execution duration of applications that are scheduled to be executed by a processor of the device can then be extended to reduce power consumption by the device. In other embodiments, it can be determined that an application configured to execute on a device is a background application. The execution duration of the background application can then be extended to reduce power consumption by the device.Type: GrantFiled: December 20, 2010Date of Patent: July 7, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Patrick L. Stemen, Nicholas S. Judge, Tristan A. Brown, Dean L. DeWhitt
-
Publication number: 20140372649Abstract: 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: ApplicationFiled: June 13, 2013Publication date: December 18, 2014Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh