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: 8756694Abstract: 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: GrantFiled: March 30, 2007Date of Patent: June 17, 2014Assignee: Microsoft CorporationInventors: Stephane G. Plante, Adam Gabriel Poulos
-
Patent number: 7506181Abstract: 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: GrantFiled: April 1, 2005Date of Patent: March 17, 2009Assignee: Microsoft CorporationInventor: Stephane G. Plante
-
Publication number: 20080244556Abstract: 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: ApplicationFiled: March 30, 2007Publication date: October 2, 2008Applicant: Microsoft CorporationInventors: Stephane G. Plante, Adam Gabriel Poulos
-
Patent number: 7328279Abstract: 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: GrantFiled: April 4, 2005Date of Patent: February 5, 2008Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Tony D Pierce
-
Patent number: 7284083Abstract: 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: GrantFiled: April 25, 2005Date of Patent: October 16, 2007Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Andrew J. Thornton
-
Patent number: 7200745Abstract: 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: GrantFiled: September 12, 2003Date of Patent: April 3, 2007Assignee: Microsoft CorporationInventors: James A. Schwartz, Jr., Stephane G. Plante, Robert B. Nelson
-
Patent number: 7058824Abstract: 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: GrantFiled: June 15, 2001Date of Patent: June 6, 2006Assignee: Microsoft CorporationInventors: Stephane G. Plante, John D. Vert, Jacob Oshins
-
Patent number: 6980944Abstract: 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: GrantFiled: March 17, 2000Date of Patent: December 27, 2005Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Vincent J. Geglia II
-
Patent number: 6970957Abstract: 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: GrantFiled: April 24, 2000Date of Patent: November 29, 2005Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Andrew J. Thornton
-
Patent number: 6931553Abstract: 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: GrantFiled: April 20, 2000Date of Patent: August 16, 2005Assignee: Microsoft CorporationInventors: Stephane G. Plante, Jacob Oshins
-
Patent number: 6907474Abstract: 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: GrantFiled: March 15, 2001Date of Patent: June 14, 2005Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Tony D Pierce
-
Patent number: 6877018Abstract: 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: GrantFiled: June 29, 2001Date of Patent: April 5, 2005Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Adrian J. Oney, Michael H. Tsang
-
Patent number: 6832278Abstract: 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: GrantFiled: March 15, 2001Date of Patent: December 14, 2004Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante
-
Patent number: 6826701Abstract: 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: GrantFiled: April 20, 2000Date of Patent: November 30, 2004Assignee: Microsoft CorporationInventor: Stephane G. Plante
-
Patent number: 6748461Abstract: 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: GrantFiled: March 15, 2001Date of Patent: June 8, 2004Assignee: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante
-
Publication number: 20020194509Abstract: 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: ApplicationFiled: June 15, 2001Publication date: December 19, 2002Applicant: Microsoft CorporationInventors: Stephane G. Plante, John D. Vert, Jacob Oshins
-
Publication number: 20020170951Abstract: 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: ApplicationFiled: March 15, 2001Publication date: November 21, 2002Inventors: Jacob Oshins, Stephane G. Plante
-
Publication number: 20020169899Abstract: 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: ApplicationFiled: March 15, 2001Publication date: November 14, 2002Inventors: Jacob Oshins, Stephane G. Plante
-
Publication number: 20020133487Abstract: 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: ApplicationFiled: June 29, 2001Publication date: September 19, 2002Applicant: Microsoft CorporationInventors: Jacob Oshins, Stephane G. Plante, Adrian J. Oney, Michael H. Tsang
-
Publication number: 20020059473Abstract: 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: ApplicationFiled: March 15, 2001Publication date: May 16, 2002Inventors: Jacob Oshins, Stephane G. Plante, Tony D. Pierce