Patents by Inventor Jonathan A. Forbes

Jonathan A. Forbes 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: 7222341
    Abstract: A software package manager uses a distribution unit containing components for a software package and a manifest file that describes the distribution unit to manage the installation, execution, and uninstallation of software packages on a computer. Information in the manifest file pertaining to a software package is stored in a code store data structure upon installation of the package. The manifest file also contains information that permits the software package manager to resolve any software dependencies upon installation. The software package manager uses the code store data structure to locate the required components when the software is executed and to remove the components appropriately when the software is uninstalled.
    Type: Grant
    Filed: February 8, 2002
    Date of Patent: May 22, 2007
    Assignee: Microsoft Corporation
    Inventors: Jonathan A. Forbes, Jeremy D. Stone, Srivatsan Parthasarathy, Michael J. Toutonghi, Michael V. Sliger
  • Patent number: 6938109
    Abstract: 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: Grant
    Filed: April 28, 2000
    Date of Patent: August 30, 2005
    Assignee: Microsoft Corporation
    Inventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes
  • Patent number: 6851108
    Abstract: A verification module evaluates intermediate language code to verify that the code is type safe before passing the code for execution. Code that is not deemed type safe can cause execution errors, corrupt the runtime environment in which the code is executing, or cause unauthorized access to protected system resources. As such, the verification module protects a computer system from intentional or inadvertent breaches of the computer system's defenses. The verification module verifies the type safety of intermediate language code that supports significant high-level language constructs prohibited by verification modules in the prior art. One exemplary verification module verifies intermediate language code that includes one or more reference-based parameter, such as a pointer (or reference), a value class containing pointers, a RefAny parameter, or a nested pointer.
    Type: Grant
    Filed: November 16, 2000
    Date of Patent: February 1, 2005
    Assignee: Microsoft Corporation
    Inventors: Don Syme, Andrew Gordon, Jonathan A. Forbes, Vance P. Morrison
  • Patent number: 6496974
    Abstract: 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: Grant
    Filed: April 28, 2000
    Date of Patent: December 17, 2002
    Assignee: Microsoft Corporation
    Inventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes
  • Publication number: 20020144248
    Abstract: A software package manager uses a distribution unit containing components for a software package and a manifest file that describes the distribution unit to manage the installation, execution, and uninstallation of software packages on a computer. Information in the manifest file pertaining to a software package is stored in a code store data structure upon installation of the package. The manifest file also contains information that permits the software package manager to resolve any software dependencies upon installation. The software package manager uses the code store data structure to locate the required components when the software is executed and to remove the components appropriately when the software is uninstalled.
    Type: Application
    Filed: February 8, 2002
    Publication date: October 3, 2002
    Applicant: Microsoft Corporation
    Inventors: Jonathan A. Forbes, Jeremy D. Stone, Srivatsan Parthasarathy, Michael J. Toutonghi, Michael V. Sliger
  • Patent number: 6449764
    Abstract: 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: Grant
    Filed: April 28, 2000
    Date of Patent: September 10, 2002
    Assignee: Microsoft Corporation
    Inventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes
  • Patent number: 6381742
    Abstract: A software package manager uses a distribution unit containing components for a software package and a manifest file that describes the distribution unit to manage the installation, execution, and uninstallation of software packages on a computer. Information in the manifest file pertaining to a software package is stored in a code store data structure upon installation of the package. The manifest file also contains information that permits the software package manager to resolve any software dependencies upon installation. The software package manager uses the code store data structure to locate the required components when the software is executed and to remove the components appropriately when the software is uninstalled.
    Type: Grant
    Filed: June 19, 1998
    Date of Patent: April 30, 2002
    Assignee: Microsoft Corporation
    Inventors: Jonathan A. Forbes, Jeremy D. Stone, Srivatsan Parthasarathy, Michael J. Toutonghi, Michael V. Sliger
  • Patent number: 6243766
    Abstract: 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: Grant
    Filed: April 28, 2000
    Date of Patent: June 5, 2001
    Assignee: Microsoft Corporation
    Inventors: Michael V. Sliger, Thomas D. McGuire, Jonathan A. Forbes