Patents by Inventor Aaron Giles

Aaron Giles 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: 7987497
    Abstract: Several embodiments of the present invention provide a means for improving data access security in computer systems to support high-security applications, and certain of these embodiments are specifically directed to providing sector-level encryption of a virtual hard disk in a virtual machine environment. More specifically, certain embodiments are directed to providing sector-level encryption by using plug-ins in a virtual machine environment, thereby providing improved data access security in a computer system that supports high-security applications. Certain embodiments also use encryption plug-ins associated with standard encryption software for exchanging data between a virtual machine (VM) and its associated virtual hard drive(s) (VHDs). Moreover, several embodiments of the present invention are directed to the use of plug-in encryption services that interface with, and provide services for, a VM via a VM Encryption API (or its equivalent).
    Type: Grant
    Filed: March 5, 2004
    Date of Patent: July 26, 2011
    Assignee: Microsoft Corporation
    Inventors: Aaron Giles, Eric P. Traut, Rene Antonio Vega
  • Patent number: 7395199
    Abstract: A method for emulating the functionality of VGA hardware, wherein the emulator program of the present invention maintains a set of tables that permits the emulator program to branch to a function customized for both the instruction and the operating mode of the VGA hardware. When the customized function has already been generated, the emulator will automatically dispatch directly into the customized function. If an instruction is executed at a time when the VGA operating mode has changed, the addresses of the customized functions are loaded from a second table. If a customized function is not present, a customized function is generated and the tables are updated to point to the addresses of the newly created customized function. As the VGA hardware is switching among operating modes, a customized function is not generated until such time when an actual instruction is executed for the VGA hardware.
    Type: Grant
    Filed: August 5, 2005
    Date of Patent: July 1, 2008
    Assignee: Microsoft Corporation
    Inventors: Tim Carroll, Aaron Giles
  • Patent number: 7069205
    Abstract: A method for emulating the functionality of VGA hardware, wherein the emulator program of the present invention maintains a set of tables that permits the emulator program to branch to a function customized for both the instruction and the operating mode of the VGA hardware. When the customized function has already been generated, the emulator will automatically dispatch directly into the customized function. If an instruction is executed at a time when the VGA operating mode has changed, the addresses of the customized functions are loaded from a second table. If a customized function is not present, a customized function is generated and the tables are updated to point to the addresses of the newly created customized function. As the VGA hardware is switching among operating modes, a customized function is not generated until such time when an actual instruction is executed for the VGA hardware.
    Type: Grant
    Filed: July 17, 2000
    Date of Patent: June 27, 2006
    Assignee: Microsoft Corporation
    Inventors: Tim Carroll, Aaron Giles
  • Patent number: 6980946
    Abstract: A method for processing software instructions in an emulated computing environment is provided in which instruction blocks from the application programs of a guest computer system are parsed to determine whether the instruction blocks include instructions executable at user level or supervisor level. Those instruction blocks that are executable at user level are passed directly to the processor of the host computer system, and those instruction blocks that are executable at supervisor level, are translated before being passed to the processor for execution. In the case of instruction blocks that include instruction blocks executable at supervisor level, prior to translation, a cache is queried to determine whether a translation for the instruction block is in the case. If a translation is in the cache, the translated version in the cache is provided to the processor for execution. If a translation is not in the cache, translation occurs, and the translated instruction block is saved to the cache.
    Type: Grant
    Filed: March 15, 2001
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Aaron Giles, Eric P. Traut
  • Publication number: 20050273313
    Abstract: A method for emulating the functionality of VGA hardware, wherein the emulator program of the present invention maintains a set of tables that permits the emulator program to branch to a function customized for both the instruction and the operating mode of the VGA hardware. When the customized function has already been generated, the emulator will automatically dispatch directly into the customized function. If an instruction is executed at a time when the VGA operating mode has changed, the addresses of the customized functions are loaded from a second table. If a customized function is not present, a customized function is generated and the tables are updated to point to the addresses of the newly created customized function. As the VGA hardware is switching among operating modes, a customized function is not generated until such time when an actual instruction is executed for the VGA hardware.
    Type: Application
    Filed: August 5, 2005
    Publication date: December 8, 2005
    Applicant: Microsoft Corporation
    Inventors: Tim Carroll, Aaron Giles
  • Publication number: 20020147862
    Abstract: A method for performing a write operation to a hard drive or other memory space is provided. The hard drive is represented as at least two files. The first file is a parent drive and includes some content of the hard drive. Writes made to the hard drive are recorded in a second file, known as a differencing drive. Because no changes are made to the content of the parent drive, the content of the hard drive may be rolled back to the content of the parent drive by discarding the differencing drive.
    Type: Application
    Filed: July 30, 2001
    Publication date: October 10, 2002
    Inventors: Eric P. Traut, Aaron Giles, Parag Chakraborty
  • Publication number: 20020133810
    Abstract: A method for processing software instructions in an emulated computing environment is provided in which instruction blocks from the application programs of a guest computer system are parsed to determine whether the instruction blocks include instructions executable at user level or supervisor level. Those instruction blocks that are executable at user level are passed directly to the processor of the host computer system, and those instruction blocks that are executable at supervisor level, are translated before being passed to the processor for execution. In the case of instruction blocks that include instruction blocks executable at supervisor level, prior to translation, a cache is queried to determine whether a translation for the instruction block is in the case. If a translation is in the cache, the translated version in the cache is provided to the processor for execution. If a translation is not in the cache, translation occurs, and the translated instruction block is saved to the cache.
    Type: Application
    Filed: March 15, 2001
    Publication date: September 19, 2002
    Inventors: Aaron Giles, Eric P. Traut