Patents by Inventor James Anthony Schwartz, Jr.
James Anthony Schwartz, Jr. 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: 11656666Abstract: A computing device has an energy storage device system with multiple energy storage devices. Various different criteria are used to determine which one or more of the multiple energy storage devices to charge or discharge at any given time to provide power to the computing device. The criteria can include characteristics of the energy storage devices as well as hardware and/or physical characteristics of the computing device, characteristics of the energy storage devices and/or the computing device that change while the computing device operates, and predicted behavior or usage of the computing device. These criteria are evaluated during operation of the computing device, and the appropriate energy storage device(s) from which to draw power or to charge at any given time based on these criteria are determined.Type: GrantFiled: June 13, 2019Date of Patent: May 23, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, Jr., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala, Tapan Ansel, Aacer Hatem Daken
-
Patent number: 11520648Abstract: Implementing a firmware watchdog timer. A system presents a data structure over a bus which exposes, to software executing at a central processing unit (CPU), a hardware resource that is associated with a watchdog timer, attribute(s) of the watchdog timer, and (iii) commands available to the software executing at the CPU for managing the watchdog timer via one or more native CPU instructions that target the hardware resource. The system listens on the bus for a data value written to the hardware resource (i.e., by a native CPU operation issued by the software executing at the CPU), and identifies a particular command for managing the watchdog timer based on the data value written. Based on identifying the particular command, the system performs at least one of: initializing the watchdog timer, starting the watchdog timer, resetting the watchdog timer, or stopping the watchdog timer.Type: GrantFiled: September 25, 2020Date of Patent: December 6, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Bruce John Sherwin, Jr., Neeraj Ladkani, Jason Stewart Wohlgemuth, James Anthony Schwartz, Jr.
-
Publication number: 20220100596Abstract: Implementing a firmware watchdog timer. A system presents a data structure over a bus which exposes, to software executing at a central processing unit (CPU), a hardware resource that is associated with a watchdog timer, attribute(s) of the watchdog timer, and (iii) commands available to the software executing at the CPU for managing the watchdog timer via one or more native CPU instructions that target the hardware resource. The system listens on the bus for a data value written to the hardware resource (i.e., by a native CPU operation issued by the software executing at the CPU), and identifies a particular command for managing the watchdog timer based on the data value written. Based on identifying the particular command, the system performs at least one of: initializing the watchdog timer, starting the watchdog timer, resetting the watchdog timer, or stopping the watchdog timer.Type: ApplicationFiled: September 25, 2020Publication date: March 31, 2022Inventors: Bruce John SHERWIN, JR., Neeraj LADKANI, Jason Stewart WOHLGEMUTH, James Anthony SCHWARTZ, JR.
-
Publication number: 20200004304Abstract: A computing device has an energy storage device system with multiple energy storage devices. Various different criteria are used to determine which one or more of the multiple energy storage devices to charge or discharge at any given time to provide power to the computing device. The criteria can include characteristics of the energy storage devices as well as hardware and/or physical characteristics of the computing device, characteristics of the energy storage devices and/or the computing device that change while the computing device operates, and predicted behavior or usage of the computing device. These criteria are evaluated during operation of the computing device, and the appropriate energy storage device(s) from which to draw power or to charge at any given time based on these criteria are determined.Type: ApplicationFiled: June 13, 2019Publication date: January 2, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, JR., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala, Tapan Ansel, Aacer Hatem Daken
-
Patent number: 10488905Abstract: A computing device has an energy storage device system with multiple energy storage devices. Various different criteria are used to determine which one or more of the multiple energy storage devices to discharge at any given time to provide power to the computing device. The criteria can include characteristics of the energy storage devices as well as hardware and/or physical characteristics of the computing device, characteristics of the energy storage devices and/or the computing device that change while the computing device operates, and predicted behavior or usage of the computing device. These criteria are evaluated during operation of the computing device, and the appropriate energy storage device(s) from which to draw power at any given time based on these criteria are determined.Type: GrantFiled: November 16, 2016Date of Patent: November 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, Jr., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala
-
Patent number: 10437301Abstract: A computing device has an energy storage device system with multiple energy storage devices. Various different criteria are used to determine which one or more of the multiple energy storage devices to discharge at any given time to provide power to the computing device. The criteria can include characteristics of the energy storage devices as well as hardware and/or physical characteristics of the computing device, characteristics of the energy storage devices and/or the computing device that change while the computing device operates, and predicted behavior or usage of the computing device. These criteria are evaluated during operation of the computing device, and the appropriate energy storage device(s) from which to draw power at any given time based on these criteria are determined.Type: GrantFiled: November 16, 2016Date of Patent: October 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, Jr., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala
-
Patent number: 10394304Abstract: Hibernating a computing system. The method includes detecting at least one condition which indicates the availability of time to perform hibernation optimization steps on the computing system. The hibernation optimization steps optimize resume time from hibernate. The method further includes detecting a trigger indicating that the computing system is to be put into a hibernate state. As a result of detecting the at least one condition and the trigger, the method further includes performing hibernation steps to hibernate the computing system in a way that optimizes resume time from hibernate of the computing system.Type: GrantFiled: December 7, 2016Date of Patent: August 27, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Paresh Maisuria, James Anthony Schwartz, Jr., M. Nashaat Soliman, Matthew Holle
-
Patent number: 10216256Abstract: An operating system of a computing device determines an importance of the threads running on the computing device, such as assigning the importance of the threads as critical or non-critical. The operating system determines when there are no threads having at least a threshold importance (e.g., no critical threads), and forces one or more components of the computing device into a forced idle state in response to determining that there are no threads having at least the threshold importance. The forced idle state of a device component is a low power state, such as a state in which program instructions are not executed, so the computing device is forced into a forced idle state that reduces power usage in the computing device despite there being threads (e.g., non-critical threads) to be executed.Type: GrantFiled: October 3, 2016Date of Patent: February 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Abhishek Sagar, Paresh Maisuria, James Anthony Schwartz, Jr., M. Nashaat Soliman
-
Publication number: 20180267839Abstract: When an activity agent desires to perform a particular task on a device, the activity agent communicates a request to a resource control system of the device. The request has an associated amount of energy that is expected to be used by the activity agent to perform the task. The resource control system receives the request, determines whether to grant the request based on the amount of energy expected to be used by the activity agent to carry out the task and various additional factors, and returns an indication to the activity agent that the request is granted or denied. If denied, the activity agent delays performing its desired task. If granted, the activity agent proceeds to perform its desired task. The resource control system also continues to monitor the system state of the device, and may revoke the grant depending on changes in the system state of the device.Type: ApplicationFiled: March 20, 2017Publication date: September 20, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Paresh Maisuria, James Anthony Schwartz, JR., M. Nashaat Soliman, Candy Chiang, Aniruddha Jayant Jahagirdar, Matthew Todd Hoehnen, Matthew Holle
-
Publication number: 20180157311Abstract: Moving a computing system to a mandated power state. The method includes a computing system component determining to move the computing system to a deeper power state. As a result, the method further includes the computing system component directing hardware and software agents on the computing system to move to a deeper power state. The method further includes the computing system component observing that at least one agent is preventing the computing system from moving to the deeper power state. As a result, the method includes the computing system component directing a system-wide movement to a mandated power state.Type: ApplicationFiled: December 7, 2016Publication date: June 7, 2018Inventors: Paresh Maisuria, M. Nashaat Soliman, Matthew Holle, James Anthony Schwartz, JR., Gabriel Scannell Knezek
-
Publication number: 20180157305Abstract: Hibernating a computing system. The method includes detecting at least one condition which indicates the availability of time to perform hibernation optimization steps on the computing system. The hibernation optimization steps optimize resume time from hibernate. The method further includes detecting a trigger indicating that the computing system is to be put into a hibernate state. As a result of detecting the at least one condition and the trigger, the method further includes performing hibernation steps to hibernate the computing system in a way that optimizes resume time from hibernate of the computing system.Type: ApplicationFiled: December 7, 2016Publication date: June 7, 2018Inventors: Paresh Maisuria, James Anthony Schwartz, JR., M. Nashaat Soliman, Matthew Holle
-
Publication number: 20180136704Abstract: A computing device has an energy storage device system with multiple energy storage devices. Various different criteria are used to determine which one or more of the multiple energy storage devices to discharge at any given time to provide power to the computing device. The criteria can include characteristics of the energy storage devices as well as hardware and/or physical characteristics of the computing device, characteristics of the energy storage devices and/or the computing device that change while the computing device operates, and predicted behavior or usage of the computing device. These criteria are evaluated during operation of the computing device, and the appropriate energy storage device(s) from which to draw power at any given time based on these criteria are determined.Type: ApplicationFiled: November 16, 2016Publication date: May 17, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, JR., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala
-
Publication number: 20180136708Abstract: A computing device has an energy storage device system with multiple energy storage devices. Various different criteria are used to determine which one or more of the multiple energy storage devices to charge at any given time to provide power to the computing device. The criteria can include characteristics of the energy storage devices and/or the computing device that change while the computing device operates, and estimated or predicted usage of the computing device. These criteria are evaluated during operation of the computing device, and the appropriate energy storage device(s) to charge at any given time based on these criteria are determined.Type: ApplicationFiled: November 16, 2016Publication date: May 17, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, JR., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Tapan Ansel
-
Publication number: 20180136709Abstract: A computing device has an energy storage device system with one or more energy storage devices. The computing device can be connected to various different power resources (e.g., power sources and/or power profiles) to charge the energy storage device(s). Various different criteria are used to determine which one or more of the power resources to use at any given time to charge the energy storage device(s). The criteria can include physical characteristics of the computing device, characteristics of the energy storage devices and/or the computing device that change while the computing device operates, and estimated or predicted usage of the computing device. These criteria are evaluated during operation of the computing device, and the appropriate power resources to charge the energy storage device(s) at any given time based on these criteria are determined.Type: ApplicationFiled: November 16, 2016Publication date: May 17, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, James Anthony Schwartz, JR., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Aacer Hatem Daken
-
Publication number: 20180095517Abstract: An operating system of a computing device determines an importance of the threads running on the computing device, such as assigning the importance of the threads as critical or non-critical. The operating system determines when there are no threads having at least a threshold importance (e.g., no critical threads), and forces one or more components of the computing device into a forced idle state in response to determining that there are no threads having at least the threshold importance. The forced idle state of a device component is a low power state, such as a state in which program instructions are not executed, so the computing device is forced into a forced idle state that reduces power usage in the computing device despite there being threads (e.g., non-critical threads) to be executed.Type: ApplicationFiled: October 3, 2016Publication date: April 5, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Abhishek Sagar, Paresh Maisuria, James Anthony Schwartz, JR., M. Nashaat Soliman
-
Patent number: 9489236Abstract: Among other things, one or more techniques and/or systems are provided for application prioritization. For example, an operating system of a computing device may contemporaneously host one or more applications, which may compete for computing resources, such as CPU cycles, I/O operations, memory access, and/or network bandwidth. Accordingly, an application (e.g., a background task or service) may be placed within a de-prioritized operating mode during launch and/or during execution, which may result in the application receiving a relatively lower priority when competing with applications placed within a standard operating mode for access to computing resources. In this way, an application placed within a standard operating mode (e.g.Type: GrantFiled: October 31, 2012Date of Patent: November 8, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Arun U. Kishan, Hari Pulapaka, James Anthony Schwartz, Jr., Alex Bendetov
-
Publication number: 20140123151Abstract: Among other things, one or more techniques and/or systems are provided for application prioritization. For example, an operating system of a computing device may contemporaneously host one or more applications, which may compete for computing resources, such as CPU cycles, I/O operations, memory access, and/or network bandwidth. Accordingly, an application (e.g., a background task or service) may be placed within a de-prioritized operating mode during launch and/or during execution, which may result in the application receiving a relatively lower priority when competing with applications placed within a standard operating mode for access to computing resources. In this way, an application placed within a standard operating mode (e.g.Type: ApplicationFiled: October 31, 2012Publication date: May 1, 2014Applicant: Microsoft CorporationInventors: Arun U. Kishan, Hari Pulapaka, James Anthony Schwartz, JR., Alex Bendetov
-
Systems and methods for updating a secure boot process on a computer with a hardware security module
Patent number: 8028172Abstract: Systems and methods are provided for maintaining and updating a secure boot process on a computer with a trusted platform module (TPM). A boot process may be maintained by inspecting a log of TPM activity, determining data that prevented a secret to unseal, and returning the data to an original state. In situations where this type of recovery is not workable, techniques for authenticating a user may be used, allowing the authenticated user to bypass the security features of the boot process and reseal the boot secrets to platform configuration register (PCR) values that may have changed. Finally, a secure boot process may be upgraded by migrating TPM sealed secrets to a temporary storage location, updating one or more aspects of a secure boot process, and resealing the secrets to the resulting new platform configuration. Other advantages and features of the invention are described below.Type: GrantFiled: January 14, 2005Date of Patent: September 27, 2011Assignee: Microsoft CorporationInventors: Jamie Hunter, Paul England, Russell Humphries, Stefan Thom, James Anthony Schwartz, Jr., Kenneth D. Ray, Jonathan Schwartz -
Patent number: 7725703Abstract: In a computer with a trusted platform module (TPM), an expected hash value of a boot component may be placed into a platform configuration register (PCR), which allows a TPM to unseal a secret. The secret may then be used to decrypt the boot component. The hash of the decrypted boot component may then be calculated and the result can be placed in a PCR. The PCRs may then be compared. If they do not, access to the an important secret for system operation can be revoked. Also, a first secret may be accessible only when a first plurality of PCR values are extant, while a second secret is accessible only after one or more of the first plurality of PCR values has been replaced with a new value, thereby necessarily revoking further access to the first secret in order to grant access to the second secret.Type: GrantFiled: January 7, 2005Date of Patent: May 25, 2010Assignee: Microsoft CorporationInventors: Jamie Hunter, Paul England, Russell Humphries, Stefan Thom, James Anthony Schwartz, Jr., Kenneth D Ray, Jonathan Schwartz
-
Patent number: 7565553Abstract: Systems and methods for controlling access to data on a computer with a secure boot process can provide a highly efficient mechanism for preventing future access to encrypted digital resources. This may be advantageous in a range of scenarios, for example where a computer is sold and assurance is desired that no stray private data remains on the hard disk. Data resources, for example all data associated with one or more particular hard disk partitions, may be encrypted. The decryption key may be available through a secure boot process. By erasing, altering, or otherwise disabling a secret, such as a decryption key or a process that obtains a decryption key, the data formerly accessible using such secret becomes inaccessible.Type: GrantFiled: January 14, 2005Date of Patent: July 21, 2009Assignee: Microsoft CorporationInventors: Jamie Hunter, Paul England, Russell Humphries, Stefan Thom, James Anthony Schwartz, Jr., Kenneth D. Ray, Jonathan Schwartz