Patents by Inventor Michael Fortin

Michael 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).

  • Publication number: 20070006021
    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: January 10, 2006
    Publication date: January 4, 2007
    Applicant: Microsoft Corporation
    Inventors: Clark Nicholson, William Westerinen, Cenk Ergan, Michael Fortin, Mehmet Iyigun
  • Publication number: 20060288416
    Abstract: The present invention is directed toward a system, method, and a computer-readable medium for efficiently loading data into memory in order to scan the data for malware. The logic provided in the present invention improves the experience of a user when operating a computer protected with antivirus software. One aspect of the present invention is a method that identifies a pattern in which data in a file is loaded into memory from a computer-readable medium. Then the method identifies a pattern in which data in the file may be loaded into memory in a way that minimizes the time required to read data in the file. When a subsequent scan of the file is scheduled to occur, the method causes data in the file to be loaded in memory using the pattern that minimizes the time required to read data in the file.
    Type: Application
    Filed: June 16, 2005
    Publication date: December 21, 2006
    Applicant: Microsoft Corporation
    Inventors: Mihai Costea, Adrian Bivol, Adrian Marinescu, Anil Thomas, Cenk Ergan, David Goebel, George Chicioreanu, Marius Gheorghescu, Michael Fortin
  • Publication number: 20060248387
    Abstract: A method and apparatus to improve the read/write performance of a hard drive is presented. A device having solid state, non-volatile (NV) memory is added in-line to the conventional hard drive and acts 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 temporarily stored in NV memory in data blocks until the operating system commits it to the disk.
    Type: Application
    Filed: April 15, 2005
    Publication date: November 2, 2006
    Applicant: Microsoft Corporation
    Inventors: Clark Nicholson, Michael Fortin, Shaun Wiley, Cenk Ergan
  • Publication number: 20060090031
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Application
    Filed: October 21, 2004
    Publication date: April 27, 2006
    Applicant: Microsoft Corporation
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael Fortin, Robert Reinauer
  • Publication number: 20050278522
    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: August 16, 2005
    Publication date: December 15, 2005
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael Fortin, Cenk Ergan
  • Publication number: 20050278523
    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: August 16, 2005
    Publication date: December 15, 2005
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael Fortin, Cenk Ergan
  • Publication number: 20050273554
    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: August 16, 2005
    Publication date: December 8, 2005
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael Fortin, Cenk Ergan
  • Publication number: 20050246487
    Abstract: In order to provide a more efficient persistent storage device, one or more long-term storage media are included along with a non-volatile memory. In one embodiment, one portion of the non-volatile memory is used as a write buffer and a read cache for writes and reads to the long-term storage media. Interfaces are provided for controlling the use of the non-volatile memory as a write buffer and a read cache. Additionally, a portion of the non-volatile memory is used to provide a direct mapping for specified sectors of the long-term storage media. Descriptive data regarding the persistent storage device is stored in another portion of the non-volatile memory.
    Type: Application
    Filed: May 3, 2004
    Publication date: November 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Cenk Ergan, Clark Nicholson, Dan Teodosiu, Dean DeWhitt, Emily Hill, Hanumantha Kodavalla, Michael Zwilling, John Parchem, Michael Fortin, Nathan Obr, Rajeev Nagar, Surenda Verma, Therron Powell, William Westerinen, Mark Zbikowski, Patrick Stemen
  • Publication number: 20050235119
    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: June 9, 2005
    Publication date: October 20, 2005
    Applicant: Microsoft Corporation
    Inventors: Stuart Sechrest, Michael Fortin, Mehmet Iyigun, Cenk Ergan
  • Publication number: 20050228964
    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: June 9, 2005
    Publication date: October 13, 2005
    Applicant: Microsoft Corporation
    Inventors: Stuart Sechrest, Michael Fortin, Mehmet Iyigun, Cenk Ergan
  • Patent number: 4653911
    Abstract: An autocollimation method and apparatus are disclosed wherein a primary image of the reticle and a secondary image of the primary image which has been telescopically directed to and reflected from a remote reflecting surface are superimposed on a video display. The primary image of the reticle is produced along a first optical path and the secondary image of the reticle along second optical path including Cassegrainian focusing telescopic optical elements. The optical paths are provided with a commonly shared portion for alternatively positioning means of different optical magnification. Alternative magnification are provided for producing first and second images on the video display for first coarse and then fine determinations and/or adjustments.
    Type: Grant
    Filed: December 15, 1983
    Date of Patent: March 31, 1987
    Inventor: Michael A. Fortin