Patents Examined by Charles Swift
  • Patent number: 9430287
    Abstract: A method includes assigning a thread performance counter to threads being created in the computing environment, the thread performance counter measuring a number of cache misses for a corresponding thread. The method also includes calculating a self-thread value S as a change in the thread performance counter of a given thread during a predetermined period, calculating an other-thread value O as a sum of changes in all the thread performance counters during the predetermined period minus S, and calculating an estimation adjustment value associated with a first probability that a second set of cache misses for the corresponding thread replace a cache area currently occupied by the corresponding thread. The method also includes estimating a cache occupancy for the thread based on a previous occupancy for the thread, S, O, and the estimation adjustment value, and assigning computing environment resources to the thread based on the estimated cache occupancy.
    Type: Grant
    Filed: March 13, 2015
    Date of Patent: August 30, 2016
    Assignee: VMware, Inc.
    Inventor: Puneet Zaroo
  • Patent number: 9424058
    Abstract: A virtual machine template is created. The template includes a file system containing files to be deduplicated across multiple virtual machines. For each file to deduplicate, a hash of the content is generated and stored in association with the file. The content of the file is moved from the virtual machine template to a file store. The entry for the file in the store is indexed according to the hash. Multiple virtual machines are created by cloning the template, each containing a copy of its file system and the hashes stored locally in association with the corresponding deduplicated files. File access operations are monitored on each one of the multiple virtual machines, and attempts to access deduplicated file are detected. In response, the corresponding locally stored hash is used to retrieve the content of the file from the central file store, and provide it to the virtual machine.
    Type: Grant
    Filed: September 23, 2013
    Date of Patent: August 23, 2016
    Assignee: Symantec Corporation
    Inventors: Scott G Wasson, Alex Klimov, Jacob J Vos
  • Patent number: 9417914
    Abstract: A scheduler in a process of a computer system allows an external execution context to execute on a processing resource allocated to the scheduler. The scheduler provides control of the processing resource to the external execution context. The scheduler registers for a notification of an exit event associated with the external execution context. In response to receiving the notification that the exit event has occurred, the scheduler regains control of the processing resource and causes a task associated with an execution context controlled by the scheduler to be executed by the processing resource.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Paul Ringseth, Genevieve Fernandes
  • Patent number: 9411661
    Abstract: A transaction processing system is operated. A first resource is locked as a shared resource by a first task executing on a computing device. The first task attempts to lock a second resource as an exclusive resource. The occurrence of a deadlock is ascertained. A second task that wishes to use the locked first resource is identified. A current position of the first task with respect to the first resource is stored. The lock on the first resource is removed. The second task is prompted to use the first resource. The first task locks the first resource as the shared resource. The first task is repositioned with respect to first resource according to the stored position. The first task locks the second resource as the exclusive resource. The first task is performed.
    Type: Grant
    Filed: April 6, 2010
    Date of Patent: August 9, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Martin W. J. Cocks, Dai C. Middleton, Colin R. Penfold, Helen M. Witter
  • Patent number: 9411626
    Abstract: A method, system and computer program product for optimizing runtime performance of an application workload. Network input/output (I/O) operations between virtual machines of a pattern of virtual machines servicing the application workload in a private cloud are measured over a period of time and depicted in a histogram. A score is generated for each virtual machine or group of virtual machines in the pattern of virtual machines based on which range in the ranges of I/O operations per seconds (IOPS) depicted in the histogram has the largest sample size and the number of virtual machines in the same pattern that are allowed to be in the public cloud. In this manner, the runtime performance of the application workload is improved by minimizing the network input/output communications between the two cloud environments by migrating those virtual machine(s) or group(s) of virtual machines with a score that exceeds a threshold value.
    Type: Grant
    Filed: June 18, 2014
    Date of Patent: August 9, 2016
    Assignee: International Business Machines Corporation
    Inventors: Rahul Ghosh, Giribabu V. Paramkusham, Aaron J. Quirk, Upendra Sharma
  • Patent number: 9405575
    Abstract: This disclosure pertains to systems, methods, and computer readable media for utilizing an unused hardware thread of a multi-core microcontroller of a graphical processing unit (GPU) to gather sampling data of commands being executed by the GPU. The multi-core microcontroller may include two or more hardware threads and may be responsible for managing the scheduling of commands on the GPU. In one embodiment, the firmware code of the multi-core microcontroller which is responsible for running the GPU may run entirely on one hardware thread of the microcontroller, while the second hardware thread is kept in a dormant state. This second hardware thread may be used for gathering sampling data of the commands run on the GPU. The sampling data can be used to assist developers identify bottlenecks and to help them optimize their software programs.
    Type: Grant
    Filed: September 9, 2013
    Date of Patent: August 2, 2016
    Assignee: Apple Inc.
    Inventors: Zachary Burka, Serge Metral
  • Patent number: 9396024
    Abstract: Methods, computer programs, and systems for managing thread performance in a computing environment based on cache occupancy are provided. In one embodiment, a computer implemented method assigns a thread performance counter to threads being created to measure the number of cache misses for the threads. The thread performance counter is deduced in one embodiment based on performance counters associated with each core in a processor. The method further calculates a self-thread value as the change in the thread performance counter of a given thread during a predetermined period, and an other-thread value as the sum of all the changes in the thread performance counters for all threads except for the given thread. Further, the method estimates a cache occupancy for the given thread based on a previous occupancy for the given thread, and the calculated shelf-thread and other-thread values. The estimated cache occupancy is used to assign computing environment resources to the given thread.
    Type: Grant
    Filed: October 14, 2008
    Date of Patent: July 19, 2016
    Assignee: VMware, Inc.
    Inventors: Richard West, Puneet Zaroo, Carl A. Waldspurger, Xiao Zhang, Haoqiang Zheng
  • Patent number: 9389887
    Abstract: A system for managing de-duplication of data in a virtualization environment, that includes a plurality of nodes, wherein the plurality of nodes implements a virtualization environment, a plurality of primary storage devices that are accessed by virtual machines in the virtualization environment, and wherein data undergoes de-duplication in the virtualization environment such that an instruction to store a data item that is issued by a virtual machine is not duplicatively stored if the data item is already stored in the plurality of the primary storage devices.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: July 12, 2016
    Assignee: NUTANIX, INC.
    Inventors: Mohit Aron, Dheeraj Pandey, Ajeet Singh
  • Patent number: 9389888
    Abstract: A remote proxy in a virtualization layer domain establishes a plurality of logical channels via a network connection. The virtualization layer domain is part of a host system in which a set of virtual machines of a virtual machine domain run on a virtualization layer of the virtualization layer domain. The remote proxy receives first information from a first logical channel in plurality of logical channels and second information from a second logical channel in plurality of logical channels through the network connection. Then, the remote proxy determines that the virtual machine domain should process the first information and forwards the first information from the virtualization layer domain to a virtual machine in the set of virtual machines in the virtual machine domain. Also, the remote proxy determines that the virtualization layer domain should process the second information and forwards the second information to the virtualization layer for processing.
    Type: Grant
    Filed: May 15, 2014
    Date of Patent: July 12, 2016
    Assignee: VMware, Inc.
    Inventors: Matthew David Ginzton, Jeremy Sugerman, Ramesh Dharan
  • Patent number: 9389915
    Abstract: The present invention relates to technical solutions for allocating FPGA resources in a resource pool. In an embodiment, the technical solution includes: receiving resource request for FPGA resources in the resource pool from a client; performing resource allocation operation based on resource pool state information record in response to the resource request, said resource pool state information record including utilization state information of the FPGA in said resource pool; and updating said resource pool state information record based on the result of said resource allocation operation. FPGA resource allocation can be implemented with the adoption of the technical solution of the application.
    Type: Grant
    Filed: June 26, 2013
    Date of Patent: July 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Xiaotao Chang, Fei Chen, Kun Wang, Yu Zhang, Jia Zou
  • Patent number: 9372719
    Abstract: An information processing device 10 of an exemplary embodiment of the present invention includes: a process function information storing means 12 for storing performance information representing performance of respective process functions executing predetermined processes, respectively; and a procedure correcting means 11 for correcting a procedure composed of the process functions so that a performance requirement representing performance required for the whole procedure is satisfied based on the performance information of the respective process functions.
    Type: Grant
    Filed: November 2, 2011
    Date of Patent: June 21, 2016
    Assignee: NEC CORPORATION
    Inventor: Takeshi Arikuma
  • Patent number: 9367362
    Abstract: Administration of virtual machine affinity in a cloud computing environment, where the cloud computing environment includes a plurality of virtual machines (‘VMs’), the VMs composed of modules of automated computing machinery installed upon cloud computers disposed within a data center, the cloud computing environment also including a cloud operating system and a data center administration server operably coupled to the VMs, including installing, by the cloud operating system on at least one VM, an indicator that at least two of the VMs have an affinity requirement to be installed upon separate cloud computers; communicating, by at least one of the VMs, the affinity requirement to the data center administration server; and moving by the data center administration server the VMs having the affinity requirement to separate cloud computers in the cloud computing environment.
    Type: Grant
    Filed: April 1, 2010
    Date of Patent: June 14, 2016
    Assignee: International Business Machines Corporation
    Inventor: Eric R. Kern
  • Patent number: 9348654
    Abstract: Embodiments directed toward a method, and a system. A method can be directed toward deciding whether to accept a virtual machine migration on a host. The method can include receiving a request to host a migrated virtual machine. The method can include determining if the host is overcommitted. The method can include selecting a low priority virtual machine in response to the host being overcommitted. The method can include determining if a resource for the low priority virtual machine can be reduced to accommodate the migrated virtual machine. The method can include reducing the resources for the low priority virtual machine in response to the resources being able to be reduced. The method can include accepting the request to host the migrated virtual machine in response to the reduction of the resources.
    Type: Grant
    Filed: November 19, 2013
    Date of Patent: May 24, 2016
    Assignee: International Business Machines Corporation
    Inventors: Jason L. Anderson, Nimesh Bhatia, Gregory J. Boss, Animesh Singh
  • Patent number: 9329880
    Abstract: Methods, systems and computer program products for fast interrupt register access in hypervisors are provided. A computer-implemented method may include maintaining a counter associated with a register to track set interrupt vectors in a virtual machine, updating the counter in response to an interrupt event in the virtual machine, and examining the counter to determine when an interrupt vector is set.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: May 3, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Ronen Hod
  • Patent number: 9317258
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to model validation for modeling tools and provide a novel and non-obvious method, system and computer program product for dynamic validation of models using constraint targets. In an embodiment of the invention, a method for dynamic validation of models using constraint targets can be provided. The method can include defining constraint targets on object validation in a model within a MDD tool to object instances affected by a change in another object in the model, detecting a change in an object instance in the model in the MDD tool, and validating only other object instances in the model that are affected by the detected change.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: April 19, 2016
    Assignee: International Business Machines Corporation
    Inventors: David A. Cummings, Maneesh Goyal
  • Patent number: 9317338
    Abstract: An application manager receives or defines a service specification for a first application that defines a set of required computing resources that are necessary to run each application component of the first application. A resource supply manager in communication with the application manager manages a plurality of computing resources in a shared computing environment.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: April 19, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wai Ming Wong, Michael C. Hui
  • Patent number: 9311125
    Abstract: An apparatus is provided for supporting a plurality of operating systems by single hardware, wherein the plurality of operating systems include a server operating system to provide an integrated user interfaces for applications running on the plurality of operating systems, and at least one client operating system to provide a user interface for applications running on the client operating system through the server operating system under the control of the server operating system.
    Type: Grant
    Filed: May 21, 2009
    Date of Patent: April 12, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Sang-dok Mo, Sung-min Lee, Sang-bum Suh
  • Patent number: 9304819
    Abstract: An embodiment relates generally to a method of providing computer services. The method includes receiving at least one user-specified requirements for a computer system instantiation and developing a configuration file base on the at least one user-specified requirements. The method also includes instantiating a virtual machine based on the configuration file and providing the virtual machine as the instantiation of the computer system for remote access.
    Type: Grant
    Filed: May 29, 2007
    Date of Patent: April 5, 2016
    Assignee: Red Hat, Inc.
    Inventor: Lee Faus
  • Patent number: 9304821
    Abstract: In some examples, a distributed system may include a plurality of nodes with a file stored in a file system across the plurality of nodes. One of the nodes may receive a request for location data corresponding to a part of the file. For instance, the location data may be included in a mapping file, and the request may specify an offset of the mapping file. The mapping file may include locations of nodes storing parts of the file in the file system across the plurality of nodes, and the mapping file may have a plurality of parts corresponding to the parts of the file. In response to the request, the node may access the mapping file and send location data corresponding to the offset of the mapping file. The location data may indicate at least one of the nodes storing the part of the file.
    Type: Grant
    Filed: November 17, 2014
    Date of Patent: April 5, 2016
    Assignee: HITACHI DATA SYSTEMS ENGINEERING UK LIMITED
    Inventors: David Stephen Hartman, Thomas Andrew Glass, Shantanu Sinha, Ben Bernhard, Oleg Kiselev, James Mattly
  • Patent number: 9298502
    Abstract: Technologies are generally described for pausing virtual machines using API signaling. In some examples, active threads in a VM may be listed on a registered thread list. When the active threads in the VM perform external API calls, they may provide wait messages, which may then be compared with the registered thread list to determine if the VM should be paused. Subsequently, one or more replies to the external API calls may be received and used to determine if the VM should be reactivated.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: March 29, 2016
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Ezekiel Kruglick