Patents by Inventor Thomas D. McGuire
Thomas D. McGuire 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: 7784044Abstract: 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: GrantFiled: December 2, 2002Date of Patent: August 24, 2010Assignee: Microsoft CorporationInventors: Garret J. Buban, Paul V. Donlan, Adrian Marinescu, Thomas D. McGuire, David B. Probert, Hoi H. Vo, Zheng Wang
-
Patent number: 7644111Abstract: In a content delivery scheme for target files, one or more recipes for each of the target files are encoded in an index. The index uses a framework that is able to represent content delivery schemes involving static containers, dynamic containers, self-contained containers, containers that are not self-contained, containers with internal delta dependency and containers with no internal delta dependency.Type: GrantFiled: May 2, 2006Date of Patent: January 5, 2010Assignee: Microsoft CorporationInventors: Taqi Jaffri, Alexander V. Petrov, Michael V. Sliger, Thomas D. McGuire
-
Patent number: 7546594Abstract: A system and method for managing the installation of files on a computing device are provided. A client computing device obtains installation information identifying a version of a baseline installation component stored on the client computing device. The installation information also includes an installation component delta patch that is merged with the baseline installation component to generate an updated installation component. The updated installation component is utilized to install one or more files on the client computing device. Upon completion of the installation, the updated installation component can be deleted.Type: GrantFiled: December 15, 2003Date of Patent: June 9, 2009Assignee: Microsoft CorporationInventors: Thomas D. McGuire, Derek P. Menzies, Michael V. Sliger, Derek Cheng, Mazhar Mohammed, Manojkumar Shende
-
Patent number: 7509636Abstract: A system and method for updating one or more files on a computing device are provided. A client computing device obtains update information including an index identifying particular delta patches with specific versions of installed files. Upon selecting which of the applicable updates will be implemented, an update agent on the client computing device performs an inventory to identify which version a file to be updated is installed on the machine. The update agent selects a corresponding delta patch and transmits the request to an update service.Type: GrantFiled: December 15, 2003Date of Patent: March 24, 2009Assignee: Microsoft CorporationInventors: Thomas D. McGuire, Derek P. Menzies, Michael V. Sliger, Derek Cheng, Mazhar Mohammed, Peter A. Williams, Gary Henderson
-
Publication number: 20070260653Abstract: Information that describes two or more content delivery solutions for a particular set of target files is received in a computing environment. The solutions are associated with a container at least portions of which can be delivered to the computing environment. The container is dynamic and has internal delta dependency. An expansion mechanism at the computing environment, upon determining that more than one of the solutions is achievable in the computing environment, selects one of the achievable solutions for implementation.Type: ApplicationFiled: July 21, 2006Publication date: November 8, 2007Applicant: Microsoft CorporationInventors: Taqi Jaffri, Alexander V. Petrov, Michael V. Sliger, Thomas D. McGuire
-
Patent number: 6938109Abstract: Rather than comparing an old file with a new file to generate a set of patching instructions, and then compressing the patching instructions to generate a compact patch file for transmission to a user, a patch file is generated in a single operation. A compressor is pre-initialized in accordance with the old version of the file (e.g. in an LZ77 compressor, the history window is pre-loaded with the file). The pre-initialized compressor then compresses the new file, producing a patch file from which the new file can be generated. At the user's computer, a parallel process is performed, with the user's copy of the old file being used to pre-initialize a decompressor to which the patch file is then input. The output of the decompressor is the new file. The patch files generated and used in these processes are of significantly reduced size when compared to the prior art.Type: GrantFiled: April 28, 2000Date of Patent: August 30, 2005Assignee: Microsoft CorporationInventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes
-
Publication number: 20040107416Abstract: 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: ApplicationFiled: December 2, 2002Publication date: June 3, 2004Applicant: Microsoft CorporationInventors: Garret J. Buban, Paul V. Donlan, Adrian Marinescu, Thomas D. McGuire, David B. Probert, Hoi H. Vo, Zheng Wang
-
Patent number: 6496974Abstract: Rather than comparing an old file with a new file to generate a set of patching instructions, and then compressing the patching instructions to generate a compact patch file for transmission to a user, a patch file is generated in a single operation. A compressor is pre-initialized in accordance with the old version of the file (e.g. in an LZ77 compressor, the history window is pre-loaded with the file). The pre-initialized compressor then compresses the old file, producing a patch file from which the new file can be generated, as a single process. At the user's computer, a parallel process is performed, with the user's copy of the old file being used to pre-initialize a decompressor to which the patch file is then input. The output of the decompressor is the new file, again produced as a single process. The patch files generated and used in these processes are of significantly reduced size when compared to the prior art.Type: GrantFiled: April 28, 2000Date of Patent: December 17, 2002Assignee: Microsoft CorporationInventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes
-
Patent number: 6493871Abstract: A method and system for downloading software update data for installing a revised software product on a client computer minimizes the amount of update data to be transmitted over the network by downloading only those files needed to put the client computer in the state for installing the product. In the beginning of the downloading process, the client computer obtains from a setup server an initial setup package that includes a setup program and a list of files required for installing the software product. The setup program running on the client computer then determines whether some current or earlier versions of those files required for installation already exist on the client computer, and compiles a request list of files needed for updating the client computer. The client computer sends the request list to a download server, which maintains a collection of update files and patches. In response to the request list, the download server downloads updating files to the client.Type: GrantFiled: September 16, 1999Date of Patent: December 10, 2002Assignee: Microsoft CorporationInventors: Thomas D. McGuire, Michael V. Sliger, Daniel C. Welch, Rajendra H. Vishnumurty, Gabriel J. Aul, Oliver I. Wallace, Gregory W. Nichols, Alan B. Auerbach
-
Patent number: 6466999Abstract: A data compressor uses data known to exist on a destination computer for compressing an input data stream by encoding portions of the input data stream as references to matching portions of the known data. The known data is preprocessed to better correlate with the input data stream. The preprocessing includes identifying and modifying internal references in the known data, such as relative offsets and addresses of jump and call instructions in executable code or cross references and hyperlinks in documents. The preprocessing is driven by generating a set of data that describes specific individual modifications or alternatively indicates relationships between the known data and the input data stream, such as code or data block motion, from which individual modifications can be deterministically made.Type: GrantFiled: March 31, 1999Date of Patent: October 15, 2002Assignee: Microsoft CorporationInventors: Michael V. Sliger, Thomas D. McGuire, Richard M. Shupak
-
Patent number: 6449764Abstract: Rather than comparing an old file with a new file to generate a set of patching instructions, and then compressing the patching instructions to generate a compact patch file for transmission to a user, a patch file is generated in a single operation. A compressor is pre-initialized in accordance with the old version of the file (e.g. in an LZ77 compressor, the history window is pre-loaded with the file), or other reference file available on the user's computer for purpose other than serving as a decompression aid. The pre-initialized compressor then compresses the old file, producing a patch file from which the new file can be generated. At the user's computer, a parallel process is performed, with the user's copy of the old file being used to pre-initialize a decompressor to which the patch file is then input. The output of the decompressor is the new file. The patch files generated and used in these processes are of significantly reduced size when compared to the prior art.Type: GrantFiled: April 28, 2000Date of Patent: September 10, 2002Assignee: Microsoft CorporationInventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes
-
Patent number: 6243766Abstract: Rather than comparing an old file with a new file to generate a set of patching instructions, and then compressing the patching instructions to generate a compact patch file for transmission to a user, a patch file is generated in a single operation. A compressor is pre-initialized in accordance with the old version of the file (e.g. in an LZ77 compressor, the history window is pre-loaded with the file). The pre-initialized compressor then compresses the old file, producing a patch file from which the new file can be generated. At the user's computer, a parallel process is performed, with the user's copy of the old file being used to pre-initialize a decompressor to which the patch file is then input. The output of the decompressor is the new file. The patch files generated and used in these processes are of significantly reduced size when compared to the prior art.Type: GrantFiled: April 28, 2000Date of Patent: June 5, 2001Assignee: Microsoft CorporationInventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes
-
Patent number: 6216175Abstract: Rather than comparing an old file with a new file to generate a set of patching instructions, and then compressing the patching instructions to generate a compact patch file for transmission to a user, a patch file is generated in a single operation. A compressor is pre-initialized in accordance with the old version of the file (e.g. in an LZ77 compressor, the history window is pre-loaded with the file). The pre-initialized compressor then compresses the old file, producing a patch file from which the new file can be generated. At the user's computer, a parallel process is performed, with the user's copy of the old file being used to pre-initialize a decompressor to which the patch file is then input. The output of the decompressor is the new file. The patch files generated and used in these processes are of significantly reduced size when compared to the prior art.Type: GrantFiled: June 8, 1998Date of Patent: April 10, 2001Assignee: Microsoft CorporationInventors: Michael V. Sliger, Thomas D. McGuire
-
Patent number: 5862362Abstract: A network failure simulation tool provides simulation of a network failure suitable for automated software testing under software control. The tool intercepts packets being sent or received by a computer on a network by redirecting the packets from a network I/O architecture to substitute packet handlers. The tool also resumes normal network operation by again directing packets through actual packet handlers of the computer's network I/O architecture. Commands are provided for controlling suspension and resumption of network operation by the tool from an automated software testing program.Type: GrantFiled: October 5, 1995Date of Patent: January 19, 1999Assignee: Microsoft CorporationInventors: Sivaramakichenane Somasegar, Thomas D. McGuire
-
Patent number: 5732265Abstract: An encoder and method, such as for use in CD-ROM pre-mastering software, optimizes storage on a computer readable recording medium by eliminating redundant storage of identical data streams for duplicate files. The encoder and method detect whether two files have equivalent data streams, and encodes such duplicate files as a single data stream referenced by the respective directory entries of the files. In the illustrated embodiment, the encoder and method detect duplicate files based on file size and a cyclic redundancy check calculated on the file's data stream or portion thereof.Type: GrantFiled: November 2, 1995Date of Patent: March 24, 1998Assignee: Microsoft CorporationInventors: Frederick J. Dewitt, Thomas D. McGuire