Patents by Inventor Michael R. Fortin

Michael R. Fortin 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: 7107444
    Abstract: A method and apparatus to decrease the boot time and the hibernate awaken time of a computer system is presented. Static and dynamic configuration data is stored in flash memory. The size of flash memory is selected so that the initialization time of the configuration data stored in the flash memory is approximately equal to the spin-up time of the disk drive where the operating system is stored. During power down or entry into a hibernate mode, the computer system determines the static and dynamic configuration data to be stored in flash memory based on a history of prior uses. Data is also stored in the flash memory during system operation to reduce the number of times the disk drive is spun up. When the computer system is powered up or awakened from hibernation, the configuration data in flash memory is initialized while the disk drive is spinning up.
    Type: Grant
    Filed: August 16, 2005
    Date of Patent: September 12, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael R. Fortin, Cenk Ergan
  • Patent number: 7100040
    Abstract: A method and apparatus to decrease the boot time and the hibernate awaken time of a computer system is presented. Static and dynamic configuration data is stored in flash memory. The size of flash memory is selected so that the initialization time of the configuration data stored in the flash memory is approximately equal to the spin-up time of the disk drive where the operating system is stored. During power down or entry into a hibernate mode, the computer system determines the static and dynamic configuration data to be stored in flash memory based on a history of prior uses. Data is also stored in the flash memory during system operation to reduce the number of times the disk drive is spun up. When the computer system is powered up or awakened from hibernation, the configuration data in flash memory is initialized while the disk drive is spinning up.
    Type: Grant
    Filed: August 16, 2005
    Date of Patent: August 29, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael R. Fortin, Cenk Ergan
  • Patent number: 7082495
    Abstract: A method and apparatus to improve the read/write performance of a hard drive is presented. The hard drive includes solid state, non-volatile (NV) memory as a read/write cache. Data specified by the operating system is stored in the NV memory. The operating system provides a list of data to be put in NV memory. The data includes data to be pinned in NV memory and data that is dynamic. Pinned data persists in NV memory until the operating system commands it to be flushed. Dynamic data can be flushed by the hard drive controller. Data sent by an application for storage is temporary stored in NV memory in data blocks until the operating system commits it to the disk.
    Type: Grant
    Filed: February 21, 2003
    Date of Patent: July 25, 2006
    Assignee: Microsoft Corporation
    Inventors: Dean L. DeWhitt, Clark D. Nicholson, W. Jeff Westerinen, Michael R. Fortin, John M. Parchem, Charles P. Thacker
  • Patent number: 7036040
    Abstract: A method and apparatus is provided that provides a reliable diskless network-bootable computers using a local non-volatile memory (NVM) cache. The NVM cache is used by the computer when the network is temporarily unavailable or slow. The cache is later synchronized with a remote boot server having remote storage volumes when network conditions improve. It is determined if data is to be stored in the NVM cache or the remote storage volume. Data sent to the remote storage volume is transactionally written and the data is cached in the NVM cache if a network outage is occurring or a transaction complete message has not been received. The data stored in the NVM cache allows the user to continue operating during network outages and the computer can be cold-booted using the data in the NVM cache if the network is unavailable.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: April 25, 2006
    Assignee: Microsoft Corporation
    Inventors: Clark D. Nicholson, William J. Westerinen, Cenk Ergan, Michael R. Fortin, Mehmet Iyigun
  • Patent number: 7017037
    Abstract: A method and apparatus to decrease the boot time and the hibernate awaken time of a computer system is presented. Static and dynamic configuration data is stored in flash memory. The size of flash memory is selected so that the initialization time of the configuration data stored in the flash memory is approximately equal to the spin-up time of the disk drive where the operating system is stored. During power down or entry into a hibernate mode, the computer system determines the static and dynamic configuration data to be stored in flash memory based on a history of prior uses. Data is also stored in the flash memory during system operation to reduce the number of times the disk drive is spun up. When the computer system is powered up or awakened from hibernation, the configuration data in flash memory is initialized while the disk drive is spinning up.
    Type: Grant
    Filed: June 27, 2002
    Date of Patent: March 21, 2006
    Assignee: Microsoft Corporation
    Inventors: Michael R. Fortin, Cenk Ergan
  • Patent number: 6910106
    Abstract: A proactive, resilient and self-tuning memory management system and method that result in actual and perceived performance improvements in memory management, by loading and maintaining data that is likely to be needed into memory, before the data is actually needed. The system includes mechanisms directed towards historical memory usage monitoring, memory usage analysis, refreshing memory with highly-valued (e.g., highly utilized) pages, I/O pre-fetching efficiency, and aggressive disk management. Based on the memory usage information, pages are prioritized with relative values, and mechanisms work to pre-fetch and/or maintain the more valuable pages in memory. Pages are pre-fetched and maintained in a prioritized standby page set that includes a number of subsets, by which more valuable pages remain in memory over less valuable pages. Valuable data that is paged out may be automatically brought back, in a resilient manner.
    Type: Grant
    Filed: December 20, 2002
    Date of Patent: June 21, 2005
    Assignee: Microsoft Corporation
    Inventors: Stuart Sechrest, Michael R. Fortin, Mehmet Iyigun, Cenk Ergan
  • Publication number: 20040249948
    Abstract: When a client issues a network transaction like HTTP requests to a server, such requests may require a connection to be established between the client and the server over a reliable transport like TCP (if no such connection is available). Such connection establishment takes time, and delays the completion of the transaction, thereby degrading user experience. This invention attempts to reduce this delay by transparently executing idempotent transactions in parallel with the connection establishment phase. In case the end hosts do not support the functionality of this invention, said functionality can be transparently added through software components between the client and server. Client and server side intermediate components simulate connection establishment making it appear to corresponding application layers that a connection is established.
    Type: Application
    Filed: March 7, 2003
    Publication date: December 9, 2004
    Inventors: Bhupinder S. Sethi, Michael R. Fortin, Art Shelest
  • Publication number: 20040153694
    Abstract: A method and apparatus is provided that provides a reliable diskless network-bootable computers using a local non-volatile memory (NVM) cache. The NVM cache is used by the computer when the network is temporarily unavailable or slow. The cache is later synchronized with a remote boot server having remote storage volumes when network conditions improve. It is determined if data is to be stored in the NVM cache or the remote storage volume. Data sent to the remote storage volume is transactionally written and the data is cached in the NVM cache if a network outage is occurring or a transaction complete message has not been received. The data stored in the NVM cache allows the user to continue operating during network outages and the computer can be cold-booted using the data in the NVM cache if the network is unavailable.
    Type: Application
    Filed: November 26, 2002
    Publication date: August 5, 2004
    Applicant: Microsoft Corporation
    Inventors: Clark D. Nicholson, William J. Westerinen, Cenk Ergan, Michael R. Fortin, Mehmet Iyigun
  • Publication number: 20040088375
    Abstract: Mechanisms for prefetching without requiring parsing of a Web page. References to associated images, sound, video, and executable files and hyperlinked Web pages are included in the header portion of the network message used to deliver the Web page. The associated resources may include properly identified resources (e.g., images and sounds) that are to be rendered with the image, or which are known to have a high probability (if not a certainty) of being selected. The associated resources may also included other resources (e.g., hyperlinked Web pages) that have a lesser probability of being selected and which are only retrieved when there is a detected period of browser idle time. That period of idle time is selected such that it is less likely that the user is going to issue an express request for another Web page during a prefetching operation.
    Type: Application
    Filed: November 1, 2002
    Publication date: May 6, 2004
    Inventors: Bhupinder S. Sethi, Michael R. Fortin
  • Publication number: 20040068627
    Abstract: A proactive, resilient and self-tuning memory management system and method that result in actual and perceived performance improvements in memory management, by loading and maintaining data that is likely to be needed into memory, before the data is actually needed. The system includes mechanisms directed towards historical memory usage monitoring, memory usage analysis, refreshing memory with highly-valued (e.g., highly utilized) pages, I/O pre-fetching efficiency, and aggressive disk management. Based on the memory usage information, pages are prioritized with relative values, and mechanisms work to pre-fetch and/or maintain the more valuable pages in memory. Pages are pre-fetched and maintained in a prioritized standby page set that includes a number of subsets, by which more valuable pages remain in memory over less valuable pages. Valuable data that is paged out may be automatically brought back, in a resilient manner.
    Type: Application
    Filed: December 20, 2002
    Publication date: April 8, 2004
    Inventors: Stuart Sechrest, Michael R. Fortin, Mehmet Iyigun, Cenk Ergan
  • Publication number: 20040064647
    Abstract: A method and apparatus to improve the read/write performance of a hard drive is presented. The hard drive includes solid state, non-volatile (NV) memory as a read/write cache. Data specified by the operating system is stored in the NV memory. The operating system provides a list of data to be put in NV memory. The data includes data to be pinned in NV memory and data that is dynamic. Pinned data persists in NV memory until the operating system commands it to be flushed. Dynamic data can be flushed by the hard drive controller. Data sent by an application for storage is temporary stored in NV memory in data blocks until the operating system commits it to the disk.
    Type: Application
    Filed: February 21, 2003
    Publication date: April 1, 2004
    Applicant: Microsoft Corporation
    Inventors: Dean L. DeWhitt, Clark D. Nicholson, W. Jeff Westerinen, Michael R. Fortin, John M. Parchem, Charles P. Thacker
  • Publication number: 20040003223
    Abstract: A method and apparatus to decrease the boot time and the hibernate awaken time of a computer system is presented. Static and dynamic configuration data is stored in flash memory. The size of flash memory is selected so that the initialization time of the configuration data stored in the flash memory is approximately equal to the spin-up time of the disk drive where the operating system is stored. During power down or entry into a hibernate mode, the computer system determines the static and dynamic configuration data to be stored in flash memory based on a history of prior uses. Data is also stored in the flash memory during system operation to reduce the number of times the disk drive is spun up. When the computer system is powered up or awakened from hibernation, the configuration data in flash memory is initialized while the disk drive is spinning up.
    Type: Application
    Filed: June 27, 2002
    Publication date: January 1, 2004
    Applicant: Microsoft Corporation
    Inventors: Michael R. Fortin, Cenk Ergan
  • Patent number: 5544349
    Abstract: A method and system for improving the performance of memory in constrained virtual memory environment by reducing physical paging activity is provided. Accordingly, in a method and system in accordance with the present invention, the pages stolen or removed from the active processes are compressed then placed in the free list. In so doing, the additional space provided via this compression allows for more real memory to be available for other purposes.
    Type: Grant
    Filed: January 23, 1995
    Date of Patent: August 6, 1996
    Assignee: International Business Machines Corporation
    Inventors: Robert F. Berry, Michael R. Fortin
  • Patent number: 5528753
    Abstract: A method and system for enabling the monitoring of a target software routine in a stripped object executable on a computer system. The system enables monitor instrumentation of the target routine without access to or recompiling the source code of the object and without access to information required to link with the stripped object. A single demultiplexor entry for each target routine provides access to common instrumentation code and to user specified entry and exit routines for the particular target routine. Common instrumentation code is not replicated when used to monitor a number of software programs. User specified entry and exit routines are used to collect selected performance and system state data. Common instrumentation code is provided to link the target routines to the user specified entry and exit routines. The standard link interface allows the entry and exit routines to be written in high level languages.
    Type: Grant
    Filed: June 30, 1994
    Date of Patent: June 18, 1996
    Assignee: International Business Machines Corporation
    Inventor: Michael R. Fortin