Patents by Inventor Michael H. Paleczny
Michael H. Paleczny 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: 8555013Abstract: A method for memory protection in a multiprocessor system, involving receiving a request at a first carrier to perform a memory operation at a memory address, wherein the first carrier receives the request from a processor, determining by the first carrier whether the processor is permitted to access memory at the memory address using a carrier identification (ID) of a second carrier, wherein the second carrier is associated with a memory controller used to access the memory, and sending the request to the second carrier, if the processor is permitted to access the memory.Type: GrantFiled: June 22, 2005Date of Patent: October 8, 2013Assignee: Oracle America, Inc.Inventors: Christopher A. Vick, Michael H. Paleczny, Jay R. Freeman, Olaf Manczak, Phyllis E. Gustafson, Yuguang Wu
-
Patent number: 8453151Abstract: A method for executing an application on multiple nodes includes synchronizing a first clock of a first node and a second clock of a second node, configuring a first hypervisor on the first node to execute a first application domain and a first privileged domain, and configuring a second hypervisor on the second node to execute a second application domain and a second privileged domain. Configuring the hypervisor includes allocating a first number of cycles of the first clock to the first privileged domain. Configuring the second hypervisor includes allocating the first number of cycles of the first clock to the second privileged domain. The method further includes executing the application in the first application domain and the second application domain. The first application domain and the second application domain execute semi-synchronously and the first privileged domain and the second privileged domain execute semi-synchronously.Type: GrantFiled: January 6, 2012Date of Patent: May 28, 2013Assignee: Oracle America, Inc.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
-
Patent number: 8266398Abstract: A method and apparatus for preserving contents of a volatile memory when a main (e.g., AC) power source is disconnected. The apparatus comprises flash memory, a controller for writing to the flash memory and a temporary power source. The temporary power source may be a relatively low power battery or supercapacitor. The apparatus is removably attached to a computing device (e.g., via a USB port). When main power of the device is disconnected, the temporary power source provides power for the apparatus, the volatile memory containing data to be safeguarded, and sufficient processing resources to transfer the data. For example, an auxiliary processor may be powered (instead of a relatively high-power processor) or just one core of a multi-core processor. Data are written to the apparatus and can be recovered when main power is reconnected. Or, the apparatus may be detached and attached to a different device for data recovery.Type: GrantFiled: May 22, 2008Date of Patent: September 11, 2012Assignee: Oracle America, Inc.Inventors: Olaf W. Manczak, Michael H. Paleczny, Eric J. Kustarz
-
Patent number: 8234260Abstract: A method for metadata management for scalable processes, involving creating a process by a first home processor, wherein the process is associated with a process identification (ID), storing the processor ID and information identifying the first home processor in a global process look-up data structure (GPLD), requesting metadata associated with the process, searching the GPLD to obtain the first home processor of the process using the process ID, and retrieving the metadata associated with the process from the first home processor.Type: GrantFiled: June 22, 2005Date of Patent: July 31, 2012Assignee: Oracle America, Inc.Inventors: Yuguang Wu, Christopher A. Vick, Michael H. Paleczny, Olaf Manczak, Jay R. Freeman, Phyllis E. Gustafson
-
Publication number: 20120180050Abstract: A method for executing an application on multiple nodes includes synchronizing a first clock of a first node and a second clock of a second node, configuring a first hypervisor on the first node to execute a first application domain and a first privileged domain, and configuring a second hypervisor on the second node to execute a second application domain and a second privileged domain. Configuring the hypervisor includes allocating a first number of cycles of the first clock to the first privileged domain. Configuring the second hypervisor includes allocating the first number of cycles of the first clock to the second privileged domain. The method further includes executing the application in the first application domain and the second application domain. The first application domain and the second application domain execute semi-synchronously and the first privileged domain and the second privileged domain execute semi-synchronously.Type: ApplicationFiled: January 6, 2012Publication date: July 12, 2012Applicant: ORACLE AMERICA, INC.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
-
Patent number: 8161477Abstract: The functionality of a virtualization layer interposed between computer system hardware and a plurality of applications can be altered by pluggable extensions. According to one embodiment of the present invention, a virtualization layer is divided into a privileged portion and an unprivileged portion. While the privileged portion remains untouched, the functionality of the unprivileged portion can be modified by one or more pluggable extensions. Furthermore, file images operating on top of the virtualization layer, and in some cases unaware of the virtual nature of the virtualization layer, can be supplemented using pluggable extensions.Type: GrantFiled: February 21, 2008Date of Patent: April 17, 2012Assignee: Oracle International CorporationInventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
-
Patent number: 8150946Abstract: A system and method for allocating the nearest available physical memory in a distributed, shared memory system. In various embodiments, a processor node may broadcast a memory request to a first subset of nodes connected to it via a communication network. In some embodiments, if none of these nodes is able to satisfy the request, the processor node may broadcast the request to additional subsets of nodes. In some embodiments, each node of the first subset of nodes may be removed from the processor node by one network hop and each node of the additional subsets of nodes may be removed from the processor node by no more than an iteratively increasing number of network hops. In some embodiments, the processor node may send an acknowledgment to one node that can fulfill the request and a negative acknowledgement to other nodes that can fulfill the request.Type: GrantFiled: April 21, 2006Date of Patent: April 3, 2012Assignee: Oracle America, Inc.Inventors: Yuguang Wu, Christopher A. Vick, Michael H. Paleczny, Bo Yang, Olaf Manczak, Jay R. Freeman, Phyllis E. Gustafson, Miguel-Angel Lujan Moreno
-
Patent number: 8151255Abstract: A method for detecting a dependence violation in an application that involves executing a plurality of sections of the application in parallel, and logging memory transactions that occur while executing the plurality of sections to obtain a plurality of logs and a plurality of temporary results, where the plurality of logs is compared while executing the plurality of sections to determine whether the dependence violation exists.Type: GrantFiled: June 26, 2006Date of Patent: April 3, 2012Assignee: Oracle America, Inc.Inventors: Phyllis E. Gustafson, Miguel Angel Lujan Moreno, Michael H. Paleczny, Christopher A. Vick, Olaf Manczak, Jay R. Freeman
-
Patent number: 8132173Abstract: A method for executing an application on a plurality of nodes, that includes synchronizing a first clock of a first node of the plurality of nodes and a second clock of a second node of the plurality of nodes, configuring a first hypervisor on the first node to execute a first application domain and a first privileged domain, configuring a second hypervisor on the second node to execute a second application domain and a second privileged domain, and executing the application in the first application domain and the second application domain, wherein the first application domain and the second application domain execute semi-synchronously and the first privileged domain and the second privileged domain execute semi-synchronously.Type: GrantFiled: October 31, 2007Date of Patent: March 6, 2012Assignee: Oracle America, Inc.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
-
Patent number: 8117243Abstract: 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: GrantFiled: February 21, 2008Date of Patent: February 14, 2012Assignee: Oracle America, Inc.Inventors: Christopher A. Vick, Michael H. Paleczny, Olaf Manczak
-
Patent number: 7979869Abstract: 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: GrantFiled: October 31, 2007Date of Patent: July 12, 2011Assignee: Oracle America, Inc.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
-
Patent number: 7917710Abstract: 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: GrantFiled: June 5, 2006Date of Patent: March 29, 2011Assignee: Oracle America, Inc.Inventors: Jay R. Freeman, Christopher A. Vick, Olaf Manczak, Michael H. Paleczny, Phyllis E. Gustafson
-
Patent number: 7827381Abstract: 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: GrantFiled: June 5, 2006Date of Patent: November 2, 2010Assignee: Oracle America, Inc.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny, Jay R. Freeman, Phyllis E. Gustafson
-
Patent number: 7822941Abstract: 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: GrantFiled: June 5, 2006Date of Patent: October 26, 2010Assignee: Oracle America, Inc.Inventors: Christopher A. Vick, Michael H. Paleczny, Olaf Manczak, Jay R. Freeman, Phyllis E. Gustafson
-
Patent number: 7823141Abstract: 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: GrantFiled: September 30, 2005Date of Patent: October 26, 2010Assignee: Oracle America, Inc.Inventors: Phyllis E. Gustafson, Michael H. Paleczny, Christopher A. Vick, Olaf Manczak, Jay R. Freeman, Yuguang Wu
-
Patent number: 7805409Abstract: 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: GrantFiled: February 21, 2008Date of Patent: September 28, 2010Assignee: Oracle America, Inc.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny
-
Patent number: 7797329Abstract: 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: GrantFiled: June 9, 2006Date of Patent: September 14, 2010Assignee: Oracle America Inc.Inventors: Miguel Angel Lujan Moreno, Phyllis E. Gustafson, Michael H. Paleczny, Christopher A. Vick, Jay R. Freeman, Olaf Manczak
-
Patent number: 7752417Abstract: 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: GrantFiled: June 5, 2006Date of Patent: July 6, 2010Assignee: Oracle America, Inc.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny, Jay R. Freeman, Phyllis E. Gustafson
-
Publication number: 20090292887Abstract: A method and apparatus for preserving contents of a volatile memory when a main (e.g., AC) power source is disconnected. The apparatus comprises flash memory, a controller for writing to the flash memory and a temporary power source. The temporary power source may be a relatively low power battery or supercapacitor. The apparatus is removably attached to a computing device (e.g., via a USB port). When main power of the device is disconnected, the temporary power source provides power for the apparatus, the volatile memory containing data to be safeguarded, and sufficient processing resources to transfer the data. For example, an auxiliary processor may be powered (instead of a relatively high-power processor) or just one core of a multi-core processor. Data are written to the apparatus and can be recovered when main power is reconnected. Or, the apparatus may be detached and attached to a different device for data recovery.Type: ApplicationFiled: May 22, 2008Publication date: November 26, 2009Applicant: SUN MICROSYSTEMS, INC.Inventors: Olaf W. Manczak, Michael H. Paleczny, Eric J. Kustarz
-
Publication number: 20090216811Abstract: 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: ApplicationFiled: February 21, 2008Publication date: August 27, 2009Applicant: SUN MICROSYSTEMS, INC.Inventors: Olaf Manczak, Christopher A. Vick, Michael H. Paleczny