Patents Examined by Charles Swift
  • Patent number: 9880931
    Abstract: An application programming interface (API) may include an initiator configured to initiate a guest safepoint via an action represented in a guest language executed on a virtual machine, provide a safepoint action to a group of guest threads, synchronize the guest threads such that each guest thread in the group executes the safepoint action once all guest threads in the group enter the guest safepoint, and synchronize the guest threads such that each guest thread in the group exits the guest safepoint once all guest threads in the group complete execution of the safepoint action. The API may also include a guest configured to determine whether a guest safepoint is initiated, enter the guest safepoint, execute the safepoint action while execution of a guest action is paused, and exit the guest safepoint and resume execution of the guest action once the safepoint action completes execution.
    Type: Grant
    Filed: November 4, 2015
    Date of Patent: January 30, 2018
    Assignee: Oracle International Corporation
    Inventors: Chris Seaton, Benoit Daloze
  • Patent number: 9875144
    Abstract: Aspects include identifying physical resources in a computer environment, allocating virtual resources to the physical resources, and aggregating the virtual resources, as a virtual resource pool, at a per virtual machine level in the computer environment. Other aspects include evaluating the virtual resources in the virtual resource pool against resource pool domain constraints, and determining a resource allocation adjustment as a function of the evaluating. The resource allocation adjustment is configured to achieve a maximum specified virtual machine density.
    Type: Grant
    Filed: October 22, 2015
    Date of Patent: January 23, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Simon J. Kofkin-Hansen, Richard T. Lemelin, Setareh Mehrabanzad, Shawn P. Raess
  • Patent number: 9864640
    Abstract: Aspects include identifying physical resources in a computer environment, allocating virtual resources to the physical resources, and aggregating the virtual resources, as a virtual resource pool, at a per virtual machine level in the computer environment. Other aspects include evaluating the virtual resources in the virtual resource pool against resource pool domain constraints, and determining a resource allocation adjustment as a function of the evaluating. The resource allocation adjustment is configured to achieve a maximum specified virtual machine density.
    Type: Grant
    Filed: August 14, 2015
    Date of Patent: January 9, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Simon J. Kofkin-Hansen, Richard T. Lemelin, Setareh Mehrabanzad, Shawn P. Raess
  • Patent number: 9836317
    Abstract: A controller device is connected to a group of virtual machines and one or more network devices in a network. The controller device is configured to store policies relating to when to start up and when to shut down the virtual machines based on users logging into the network, users logging out of the network, users attempting to access the plurality of virtual machines, and/or particular types of traffic in the network; receive network activity data from a network device of the one or more network devices in the network; identify, based on the network activity data and the policies, a virtual machine, of the group of virtual machines, to start up or shut down; and cause the virtual machine to start up or shut down.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: December 5, 2017
    Assignee: Juniper Networks, Inc.
    Inventor: Deepak Swaminathan
  • Patent number: 9830242
    Abstract: The present invention provides a loading calculation method and a loading calculation system for a processor in an electronic device is disclosed. The loading calculation system comprises: a detecting unit, a determining unit, a generating unit, and a calculating unit. The loading calculation method comprises: detecting a plurality of switching actions of the processor to generate a detecting result; determining a time interval to separate the detecting result to generate a plurality of time periods; generating a log file of scheduling according to the detecting result and the plurality of time periods; utilizing the processor for enabling the log file of scheduling; and calculating the processor loading according to the log file of scheduling.
    Type: Grant
    Filed: October 13, 2015
    Date of Patent: November 28, 2017
    Assignee: MEDIATEK INC.
    Inventors: Ran-How Chen, Ming-Fang Tsai, Chih-Jen Tsai, Hsin-Hsien Huang
  • Patent number: 9823947
    Abstract: System, method and computer program product 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, the resource pool state information record including utilization state information of the FPGA in the resource pool; and updating the resource pool state information record based on the result of the resource allocation operation. FPGA resource allocation can be implemented with the adoption of the technical solution of the application.
    Type: Grant
    Filed: June 28, 2016
    Date of Patent: November 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Xiaotao Chang, Fei Chen, Kun Wang, Yu Zhang, Jia Zou
  • Patent number: 9817690
    Abstract: Methods, computer program products, and systems are presented. The methods include, for instance: predictively provisioning, by one or more processor, cloud computing resources of a cloud computing environment for at least one virtual machine; and initializing, by the one or more processor, the at least one virtual machine with the provisioned cloud computing resources of the cloud computing environment. In one embodiment, the predictively provisioning may include: receiving historical utilization information of multiple virtual machines of the cloud computing environment, the multiple virtual machines having similar characteristics to the at least one virtual machine; and determining the cloud computing resources for the at least one virtual machine using the historical utilization information of the multiple virtual machines.
    Type: Grant
    Filed: September 11, 2015
    Date of Patent: November 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Zhong Qi Feng, Jiang Tao Li, Yi Bin Wang, Chao Yu, Qing Feng Zhang
  • Patent number: 9817699
    Abstract: Virtualized applications are autoscaled by receiving performance data in time-series format from a running virtualized application, computationally analyzing the performance data to determine a pattern therein, and extending the performance data to a time in the future based at least on the determined pattern. The extended performance data is analyzed to determine if resources allocated to the virtualized application are under-utilized or over-utilized, and a schedule for re-allocating resources to the virtualized application based at least in part on a result of the analysis of the extended performance data is created.
    Type: Grant
    Filed: March 12, 2014
    Date of Patent: November 14, 2017
    Assignee: ElasticBox Inc.
    Inventors: Slater Stich, Alberto Arias Maestro, Ravi Srivatsav
  • Patent number: 9811377
    Abstract: A method for executing multithreaded instructions grouped into blocks. The method includes receiving an incoming instruction sequence using a global front end; grouping the instructions to form instruction blocks, wherein the instructions of the instruction blocks are interleaved with multiple threads; scheduling the instructions of the instruction block to execute in accordance with the multiple threads; and tracking execution of the multiple threads to enforce fairness in an execution pipeline.
    Type: Grant
    Filed: March 14, 2014
    Date of Patent: November 7, 2017
    Assignee: INTEL CORPORATION
    Inventor: Mohammad Abdallah
  • Patent number: 9811434
    Abstract: Systems and methods are described for monitoring code execution within an on-demand code execution environment or other distributed code execution environment. The distributed, asynchronous nature of such environment can make determining the interactions between code executions difficult relative to traditional, non-distributed systems. The present disclosure enables the interrelations between code executions to be monitored by injecting monitoring information into the calls between those code executions. The monitoring information may be propagated through calls, such that a “path” or “trace” of code executions and calls can be determined. Data generated based on the monitoring information can be used to generate a profile for a set of code, so that a developer or other user may easily debug or optimize execution of the code.
    Type: Grant
    Filed: December 16, 2015
    Date of Patent: November 7, 2017
    Assignee: Amazon Technologies, Inc.
    Inventor: Timothy Allen Wagner
  • Patent number: 9804880
    Abstract: A system for a reservation for a multi-machine application can include a server virtualization engine configured to create a mixed reservation of information technology resources from a cluster of hosts including a virtual machine host and a container host. The system can include a cloud management engine configured to create a multi-machine blueprint from the mixed reservation including a virtual machine template, a container image, and a definition of networking. The cloud management engine can be configured to deploy the multi-machine blueprint to provide a multi-machine application.
    Type: Grant
    Filed: August 10, 2015
    Date of Patent: October 31, 2017
    Assignee: VMware, Inc.
    Inventors: Jivan Madtha, Amit Ratnapal Sangodkar, Makarand Ramesh Gawade, Nafisa Mandliwala
  • Patent number: 9798528
    Abstract: A solution for cooperative data prefetching that enables software control of a memory-side data prefetch and/or a processor-side data prefetch is provided. In one embodiment, the invention provides a solution for generating an application, in which access to application data for the application is improved (e.g., optimized) in program code for the application. In particular, a push request, for performing a memory-side data prefetch of the application data, and a prefetch request, for performing a processor-side data prefetch, are added to the program code. The memory-side data prefetch results in the application data being copied from a first data store to a second data store that is faster than the first data store while the processor-side data prefetch results in the application data being copied from the second data store to a third data store that is faster than the second data store.
    Type: Grant
    Filed: September 13, 2006
    Date of Patent: October 24, 2017
    Assignee: International Business Machines Corporation
    Inventors: Yaoqing Gao, Gheorghe C. Cascaval, Allan H. Kielstra, Robert B. Tremaine, Michael E. Wazlowski, Lixin Zhang
  • Patent number: 9781015
    Abstract: Examples disclosed herein relate to making memory of compute and expansion blade devices available for use by an operating system (OS). Examples include making available, for use by an OS, a compute logical processor of the compute blade device, identified memory of the compute blade device, and identified memory of an expansion blade device. Examples further include making the expansion logical processor unavailable to the OS.
    Type: Grant
    Filed: March 28, 2013
    Date of Patent: October 3, 2017
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Derek Schumacher, Sylvia K Myer, Russ W Herrell
  • Patent number: 9766951
    Abstract: A method for synchronizing multiple processing units, comprises the steps of configuring a synchronization register in a target processing unit so that its content is overwritten only by bits that are set in words written in the synchronization register; assigning a distinct bit position of the synchronization register to each processing unit; and executing a program thread in each processing unit. When the program thread of a current processing unit reaches a synchronization point, the method comprises writing in the synchronization register of the target processing unit a word in which the bit position assigned to the current processing unit is set, and suspending the program thread. When all the bits assigned to the processing units are set in the synchronization register, the suspended program threads are resumed.
    Type: Grant
    Filed: May 26, 2015
    Date of Patent: September 19, 2017
    Assignee: KALRAY
    Inventors: Thomas Champseix, Benoît Dupont De Dinechin, Pierre Guironnet De Massas
  • Patent number: 9766912
    Abstract: Embodiments are disclosed for launching a virtual machine and then configuring the virtual machine after launch. Metadata configuration information can be stored in conjunction with virtual machine image configuration data. The virtual machine image configuration data can be used to launch a virtual machine. The metadata configuration information can then be used to further configure the virtual machine after launch. Both the metadata configuration information and the virtual machine image configuration data can be stored in the same virtual machine registration record.
    Type: Grant
    Filed: November 27, 2012
    Date of Patent: September 19, 2017
    Assignee: Amazon Technologies, Inc.
    Inventor: Andrew James Jorgensen
  • Patent number: 9747112
    Abstract: A graph-based program specification includes components, at least one having at least one input port for receiving a collection of data elements, or at least one collection type output port for providing a collection of data elements. Executing a program specified by the graph-based program specification at a computing node, includes: receiving data elements of a first collection into a first storage in a first order via a link connected to a collection type output port of a first component and an input port of a second component, and invoking a plurality of instances of a task corresponding to the second component to process data elements of the first collection, including retrieving the data elements from the first storage in a second order, without blocking invocation of any of the instances until after any particular instance completes processing one or more data elements.
    Type: Grant
    Filed: September 2, 2015
    Date of Patent: August 29, 2017
    Assignee: Ab Initio Technology, LLC
    Inventors: Craig W. Stanfill, Richard Shapiro, Stephen A. Kukolich, Joseph Skeffington Wholey, III
  • Patent number: 9733971
    Abstract: Placement of virtual machines on physical hosts is based on a preferred host list that may be generated from preferred host identifiers to more efficiently utilize system resources and serve the needs of different workloads. A host identifiers mechanism allows a system administrator to select preferred host identifiers for each virtual machine or a group of virtual machines. The host identifiers mechanism in conjunction with an optimizer periodically adjusts the placement of virtual machines according to the preferred host identifiers and consistent with optimization policies. Further, the preferred host identifiers may include a time component so that the preferred host resources can be periodically updated and can dynamically change over time.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: August 15, 2017
    Assignee: International Business Machines Corporation
    Inventors: Joseph W. Cropper, Jennifer D. Mulsow, Taylor D. Peoples
  • Patent number: 9733978
    Abstract: Various embodiments include methods for data management in a computing device utilizing a plurality of processing units. Embodiment methods may include generating a data transfer heuristic model based on measurements from a plurality of sample data transfers between a plurality of data storage units. The generated data transfer heuristic model may be used to calculate data transfer costs for each of a plurality of tasks. The calculated data transfer costs may be used to schedule execution of the plurality of tasks in an execution order on selected ones of the plurality of processing units. The data transfer heuristic model may be updated based on measurements of data transfers occurring during the executions of the plurality of tasks (e.g., time, power consumption, etc.). Code executing on the processing units may indicate to a runtime when certain data blocks are no longer needed and thus may be evicted and/or pre-fetched for others.
    Type: Grant
    Filed: August 27, 2015
    Date of Patent: August 15, 2017
    Assignee: QUALCOMM Incorporated
    Inventors: Dario Suarez Gracia, Tushar Kumar, Aravind Natarajan, Ravish Hastantram, Gheorghe Calin Cascaval, Han Zhao
  • Patent number: 9733970
    Abstract: Placement of virtual machines on physical hosts is based on a preferred host list that may be generated from preferred host identifiers to more efficiently utilize system resources and serve the needs of different workloads. A host identifiers mechanism allows a system administrator to select preferred host identifiers for each virtual machine or a group of virtual machines. The host identifiers mechanism in conjunction with an optimizer periodically adjusts the placement of virtual machines according to the preferred host identifiers and consistent with optimization policies. Further, the preferred host identifiers may include a time component so that the preferred host resources can be periodically updated and can dynamically change over time.
    Type: Grant
    Filed: August 21, 2015
    Date of Patent: August 15, 2017
    Assignee: International Business Machines Corporation
    Inventors: Joseph W. Cropper, Jennifer D. Mulsow, Taylor D. Peoples
  • Patent number: 9720712
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes identifying an assigned device that is assigned to a guest operating system of a virtual machine. The method includes transmitting, to the guest operating system, a request indicating a failover event. The failover event involves a switch from the assigned device to an emulated device. The assigned device and the emulated device share a backend physical device. The method further includes receiving an acknowledgement message from the guest operating system that it is ready to switch from the assigned device to the emulated device. The method further includes preventing access to the assigned device by the guest operating system. The method further includes associating a device driver of a hypervisor with the backend physical device and providing a notification to the guest operating system that the emulated device is available for use.
    Type: Grant
    Filed: June 3, 2013
    Date of Patent: August 1, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael Tsirkin