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: 20140372356
    Abstract: Systems and methods of pre-launching applications in a computer system, said applications being likely to be activated by a user from a terminated and/or suspended process state, are disclosed. The pre-launching of an application may be based on the assessed probability of the application being activated—as well as the level of availability of system resources to affect such pre-launching. Applications may be pre-launched based on these and other conditions/considerations, designed to improve the user's experience of a quick launch of applications in the background. Several prediction models are presented to provide a good estimate of the likelihood of an application being activated by a user. Such prediction models may comprise an adaptive predictor (based on past application usage situations) and/or a switch rate predictor (based on historic data of an application being switched and, possibly, having a decay rate applied to such switch rate measure).
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventors: Ahmad Bilal, Mehmet Iyigun, Milos Kralj, Christopher Kleynhans, Hari Pulapaka, Arun Kishan, Asela Gunawardana, Paul Koch, Christopher Meek, Eric Horvitz, Rich Caruana, Michael Fortin
  • Publication number: 20140075126
    Abstract: A method and apparatus for managing the caching of data on an auxiliary memory of a computer. Pages of data may be cached on an auxiliary memory, such as a flash memory, at a virtual level using an identifier that does not involve a physical address of the pages on a memory. Pages may be cached on auxiliary memory that may be removable from the computer, e.g., by unplugging the memory from the computer. Page data may be encrypted and/or compressed on the auxiliary memory. An authentication indicator may be used to verify the accuracy of cached data in the case of an interrupted connection to the auxiliary memory, e.g., as a result of computer power down, hibernation, removal of the memory from the computer, etc.
    Type: Application
    Filed: November 11, 2013
    Publication date: March 13, 2014
    Applicant: Microsoft Corporation
    Inventors: Michael Fortin, Cenk Ergan, Mehmet Iyigun, Yevgeniy Bak, Ben Mickle, Aaron Dietrich, Alexander Kirshenbaum
  • Patent number: 8631203
    Abstract: A method and apparatus for managing the caching of data on an auxiliary memory of a computer. Pages of data may be cached on an auxiliary memory, such as a flash memory, at a virtual level using an identifier that does not involve a physical address of the pages on a memory. Pages may be cached on auxiliary memory that may be removable from the computer, e.g., by unplugging the memory from the computer. Page data may be encrypted and/or compressed on the auxiliary memory. An authentication indicator may be used to verify the accuracy of cached data in the case of an interrupted connection to the auxiliary memory, e.g., as a result of computer power down, hibernation, removal of the memory from the computer, etc.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: January 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael Fortin, Cenk Ergan, Mehmet Iyigun, Yevgeniy Bak, Ben Mickle, Aaron Dietrich, Alexander Kirshenbaum
  • Patent number: 8489815
    Abstract: Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at which data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. When a reboot of the computer is initiated, only a subset of the plurality of hierarchy levels may be loaded to memory, thereby expediting the process of restoring the cache metadata and thus startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot.
    Type: Grant
    Filed: February 2, 2012
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Michael Fortin, Mahlon David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Patent number: 8435241
    Abstract: A keel punch impactor comprises a main body having an interior bore. A locking shaft is positioned in the interior bore of the main body, the locking shaft defining a shaft axis. An actuator is in contact with the locking shaft. The actuator is moveable between a first position and a second position. The position of the locking shaft is moved within the interior bore of the main body upon movement of the actuator. In particular, the locking shaft is moved such that the shaft axis is offset when the actuator is moved from the first position to the second position. When the shaft is moved, a head on the shaft is moved into or out of alignment with a boss extending from the main body of the keel punch impactor.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: May 7, 2013
    Assignee: DePuy Products, Inc.
    Inventors: Jose A. Correia, John Cuneo, Michael Fortin, Jim Kennedy, Carl Livorsi, Troy Martin, John J. McMorrow, Rebecca Zimmerman
  • Publication number: 20120173824
    Abstract: Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at which data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. When a reboot of the computer is initiated, only a subset of the plurality of hierarchy levels may be loaded to memory, thereby expediting the process of restoring the cache metadata and thus startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot.
    Type: Application
    Filed: February 2, 2012
    Publication date: July 5, 2012
    Applicant: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Patent number: 8156297
    Abstract: Valuable information can be retained upon a storage device, such as a flash memory unit. Due to the portable nature of the memory, there can be increased likelihood of theft, less back up of important files not a reliable medium, legal physical transfer of the device between parties, and the like. When an operation is requested to take place related to the device, a check can take place if the operation should be allowed based upon device metadata, such as physical location of the device, device history, and so forth. A determination can be made on if the operation should automatically occur based upon a result of the check. If it is determination that the operation should not automatically occur, then the operation can be denied or a request can be made to an owner of the device on if the operation should be allowed to occur.
    Type: Grant
    Filed: April 15, 2008
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Avi R. Geiger, Michael Fortin
  • Patent number: 8135914
    Abstract: Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. When a reboot of the computer is initiated, only a subset of the plurality of hierarchy levels may be loaded to memory, thereby expediting the process of restoring the cache metadata and thus startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory.
    Type: Grant
    Filed: August 30, 2011
    Date of Patent: March 13, 2012
    Assignee: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Publication number: 20110314202
    Abstract: Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. When a reboot of the computer is initiated, only a subset of the plurality of hierarchy levels may be loaded to memory, thereby expediting the process of restoring the cache metadata and thus startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory.
    Type: Application
    Filed: August 30, 2011
    Publication date: December 22, 2011
    Applicant: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Patent number: 8032707
    Abstract: Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. Only a subset of the plurality of hierarchy levels may be loaded to memory, thereby reducing the memory “footprint” of cache metadata and expediting the process of restoring the cache metadata during startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory.
    Type: Grant
    Filed: November 14, 2008
    Date of Patent: October 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Publication number: 20100076438
    Abstract: A keel punch impactor comprises a main body having an interior bore. A locking shaft is positioned in the interior bore of the main body, the locking shaft defining a shaft axis. An actuator is in contact with the locking shaft. The actuator is moveable between a first position and a second position. The position of the locking shaft is moved within the interior bore of the main body upon movement of the actuator. In particular, the locking shaft is moved such that the shaft axis is offset when the actuator is moved from the first position to the second position. When the shaft is moved, a head on the shaft is moved into or out of alignment with a boss extending from the main body of the keel punch impactor.
    Type: Application
    Filed: December 19, 2008
    Publication date: March 25, 2010
    Applicant: DePuy Products, Inc.
    Inventors: Jose A. Correia, John Cuneo, Michael Fortin, Jim Kennedy, Carl Livorsi, Troy Martin, John J. McMorrow, Rebecca Zimmerman
  • Publication number: 20100070701
    Abstract: Embodiments of the invention provide techniques for ensuring that the contents of a non-volatile memory device may be relied upon as accurately reflecting data stored on disk storage across a power transition such as a reboot. For example, some embodiments of the invention provide techniques for determining whether the cache contents and/or or disk contents are modified during a power transition, causing cache contents to no longer accurately reflect data stored in disk storage. Further, some embodiments provide techniques for managing cache metadata during normal (“steady state”) operations and across power transitions, ensuring that cache metadata may be efficiently accessed and reliably saved and restored across power transitions.
    Type: Application
    Filed: November 14, 2008
    Publication date: March 18, 2010
    Applicant: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Publication number: 20100070747
    Abstract: Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. Only a subset of the plurality of hierarchy levels may be loaded to memory, thereby reducing the memory “footprint” of cache metadata and expediting the process of restoring the cache metadata during startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory.
    Type: Application
    Filed: November 14, 2008
    Publication date: March 18, 2010
    Applicant: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Publication number: 20090259802
    Abstract: Valuable information can be retained upon a storage device, such as a flash memory unit. Due to the portable nature of the memory, there can be increased likelihood of theft, less back up of important files not a reliable medium, legal physical transfer of the device between parties, and the like. When an operation is requested to take place related to the device, a check can take place if the operation should be allowed based upon device metadata, such as physical location of the device, device history, and so forth. A determination can be made on if the operation should automatically occur based upon a result of the check. If it is determination that the operation should not automatically occur, then the operation can be denied or a request can be made to an owner of the device on if the operation should be allowed to occur.
    Type: Application
    Filed: April 15, 2008
    Publication date: October 15, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Avi R. Geiger, Michael Fortin
  • Publication number: 20070169045
    Abstract: A component tagging system for tagging various components and sub-components used by various processes allows creating a plurality of component tags for various components used in processes in a manner so that the component tags may be used in tracking various resources used by the components. The component tagging system also allows tracking usage of resources by various threads in process thread-pools, wherein the various threads may perform a service or a function on behalf of the components. An alternate embodiment of the component tagging system allows tagging of multi-process components wherein the multi-process components may be used to perform a service or a function across multiple processes.
    Type: Application
    Filed: December 1, 2005
    Publication date: July 19, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Elsie Nallipogu, Frederic Vicik, Michael Fortin
  • Publication number: 20070162700
    Abstract: Determining and using the ideal size of memory to be transferred from high speed memory to a low speed memory may result in speedier saves to the low speed memory and a longer life for the low speed memory.
    Type: Application
    Filed: December 16, 2005
    Publication date: July 12, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael Fortin, Robert Reinauer
  • Publication number: 20070121665
    Abstract: A delay of starting up of certain applications may result in improving the overall performance of a system. The applications to be delayed may be placed in a container object or box such that they can be tracked and that other applications dependent on the delayed applications can be appropriately handled.
    Type: Application
    Filed: November 30, 2005
    Publication date: May 31, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Cenk Ergan, Dan Li, Michael Fortin, Robin Giese, Robert Reinauer
  • Patent number: D695946
    Type: Grant
    Filed: July 27, 2012
    Date of Patent: December 17, 2013
    Assignee: Koninklijke Philips N.V.
    Inventors: Jean-Francois Duquette, Michael Fortin, Guy Galipeau, Etienne Dansereau, Jonathan Hardy, Jean-Francois Laporte, Pascal Pavao, Marc-Antoine Vachon
  • Patent number: D696805
    Type: Grant
    Filed: July 27, 2012
    Date of Patent: December 31, 2013
    Assignee: Koninklijke Philips N.V.
    Inventors: Jean-Francois Duquette, Michael Fortin, Guy Galipeau, Etienne Dansereau, Jonathan Hardy, Jean-Francois Laporte, Juan Ernesto Quintana, Pascal Pavao
  • Patent number: D696807
    Type: Grant
    Filed: July 27, 2012
    Date of Patent: December 31, 2013
    Assignee: Koninklijke Philips N.V.
    Inventors: Jean-Francois Duquette, Michael Fortin, Guy Galipeau, Etienne Dansereau, Jonathan Hardy, Jean-Francois Laporte, Pascal Pavao, Juan Ernesto Quintana