Patents by Inventor Christopher A. Vick

Christopher A. Vick 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: 8117243
    Abstract: A virtual configuration system, comprising a virtualization engine and a configuration engine, for the dynamic instantiation of configuration files is disclosed. A mechanism is disclosed that allows for transactional updates to a repository of configuration settings comprising multiple files. Configuration entries are stored in a first memory location and a copy of the entries is stored in a second memory location. A virtual configuration file that includes a virtual configuration for each entry is created and used to provide the operating system with path and location information regarding the configuration entries. Simultaneously and during run-time of the computer, the configuration entries stored in the second memory location can be modified. Once the modifications are complete, a second virtual configuration file is created referencing the configuration entries stored at the second memory location.
    Type: Grant
    Filed: February 21, 2008
    Date of Patent: February 14, 2012
    Assignee: Oracle America, Inc.
    Inventors: Christopher A. Vick, Michael H. Paleczny, Olaf Manczak
  • Patent number: 8112620
    Abstract: A method for discovery of a root file system that includes obtaining a tag corresponding to a boot image for an operating system, identifying, by a boot loader, a location of the boot image having a predefined value matching the tag, loading a kernel of the operating system retrieved from the boot image, and transferring execution to the kernel, wherein the boot loader provides the tag for the location to the kernel. The method further includes identifying, by the kernel, the location of the root file system based on the tag provided by the boot loader, and executing the operating system on a processor using the root file system identified by the kernel.
    Type: Grant
    Filed: March 13, 2009
    Date of Patent: February 7, 2012
    Assignee: Oracle America, Inc.
    Inventors: Olaf Manczak, Anand S. Gupta, Christopher A. Vick
  • Patent number: 8078854
    Abstract: One embodiment of the present invention provides a system that facilitates precise exception semantics. The system includes a processor that uses register rename maps to support out-of-order execution, where the register rename maps track mappings between native architectural registers and physical registers for a program executing on the processor. These register rename maps include: 1) a working rename map that maps architectural registers associated with a decoded instruction to corresponding physical registers; 2) a retire rename map that tracks and preserves a set of physical registers that are associated with retired instructions; and 3) a checkpoint rename map that stores a mapping between a set of architectural registers and a set of physical registers for a preceding checkpoint in the program. When the program signals an exception, the processor uses the checkpoint rename map to roll back program execution to the preceding checkpoint.
    Type: Grant
    Filed: December 12, 2008
    Date of Patent: December 13, 2011
    Assignee: Oracle America, Inc.
    Inventors: Christopher A. Vick, Gregory M. Wright
  • Patent number: 7979869
    Abstract: A method for installing a device driver for a device in a guest domain, that includes obtaining a first device driver for the device by a hypervisor, installing, by the hypervisor, the first device driver into memory allocated to the guest domain, and notifying an operating system in the guest domain of the first device driver after installing the device driver, wherein the operating system communicates with the device using the first device driver.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: July 12, 2011
    Assignee: Oracle America, Inc.
    Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
  • Patent number: 7917710
    Abstract: The use of a token-based memory protection technique may provide memory protection in a computer system employing memory virtualization. A token-based memory protection technique may include assigning a unique identifier to an application, process, or thread, and associating the identifier with a block of memory allocated to that application, process, or thread. Subsequent to assigning the identifier, a packet requesting access to that block of memory may include a token to be compared to the identifier. A memory controller may be configured to associate the identifier with the block of memory and to compare the token in the memory request packet to the identifier before granting access. If a second block of memory is subsequently allocated to the application, process, or thread, the identifier may be disassociated with the first block of memory and associated with the second block of memory.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: March 29, 2011
    Assignee: Oracle America, Inc.
    Inventors: Jay R. Freeman, Christopher A. Vick, Olaf Manczak, Michael H. Paleczny, Phyllis E. Gustafson
  • Publication number: 20100333090
    Abstract: One embodiment provides a system that protects translated guest program code in a virtual machine that supports self-modifying program code. While executing a guest program in the virtual machine, the system uses a guest shadow page table associated with the guest program and the virtual machine to map a virtual memory page for the guest program to a physical memory page on the host computing device. The system then uses a dynamic compiler to translate guest program code in the virtual memory page into translated guest program code (e.g., native program instructions for the computing device). During compilation, the dynamic compiler stores in a compiler shadow page table and the guest shadow page table information that tracks whether the guest program code in the virtual memory page has been translated. The compiler subsequently uses the information stored in the guest shadow page table to detect attempts to modify the contents of the virtual memory page.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Gregory M. Wright, Christopher A. Vick, Peter B. Kessler
  • Patent number: 7827381
    Abstract: A computer system may employ a first memory virtualization and corresponding virtual-to-physical address translation technique for a first application executing on a processor and a second memory virtualization and corresponding virtual-to-physical address translation technique for a second application executing on the same processor transparent to the first application. Different virtualization and corresponding translation techniques may be employed on a per-thread basis, rather than a per-application basis. Different virtualization and corresponding translation techniques may be employed for accesses to different ranges of virtual or corresponding physical addresses. Different virtualization and corresponding translation techniques may employ different page sizes. A first or second virtualization and corresponding translation technique may include page-based, segment-based, or function-based virtual-to-physical address translation.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: November 2, 2010
    Assignee: Oracle America, Inc.
    Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny, Jay R. Freeman, Phyllis E. Gustafson
  • Patent number: 7822941
    Abstract: A computer system employing memory virtualization may employ a function-based technique for virtual-to-physical address translation. A function-based translation technique may involve replacing a generic trap handler and one or more translation table look-ups with a function to compute a corresponding physical address from a given virtual address. The computer system may be configured to determine a translation function dependent on mappings in one or more translation tables. The computer system may be configured to reorganize a memory, to reorganize one or more translation tables, or to allocate different blocks of memory to an application prior to determining a translation function. Different applications or threads executing on the computer system may employ different translation functions. Different regions of memory may be accessed using different translation functions. Some virtual addresses may be translated using a function while others may be translated using one or more translation table look-ups.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: October 26, 2010
    Assignee: Oracle America, Inc.
    Inventors: Christopher A. Vick, Michael H. Paleczny, Olaf Manczak, Jay R. Freeman, Phyllis E. Gustafson
  • Patent number: 7823141
    Abstract: A method for executing a loop in an application that includes executing iterations in a first segment of the loop by a base thread, logging memory transactions that occur during execution of iterations in the first segment by a co-inspector thread to obtain a co-inspector log, executing iterations in a second segment of the loop by a co-thread to obtain temporary results, logging memory transactions that occur during execution of iterations in the second segment to obtain a co-thread log, and comparing the co-inspector log and the co-thread log to determine whether a thread interdependency exists.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: October 26, 2010
    Assignee: Oracle America, Inc.
    Inventors: Phyllis E. Gustafson, Michael H. Paleczny, Christopher A. Vick, Olaf Manczak, Jay R. Freeman, Yuguang Wu
  • Publication number: 20100250870
    Abstract: One embodiment of the present invention provides a system that tracks enregistered memory locations. During operation, the system receives program object code that enregisters a memory location (e.g., a set of data at a given memory address). Next, the system executes this program object code using a thread. After enregistering the memory location, the system tracks the associated memory address and a thread identifier for the thread in a table that identifies enregistered memory locations. The system checks this table during memory accesses to ensure that other threads attempting to access an enregistered memory location receive a current value for the enregistered memory location.
    Type: Application
    Filed: March 31, 2009
    Publication date: September 30, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Christopher A. Vick, Gregory M. Wright
  • Patent number: 7805409
    Abstract: A virtual file system is formed configured to enable the dynamic composition of immutable file system images. A file system containing a software distribution is divided into a plurality of mutually exclusive sub-trees. Each sub-tree includes a portion of the software distribution. An immutable file system image is formed for each sub-tree. During the booting of an operating system, a virtualization engine intercedes in the boot process to mount the immutable file system images to independent directories of the root file system. Upon request the virtualization engine, during run-time, combines virtual entries corresponding to immutable file system images so as to resemble the original software distribution.
    Type: Grant
    Filed: February 21, 2008
    Date of Patent: September 28, 2010
    Assignee: Oracle America, Inc.
    Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
  • Publication number: 20100235615
    Abstract: A method for discovery of a root file system that includes obtaining a tag corresponding to a boot image for an operating system, identifying, by a boot loader, a location of the boot image having a predefined value matching the tag, loading a kernel of the operating system retrieved from the boot image, and transferring execution to the kernel, wherein the boot loader provides the tag for the location to the kernel. The method further includes identifying, by the kernel, the location of the root file system based on the tag provided by the boot loader, and executing the operating system on a processor using the root file system identified by the kernel.
    Type: Application
    Filed: March 13, 2009
    Publication date: September 16, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Olaf Manczak, Anand S. Gupta, Christopher A. Vick
  • Publication number: 20100235813
    Abstract: A method for configuring software modules that includes accessing a properties repository that includes a plurality of properties of the execution environment of the computer system. The method further includes generating a configuration file for each software module. Generating a configuration file includes obtaining a generator module defined for the software module, and executing the generator module to instantiate the configuration file for the software module. The generator module is configured to identify a property required for the configuration file, obtain the value for the property from the properties repository, and store the value for the property in the configuration file in accordance with a customized format required by the software module. The method further includes storing the configuration file for each of the software modules.
    Type: Application
    Filed: March 13, 2009
    Publication date: September 16, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Olaf Manczak, Eric C. Lalonde, Christopher A. Vick
  • Patent number: 7797329
    Abstract: A method for committing memory transactions in an application that includes executing a plurality of sections of the application in parallel, logging a plurality of memory transactions that occur while executing the plurality of sections to obtain a plurality of logs and a plurality of temporary results, wherein the plurality of memory transactions that includes a plurality of writes to at least one memory location, comparing the plurality of logs to identify an optimal list of writes from the plurality of writes, and committing memory transactions corresponding to a subset of the plurality of temporary results, wherein the subset of the plurality of temporary results is identified by the optimal list of writes.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: September 14, 2010
    Assignee: Oracle America Inc.
    Inventors: Miguel Angel Lujan Moreno, Phyllis E. Gustafson, Michael H. Paleczny, Christopher A. Vick, Jay R. Freeman, Olaf Manczak
  • Publication number: 20100228936
    Abstract: One embodiment of the present invention provides a system that accesses memory locations in an object-addressed memory system. During a memory access in the object-addressed memory system, the system receives an object identifier and an address. The system then uses the object identifier to identify a paged memory object associated with the memory access. Next, the system uses the address and a page table associated with the paged memory object to identify a memory page associated with the memory access. After determining the memory page, the system uses the address to access a memory location in the memory page.
    Type: Application
    Filed: March 5, 2009
    Publication date: September 9, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Gregory M. Wright, Christopher A. Vick, Mario I. Wolczko
  • Patent number: 7752417
    Abstract: A computer system may be configured to dynamically select a memory virtualization and corresponding virtual-to-physical address translation technique during execution of an application and to dynamically employ the selected technique in place of a current technique without re-initializing the application. The computer system may be configured to determine that a current address translation technique incurs a high overhead for the application's current workload and may be configured to select a different technique dependent on various performance criteria and/or a user policy. Dynamically employing the selected technique may include reorganizing a memory, reorganizing a translation table, allocating a different block of memory to the application, changing a page or segment size, or moving to or from a page-based, segment-based, or function-based address translation technique.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: July 6, 2010
    Assignee: Oracle America, Inc.
    Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny, Jay R. Freeman, Phyllis E. Gustafson
  • Publication number: 20100161950
    Abstract: Apparatus and methods are disclosed for a computation processor that can execute a semi-absolute branch instruction, as well as methods of operation and of generating the semi-absolute branch instruction.
    Type: Application
    Filed: December 24, 2008
    Publication date: June 24, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Paul Caprioli, Peter B. Kessler, Christopher A. Vick
  • Publication number: 20100153776
    Abstract: One embodiment of the present invention provides a system that provides precise exception semantics for a virtual machine. During operation, the system receives a program comprised of instructions that are specified in a machine instruction set architecture of the virtual machine, and translates these instructions into native instructions for the processor that the virtual machine is executing upon. While performing this translation, the system inserts one or more safepoints into the translated native instructions. The system then executes these native instructions on the processor. During execution, if the system detects that an exception was signaled by a native instruction, the system reverts the virtual machine to a previous safepoint to ensure that the virtual machine will precisely emulate the exception behavior of the virtual machine's instruction set architecture.
    Type: Application
    Filed: December 12, 2008
    Publication date: June 17, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Christopher A. Vick, Gregory M. Wright
  • Publication number: 20100153662
    Abstract: One embodiment of the present invention provides a system that facilitates precise exception semantics for a virtual machine. During operation, the system executes a program in the virtual machine using a processor that includes a gated store buffer that stores values to be written to a memory. This gated store buffer is configured to delay a store to the memory until after a speculatively-optimized region of the program commits. The processor signals an exception when it detects that a load following the store is attempting to access the same memory region being written by the store prior to the commitment of the speculatively-optimized region.
    Type: Application
    Filed: December 12, 2008
    Publication date: June 17, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Christopher A. Vick, Gregory M. Wright, Mark S. Moir
  • Publication number: 20100153690
    Abstract: One embodiment of the present invention provides a system that facilitates precise exception semantics. The system includes a processor that uses register rename maps to support out-of-order execution, where the register rename maps track mappings between native architectural registers and physical registers for a program executing on the processor. These register rename maps include: 1) a working rename map that maps architectural registers associated with a decoded instruction to corresponding physical registers; 2) a retire rename map that tracks and preserves a set of physical registers that are associated with retired instructions; and 3) a checkpoint rename map that stores a mapping between a set of architectural registers and a set of physical registers for a preceding checkpoint in the program. When the program signals an exception, the processor uses the checkpoint rename map to roll back program execution to the preceding checkpoint.
    Type: Application
    Filed: December 12, 2008
    Publication date: June 17, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Christopher A. Vick, Gregory M. Wright