Patents by Inventor Paul V. Donlan

Paul V. Donlan 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: 7784044
    Abstract: A system and method for automatically updating software components on a running computer system without requiring any interruption of service. A software module is hotpatched by loading a patch into memory and modifying an instruction in the original module to jump to the patch. A coldpatching technique places a coldpatch version of the module on disk for subsequent loading by processes, after hotpatching occurred. The coldpatch has the entry points to its functions at the same relative locations within the module as the hotpatch, which facilitates subsequent hotpatching. A hotpatch and coldpatch are automatically generated by deriving differences between changed and original binary files, and establishing the point to insert the jump. Validation is performed to ensure that the hotpatch is applied to the correct version, and that the coldpatch is replacing the correct version. Version management is also provided to control the number of patches via support rules.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: August 24, 2010
    Assignee: Microsoft Corporation
    Inventors: Garret J. Buban, Paul V. Donlan, Adrian Marinescu, Thomas D. McGuire, David B. Probert, Hoi H. Vo, Zheng Wang
  • Publication number: 20040107416
    Abstract: A system and method for automatically updating software components on a running computer system without requiring any interruption of service. A software module is hotpatched by loading a patch into memory and modifying an instruction in the original module to jump to the patch. A coldpatching technique places a coldpatch version of the module on disk for subsequent loading by processes, after hotpatching occurred. The coldpatch has the entry points to its functions at the same relative locations within the module as the hotpatch, which facilitates subsequent hotpatching. A hotpatch and coldpatch are automatically generated by deriving differences between changed and original binary files, and establishing the point to insert the jump. Validation is performed to ensure that the hotpatch is applied to the correct version, and that the coldpatch is replacing the correct version. Version management is also provided to control the number of patches via support rules.
    Type: Application
    Filed: December 2, 2002
    Publication date: June 3, 2004
    Applicant: Microsoft Corporation
    Inventors: Garret J. Buban, Paul V. Donlan, Adrian Marinescu, Thomas D. McGuire, David B. Probert, Hoi H. Vo, Zheng Wang