Patents Examined by Hiren Patel
  • Patent number: 9401885
    Abstract: A data push service method and system are provided. The service data push method includes: providing a device with data push information regarding service data to be pushed to at least one device; and pushing the service data to the device when receiving a data push service request from the at least one device. Accordingly, the server does not need to maintain and manage information of the at least one device.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: July 26, 2016
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Sang-chul Hwang, Won-joo Park
  • Patent number: 9400686
    Abstract: A multiprocessor computer system and method for use therein are provided for assigning processes to processor nodes. The system can determine a first pair of processes and a second pair of processes, each process of the first pair of processes executing on different nodes and each process of the second pair of processes executing on different nodes. The system can determine a first priority value of the first pair of processes, based at least in part on a first resource access rate of the first pair of processes; and determine a second priority value of the second pair of processes, based at least in part on a second resource access rate of the second pair of processes. The system can determine the first priority value is greater than the second priority value; and determine to reassign a first process of the first pair of processes to a first node, wherein a second process of the first pair of processes is executing on the first node.
    Type: Grant
    Filed: January 15, 2016
    Date of Patent: July 26, 2016
    Assignee: International Business Machines Corporation
    Inventors: Neil Anthony Campbell, Chaitanya Mangla
  • Patent number: 9396030
    Abstract: One embodiment comprises a hierarchical heap allocator system. The system comprises a system-level allocator for monitoring run-time resource usage information for an application having multiple application threads. The system further comprises a process-level allocator for dynamically balancing resources between the application threads based on the run-time resource usage information. The system further comprises multiple thread-level allocators. Each thread-level allocator facilitates resource allocation and resource deallocation for a corresponding application thread.
    Type: Grant
    Filed: October 22, 2013
    Date of Patent: July 19, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jilong Kuang, Daniel G. Waddington, Chen Tian
  • Patent number: 9384053
    Abstract: A state evaluation function value generation unit 131 generates a state evaluation function value for each operating state based on a state/task-set correspondence table indicating a list of an operating state of a system including a plurality of processor-cores and correspondence of a task set to be operated in each operating state, and a task set parameter indicating a characteristic of each task constituting the task set. An integrated evaluation function value generation unit 132 generates an integrated evaluation function value in which the state evaluation function value of each operating state is integrated. An optimal allocation search unit 133 optimizes allocation of a task to be allocated to each of the plurality of processor-cores based on the integrated evaluation function value.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: July 5, 2016
    Assignee: NEC CORPORATION
    Inventor: Noriaki Suzuki
  • Patent number: 9373074
    Abstract: Certain aspects of the present disclosure provide techniques for time management and scheduling of synchronous neural processing on a cluster of processing nodes. A slip (or offset) may be introduced between processing nodes of a distributed processing system formed by a plurality of interconnected processing nodes, to enable faster nodes to continue processing without waiting for slower nodes to catch up. In certain aspects, a processing node, after completing each processing step, may check for received completion packets and apply a defined constraint to determine whether it may start processing a subsequent step or not.
    Type: Grant
    Filed: October 9, 2012
    Date of Patent: June 21, 2016
    Assignee: QUALCOMM Incorporated
    Inventors: Jeffrey A. Levin, Venkat Rangan, Robert J. Vachon
  • Patent number: 9329881
    Abstract: Methods, systems, and computer-readable storage media for providing on-demand data services. In some implementations, actions include receiving a request for execution of a data services job, the data services job including interactions between at least one of a plurality of applications hosted on a cloud platform and a plurality of application components within an application hosted on the cloud platform, each application including one or more application schemas, each application schema only being accessible by a respective application component, in response to the request, retrieving the data services job from a job repository, scheduling execution of the data services job by a virtual machine (VM) of a plurality of VMs, the VM being stateless and providing interaction between the at least one of the plurality of applications and the plurality of application components, and executing the data service job using the VM.
    Type: Grant
    Filed: April 23, 2013
    Date of Patent: May 3, 2016
    Assignee: SAP SE
    Inventors: Tony O'Donnell, Paul Sheedy
  • Patent number: 9317328
    Abstract: Accepting a job having a job size representing a number or quantity of processors; computing an expected size, and a standard deviation in size, for the accepted job; adding the expected size to the standard deviation in size to determine a sum; comparing the sum to a number or quantity of available clusters at each of a plurality of non-leaf nodes of a tree representing a high-performance computing environment; and when the number or quantity of available clusters is more than the sum at a sub-tree of the tree and, going down one level further in the sub-tree, the number of available clusters is less than the sum, selecting the sub-tree for the accepted job such that the accepted job is placed on one or more clusters associated with the selected sub-tree.
    Type: Grant
    Filed: September 18, 2013
    Date of Patent: April 19, 2016
    Assignee: International Business Machines Corporation
    Inventors: Hani Talal Jamjoom, Dinesh Kumar, Zon-Yin Shae
  • Patent number: 9317309
    Abstract: A virtualized environment allocation system comprises a computer system having a plurality of virtualized stacks, the computer system configured to have a plurality of input/output (I/O) devices coupled thereto, and an allocation controller configured to allocate at least one of the plurality of I/O devices to a first of the plurality of virtualized stacks and at least another of the plurality of I/O devices to a second of the plurality of virtualized stacks.
    Type: Grant
    Filed: December 28, 2006
    Date of Patent: April 19, 2016
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Craig A. Walrath
  • Patent number: 9311146
    Abstract: Accepting a job having a job size representing a number or quantity of processors; computing an expected size, and a standard deviation in size, for the accepted job; adding the expected size to the standard deviation in size to determine a sum; comparing the sum to a number or quantity of available clusters at each of a plurality of non-leaf nodes of a tree representing a high-performance computing environment; and when the number or quantity of available clusters is more than the sum at a sub-tree of the tree and, going down one level further in the sub-tree, the number of available clusters is less than the sum, selecting the sub-tree for the accepted job such that the accepted job is placed on one or more clusters associated with the selected sub-tree.
    Type: Grant
    Filed: May 24, 2013
    Date of Patent: April 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Hani Talal Jamjoom, Dinesh Kumar, Zon-Yin Shae
  • Patent number: 9298438
    Abstract: Application code is analyzed to determine if a hardware library could accelerate its execution. In particular, application code can be analyzed to identify calls to application programming interfaces (APIs) or other functions that have a hardware library implementation. The code can be analyzed to identify the frequency of such calls. Information from the hardware library can indicate characteristics of the library, such as its size, power consumption and FPGA resource usage. Information about the execution pattern of the application code also can be useful. This information, along with information about other concurrent processes using the FPGA resources, can be used to select a hardware library to implement functions called in the application code.
    Type: Grant
    Filed: June 20, 2012
    Date of Patent: March 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Edmund B. Nightingale, Brian A. LaMacchia
  • Patent number: 9280391
    Abstract: Priorities of an application and/or processes associated with an application executing on a computer is determined according to user-specific usage patterns of the application and stored for subsequent use, analysis and distribution.
    Type: Grant
    Filed: August 23, 2010
    Date of Patent: March 8, 2016
    Assignee: AVG Netherlands B.V.
    Inventor: Yuval Ben-Itzhak
  • Patent number: 9280381
    Abstract: A computer program product, apparatus and method comprising representing a worldwide job tracker, and representing worldwide task trackers; the worldwide task trackers communicatively coupled to the worldwide job tracker; wherein the worldwide job tracker is enabled to execute a worldwide job by distributing the job across the world wide task trackers.
    Type: Grant
    Filed: June 28, 2012
    Date of Patent: March 8, 2016
    Assignee: EMC Corporation
    Inventors: Patricia G. S. Florissi, Sudhir Vijendra
  • Patent number: 9274836
    Abstract: A method for allocating parallel, independent, data tasks includes receiving data tasks, each of the data tasks having a penalty function, determining a generic ordering of the data tasks according to the penalty functions, wherein the generic ordering includes solving an aggregate objective function of the penalty functions, the method further including determining a schedule of the data tasks given the generic ordering, which packs the data tasks to be performed.
    Type: Grant
    Filed: October 21, 2014
    Date of Patent: March 1, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kirsten W. Hildrum, Rohit M. Khandekar, Vibhore Kumar, Sujay S. Parekh, Deepak Rajan, Joel L. Wolf, Kun-Lung Wu
  • Patent number: 9274918
    Abstract: A method, system and product for predicting impact of workload migration. The method comprising: obtaining a utilization pattern of a workload that is being executed on a first platform; generating a synthetic workload that is configured to have the utilization pattern when executed on the first platform; executing the synthetic workload on a second platform; and identifying a change in performance between execution of the synthetic workload on the first platform and between execution of the synthetic workload on the second platform in order to provide a prediction of an impact of migrating the workload from the first platform to the second platform.
    Type: Grant
    Filed: July 25, 2013
    Date of Patent: March 1, 2016
    Assignee: International Business Machines Corporation
    Inventors: Andre Heilper, Sharon Keidar-Barner, Sergey Novikov
  • Patent number: 9262181
    Abstract: A computer program product for process allocation is configured to determine a set of two or more processes of a plurality of processes that share at least one resource in a multi-node system, wherein each of the set of two or more processes is running on different nodes of the multi-node system. The program code can be configured to calculate a value based on a weight of the resource and frequency of access of the resource by each process. The program code can be configured to determine a pair of processes of the set of processes having a greatest sum of calculated values by resource. The program code can be configured to allocate a first process of the pair of processes from a first node in the multi-node system to a second node in the multi-node system that hosts a second process of the pair of processes.
    Type: Grant
    Filed: February 15, 2012
    Date of Patent: February 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Neil Anthony Campbell, Chaitanya Mangla
  • Patent number: 9262218
    Abstract: Embodiments of an event-driven resource management technique may enable the management of cluster resources at a sub-computer level (e.g., at the thread level) and the decomposition of jobs at an atomic (task) level. A job queue may request a resource for a job from a resource manager, which may locate a resource in a resource list and grant the resource to the job queue. After the resource is granted, the job queue sends the job to the resource, on which the job may be partitioned into tasks and from which additional resources may be requested from the resource manager. The resource manager may locate additional resources in the list and grant the resources to the resource. The resource sends the tasks to the granted resources for execution. As resources complete their tasks, the resource manager is informed so that the status of the resources in the list can be updated.
    Type: Grant
    Filed: January 27, 2014
    Date of Patent: February 16, 2016
    Assignee: Adobe Systems Incorporated
    Inventors: Sandford P. Bostic, Stephen Paul Reiser, Andrey J. Bigney
  • Patent number: 9256448
    Abstract: Embodiments include determining a set of two or more processes that share at least one of a plurality of resources in a multi-node system in which the processes are running, wherein each of the set of two or more processes is running one different nodes of the multi-node system. For each combination of the set of processes and the resources, a value is calculated based, at least in part, on a weight of the resource and frequency of access of the resource by each process of the set of processes. The pair of processes having a greatest sum of calculated values by resource is determined. A first process of the pair of processes is allocated from a first node in the multi-node system to a second node in the multi-node system that hoses a second process of the pair of processes.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: February 9, 2016
    Assignee: International Business Machines Corporation
    Inventors: Neil A. Campbell, Chaitanya Mangla
  • Patent number: 9250952
    Abstract: There is provided a method to schedule execution of a plurality of batch jobs by a computer system. The method includes: reading one or more constraints that constrain the execution of the plurality of batch jobs by the computer system and a current load on the computer system; grouping the plurality of batch jobs into at least one run frequency that includes at least one batch job; setting the at least one run frequency to a first run frequency; computing a load generated by each batch job in the first run frequency on the computer system based on each batch job's start time; and determining an optimized start time for each batch job in the first run frequency that meets the one or more constraints and that distributes each batch job's load on the computer system using each batch job's computed load and the current load.
    Type: Grant
    Filed: November 11, 2013
    Date of Patent: February 2, 2016
    Assignee: eBay Inc.
    Inventor: Josep M. Ferrandiz
  • Patent number: 9229781
    Abstract: A system and method for allocating and/or utilizing spare computing system (e.g., personal computing system) resources. Various aspects of the present invention may, for example and without limitation, provide a system and/or method that communicates incentive information with computing systems, and/or representatives thereof, regarding the allocation of computing resources for utilization by other computing systems and/or incentives that may be associated with such utilization. Various aspects of the present invention may, for example, allocate one or more resources of a computing system for utilization by another computing system based, at least in part, on such communicated incentive information.
    Type: Grant
    Filed: May 12, 2008
    Date of Patent: January 5, 2016
    Assignee: Broadcom Corporation
    Inventors: Jeyhan Karaoguz, Arya Behzad, Mark Buer, Alexander G. MacInnis, Thomas Quigley, John Walley
  • Patent number: 9223615
    Abstract: Provided is a method and apparatus for measuring a progress or a performance of an application program in a computing environment using a micro-architecture. An apparatus for thread progress tracking may select a thread included in an application program, may determine, based on a predetermined criterion, whether an execution scheme for at least one instruction included in the thread corresponds to an effective execution scheme in which an execution time is uniform or a non-effective execution scheme in which a delayed cycle is included and the execution time is non-uniform, and may generate an effective progress index (EPI) by accumulating an execution time of an instruction executed by the effective execution scheme other than an instruction executed by the non-effective execution scheme.
    Type: Grant
    Filed: August 17, 2012
    Date of Patent: December 29, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Young Sam Shin, Seung Won Lee, Min Young Son, Shi Hwa Lee