Patents by Inventor Cory J. KLEINHEKSEL

Cory J. KLEINHEKSEL has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11442764
    Abstract: A computer-implemented method includes: monitoring, by a computing device, performance of currently deployed virtual machines (VMs) that implement particular services; determining, by the computing device, optimal configuration options for deployment of new VMs that implement one or more of the particular services based on the monitoring the performance of the currently deployed VMs; and outputting, by the computing device, information regarding the optimal configuration options to a user requesting the deployment of a new VM implementing one or more of the particular services.
    Type: Grant
    Filed: May 31, 2019
    Date of Patent: September 13, 2022
    Assignee: KYNDRYL, INC.
    Inventors: Bin Cao, David M. Egle, Daniel L. Hiebert, Cory J. Kleinheksel
  • Patent number: 11403125
    Abstract: A computer-implemented method includes: monitoring, by a computing device, performance of currently deployed virtual machines (VMs) that implement particular services; determining, by the computing device, optimal configuration options for deployment of new VMs that implement one or more of the particular services based on the monitoring the performance of the currently deployed VMs; and outputting, by the computing device, information regarding the optimal configuration options to a user requesting the deployment of a new VM implementing one or more of the particular services.
    Type: Grant
    Filed: May 31, 2019
    Date of Patent: August 2, 2022
    Assignee: KYNDRYL, INC.
    Inventors: Bin Cao, David M. Egle, Daniel L. Hiebert, Cory J. Kleinheksel
  • Patent number: 11102256
    Abstract: A method, computer program product, and computer system for identifying, in a dynamically formed cloud, a plurality of voluntary compute nodes, wherein the plurality of voluntary compute nodes may include personal computing devices of a plurality of users, and wherein at least a portion of the plurality of voluntary compute nodes may be configured to communicate with each other to receive and send streaming data. A first compute node of at least the portion of the plurality of voluntary compute nodes may be identified to receive and distribute a streams operator of a streams graph requested by a client computing device. A second compute node of at least the portion of the plurality of voluntary compute nodes may be identified for verifying computational correctness of a tuple stream computation for the stream operator by replicating the tuple stream computations for the stream operator on the second compute node. A final result tuples of the graph may be sent to the client computing device.
    Type: Grant
    Filed: March 24, 2017
    Date of Patent: August 24, 2021
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai
  • Patent number: 11016897
    Abstract: Disclosed aspects relate to cache management in a stream computing environment that uses a set of many-core hardware processors to process a stream of tuples by a plurality of processing elements which operate on the set of many-core hardware processors. The stream of tuples to be processed by the plurality of processing elements which operate on the set of many-core hardware processors may be received. A tuple-processing hardware-route on the set of many-core hardware processors may be determined based on a cache factor associated with the set of many-core hardware processors. The stream of tuples may be routed based on the tuple-processing hardware-route on the set of many-core hardware processors. The stream of tuples may be processed by the plurality of processing elements which operate on the set of many-core hardware processors.
    Type: Grant
    Filed: September 12, 2019
    Date of Patent: May 25, 2021
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai
  • Patent number: 10834177
    Abstract: A method, computer program product, and computer system for defining, on at least one processor, one or more potential overflow paths for processing at least a portion of a data load through a plurality of stream operators deployed on a plurality of computing devices. Embodiments may include determining, on the at least one processor, a conditional availability for each computing device of the plurality of computing devices. Embodiments may also include identifying, on the at least one processor, a change in one or more of a configuration of the plurality of computing devices and the at least a portion of the data load. Embodiments may further include dynamically activating, on the at least one processor, one or more potential overflow paths in response to the identified change based upon, at least in part, the conditional availability for each computing device of the plurality of computing devices.
    Type: Grant
    Filed: May 8, 2017
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai, Christopher R. Sabotta
  • Patent number: 10832677
    Abstract: A computer-implemented method includes exchanging device data, associated with a first participating user device, with the one or more second participating user devices; receiving audio data associated with a voice command; exchanging the audio data with the one or more second participating user devices; identifying, by the first participating user device, a voice command based on exchanging the audio data; determining which one of the first participating user device or the one or more second participating user devices should respond to the voice command based on details of the voice command and the exchanging the device data; responding to the voice command based on determining that the first participating user device should respond to the voice command; and signaling a particular second participating user device to respond to the voice command based on determining that the particular second participating user device should respond to the voice command.
    Type: Grant
    Filed: February 13, 2019
    Date of Patent: November 10, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James E. Carey, Ryan K. Cradick, Cory J. Kleinheksel
  • Patent number: 10574585
    Abstract: Disclosed aspects relate to resource usage management in a stream computing environment that includes a set of hosts having a set of processing elements which has a set of stream operators. A first activity indicator may be detected for a first subset of the set of stream operators. A resource action for performance with respect to the first subset of the set of stream operators may be determined based on the first activity indicator. The resource action may be performed with respect to the first subset of the set of stream operators to benefit resource usage in the stream computing environment.
    Type: Grant
    Filed: January 7, 2017
    Date of Patent: February 25, 2020
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai
  • Publication number: 20200004682
    Abstract: Disclosed aspects relate to cache management in a stream computing environment that uses a set of many-core hardware processors to process a stream of tuples by a plurality of processing elements which operate on the set of many-core hardware processors. The stream of tuples to be processed by the plurality of processing elements which operate on the set of many-core hardware processors may be received. A tuple-processing hardware-route on the set of many-core hardware processors may be determined based on a cache factor associated with the set of many-core hardware processors. The stream of tuples may be routed based on the tuple-processing hardware-route on the set of many-core hardware processors. The stream of tuples may be processed by the plurality of processing elements which operate on the set of many-core hardware processors.
    Type: Application
    Filed: September 12, 2019
    Publication date: January 2, 2020
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai
  • Patent number: 10523724
    Abstract: Methods and apparatus, including computer program products, implementing and using techniques for data stream processing in a runtime data processing environment. A stream processing graph that includes several connected operators is received. Source code of the operators is analyzed to identify hints describing whether an operator contains data structures, method parameters or other data that can be applied in a parallelization data processing environment. Performance metrics of the data processing environment within parallel regions is evaluated to determine whether data processing resources can be dynamically scaled up or down. In response to determining that the data processing resources can be dynamically scaled up, one or more operators are split to be processed on two or more parallel processing resources. In response to determining that the data processing resources can be dynamically scaled down, one or more operators are combined to be processed on a single parallel processing resource.
    Type: Grant
    Filed: May 10, 2016
    Date of Patent: December 31, 2019
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Peter A. Nicholls, Jason A. Nikolai
  • Patent number: 10511645
    Abstract: Methods for data stream processing in a runtime data processing environment. A stream processing graph that includes several connected operators is received. Source code of the operators is analyzed to identify hints describing whether an operator contains data structures, method parameters or other data that can be applied in a parallelization data processing environment. Performance metrics of the data processing environment within parallel regions is evaluated to determine whether data processing resources can be dynamically scaled up or down. In response to determining that the data processing resources can be dynamically scaled up, one or more operators are split to be processed on two or more parallel processing resources. In response to determining that the data processing resources can be dynamically scaled down, one or more operators are combined to be processed on a single parallel processing resource.
    Type: Grant
    Filed: August 28, 2017
    Date of Patent: December 17, 2019
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Peter A. Nicholls, Jason A. Nikolai
  • Patent number: 10452550
    Abstract: Disclosed aspects relate to cache management in a stream computing environment that uses a set of many-core hardware processors to process a stream of tuples by a plurality of processing elements which operate on the set of many-core hardware processors. The stream of tuples to be processed by the plurality of processing elements which operate on the set of many-core hardware processors may be received. A tuple-processing hardware-route on the set of many-core hardware processors may be determined based on a cache factor associated with the set of many-core hardware processors. The stream of tuples may be routed based on the tuple-processing hardware-route on the set of many-core hardware processors. The stream of tuples may be processed by the plurality of processing elements which operate on the set of many-core hardware processors.
    Type: Grant
    Filed: November 5, 2018
    Date of Patent: October 22, 2019
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai
  • Publication number: 20190286471
    Abstract: A computer-implemented method includes: monitoring, by a computing device, performance of currently deployed virtual machines (VMs) that implement particular services; determining, by the computing device, optimal configuration options for deployment of new VMs that implement one or more of the particular services based on the monitoring the performance of the currently deployed VMs; and outputting, by the computing device, information regarding the optimal configuration options to a user requesting the deployment of a new VM implementing one or more of the particular services.
    Type: Application
    Filed: May 31, 2019
    Publication date: September 19, 2019
    Inventors: Bin CAO, David M. EGLE, Daniel L. HIEBERT, Cory J. KLEINHEKSEL
  • Publication number: 20190286470
    Abstract: A computer-implemented method includes: monitoring, by a computing device, performance of currently deployed virtual machines (VMs) that implement particular services; determining, by the computing device, optimal configuration options for deployment of new VMs that implement one or more of the particular services based on the monitoring the performance of the currently deployed VMs; and outputting, by the computing device, information regarding the optimal configuration options to a user requesting the deployment of a new VM implementing one or more of the particular services.
    Type: Application
    Filed: May 31, 2019
    Publication date: September 19, 2019
    Inventors: Bin CAO, David M. EGLE, Daniel L. HIEBERT, Cory J. KLEINHEKSEL
  • Patent number: 10387181
    Abstract: A computer-implemented method includes: monitoring, by a computing device, performance of currently deployed virtual machines (VMs) that implement particular services; determining, by the computing device, optimal configuration options for deployment of new VMs that implement one or more of the particular services based on the monitoring the performance of the currently deployed VMs; and outputting, by the computing device, information regarding the optimal configuration options to a user requesting the deployment of a new VM implementing one or more of the particular services.
    Type: Grant
    Filed: January 12, 2016
    Date of Patent: August 20, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bin Cao, David M. Egle, Daniel L. Hiebert, Cory J. Kleinheksel
  • Publication number: 20190180749
    Abstract: A computer-implemented method includes exchanging device data, associated with a first participating user device, with the one or more second participating user devices; receiving audio data associated with a voice command; exchanging the audio data with the one or more second participating user devices; identifying, by the first participating user device, a voice command based on exchanging the audio data; determining which one of the first participating user device or the one or more second participating user devices should respond to the voice command based on details of the voice command and the exchanging the device data; responding to the voice command based on determining that the first participating user device should respond to the voice command; and signaling a particular second participating user device to respond to the voice command based on determining that the particular second participating user device should respond to the voice command.
    Type: Application
    Filed: February 13, 2019
    Publication date: June 13, 2019
    Inventors: James E. CAREY, Ryan K. CRADICK, Cory J. KLEINHEKSEL
  • Patent number: 10311158
    Abstract: Streamlining a stream computing environment by distributing tuple attributes to associated operators in the environment involves receiving a stream of tuples for processing by one or more stream operators. A tuple in the stream of tuples is analyzed to identify one or more data attributes required by the one or more stream operators during processing. Each of the identified attributes is distributed to particular operators that require the identified attribute.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: June 4, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ryan K. Cradick, Cory J. Kleinheksel
  • Patent number: 10303505
    Abstract: Adjusting a computing environment for processing a data stream involves identifying one or more dummy tuples in the data stream processed by the computing environment. Propagation of the identified dummy tuples to be processed through a plurality of operators in the computing environment is controlled in order to control adjustment of the computing environment. The computing environment is adjusted based on the processing of the propagated dummy tuples.
    Type: Grant
    Filed: May 19, 2016
    Date of Patent: May 28, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ryan K. Cradick, Cory J. Kleinheksel
  • Patent number: 10255185
    Abstract: Disclosed aspects relate to cache management in a stream computing environment that uses a set of many-core hardware processors to process a stream of tuples by a plurality of processing elements which operate on the set of many-core hardware processors. The stream of tuples to be processed by the plurality of processing elements which operate on the set of many-core hardware processors may be received. A tuple-processing hardware-route on the set of many-core hardware processors may be determined based on a cache factor associated with the set of many-core hardware processors. The stream of tuples may be routed based on the tuple-processing hardware-route on the set of many-core hardware processors. The stream of tuples may be processed by the plurality of processing elements which operate on the set of many-core hardware processors.
    Type: Grant
    Filed: March 4, 2017
    Date of Patent: April 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai
  • Patent number: 10255917
    Abstract: A computer-implemented method includes exchanging device data, associated with a first participating user device, with the one or more second participating user devices; receiving audio data associated with a voice command; exchanging the audio data with the one or more second participating user devices; identifying, by the first participating user device, a voice command based on exchanging the audio data; determining which one of the first participating user device or the one or more second participating user devices should respond to the voice command based on details of the voice command and the exchanging the device data; responding to the voice command based on determining that the first participating user device should respond to the voice command; and signaling a particular second participating user device to respond to the voice command based on determining that the particular second participating user device should respond to the voice command.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: April 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James E. Carey, Ryan K. Cradick, Cory J. Kleinheksel
  • Publication number: 20190087340
    Abstract: Disclosed aspects relate to cache management in a stream computing environment that uses a set of many-core hardware processors to process a stream of tuples by a plurality of processing elements which operate on the set of many-core hardware processors. The stream of tuples to be processed by the plurality of processing elements which operate on the set of many-core hardware processors may be received. A tuple-processing hardware-route on the set of many-core hardware processors may be determined based on a cache factor associated with the set of many-core hardware processors. The stream of tuples may be routed based on the tuple-processing hardware-route on the set of many-core hardware processors. The stream of tuples may be processed by the plurality of processing elements which operate on the set of many-core hardware processors.
    Type: Application
    Filed: November 5, 2018
    Publication date: March 21, 2019
    Inventors: Alexander Cook, Cory J. Kleinheksel, David M. Koster, Jason A. Nikolai