Patents Examined by Benjamin Wu
  • Patent number: 9632833
    Abstract: Systems and methods provide a processing task load and type adaptive manycore processor architecture, enabling flexible and efficient information processing. The architecture enables executing time variable sets of information processing tasks of differing types on their assigned processing cores of matching types. This involves: for successive core allocation periods (CAPs), selecting specific processing tasks for execution on the cores of the manycore processor for a next CAP based at least in part on core capacity demand expressions associated with the processing tasks hosted on the processor, assigning the selected tasks for execution at cores of the processor for the next CAP so as to maximize the number of processor cores whose assigned tasks for the present and next CAP are associated with same core type, and reconfiguring the cores so that a type of each core in said array matches a type of its assigned task on the next CAP.
    Type: Grant
    Filed: March 11, 2016
    Date of Patent: April 25, 2017
    Assignee: Throughputer, Inc.
    Inventor: Mark Henrik Sandstrom
  • Patent number: 9632834
    Abstract: One embodiment sets forth a method for assigning priorities to kernels launched by a software application and executed within a stream of work on a parallel processing subsystem. First, the software application assigns a desired priority to a stream using a call included in the API. The API receives this call and passes it to a driver. The driver maps the desired priority to an appropriate device priority associated with the parallel processing subsystem. Subsequently, if the software application launches a particular kernel within the stream, then the driver assigns the device priority associated with the stream to the kernel before adding the kernel to the stream for execution on the parallel processing subsystem. Advantageously, by assigning priorities to streams and, subsequently, strategically launching kernels within the prioritized streams, an application developer may fine-tune the software application to increase the overall processing efficiency of the software application.
    Type: Grant
    Filed: May 17, 2013
    Date of Patent: April 25, 2017
    Assignee: NVIDIA Corporation
    Inventors: Vivek Kini, Forrest Iandola, Timothy James Murray
  • Patent number: 9632826
    Abstract: A task is marked as dependent upon a preceding task. The task that is attempted to be taken for execution from a head of a pending task queue that is marked is deferred. The deferred task is removed from the pending task queue and placed in a deferred task queue. The deferred task is reinserted back into the pending task queue for execution upon determining that the preceding tasks are completed.
    Type: Grant
    Filed: February 10, 2015
    Date of Patent: April 25, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ron Edelstein, Yariv Bachar, Oded Sonin
  • Patent number: 9626204
    Abstract: Approaches for executing untrusted software on a client without compromising the client using micro-virtualization to execute untrusted software in isolated contexts. In response to receiving a request to perform an action, an isolated environment (such as but not limited to a virtual machine) is instantiated without receiving an explicit user instruction to do so. To instantiate the isolated environment, one or more templates for use in instantiating the isolated environment are identified using a policy. The one or more templates describe isolated environment characteristics for different types of activity. After the isolated environment has been instantiated using one or more identified templates, the action may be performed in the isolated environment.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: April 18, 2017
    Assignee: Bromium, Inc.
    Inventors: Gaurav Banga, Kiran Bondalapati, Ian Pratt, Vikram Kapoor
  • Patent number: 9626285
    Abstract: There is provided with a resource allocation apparatus. An attribute indicating a requirement for a data storage resource to be allocated to a plurality of data flows to which the attribute is provided beforehand is acquired. A data flow relationship graph indicating a relationship between the plurality of data flows which potentially lead to access contention in the data storage resource is generated. Based on the attribute and the data flow relationship graph, allocation of the data storage resource to the plurality of data flows is determined such that no access contention occurs.
    Type: Grant
    Filed: August 9, 2013
    Date of Patent: April 18, 2017
    Assignee: Canon Kabushiki Kaisha
    Inventors: Hideo Noro, Masakazu Matsugu, Takahisa Yamamoto
  • Patent number: 9609048
    Abstract: Selective resource migration is disclosed. A computer system includes physical memory and a plurality of physical processors. Each of the processors has one or more cores and each core instantiates one or more virtual processors that executes program code. Each core is configured to invoke a hyper-kernel on its hosting physical processor when the core cannot access a portion of the physical memory needed by the core. The hyper-kernel selectively moves the needed memory closer to a location accessible by the physical processor or remaps the virtual processor to another core.
    Type: Grant
    Filed: October 9, 2015
    Date of Patent: March 28, 2017
    Assignee: TidalScale, Inc.
    Inventor: Isaac R. Nassi
  • Patent number: 9600325
    Abstract: Aspects of the present invention are directed at providing safe and efficient ways for a program to perform a one-time initialization of a data item in a multi-threaded environment. In accordance with one embodiment, a method is provided that allows a program to perform a synchronized initialization of a data item that may be accessed by multiple threads. More specifically, the method includes receiving a request to initialize the data item from a current thread. In response to receiving the request, the method determines whether the current thread is the first thread to attempt to initialize the data item. If the current thread is the first thread to attempt to initialize the data item, the method enforces mutual exclusion and blocks other attempts to initialize the data item made by concurrent threads. Then, the current thread is allowed to execute program code provided by the program to initialize the data item.
    Type: Grant
    Filed: May 12, 2011
    Date of Patent: March 21, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Arun Kishan, Neill M. Clift
  • Patent number: 9594593
    Abstract: A method and apparatus for improving application processing speed in a digital device which improve application processing speed for a digital device running in an embedded environment where processor performance may not be sufficiently powerful by detecting an execution request for an application, identifying a group to which the requested application belongs, among preset groups with different priorities and scheduling the requested application according to the priority assigned to the identified group, and executing the requested application based on the scheduling result.
    Type: Grant
    Filed: October 8, 2015
    Date of Patent: March 14, 2017
    Assignee: Samsung Electronics Co., Ltd
    Inventors: Guensik Lim, Sangbum Suh, Hyunjin Choi
  • Patent number: 9588795
    Abstract: Various aspects of the disclosure relate to monitoring of resource usage in a virtualized environment, including usage of a physical processor that executes a virtual machine or an application of the virtualized environment. By monitoring physical computing resources (e.g., by number and type) that are used to execute a virtual machine or an application of the virtualized environment, a user may, for example, be informed as to when physical computing resources are used in excess or less than the limits set by the license. In some embodiments, additional actions may be taken to update the license to better satisfy the user's resource requirements or reduce the amount paid annually for ongoing technical services. To inform a user, or form the basis for the additional actions, a report may be generated that includes data describing how a virtual machine or application executed on the physical computing resources.
    Type: Grant
    Filed: November 24, 2014
    Date of Patent: March 7, 2017
    Assignee: Aspen Timber LLC
    Inventors: Kenneth L. McWilliams, Prasad Siddabathuni
  • Patent number: 9582338
    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 used 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: October 15, 2014
    Date of Patent: February 28, 2017
    Assignee: International Business Machines Corporation
    Inventors: Meik Neubauer, Verena Steinmetz, Robert Vaupel
  • Patent number: 9582316
    Abstract: Aspects of the present invention are directed at providing safe and efficient ways for a program to perform a one-time initialization of a data item in a multi-threaded environment. In accordance with one embodiment, a method is provided that allows a program to perform a synchronized initialization of a data item that may be accessed by multiple threads. More specifically, the method includes receiving a request to initialize the data item from a current thread. In response to receiving the request, the method determines whether the current thread is the first thread to attempt to initialize the data item. If the current thread is the first thread to attempt to initialize the data item, the method enforces mutual exclusion and blocks other attempts to initialize the data item made by concurrent threads. Then, the current thread is allowed to execute program code provided by the program to initialize the data item.
    Type: Grant
    Filed: May 12, 2011
    Date of Patent: February 28, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Arun Kishan, Neill M Clift
  • Patent number: 9582305
    Abstract: Novel tools and techniques are provided for implementing a virtualization congestion control framework. In one aspect, a method might include a hypervisor assigning application resources of a virtual machine (“VM”), which operates on a host computing system, with maximum allowable settings to each software application to be executed on the VM. The hypervisor or an orchestrator might determine a running mode of the host computing system, and might execute the software application(s) using running mode attributes of the determined running mode. The hypervisor or the orchestrator might monitor application resource utilization, and, based on a determination that application resource utilization has changed, might modify allocation of application resources to each of the software application(s).
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: February 28, 2017
    Assignee: CenturyLink Intellectual Property LLC
    Inventor: Michael K. Bugenhagen
  • Patent number: 9575777
    Abstract: There is provided an information processing device including a selection unit configured to, on the basis of first identification information included in a processing instruction and corresponding to a service, and first association information in which the first identification information is associated with second identification information for identifying an application, select an application to perform the service corresponding to the processing instruction, and an execution unit configured to cause the selected application to perform a process in accordance with the processing instruction.
    Type: Grant
    Filed: January 31, 2012
    Date of Patent: February 21, 2017
    Assignee: Sony Corporation
    Inventor: Yasuo Takeuchi
  • Patent number: 9575806
    Abstract: A method of an aspect includes running a plurality of threads on a plurality of thread processors. Memory accesses, of a thread of the plurality that is running on a first thread processor of the plurality, are monitored to both a first memory through a first memory controller and a second memory through a second memory controller. A second thread processor of the plurality is selected for a thread based on the monitoring of the memory accesses of the thread to both the first memory and the second memory. Installation of the thread, for which the second thread processor was selected, is initiated on the second thread processor. Other methods, apparatus, and systems are also disclosed.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: February 21, 2017
    Assignee: Intel Corporation
    Inventors: Ren Wang, Ling Ma, Ahmad Samih, Zhaojuan Bian
  • Patent number: 9575691
    Abstract: According to a method for scheduling a user request in a distributed resource system, an apparatus, and a system that are provided by embodiments of the present invention, in a Tn+1 period, an Sd acquires, from a coordinator Gk of a user z, a resource Cz(Tn) that is consumed by a user z request in a Tn period, and the Sd schedules, according to ?z, Cz(Tn), Cz,d(Tn), and Nz,d(Tn), a Piz,d by using a scheduling algorithm. The user z request can be scheduled without depending on a user agent. In addition, the Sd schedules, according to ?z, Cz(Tn), Cz,d(Tn), and Nz,d(Tn), the Piz,d by using the scheduling algorithm, thereby implementing global scheduling on the user z request and ensuring a performance requirement of the user z.
    Type: Grant
    Filed: November 4, 2015
    Date of Patent: February 21, 2017
    Assignee: Huawei Technologies Co., Ltd.
    Inventor: Huarong Zeng
  • Patent number: 9569138
    Abstract: In one approach, a computer mounts a computing device to a target instance, where the computing device stores one or more virtual disks of a source instance, and wherein the target instance includes one or more local disks. The computer detects a disk layout of the source instance. The computer matches the disk layout of the source instance to a disk layout of the target instance. The computer attaches the one or more virtual disks of the source instance to the corresponding one or more local disks of the target instance, where the one or more virtual disks of the source instance are attached as one or more flat files. The computer copies the one or more flat files to the corresponding one or more local disks of the target instance.
    Type: Grant
    Filed: June 15, 2015
    Date of Patent: February 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Florian D. Graf, Xiao Bi Liang, Shao Yang Yu, Chi Zhang
  • Patent number: 9569239
    Abstract: A method includes loading a virtual machine snapshot of a virtual machine from a first computing device to a mobile device. The virtual machine runs on the first computing device and the virtual machine snapshot includes a COW file and an image file with files from the virtual machine. The method includes launching the virtual machine on a second computing device, where the second computing device reads the virtual machine snapshot from the mobile device and the second computing device records changes to a copy of the COW file stored on the second computing device while the second computing device runs the virtual machine. The method includes terminating a virtual machine session running on the second computing device and copying the COW file to the mobile device. The COW file includes changes to the virtual machine snapshot from execution of the virtual machine on the second computing device.
    Type: Grant
    Filed: February 10, 2016
    Date of Patent: February 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Dirk Herrendoerfer
  • Patent number: 9563459
    Abstract: A diagnostic virtual machine having access to resources of an infrastructure as a service cloud may be created. A user device may be provided access to the diagnostic virtual machine. In some embodiments, the diagnostic virtual machine may be configured to monitor a cluster of hypervisors, and the resources of the infrastructure as a service cloud which the diagnostic virtual machine has access to may include physical resources of the infrastructure as a service cloud that are associated with the cluster of hypervisors.
    Type: Grant
    Filed: March 17, 2015
    Date of Patent: February 7, 2017
    Assignee: Citrix Systems, Inc.
    Inventors: Chiradeep Vittal, Alex Huang, Kevin Kluge
  • Patent number: 9563542
    Abstract: A system, method, and computer program product are provided for identifying, quantifying, and reducing wasted resources in software testing. In use, a first duration of time over which at least one software testing environment was not available for at least one first software testing project is determined. At least one wasted resource amount associated with the first software testing project is calculated, the wasted resource amount resulting from the software testing environment not being available during the first duration of time. A potential saving in software testing effort associated with this project and/or at least one second software testing project is automatically calculated, based, at least partially, on the cause of the unavailability of the testing environment, on the determined first duration of time and the calculated wasted resource amount, the potential saving being achievable by making the software testing environment available for the second software testing project.
    Type: Grant
    Filed: January 30, 2014
    Date of Patent: February 7, 2017
    Assignees: Amdocs Development Limited, Amdocs Software Systems Limited
    Inventor: Talmon Ben-Cnaan
  • Patent number: 9563454
    Abstract: A VM loading module loads a virtual machine snapshot of a virtual machine from a first computing device to a mobile device. The virtual machine runs on the first computing device and the virtual machine snapshot includes a copy-on-write (“COW”) file and an image file of files from the virtual machine. A VM launch module launches the virtual machine on a second computing device, which reads the virtual machine snapshot from the mobile device and the second computing device records changes to the COW file stored on the second computing device while running the virtual machine. A session termination module terminates a session of execution of the virtual machine running on the second computing device and copies the COW file from the second computing device to the mobile device. The COW file includes changes to the virtual machine snapshot from the virtual machine on the second computing device.
    Type: Grant
    Filed: February 3, 2015
    Date of Patent: February 7, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Dirk Herrendoerfer