Patents Examined by Brian Chew
  • Patent number: 8316366
    Abstract: Embodiments of the present invention provide a system that executes a transaction on a simultaneous speculative threading (SST) processor. In these embodiments, the processor includes a primary strand and a subordinate strand. Upon encountering a transaction with the primary strand while executing instructions non-transactionally, the processor checkpoints the primary strand and executes the transaction with the primary strand while continuing to non-transactionally execute deferred instructions with the subordinate strand. When the subordinate strand non-transactionally accesses a cache line during the transaction, the processor updates a record for the cache line to indicate the first strand ID. When the primary strand transactionally accesses a cache line during the transaction, the processor updates a record for the cache line to indicate a second strand ID.
    Type: Grant
    Filed: April 2, 2008
    Date of Patent: November 20, 2012
    Assignee: Oracle America, Inc.
    Inventors: Sherman H. Yip, Paul Caprioli, Marc Tremblay
  • Patent number: 8307366
    Abstract: A method and apparatus for processing a computing job in a distributed processing system. A control process sends a message to an instance of an application instructing the application instance to divide the job into assignments for processing by various application instances. The application instance divides the job in a way that is suitable for the particular application and sends, to the control process, assignment information that describes how the job is to be divided. The control process stores the assignment information and assigns each of the application instances a portion of the computing job based on the assignment information. After, the application instances have completed the assignments, the control process instructs one of the application instances to perform post-processing on the assignment results, based on the assignment information.
    Type: Grant
    Filed: March 30, 2006
    Date of Patent: November 6, 2012
    Assignee: Apple Inc.
    Inventors: Daniel Lipton, Samuel L. Weiss
  • Patent number: 8291409
    Abstract: Each of a plurality of virtual machines (VMs) is stored in a halted form in a library for retrieval from the library and re-starting on a host. Each re-started VM includes a plurality of software constructs, each of which is at least potentially non-current and requires a software update. To update a non-current VM, such VM is retrieved and re-started on a maintenance host, and each non-current software construct is allowed to be updated by obtaining the required software update from a corresponding update source as a patch. Alternatively, the VM is mounted to a computing device, constituent components of the mounted VM are examined to determine whether each software construct thereof is current, and each non-current software construct is updated by obtaining the required software update from the corresponding update source as a patch and applying same to the mounted VM.
    Type: Grant
    Filed: May 22, 2006
    Date of Patent: October 16, 2012
    Assignee: Microsoft Corporation
    Inventors: Eric J. Winner, Gilad Golan, Robert M. Fries
  • Patent number: 8291431
    Abstract: A thread scheduler includes context units for managing the execution of threads where each context unit includes a load reference counter for maintaining a counter value indicative of a difference between a number of data requests and a number of data returns associated with the particular context unit. A context controller of the thread context unit is configured to refrain from forwarding an instruction of a thread when the counter value is nonzero and the instruction includes a data dependency indicator indicating the instruction requires data returned by a previous instruction.
    Type: Grant
    Filed: August 29, 2006
    Date of Patent: October 16, 2012
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Guofang Jiao, Chun Yu
  • Patent number: 8291410
    Abstract: Embodiments of apparatuses, methods, and systems for controlling virtual machines based on activity state are disclosed. In one embodiment, an apparatus includes virtual machine entry logic and activity state evaluation logic. The virtual machine entry logic is to transfer control of the apparatus from a host to a guest. The activity state evaluation logic is to determine whether the activity state of the guest would be inactive upon receiving control.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: October 16, 2012
    Assignee: Intel Corporation
    Inventors: Steven M. Bennett, Andrew V. Anderson, Gilbert Neiger, Dion Rodgers, Barry E. Huntley, Lawrence O. Smith, Shashank Shekhar
  • Patent number: 8261279
    Abstract: An approach is provided that reserves a software lock for a waiting thread is presented. When a software lock is released by a first thread, a second thread that is waiting for the same resource controlled by the software lock is woken up. In addition, a reservation to the software lock is established for the second thread. After the reservation is established, if the lock is available and requested by a thread other than the second thread, the requesting thread is denied, added to the wait queue, and put to sleep. In addition, the reservation is cleared. After the reservation has been cleared, the lock will be granted to the next thread to request the lock.
    Type: Grant
    Filed: March 15, 2008
    Date of Patent: September 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: Jos Manuel Accapadi, Matthew Accapadi, Andrew Dunshea, Dirk Michel
  • Patent number: 8255907
    Abstract: According to one embodiment, a method for managing one or more virtual machines includes generating a request for at least one performance characteristic for at least one virtual machine, the at least one virtual machine being associated with a processing group, the processing group including one or more processing modules; receiving a response to the generated request for at least one performance characteristic for the at least one virtual machine; automatically determining whether an increase in the number of processing modules included in the processing group is required, by analyzing the received response to the generated request; and, in response to a determination that an increase in the number of processing modules included in the processing group is required, automatically adding at least one processing module to the processing group.
    Type: Grant
    Filed: January 20, 2012
    Date of Patent: August 28, 2012
    Assignee: CA, Inc.
    Inventors: Michael R. Chiaramonte, Kouros H. Esfahany, Karthik V. Narayanan
  • Patent number: 8245238
    Abstract: Mechanisms for distributing workload items to a plurality of dispatchers are provided. Each dispatcher is associated with a different computing system of a plurality of computing systems and workload items comprise workload items of a plurality of different workload types. A capacity value for each combination of workload type and computing system is obtained. For each combination of workload type and computing system, a queue length of a dispatcher associated with the corresponding computing system is obtained. For each combination of workload type and computing system, a dispatcher's relative share of incoming workloads is computed based on the queue length for the dispatcher associated with the computing system. In addition, incoming workload items are routed to a dispatcher, in the plurality of dispatchers, based on the calculated dispatcher's relative share for the dispatcher.
    Type: Grant
    Filed: February 23, 2009
    Date of Patent: August 14, 2012
    Assignee: International Business Machines Corporation
    Inventors: Meik Neubauer, Verena Schlinkmann, Robert Vaupel
  • Patent number: 8239860
    Abstract: Hypervisors are a new technology in the industry that enable multiple Operating Systems to co-exist on a single client. The use of a hypervisor provides a novel approach to thermal fan control. The hypervisor is able to fire up a maintenance Operating System on demand or have it running from the powering of the computer. The maintenance Operating System continuously monitors the status of the user Operating System and determines if the system is within the desired fan noise profile by measuring noise levels using means well known in the art. If the system seems to be drifting out of the desired profile, the maintenance Operating System will determine what type of action is required and choose the most appropriate course of action. These actions can be performed by either the maintenance Operating System or the hypervisor, as appropriate.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: August 7, 2012
    Assignee: Lenovo (Singapore) Pte. Ltd.
    Inventors: Howard J. Locker, Daryl Cromer, Randall S. Springfield, Rod D. Waltermann
  • Patent number: 8225314
    Abstract: A method and system for support of personal computing in a public computing infrastructure. The system including a plurality of computers to be used by patrons of a public computing infrastructure. The system also includes one or more servers coupled to the plurality of computers via a network connection. Each of the plurality of computers includes a virtual machine monitor. The virtual machine monitor has a plurality of base virtual machine images, each of the base virtual machine images is customized for a particular hardware and software configuration representing a specific computing environment. The virtual machine monitor launches one of the plurality of base virtual machine images, arbitrates access to system resources via the launched virtual machine image, stores the changes in the state of the virtual machine image when a user terminates a session, and returns a computer to an appropriate state to enable the user to resume the terminated session in subsequent sessions.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: July 17, 2012
    Assignee: Intel Corporation
    Inventors: Fernando C. M. Martins, Michael Kozuch
  • Patent number: 8225320
    Abstract: A computing method and system is presented that modifies a standard operating system utilizing two or more processing units to execute continuous processing tasks; such as processing or generating continuous audio, video or other types of data. One of the processors is tasked with running the operating system while each processing unit is dedicated towards running a single continuous processing task. Communication is provided between both processors enabling the continuous processing task to utilize the operating system without being affected by any operating system scheduling requirements.
    Type: Grant
    Filed: August 23, 2007
    Date of Patent: July 17, 2012
    Assignee: Advanced Simulation Technology, Inc.
    Inventors: Manushantha (Manu) Sporny, Robert Kenneth Butterfield, Norton Kenneth James, Patrick Quinn Gaffney
  • Patent number: 8219993
    Abstract: A device, system, and method are directed towards managing power consumption in a computer system with one or more processing units, each processing unit executing one or more threads. Threads are characterized based on a cycles per instruction (CPI) characteristic of the thread. A clock frequency of each processing unit may be configured based on the CPI of each thread assigned to the processing unit. In a system wherein higher clock frequencies consume greater amounts of power, the CPI may be used to determine a desirable clock frequency. The CPI of each thread may also be used to assign threads to each processing unit, so that threads having similar characteristics are grouped together. Techniques for assigning threads and configuring processor frequency may be combined to affect performance and power consumption. Various specifications or factors may also be considered when scheduling threads or determining processor frequencies.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: July 10, 2012
    Assignee: Oracle America, Inc.
    Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
  • Patent number: 8214834
    Abstract: A system for asynchronous process sleep or wake management and corresponding methods thereof are described. The system comprises a sleep queue hash table, a process, and a first sleep object and a second sleep object. The first and second sleep objects each comprise a sleep queue and each of the first and second sleep objects are associated with the process. The system further comprises one or more kernel-space processes arranged to perform at least one of associating the first sleep object with the sleep queue hash table and designating the second sleep object to be used for sleeping the process.
    Type: Grant
    Filed: April 30, 2007
    Date of Patent: July 3, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Vasudevan Sangili, Chukwuma Valentine Akpuokwe, Swapneel Kekre
  • Patent number: 8214840
    Abstract: Nonlinear optimization is applied to resource allocation, as for example, buffer pool optimization in computer database software where only the marginal utility is known. The method for allocating resources comprises the steps of starting from an initial allocation, calculating the marginal utility of the allocation, calculating the constraint functions of the allocation, and applying this information to obtain a next allocation and repeating these steps until a stopping criteria is satisfied, in which case a locally optimal allocation is returned.
    Type: Grant
    Filed: July 16, 2008
    Date of Patent: July 3, 2012
    Assignee: International Business Machines Corporation
    Inventors: Chai Wah Wu, Yixin Diao
  • Patent number: 8214845
    Abstract: A network on chip (‘NOC’) that includes IP blocks, routers, memory communications controllers, and network interface controllers, each IP block adapted to the network by an application messaging interconnect including an inbox and an outbox, one or more of the IP blocks including computer processors supporting a plurality of threads, the NOC also including an inbox and outbox controller configured to set pointers to the inbox and outbox, respectively, that identify valid message data for a current thread; and software running in the current thread that, upon a context switch to a new thread, is configured to: save the pointer values for the current thread, and reset the pointer values to identify valid message data for the new thread, where the inbox and outbox controller are further configured to retain the valid message data for the current thread in the boxes until context switches again to the current thread.
    Type: Grant
    Filed: May 9, 2008
    Date of Patent: July 3, 2012
    Assignee: International Business Machines Corporation
    Inventors: Russell D. Hoover, Eric O. Mejdrich, Paul E. Schardt, Robert A. Shearer
  • Patent number: 8209682
    Abstract: A method comprises determining an amount of central processing unit (CPU) usage by a driver domain on behalf of a given virtual machine (VM) over a measurement period. The method further comprises determining a share of CPU to schedule for the given VM for a plurality of future scheduling intervals based at least in part on the determined amount of CPU usage by the driver domain on behalf of the given VM over the measurement period. The method further comprises scheduling the determined share of CPU access to the given VM for the plurality of future scheduling intervals.
    Type: Grant
    Filed: July 26, 2006
    Date of Patent: June 26, 2012
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ludmila Cherkasova, Diwaker Gupta, Robert D. Gardner
  • Patent number: 8209696
    Abstract: A method of processing a transaction request at a database load balancer. The method comprises receiving the transaction request, where the transaction request is comprised of one or more operations; analyzing the transaction request to determine the one or more operations; associating one or more database locks with each of the one or more operations; analyzing one or more of the database locks to determine the one or more sequence numbers associated with each of the one or more operations; and transmitting the one or more operations with the associated database locks and the sequence numbers to one or more databases servers accessible to the database load balancer.
    Type: Grant
    Filed: February 13, 2007
    Date of Patent: June 26, 2012
    Assignee: Teradata US, Inc.
    Inventors: Gregory Ferguson, Jeffrey Heisz, David Tung, Muhammad Mansoor Jamal, Ariff Kassam
  • Patent number: 8209699
    Abstract: A method for processing a transaction request at a database load balancer is disclosed.
    Type: Grant
    Filed: July 9, 2010
    Date of Patent: June 26, 2012
    Assignee: Teradata US, Inc.
    Inventors: Gregory Paul Ferguson, Jeffrey Maurice Heisz, Richard Ta-Min, Yi Wang, Branko Daljevic
  • Patent number: 8171481
    Abstract: The present invention proposes a scheduler, which is used to submit execution of jobs according to a predefined plan. Each job is defined by a corresponding descriptor. The descriptor specifies the resources to be used by the jobs (through their properties). In addition, for each resource the descriptor can also specify one or more relationships with other resources (defined by their properties as well). When the job must be submitted, the scheduler identifies the actual resources that possess the desired properties and that satisfy the desired relationships. For this purpose, the scheduler accesses a repository with stores information about the available resources and their relationships.
    Type: Grant
    Filed: November 29, 2005
    Date of Patent: May 1, 2012
    Assignee: International Business Machines Corporation
    Inventors: Fabio Benedetti, Jonathan Wagner
  • Patent number: 8151272
    Abstract: A method of balancing computer resources on a network of computers is provided employing a two-tier network architecture of at least one High Level Collector as a scheduler/load balancing server, and a plurality Low level Collectors which gather task data and execute instructions. Tasks are assigned priority and weight scores and sorted prior to assignment to Low Level Collectors. Also provided is a computer readable medium including instructions, wherein execution of the instructions by at least one computing device balances computer resources on a network of computers.
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: April 3, 2012
    Assignee: AT&T Intellectual Property I, LP
    Inventors: Nagaraj Sundaresan, Pamela A. Bogdan, Hema Gupta, Mary Hahola Rosell