Patents Examined by Melissa Alfred
  • Patent number: 9483288
    Abstract: A method, system, and/or computer program product runs a virtual appliance in a distributed computing system. One or more predefined parameters, indicative of respective operating characteristics of the virtual appliance while running, are monitored. Time dependent values of the one or more predefined parameters are collected during the monitoring time period. For each of the one or more predefined parameters, a metric value from the time-dependent values of the parameter is derived. The metric values are evaluated, based on the constraints. In response to a determination that at least one metric value is violating at least part of the constraints, a second set of resources is allocated to the virtual appliance and a second set of virtual machines are determined for deploying the virtual appliance, in order to satisfy the constraints.
    Type: Grant
    Filed: October 8, 2013
    Date of Patent: November 1, 2016
    Assignee: International Business Machines Corporation
    Inventors: Giuseppe Ciano, Francesca Curzi
  • Patent number: 9471358
    Abstract: In a method for provisioning a virtual machine, a processor rates a plurality of software images that include a first software image and a second software image. A processor provisions the virtual machine with the first software image in a first state and the second software image in a second state, wherein the second software image is rated higher than the first software image.
    Type: Grant
    Filed: September 23, 2013
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Ramesh K. Goel, Manish Gupta, Rambabu Parvatina, Gopal S. Pingali, Rajeev Puri
  • Patent number: 9465644
    Abstract: Embodiments of the present invention provide a set of algorithmic methods that can be used to select which partially and/or pre-provisioned virtual machines (VMs) should be used as a base platform to satisfy a new workload (e.g., provisioning) request received in a networked computing environment (e.g., a cloud computing environment). Specifically, when a workload request is received, a set (e.g., at last one) of software programs needed to process the workload request is identified. Then, a set of VMs is selected from a pool of pre-provisioned VMs having the set of software programs. In general, multiple methods and/or factors can be followed to select the set of VMs. Examples include a length of time to install the set of VMs, a probability of the set of VMs being in demand, and/or or a quantity of the set of VMs having the set of software programs. Once the set of VMs has been selected, the set of VMs may be installed, and the workload request can be processed using the set of software programs.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: October 11, 2016
    Assignee: International Business Machines Corporation
    Inventors: Jason L. Anderson, Gregory J. Boss, Jeffrey L. Coveyduc, Christopher W. Roach
  • Patent number: 9459908
    Abstract: A method, system and computer program product are provided for implementing dynamic configuration of a Single Root Input/Output Virtualization (SRIOV) virtual function in a virtualized system. A management function, a hypervisor, a hypervisor based PF device driver and a partition based virtual function (VF) device driver are used to implement usage based VF resizing. The management function periodically queries the SRIOV adapter for activity statistics for every assigned virtual function. The management function builds a usage heuristic based on these statistics and calculates VF resource usage based on these statistics. The usage information determines whether VF resources need to be scaled-up or scaled-down. A corresponding resize event is generated and send by the management function to both the hypervisor based PF device driver and partition based VF device driver. Both the PF and VF device drivers scale to the corresponding VF resource of the resize event.
    Type: Grant
    Filed: April 24, 2015
    Date of Patent: October 4, 2016
    Assignee: International Business Machines Corporation
    Inventors: Manu A. Anand, Charles S. Graham, Timothy J. Schimke
  • Patent number: 9459905
    Abstract: A method, system and computer program product are provided for implementing dynamic configuration of a Single Root Input/Output Virtualization (SRIOV) virtual function in a virtualized system. A management function, a hypervisor, a hypervisor based PF device driver and a partition based virtual function (VF) device driver are used to implement usage based VF resizing. The management function periodically queries the SRIOV adapter for activity statistics for every assigned virtual function. The management function builds a usage heuristic based on these statistics and calculates VF resource usage based on these statistics. The usage information determines whether VF resources need to be scaled-up or scaled-down. A corresponding resize event is generated and send by the management function to both the hypervisor based PF device driver and partition based VF device driver. Both the PF and VF device drivers scale to the corresponding VF resource of the resize event.
    Type: Grant
    Filed: December 16, 2014
    Date of Patent: October 4, 2016
    Assignee: International Business Machines Corporation
    Inventors: Manu A. Anand, Charles S. Graham, Timothy J. Schimke
  • Patent number: 9454395
    Abstract: A method is implemented by a computing device to provide traffic-aware virtual machine (VM) placement onto physical servers of a data center where the placement takes incremental VM job arrival and physical server heterogeneity into consideration. The method forms a graph including a new VM node, an existing VM node, and an edge between the nodes, where the edge is assigned a weight that represents a traffic demand. The method marks the existing VM node as belonging to one of the physical servers, adds dummy VM nodes to the graph, adds pseudo VM nodes to the graph, connects nodes belonging to a same physical server using an infinite weight pseudo edge, runs a balanced minimum k-cut problem algorithm on the graph to thereby divide the graph into sub-graphs, and maps the new VM to one of the physical servers based on the division of sub-graphs.
    Type: Grant
    Filed: December 30, 2014
    Date of Patent: September 27, 2016
    Assignee: Ericsson AB
    Inventors: Ying Zhang, Dan Li, Wu He
  • Patent number: 9448854
    Abstract: Exemplary method, system, and computer program product embodiments for full exploitation of parallel processors for data processing are provided. In one embodiment, by way of example only, a set of parallel processors is partitioned into disjoint subsets according to indices of the set of the parallel processors. The size of each of the disjoint subsets corresponds to a number of processors assigned to the processing of the data chunks at one of the layers. A transition function is devised from the indices of the set of the parallel processors at one time steps to the indices of the set of the parallel processors at a following time step.
    Type: Grant
    Filed: April 11, 2016
    Date of Patent: September 20, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Hirsch, Shmuel T. Klein, Yair Toaff
  • Patent number: 9436511
    Abstract: Exemplary method, system, and computer program product embodiments for full exploitation of parallel processors for data processing are provided. In one embodiment, by way of example only, a set of parallel processors is partitioned into disjoint subsets according to indices of the set of the parallel processors. The size of each of the disjoint subsets corresponds to a number of processors assigned to the processing of the data chunks at one of the layers. Each of the processors are assigned to different layers in different data chunks such that each of processors are busy and the data chunks are fully processed within a number of the time steps equal to the number of the layers. A transition function is devised from the indices of the set of the parallel processors at one time steps to the indices of the set of the parallel processors at a following time step.
    Type: Grant
    Filed: February 17, 2015
    Date of Patent: September 6, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Hirsch, Shmuel T. Klein, Yair Toaff
  • Patent number: 9417856
    Abstract: A method for obtaining accurate call path information in a mixed-mode environment where interpreted methods and non-interpreted methods can call one another is disclosed. In one embodiment, such a method includes generating an event and recording it in a buffer when an interpreted method calls an interpreted method. The method also generates an event and records it in the buffer when an interpreted method calls a non-interpreted method. The method further generates an event and records it in the buffer when a non-interpreted method calls an interpreted method. The method refrains from generating an event when a non-interpreted method calls a non-interpreted method. A corresponding apparatus and computer program product are also disclosed.
    Type: Grant
    Filed: March 15, 2012
    Date of Patent: August 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Graham A. Chapman, James I. Gartley, Daniel J. Heidinga, Vijay Sundaresan
  • Patent number: 9396027
    Abstract: For resource allocation of resources for a dual activity system, each of the dual activities may be started at a static quota and is allocated its respective static quota of resources, and determining which of the dual activities is a demanding dual activity. The resource boundary may be increased for a resource request for at least one of the dual activities until a resource request for an alternative one of the at least one of the dual activities is rejected. A reduced actual resource boundary for the demanding dual activity based on a multiplicative decrease of the dual activity's actual resource boundary is calculated, and the resource boundary for the at least one of the dual activities may be reduced, and a wait after decrease mode may be commenced until a current resource usage is one of less than and equal to the reduced resource boundary.
    Type: Grant
    Filed: February 26, 2014
    Date of Patent: July 19, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yariv Bachar, Ron Edelstein, Oded Sonin
  • Patent number: 9389843
    Abstract: A method for obtaining accurate call path information in a mixed-mode environment where interpreted methods and non-interpreted methods can call one another is disclosed. In one embodiment, such a method includes generating an event and recording it in a buffer when an interpreted method calls an interpreted method. The method also generates an event and records it in the buffer when an interpreted method calls a non-interpreted method. The method further generates an event and records it in the buffer when a non-interpreted method calls an interpreted method. The method refrains from generating an event when a non-interpreted method calls a non-interpreted method. A corresponding apparatus and computer program product are also disclosed.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: July 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Graham Alan Chapman, James Ian Andrew Gartley, Daniel Jonathan Heidinga, Vijay Sundaresan
  • Patent number: 9389911
    Abstract: Techniques are described for eliminating backpressure in a distributed system by changing the rate data flows through a processing element. Backpressure occurs when data throughput in a processing element begins to decrease, for example, if new processing elements are added to the operating chart or if the distributed system is required to process more data. Indicators of backpressure (current or future) may be monitored. Once current backpressure or potential backpressure is identified, the operator graph or data rates may be altered to alleviate the backpressure. For example, a processing element may reduce the data rates it sends to processing elements that are downstream in the operator graph, or processing elements and/or data paths may be eliminated. In one embodiment, processing elements and associate data paths may be prioritized so that more important execution paths are maintained.
    Type: Grant
    Filed: November 20, 2012
    Date of Patent: July 12, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Branson, Ryan K. Cradick, John M. Santosuosso
  • Patent number: 9383988
    Abstract: The system automatically creates an update from an old version to a new version despite the old version possibly being several version prior to the new version. There may be some increments in the version for which no change needs to be made to the application running on the client system, even though the code running on the host may have been updated. A graph of the versions is constructed based on the new version and old version. The updates for consecutive versions for which no format change is needed are collapsed into a single no operation update or combined into a single update with an update that requires an operation. Then the shortest path along the graph connecting the current version and new version is determined. The update steps along the shortest path are automatically combined into a single update, and then the update is performed.
    Type: Grant
    Filed: July 3, 2013
    Date of Patent: July 5, 2016
    Assignee: salesforce, inc.
    Inventor: Yuri Rychikhin
  • Patent number: 9354926
    Abstract: Various systems, processes, and products may be used to manage a processor. In particular implementations, managing a processor may include the ability to determine whether a thread is pausing for a short period of time and place a wait event for the thread in a queue based on a short thread pause occurring. Managing a processor may also include the ability to activate a delay thread that determines whether a wait time associated with the pause has expired and remove the wait event from the queue based on the wait time having expired.
    Type: Grant
    Filed: March 22, 2011
    Date of Patent: May 31, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bernard A. King-Smith, Bret R. Olszewski, Stephen Rees, Basu Vaidyanathan
  • Patent number: 9268556
    Abstract: An image forming apparatus which makes it possible to improve the ease and convenience of firmware update processing. The image forming apparatus includes storage units. The image forming apparatus identifies differential packages and acquires the differential packages from an update server. Then, the image forming apparatus acquires package information from the differential packages. Further, the image forming apparatus identifies storage units as installation destinations where the differential packages are to be installed, based on the package information. Then, the image forming apparatus calculates an update processing time period required to install the acquired packages in the identified storage units. The image forming apparatus notifies a user of the calculated update processing time period.
    Type: Grant
    Filed: October 6, 2010
    Date of Patent: February 23, 2016
    Assignee: CANON KABUSHIKI KAISHA
    Inventor: Yoko Murase
  • Patent number: 9250944
    Abstract: Embodiments of the present invention provide a set of algorithmic methods that can be used to select which partially and/or pre-provisioned virtual machines (VMs) should be used as a base platform to satisfy a new workload (e.g., provisioning) request received in a networked computing environment (e.g., a cloud computing environment). Specifically, when a workload request is received, a set (e.g., at last one) of software programs needed to process the workload request is identified. Then, a set of VMs is selected from a pool of pre-provisioned VMs having the set of software programs. In general, multiple methods and/or factors can be followed to select the set of VMs. Examples include a length of time to install the set of VMs, a probability of the set of VMs being in demand, and/or or a quantity of the set of VMs having the set of software programs. Once the set of VMs has been selected, the set of VMs may be installed, and the workload request can be processed using the set of software programs.
    Type: Grant
    Filed: August 30, 2011
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Jason L. Anderson, Gregory J. Boss, Jeffrey L. Coveyduc, Christopher W. Roach
  • Patent number: 9250979
    Abstract: A technique for implementing user-level read-copy update (RCU) with support for asynchronous grace periods. In an example embodiment, a user-level RCU subsystem is established that executes within threads of a user-level multithreaded application. The multithreaded application may comprise one or more reader threads that read RCU-protected data elements in a shared memory. The multithreaded application may further comprise one or more updater threads that perform updates to the RCU-protected data elements in the shared memory and register callbacks to be executed following a grace period in order to free stale data resulting from the updates. The RCU subsystem may implement two or more helper threads (helpers) that are created or selected as needed to track grace periods and execute the callbacks on behalf of the updaters instead of the updaters performing such work themselves.
    Type: Grant
    Filed: April 24, 2012
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventor: Paul E. McKenney
  • Patent number: 9250978
    Abstract: A technique for implementing user-level read-copy update (RCU) with support for asynchronous grace periods. In an example embodiment, a user-level RCU subsystem is established that executes within threads of a user-level multithreaded application. The multithreaded application may comprise one or more reader threads that read RCU-protected data elements in a shared memory. The multithreaded application may further comprise one or more updater threads that perform updates to the RCU-protected data elements in the shared memory and register callbacks to be executed following a grace period in order to free stale data resulting from the updates. The RCU subsystem may implement two or more helper threads (helpers) that are created or selected as needed to track grace periods and execute the callbacks on behalf of the updaters instead of the updaters performing such work themselves.
    Type: Grant
    Filed: June 27, 2011
    Date of Patent: February 2, 2016
    Inventor: Paul E. McKenney
  • Patent number: 9245112
    Abstract: A method, apparatus and machine readable medium are described for managing entitlements on a computing device. For example, one embodiment of a method comprises: loading a first application into a system memory of a computing device; for each library value/symbol pair referenced by the first application, determining whether the first application has a correct entitlement to be linked with the library value/symbol pair; wherein if the application does not have the correct entitlement associated with the library value/symbol pair, then denying linking to the library value/symbol pair and/or linking the application to an alternate library value/symbol pair which does not have the entitlement associated therewith; and if the application has the correct entitlement associated with the library value/symbol pair, then linking the application to the library value/symbol pair with the entitlement in the system memory.
    Type: Grant
    Filed: June 1, 2012
    Date of Patent: January 26, 2016
    Assignee: Apple Inc.
    Inventors: Oliver J. Hunt, Ivan Krstic, Gavin Barraclough, Filip J. Pizlo
  • Patent number: 9218199
    Abstract: Embodiments relate to a method, apparatus and program product and for capturing thread specific state timing information. The method includes associating a time field and a time valid field to a thread data structure and setting a current time state by determining a previous time state and updating it according to a previously identified method for setting time states. The method further includes determining status of a time valid bit to see if it is set to valid or invalid. When the status is valid, it is made available for reporting.
    Type: Grant
    Filed: November 23, 2012
    Date of Patent: December 22, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Trent A. Gray-Donald