Patents by Inventor Eric C. Saxe

Eric C. Saxe 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: 9280388
    Abstract: In general, the invention relates to a non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method. The method includes obtaining lock overhead times for a plurality of threads, generating a set of thread groups, wherein each of the plurality of threads is assigned to one of the plurality of thread groups based on the lock overhead times, allocating at least one core of a multi-core system to each of the plurality of thread groups, and assigning a time-quantum for each of the plurality of thread groups, wherein the time-quantum for each of the plurality of thread groups corresponds to an amount of time that threads in each of the plurality of thread groups can execute on the at least one allocated core.
    Type: Grant
    Filed: April 30, 2013
    Date of Patent: March 8, 2016
    Assignee: Oracle International Corporation
    Inventors: Darrin P. Johnson, Kishore Kumar Pusukuri, Eric C. Saxe
  • Publication number: 20140208330
    Abstract: In general, the invention relates to a non-transitory computer readable medium comprising instructions, which when executed by a processor perform a method. The method includes obtaining lock overhead times for a plurality of threads, generating a set of thread groups, wherein each of the plurality of threads is assigned to one of the plurality of thread groups based on the lock overhead times, allocating at least one core of a multi-core system to each of the plurality of thread groups, and assigning a time-quantum for each of the plurality of thread groups, wherein the time-quantum for each of the plurality of thread groups corresponds to an amount of time that threads in each of the plurality of thread groups can execute on the at least one allocated core.
    Type: Application
    Filed: April 30, 2013
    Publication date: July 24, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Kishore Kumar Pusukuri, Eric C. Saxe, Darrin P. Johnson
  • Patent number: 8762999
    Abstract: In general, embodiments of the invention relates to a method for conveying hardware resources from a host (OS) executing on a computer system. The method includes obtaining host hardware information by the host OS, wherein the host hardware information specifies a plurality of physical hardware components of the computer system, sending the host hardware information to a guest OS executing within the host OS, generating, by the guest OS, a resource request using the host hardware information, sending, by the guest OS, the resource request to the host OS, and in response to receiving the resource request, allocating, by the host OS, guest hardware resources, where the guest hardware resources include at least one of the physical hardware components in the resource request.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: June 24, 2014
    Assignee: Oracle America, Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe, Jonathan J. Chew
  • Patent number: 8683476
    Abstract: A system for dispatching a thread to a resource obtains a thread and utilization data for all resources. The system determines if there is a thread-resource affinity. The system uses thread-resource affinity to identify a resource and a timestamp for when the thread last completed executing on the resource. The system determines if the resource qualifies under a dispatch policy. The system uses utilization data to determine a timestamp for when the resource last transitioned to a not powered state. When the second timestamp precedes the first timestamp, the system dispatches the thread to the resource and generates a power management event. The system determines if the power management event satisfies a throttle policy. The system discards the power management event when throttle policy is unsatisfied and determines whether to adjust the current power state of the resource based on the power management event when throttle policy is satisfied.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: March 25, 2014
    Assignee: Oracle America, Inc.
    Inventors: Eric C. Saxe, Darrin P. Johnson, William D. Holler
  • Patent number: 8539494
    Abstract: A method for scheduling a new thread involves identifying a criticality level of the new thread, selecting a processor group according to the criticality level of the new thread and an existing assigned utilization level of the processor group to obtain a selected processor group, increasing an assigned utilization level of the selected processor group based on the new thread, and executing the new thread by the selected processor group.
    Type: Grant
    Filed: January 31, 2011
    Date of Patent: September 17, 2013
    Assignee: Oracle International Corporation
    Inventors: Eric C. Saxe, Rafael Vanoni Polanczyk, Jonathan J. Chew, Steven Sistare
  • Patent number: 8516503
    Abstract: A system for self-tuning hardware resources includes a processor, a hardware resource, an operating system (OS), a metric monitoring unit (MMU), and a configuration engine (CE). The OS determines: the hardware resource; a metric for monitoring the hardware resource; a hardware resource management policy for the hardware resource; and a primary and secondary sub-ranges for the metric. The OS sends a hardware resource management policy directive to the CE. The MMU monitors the hardware resource to obtain data for the metric. The CE receives the hardware resource management policy directive, determines the primary and secondary sub-ranges from the hardware resource management policy directive, obtains data for the metric from the MMU. When data is outside the primary sub-range and inside the secondary sub-range, the CE determines and executes a hardware resource optimization routine to bring hardware resource utilization into compliance with the primary sub-range.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: August 20, 2013
    Assignee: Oracle America, Inc.
    Inventors: Eric C. Saxe, Darrin P. Johnson
  • Patent number: 8381215
    Abstract: In general the invention relates to a system. The system includes processors each having a processing state. The system further includes a dispatcher operatively connected to the plurality of processors and configured to: receive a first thread to dispatch, select one of the processors to dispatch the thread to based on the processing state the processors and a power management policy, and dispatch the thread to the selected one of the plurality of processors.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: February 19, 2013
    Assignee: Oracle America, Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe, Bart Smaalders
  • Patent number: 8285692
    Abstract: A computer readable medium having software instructions that, when executed, perform a method for preserving data stored in a file system with a plurality of files. The method involves determining whether storage capacity of the file system has reached a threshold level, wherein the threshold level is stored in at least one of a plurality of size-reducing policies, obtaining a criterion from the at least one size-reducing policy, identifying a subset of the plurality of files that match the criterion, accessing metadata of each of the identified subset of files, wherein the metadata of each of the identified subset of files comprises at least one option for reducing a size of the file, and performing a size-reducing action to reduce a size of each of the identified subset of files based on the option for reducing the size of each of the identified subset of files and the criterion.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: October 9, 2012
    Assignee: Oracle America, Inc.
    Inventors: Darrin P. Johnson, William H. Moore, Eric C. Saxe
  • Patent number: 8261274
    Abstract: A computer readable storage medium including executable instructions for managing a task. Instructions include receiving a request. Instructions further include determining a task corresponding with the request using a request-to-task mapping. Instructions include obtaining a task entry corresponding with the task from a task store, where the task entry associates the task with an action and a predicate for performing the action. Instructions further include creating a task object in a task pool using the task entry. Instructions further include receiving an event notification at the task engine, where the event notification is associated with an event. Instructions further include determining whether the predicate for performing the action is satisfied by the event. Instructions further placing the task object in a task queue when the predicate for performing the action is satisfied by the event.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: September 4, 2012
    Assignee: Oracle America, Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe
  • Patent number: 8261275
    Abstract: A computer readable storage medium including executable instructions for heuristics-based task scheduling. Instructions include receiving a first event notification associated with a first event, where the first event is determined from the first event notification. Instructions further include determining whether a predicate for an action is satisfied by the first event, where the action predicate, the action, and an action parameter are associated with a task object in a task pool. Instructions further include obtaining the action parameter when the action predicate is satisfied by the first event, where a priority is assigned using a heuristics policy to the task object based on the action parameter. Instructions further include inserting the task object into a task queue using the assigned priority. The action associated with the task object is performed by an execution thread. The performance of the action is a second event associated with a second event notification.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: September 4, 2012
    Assignee: Oracle America, Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe
  • Publication number: 20120198461
    Abstract: A method for scheduling a new thread involves identifying a criticality level of the new thread, selecting a processor group according to the criticality level of the new thread and an existing assigned utilization level of the processor group to obtain a selected processor group, increasing an assigned utilization level of the selected processor group based on the new thread, and executing the new thread by the selected processor group.
    Type: Application
    Filed: January 31, 2011
    Publication date: August 2, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Eric C. Saxe, Rafael Vanoni Polanczyk, Jonathan J. Chew, Steven Sistare
  • Patent number: 8205100
    Abstract: A method for power managing hardware. The method includes determining hardware to power manage, sending a tracing request from a power management control to a tracing framework to obtain usage data of the hardware, and identifying a first probe to obtain first tracing data corresponding to the usage data in a first hardware control software component, where the first hardware control software is configured to interact with the hardware. The method further includes enabling the first probe, obtaining the first tracing data from the first probe, where the first tracing data is obtained when the first probe is encountered during execution of the first hardware control software, and modifying operation of the hardware using the first tracing data.
    Type: Grant
    Filed: June 19, 2008
    Date of Patent: June 19, 2012
    Assignee: Oracle America, Inc.
    Inventors: Eric C. Saxe, Darrin P. Johnson, Jonathan J. Chew
  • Patent number: 8135907
    Abstract: A method for wear level-based allocation in a storage pool. The method includes receiving a first request to write a first data item in a storage pool, where the storage pool includes a number of physical locations associated with the storage devices, and where each of the storage devices includes metadata regarding a level of wear of the storage device. The method further includes determining a first target physical location selected from the plurality of physical locations by using a wear-level selection policy and a wear cost for each of the storage devices, where the wear cost is determined based on a type of the storage device. The method further includes allocating a first data block to the first target physical location writing the first data block to the first target physical locations, wherein the first data block comprises a first portion of the first data item.
    Type: Grant
    Filed: June 30, 2008
    Date of Patent: March 13, 2012
    Assignee: Oracle America, Inc.
    Inventors: William H. Moore, Darrin P. Johnson, Eric C. Saxe
  • Publication number: 20110178997
    Abstract: A computer readable medium having software instructions that, when executed, perform a method for preserving data stored in a file system with a plurality of files. The method involves determining whether storage capacity of the file system has reached a threshold level, wherein the threshold level is stored in at least one of a plurality of size-reducing policies, obtaining a criterion from the at least one size-reducing policy, identifying a subset of the plurality of files that match the criterion, accessing metadata of each of the identified subset of files, wherein the metadata of each of the identified subset of files comprises at least one option for reducing a size of the file, and performing a size-reducing action to reduce a size of each of the identified subset of files based on the option for reducing the size of each of the identified subset of files and the criterion.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Darrin P. Johnson, William H. Moore, Eric C. Saxe
  • Publication number: 20110179424
    Abstract: A system for self-tuning hardware resources includes a processor, a hardware resource, an operating system (OS), a metric monitoring unit (MMU), and a configuration engine (CE). The OS determines: the hardware resource; a metric for monitoring the hardware resource; a hardware resource management policy for the hardware resource; and a primary and secondary sub-ranges for the metric. The OS sends a hardware resource management policy directive to the CE. The MMU monitors the hardware resource to obtain data for the metric. The CE receives the hardware resource management policy directive, determines the primary and secondary sub-ranges from the hardware resource management policy directive, obtains data for the metric from the MMU. When data is outside the primary sub-range and inside the secondary sub-range, the CE determines and executes a hardware resource optimization routine to bring hardware resource utilization into compliance with the primary sub-range.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Eric C. Saxe, Darrin P. Johnson
  • Patent number: 7979648
    Abstract: Methods and apparatus provide for a Dynamic Interleaver to modify the interleaving distribution spanning physical memory modules. Specifically, dynamic interleaving provides the ability to increase the number of interleaved physical memory modules when a current interleaved group of memory locations is experiencing heavy use. By increasing the number of interleaved memory locations, a system can make optimal use of memory by allowing more parallel accesses to physical memory during the period of heavy utilization. However, if the current interleaved group of memory locations experience low use, the Dynamic Interleaver can choose to interleave across fewer physical memory modules and apply power management techniques to those memory locations that are no longer being accessed. Prior to “re-interleaving” interleaved memory locations, the Dynamic Interleaver migrates data out of the current interleaved memory locations.
    Type: Grant
    Filed: May 30, 2008
    Date of Patent: July 12, 2011
    Assignee: Oracle America, Inc.
    Inventors: Eric C. Saxe, Sherry Q. Moore, Darrin P. Johnson
  • Patent number: 7894463
    Abstract: One embodiment of the present invention provides a system that facilitates improved resource allocation in a network. During operation, the system determines one or more metrics value for a node based on a characteristic of the node and assigns nodes within the network to access groups based on each node's characteristic-metric value and a grouping policy. The system further constructs a logical hierarchy of access groups based on the characteristic-metric values of the nodes within each access group. Additionally, the system allows a node to forward traffic to a next-hop node identified within an access group on a logical hierarchy level, thereby facilitating better resource allocation in the network.
    Type: Grant
    Filed: November 21, 2006
    Date of Patent: February 22, 2011
    Assignee: Oracle America, Inc.
    Inventors: Samita Chakrabarti, Darrin P. Johnson, Eric C. Saxe
  • Patent number: 7882319
    Abstract: A method for memory management that includes receiving a request for memory space, identifying a first memory module from a plurality of memory modules based on a first memory power management policy, wherein the first memory power management policy specifies how to allocate memory space in the plurality of memory modules to satisfy a power consumption criteria, and allocating the memory space on the first memory module.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: February 1, 2011
    Assignee: Oracle America Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe, Sherry Q. Moore
  • Publication number: 20100333097
    Abstract: A computer readable storage medium including executable instructions for managing a task. Instructions include receiving a request. Instructions further include determining a task corresponding with the request using a request-to-task mapping. Instructions include obtaining a task entry corresponding with the task from a task store, where the task entry associates the task with an action and a predicate for performing the action. Instructions further include creating a task object in a task pool using the task entry. Instructions further include receiving an event notification at the task engine, where the event notification is associated with an event. Instructions further include determining whether the predicate for performing the action is satisfied by the event. Instructions further placing the task object in a task queue when the predicate for performing the action is satisfied by the event.
    Type: Application
    Filed: June 29, 2009
    Publication date: December 30, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Darrin P. Johnson, Eric C. Saxe
  • Publication number: 20100333113
    Abstract: A computer readable storage medium including executable instructions for heuristics-based task scheduling. Instructions include receiving a first event notification associated with a first event, where the first event is determined from the first event notification. Instructions further include determining whether a predicate for an action is satisfied by the first event, where the action predicate, the action, and an action parameter are associated with a task object in a task pool. Instructions further include obtaining the action parameter when the action predicate is satisfied by the first event, where a priority is assigned using a heuristics policy to the task object based on the action parameter. Instructions further include inserting the task object into a task queue using the assigned priority. The action associated with the task object is performed by an execution thread. The performance of the action is a second event associated with a second event notification.
    Type: Application
    Filed: June 29, 2009
    Publication date: December 30, 2010
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin P. Johnson, Eric C. Saxe