Patents by Inventor Stephane G. Plante

Stephane G. Plante 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: 8756694
    Abstract: The exploitation of rolling back a system configuration to a previous system configuration is prevented by querying the update status of the system and comparing the received response with an expected response. If the comparison indicates that the update version of the system is older than the expected update version, the system is determined to have been rolled back. Accordingly, appropriate action is taken, such as sending a warning to the system, stopping the system from operating, disabling selected features, disconnecting the system from a network, banning the system from future connections to the network, and/or installing an update. The query can include a request for update version numbers of updates, times when updates were applied, predetermined questions, and an indication of the system (e.g., machine serial number, unique ID value).
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: June 17, 2014
    Assignee: Microsoft Corporation
    Inventors: Stephane G. Plante, Adam Gabriel Poulos
  • Patent number: 7506181
    Abstract: A base ACPI power management state is selected and a feature of a power management state that is to be created is defined. The definition of the power management state to be created is attached to an object of the base ACPI power management state in an ACPI namespace.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: March 17, 2009
    Assignee: Microsoft Corporation
    Inventor: Stephane G. Plante
  • Publication number: 20080244556
    Abstract: The exploitation of rolling back a system configuration to a previous system configuration is prevented by querying the update status of the system and comparing the received response with an expected response. If the comparison indicates that the update version of the system is older than the expected update version, the system is determined to have been rolled back. Accordingly, appropriate action is taken, such as sending a warning to the system, stopping the system from operating, disabling selected features, disconnecting the system from a network, banning the system from future connections to the network, and/or installing an update. The query can include a request for update version numbers of updates, times when updates were applied, predetermined questions, and an indication of the system (e.g., machine serial number, unique ID value).
    Type: Application
    Filed: March 30, 2007
    Publication date: October 2, 2008
    Applicant: Microsoft Corporation
    Inventors: Stephane G. Plante, Adam Gabriel Poulos
  • Patent number: 7328279
    Abstract: A system for adding multiple GPE blocks (in addition to the system/root GPE block device) to a computing system by creating a device entry in the ACPI namespace, and using a _CRS object to describe the system resources consumed by the device is described. The GPE block device may then access associated hardware devices through a well known mechanism (either I/O or Memory Mapped accesses). By creating additional GPE block devices within the ACPI namespace, general purpose events may be delivered using more traditional hardware interrupt mechanisms than with existing systems (e.g., wiring GPE blocks together). Moreover, by putting GPE block devices in the ACPI namespace, hardware components having hardware registers may be “hot plugged” to the computing system.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: February 5, 2008
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Tony D Pierce
  • Patent number: 7284083
    Abstract: A method and system that enables customized computer machines to be more readily developed by removing the function of resource translation out of the hardware abstraction layer (HAL). A machine manufacturer describes a machine in firmware, such as accordance with the Advanced Configuration and Power Interface (ACPI) specification, using ACPI machine language (AML). Operating system components such as a Plug and Play (PnP) manager in the kernel, in conjunction with an ACPI driver, interpret the description information and locate resources (bus bridges) for which translation is needed. For any arbitrary bus architecture or CPU to PCI bridge implementation that can be expressed, e.g., in ACPI firmware, the invention provides a translator external to the HAL. In one implementation, a PnP driver communicates with the ACPI driver and various drivers in driver stacks via I/O request packets (IRPs) to look for resource translators.
    Type: Grant
    Filed: April 25, 2005
    Date of Patent: October 16, 2007
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Andrew J. Thornton
  • Patent number: 7200745
    Abstract: A system and method that utilizes a common hardware register pseudo-language are disclosed. The present invention employs a common platform to specify hardware functionality and to execute hardware action(s). Hardware actions can be effectuated by performing a series of instructions, which comprise hardware register primitives and resources utilized by the primitives. The hardware register primitives are operations defined according to the common hardware register pseudo-language. The series of instructions can be loaded prior to boot or during initialization.
    Type: Grant
    Filed: September 12, 2003
    Date of Patent: April 3, 2007
    Assignee: Microsoft Corporation
    Inventors: James A. Schwartz, Jr., Stephane G. Plante, Robert B. Nelson
  • Patent number: 7058824
    Abstract: A method and system for adaptively throttling a computer is provided. Prior CPU utilization is calculated when a CPU enters an idle state. If the prior CPU utilization warrants a change in the CPU performance level, an appropriate CPU performance level is calculated. Policies, including thermal policies and battery charge policies, may be applied to increase or decrease the appropriate CPU performance level. If prior CPU utilization and/or policies dictate a different CPU performance level, the CPU performance level is changed.
    Type: Grant
    Filed: June 15, 2001
    Date of Patent: June 6, 2006
    Assignee: Microsoft Corporation
    Inventors: Stephane G. Plante, John D. Vert, Jacob Oshins
  • Patent number: 6980944
    Abstract: A mechanism for simulating the existence of hardware in a configuration and power management system is described. In one aspect, a simulator interfaces with the configuration and power management system to generate simulated events. In another aspect, accesses to hardware registers are simulated by registering the simulator with the configuration and power management system to handle accesses to a simulated hardware device. A component within the configuration and power management system may define the simulated hardware device such that accesses to the simulated hardware device occur with respect to a defined I/O space.
    Type: Grant
    Filed: March 17, 2000
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Vincent J. Geglia II
  • Patent number: 6970957
    Abstract: A method and system that enables customized computer machines to be more readily developed by removing the function of resource translation out of the hardware abstraction layer (HAL). A machine manufacturer describes a machine in firmware, such as accordance with the Advanced Configuration and Power Interface (ACPI) specification, using ACPI machine language (AML). Operating system components such as a Plug and Play (PnP) manager in the kernel, in conjunction with an ACPI driver, interpret the description information and locate resources (bus bridges) for which translation is needed. For any arbitrary bus architecture or CPU to PCI bridge implementation that can be expressed, e.g., in ACPI firmware, the invention provides a translator external to the HAL. In one implementation, a PnP driver communicates with the ACPI driver and various drivers in driver stacks via I/O request packets (IRPs) to look for resource translators.
    Type: Grant
    Filed: April 24, 2000
    Date of Patent: November 29, 2005
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Andrew J. Thornton
  • Patent number: 6931553
    Abstract: A method and system for selectively enabling wake events in software of a computer system to overcome problems arising when hardware devices fail to clear a wake signal. The operating system manages wake events, and also distinguishes between events that are exclusively wake events, exclusively run-time events, and shared wake and run-time events. At boot time, the ACPI driver examines system tables provided by firmware to determine which GPEs are associated with wake-up events, either exclusively or shared with run-time events. These wake event associations are tracked and managed differently from events received on other hardware register pins. When the operating system receives events in a GPE Status hardware register that is enabled in a counterpart Enable register, the operating system runs an associated GPE method. When the GPE method has completed, the operating system selectively determines whether the event needs to be re-enabled.
    Type: Grant
    Filed: April 20, 2000
    Date of Patent: August 16, 2005
    Assignee: Microsoft Corporation
    Inventors: Stephane G. Plante, Jacob Oshins
  • Patent number: 6907474
    Abstract: A system for adding multiple GPE blocks (in addition to the system/root GPE block device) to a computing system by creating a device entry in the ACPI namespace, and using a _CRS object to describe the system resources consumed by the device is described. The GPE block device may then access associated hardware devices through a well known mechanism (either I/O or Memory Mapped accesses). By creating additional GPE block devices within the ACPI namespace, general purpose events may be delivered using more traditional hardware interrupt mechanisms than with existing systems (e.g., wiring GPE blocks together). Moreover, by putting GPE block devices in the ACPI namespace, hardware components having hardware registers may be “hot plugged” to the computing system.
    Type: Grant
    Filed: March 15, 2001
    Date of Patent: June 14, 2005
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Tony D Pierce
  • Patent number: 6877018
    Abstract: An advanced configuration and power management system is described which supports an unload command by identifying those objects that are to be unloaded and, rather than simply attempting to delete the objects, detaches them from the namespace while keeping them in memory in a location accessible by the system. In this way, the system avoids the problem of trying to synchronize accesses to the objects, yet the objects not longer exist in the tree, so namespace collisions are avoided.
    Type: Grant
    Filed: June 29, 2001
    Date of Patent: April 5, 2005
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Adrian J. Oney, Michael H. Tsang
  • Patent number: 6832278
    Abstract: Described is a system and method by which a PCI device may be controlled by firmware in an Advanced Configuration and Power Management system. A device connected to the PCI bus is described in firmware with AML that declares a PCI BAR operation region associated with the PCI device. A generic driver is loaded and registers itself to handle any access to or from the PCI device my means of the PCI BAR operation region. Essentially, the generic driver is enumerated as a functional driver (FDO) for the PCI device. When a Plug-n-Play manager assigns base addresses to each PCI device on the PCI bus, the generic driver stores this information. Calls by the firmware to the PCI BAR operation region identify the PCI BAR number (i.e., the PCI device) and give an offset. The generic driver resolves that information into an absolute memory or I/O address based on the current BAR assigned by the PnP manager and performs the requested access.
    Type: Grant
    Filed: March 15, 2001
    Date of Patent: December 14, 2004
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante
  • Patent number: 6826701
    Abstract: A method and system for selectively enabling wake events (wake general purpose events, or GPEs) in software of a computer system to overcome problems arising when hardware devices fail to clear a wake signal, and as part of handling the event, to re-run control methods that fail to properly execute. The operating system intelligently manages wake events, and also distinguishes between events that are exclusively wake events, exclusively run-time events, and shared wake and run-time events, and handles control method failures. At boot time, the ACPI driver examines system tables provided by firmware to determine which GPEs are associated with wake-up events, either exclusively or shared with run-time events. These wake event associations are tracked, whereby they are managed differently from events received on other hardware register pins. In general, when the operating system receives events, the operating system runs an associated GPE method.
    Type: Grant
    Filed: April 20, 2000
    Date of Patent: November 30, 2004
    Assignee: Microsoft Corporation
    Inventor: Stephane G. Plante
  • Patent number: 6748461
    Abstract: Described is a system and method by which data accesses to information related to a CMOS device are synchronized. A special “operation region” is provided through which the information is accessed. More specifically, a “CMOS Operation Region” is enabled through which CMOS information is read or written. When an AML interpreter performs a read or write instruction to the CMOS operation region, the ACPI system passes that instruction to a process for handling that operation region, in this example the system kernel. The process may include mechanisms that synchronize accesses to the Operation Region so that a load or store operation is fully completed prior to allowing a subsequent load or store operation. In this way, the information associated with the CMOS that is loaded in memory is not corrupted by asynchronous accesses.
    Type: Grant
    Filed: March 15, 2001
    Date of Patent: June 8, 2004
    Assignee: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante
  • Publication number: 20020194509
    Abstract: A method and system for adaptively throttling a computer is provided. Prior CPU utilization is calculated when a CPU enters an idle state. If the prior CPU utilization warrants a change in the CPU performance level, an appropriate CPU performance level is calculated. Policies, including thermal policies and battery charge policies, may be applied to increase or decrease the appropriate CPU performance level. If prior CPU utilization and/or policies dictate a different CPU performance level, the CPU performance level is changed.
    Type: Application
    Filed: June 15, 2001
    Publication date: December 19, 2002
    Applicant: Microsoft Corporation
    Inventors: Stephane G. Plante, John D. Vert, Jacob Oshins
  • Publication number: 20020170951
    Abstract: Described is a system and method by which a PCI device may be controlled by firmware in an Advanced Configuration and Power Management system. A device connected to the PCI bus is described in firmware with AML that declares a PCI BAR operation region associated with the PCI device. A generic driver is loaded and registers itself to handle any access to or from the PCI device my means of the PCI BAR operation region. Essentially, the generic driver is enumerated as a functional driver (FDO) for the PCI device. When a Plug-n-Play manager assigns base addresses to each PCI device on the PCI bus, the generic driver stores this information. Calls by the firmware to the PCI BAR operation region identify the PCI BAR number (i.e., the PCI device) and give an offset. The generic driver resolves that information into an absolute memory or I/O address based on the current BAR assigned by the PnP manager and performs the requested access.
    Type: Application
    Filed: March 15, 2001
    Publication date: November 21, 2002
    Inventors: Jacob Oshins, Stephane G. Plante
  • Publication number: 20020169899
    Abstract: Described is a system and method by which data accesses to information related to a CMOS device are synchronized. A special “operation region” is provided through which the information is accessed. More specifically, a “CMOS Operation Region” is enabled through which CMOS information is read or written. When an AML interpreter performs a read or write instruction to the CMOS operation region, the ACPI system passes that instruction to a process for handling that operation region, in this example the system kernel. The process may include mechanisms that synchronize accesses to the Operation Region so that a load or store operation is fully completed prior to allowing a subsequent load or store operation. In this way, the information associated with the CMOS that is loaded in memory is not corrupted by asynchronous accesses.
    Type: Application
    Filed: March 15, 2001
    Publication date: November 14, 2002
    Inventors: Jacob Oshins, Stephane G. Plante
  • Publication number: 20020133487
    Abstract: An advanced configuration and power management system is described which supports an unload command by identifying those objects that are to be unloaded and, rather than simply attempting to delete the objects, detaches them from the namespace while keeping them in memory in a location accessible by the system. In this way, the system avoids the problem of trying to synchronize accesses to the objects, yet the objects not longer exist in the tree, so namespace collisions are avoided.
    Type: Application
    Filed: June 29, 2001
    Publication date: September 19, 2002
    Applicant: Microsoft Corporation
    Inventors: Jacob Oshins, Stephane G. Plante, Adrian J. Oney, Michael H. Tsang
  • Publication number: 20020059473
    Abstract: A system for adding multiple GPE blocks (in addition to the system/root GPE block device) to a computing system by creating a device entry in the ACPI namespace, and using a_CRS object to describe the system resources consumed by the device is described. The GPE block device may then access associated hardware devices through a well known mechanism (either I/O or Memory Mapped accesses). By creating additional GPE block devices within the ACPI namespace, general purpose events may be delivered using more traditional hardware interrupt mechanisms than with existing systems (e.g., wiring GPE blocks together). Moreover, by putting GPE block devices in the ACPI namespace, hardware components having hardware registers may be “hot plugged” to the computing system.
    Type: Application
    Filed: March 15, 2001
    Publication date: May 16, 2002
    Inventors: Jacob Oshins, Stephane G. Plante, Tony D. Pierce