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: 11656666
    Abstract: 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: Grant
    Filed: June 13, 2019
    Date of Patent: May 23, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: 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: 11520648
    Abstract: 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: Grant
    Filed: September 25, 2020
    Date of Patent: December 6, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bruce John Sherwin, Jr., Neeraj Ladkani, Jason Stewart Wohlgemuth, James Anthony Schwartz, Jr.
  • Publication number: 20220100596
    Abstract: 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: Application
    Filed: September 25, 2020
    Publication date: March 31, 2022
    Inventors: Bruce John SHERWIN, JR., Neeraj LADKANI, Jason Stewart WOHLGEMUTH, James Anthony SCHWARTZ, JR.
  • Publication number: 20200004304
    Abstract: 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: Application
    Filed: June 13, 2019
    Publication date: January 2, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: 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: 10488905
    Abstract: 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: Grant
    Filed: November 16, 2016
    Date of Patent: November 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, Jr., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala
  • Patent number: 10437301
    Abstract: 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: Grant
    Filed: November 16, 2016
    Date of Patent: October 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, Jr., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala
  • Patent number: 10394304
    Abstract: 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: Grant
    Filed: December 7, 2016
    Date of Patent: August 27, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paresh Maisuria, James Anthony Schwartz, Jr., M. Nashaat Soliman, Matthew Holle
  • Patent number: 10216256
    Abstract: 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: Grant
    Filed: October 3, 2016
    Date of Patent: February 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Abhishek Sagar, Paresh Maisuria, James Anthony Schwartz, Jr., M. Nashaat Soliman
  • Publication number: 20180267839
    Abstract: 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: Application
    Filed: March 20, 2017
    Publication date: September 20, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Paresh Maisuria, James Anthony Schwartz, JR., M. Nashaat Soliman, Candy Chiang, Aniruddha Jayant Jahagirdar, Matthew Todd Hoehnen, Matthew Holle
  • Publication number: 20180157311
    Abstract: 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: Application
    Filed: December 7, 2016
    Publication date: June 7, 2018
    Inventors: Paresh Maisuria, M. Nashaat Soliman, Matthew Holle, James Anthony Schwartz, JR., Gabriel Scannell Knezek
  • Publication number: 20180157305
    Abstract: 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: Application
    Filed: December 7, 2016
    Publication date: June 7, 2018
    Inventors: Paresh Maisuria, James Anthony Schwartz, JR., M. Nashaat Soliman, Matthew Holle
  • Publication number: 20180136704
    Abstract: 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: Application
    Filed: November 16, 2016
    Publication date: May 17, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, JR., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Murtuza S. Naguthanawala
  • Publication number: 20180136708
    Abstract: 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: Application
    Filed: November 16, 2016
    Publication date: May 17, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, Anirudh Badam, James Anthony Schwartz, JR., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Tapan Ansel
  • Publication number: 20180136709
    Abstract: 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: Application
    Filed: November 16, 2016
    Publication date: May 17, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Aniruddha Jayant Jahagirdar, Ranveer Chandra, James Anthony Schwartz, JR., Paresh Maisuria, Matthew Holle, M. Nashaat Soliman, Aacer Hatem Daken
  • Publication number: 20180095517
    Abstract: 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: Application
    Filed: October 3, 2016
    Publication date: April 5, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Abhishek Sagar, Paresh Maisuria, James Anthony Schwartz, JR., M. Nashaat Soliman
  • Patent number: 9489236
    Abstract: 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: Grant
    Filed: October 31, 2012
    Date of Patent: November 8, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arun U. Kishan, Hari Pulapaka, James Anthony Schwartz, Jr., Alex Bendetov
  • Publication number: 20140123151
    Abstract: 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: Application
    Filed: October 31, 2012
    Publication date: May 1, 2014
    Applicant: Microsoft Corporation
    Inventors: Arun U. Kishan, Hari Pulapaka, James Anthony Schwartz, JR., Alex Bendetov
  • Patent number: 8028172
    Abstract: 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: Grant
    Filed: January 14, 2005
    Date of Patent: September 27, 2011
    Assignee: Microsoft Corporation
    Inventors: Jamie Hunter, Paul England, Russell Humphries, Stefan Thom, James Anthony Schwartz, Jr., Kenneth D. Ray, Jonathan Schwartz
  • Patent number: 7725703
    Abstract: 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: Grant
    Filed: January 7, 2005
    Date of Patent: May 25, 2010
    Assignee: Microsoft Corporation
    Inventors: Jamie Hunter, Paul England, Russell Humphries, Stefan Thom, James Anthony Schwartz, Jr., Kenneth D Ray, Jonathan Schwartz
  • Patent number: 7565553
    Abstract: 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: Grant
    Filed: January 14, 2005
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Jamie Hunter, Paul England, Russell Humphries, Stefan Thom, James Anthony Schwartz, Jr., Kenneth D. Ray, Jonathan Schwartz