Patents by Inventor JASON A. NIKOLAI

JASON A. NIKOLAI 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: 11017406
    Abstract: System, method, and computer program product to implement four factor authentication rule-based intelligent bank cards, by receiving valid authentication information for a card associated with an account, capturing an image of a person presenting the card, applying an algorithm to the image to determine that the image capture was successful, and the image can be used by a facial recognition algorithm, verifying that the image matches an image of an authorized user of the account, analyzing image data of the image with a facial emotion recognition algorithm to detect an emotion expressed by the person in the image, identifying an emotion rule associated with the account and the emotion, providing, by the processor, an alert to a person associated with the account, wherein the alert is specified as part of the emotion rule, and restricting access to the account.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: May 25, 2021
    Assignee: International Business Machines Corporation
    Inventors: Susan F. Crowell, Jason A. Nikolai, Andrew T. Thorstensen
  • 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: 11010203
    Abstract: A computer system configures processing elements within a distributed computing system. A processing element within a distributed computing environment is determined to be affected by a software update, wherein each processing element of the distributed computing system includes a plurality of components and the software update modifies the components of the processing elements. The determined processing element is split into a plurality of processing elements based on a set of factors. The plurality of components of the processing element are assigned among the plurality of processing elements based on components affected by the software update. Embodiments of the present invention further include a method and program product for configuring processing elements within a distributed computing system in substantially the same manner described above.
    Type: Grant
    Filed: June 20, 2019
    Date of Patent: May 18, 2021
    Assignee: International Business Machines Corporation
    Inventors: David M. Koster, Jason A. Nikolai, John M. Santosuosso
  • Patent number: 10992742
    Abstract: A method, computer system, and a computer program product for managing asset placement with respect to a distributed computing environment having a set of hosts is provided. The present invention may include detecting a set of host computing resource requirement data for an asset, wherein the distributed computing environment includes a stream computing environment and the asset includes a rookie asset in the stream computing environment. The present invention may include identifying a set of computing resource profile data for a set of hosts in the distributed computing environment. The present invention may include determining, by comparing the set of host computing resource requirement data for the asset and the set of computing resource profile data for the set of hosts, an asset placement arrangement. The present invention may include establishing, based on the asset placement arrangement, the asset in the distributed computing environment.
    Type: Grant
    Filed: September 10, 2019
    Date of Patent: April 27, 2021
    Assignee: International Business Machines Corporation
    Inventors: Bradley W. Fawcett, Jason A. Nikolai
  • Patent number: 10977089
    Abstract: A computer system configures processing elements within a distributed computing system. A processing element within a distributed computing environment is determined to be affected by a software update, wherein each processing element of the distributed computing system includes a plurality of components and the software update modifies the components of the processing elements. The determined processing element is split into a plurality of processing elements based on a set of factors. The plurality of components of the processing element are assigned among the plurality of processing elements based on components affected by the software update. Embodiments of the present invention further include a method and program product for configuring processing elements within a distributed computing system in substantially the same manner described above.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: April 13, 2021
    Assignee: International Business Machines Corporation
    Inventors: David M. Koster, Jason A. Nikolai, John M. Santosuosso
  • Publication number: 20200356674
    Abstract: A method, apparatus, system, and computer program product for operating a portable security testing device. The portable security testing device is configured by computer system with an operating system and a starting set of security testing tools. A selected set of the security testing tools is determined by the computer system for the portable security testing device based on information collected about a target by the portable security testing device. The starting set of the security testing tools in the portable security testing device is changed by the computer system to form a current set of the security testing tools in response to the starting set of the security testing tools being different from the selected set of the security testing tools, wherein the current set of the security testing tools operate to perform security tests on the target.
    Type: Application
    Filed: May 8, 2019
    Publication date: November 12, 2020
    Inventors: Jason A. Nikolai, Steven Ocepek, Johnny Al Shaieb
  • 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: 10834156
    Abstract: A method, computer program product, and computing device for identifying at least one tuple of interest from a plurality of tuples during execution of a streaming application. A window of tuples including the at least one tuple from the plurality of tuples may be defined. One or more operations may be performed on the window of tuples.
    Type: Grant
    Filed: December 18, 2017
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: James Carey, Alexander Cook, Jason A. Nikolai, John M. Santosuosso
  • Patent number: 10795734
    Abstract: Embodiments generally relate to processing element restart precedence in a job overlay environment. In some embodiments, a method includes determining a job overlay, wherein the job overlay involves updates to a subset of processing elements of a plurality of processing elements of a job. The method further includes determining processing requirements of the plurality of processing elements. The method further includes determining computation capabilities of computational resources associated with the plurality of processing elements. The method further includes determining a processing element restart order based at least in part on processing requirements and computation capabilities. The method further includes updating the subset of processing elements. The method further includes restarting the subset of processing elements based at least in part on the processing element restart order.
    Type: Grant
    Filed: June 22, 2018
    Date of Patent: October 6, 2020
    Assignee: International Business Machines Corporation
    Inventors: John M. Santosuosso, Jason A. Nikolai, David M. Koster
  • Publication number: 20200293299
    Abstract: Techniques for optimizing updates to a distributed data processing application are provided. A runtime engine compares a first version of a distributed application to a second, new version of the distributed application. The runtime engine identifies change(s) to the first version. The runtime engine generates compiler hint(s) for the change(s). The second version of the distributed application and compiler hint(s) are sent to a compiler. The runtime engine receives, from the compiler, a compiled second version of the distributed application and compiler-scheduler hint(s) describing respective optimizations the compiler made to the compiled second version of the distributed application based on the change(s) made to the first version of the distributed application and the compiler hint(s).
    Type: Application
    Filed: March 15, 2019
    Publication date: September 17, 2020
    Inventors: John M. Santosuosso, David M. Koster, Jason A. Nikolai
  • Patent number: 10776247
    Abstract: Methods, systems, and computer program products are provided for eliminating run-time errors in a stream processing environment. Processing devices receive tuples in a distributed stream processing environment. Each respective processing device checks the received tuples to determine whether a pattern of the received tuples matches one or more pattern profiles that cause run-time errors. When the pattern of the received tuples matches the one or more pattern profiles that cause run-time errors, the respective processing device performs an action to adjust a processing order of the received tuple to reduce an impact of the run-time errors. When the pattern of the received tuples does not match the one or more pattern profiles that cause run-time errors, the respective processing device performs a function on the received tuples. The functions are performed by an operator residing in the respective processing device.
    Type: Grant
    Filed: May 11, 2018
    Date of Patent: September 15, 2020
    Assignee: International Business Machines Corporation
    Inventors: John M. Santosuosso, Jason A. Nikolai, David M. Koster
  • Patent number: 10769277
    Abstract: A method, system and computer program product for providing malicious application detection and prevention for stream computing applications deployed in cloud environments. Static and run-time analyses are performed of the stream computing application and any files associated therewith to create an expected profile of the stream computing application's behavior. The stream computing application is invoked in an execution environment to compare the stream computing application's behavior to the expected profile as the stream computing application runs in the execution environment. The stream computing application is isolated within the cloud computing environment when the stream computing application's behavior deviates significantly from the expected profile. The isolated stream computing application is investigated, wherein the output data that is stored is used for forensic investigation or replayed later if the stream computing application is not harmful.
    Type: Grant
    Filed: June 19, 2018
    Date of Patent: September 8, 2020
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Branson, David M. Koster, Jason A. Nikolai, John M. Santosuosso
  • Patent number: 10761901
    Abstract: A computer system dynamically balances a workload of a distributed computing application at runtime. A distributed computing application is monitored at runtime for the occurrence of one or more conditions, wherein the distributed computing application comprises one or more nodes that include one or more processing elements, and wherein each processing element includes one or more operators. One or more adjustments to the distributed computing application are determined. The one or more adjustments to the distributed computing application are performed at runtime. Embodiments of the present invention further include a method and program product for configuring processing elements within a distributed computing system in substantially the same manner described above.
    Type: Grant
    Filed: June 28, 2018
    Date of Patent: September 1, 2020
    Assignee: International Business Machines Corporation
    Inventors: Warren P. Acker, David M. Koster, Jason A. Nikolai, Schuman Shao
  • Patent number: 10743364
    Abstract: Embodiments of the present invention provides methods, computer program products, and a system for determining a set of potential responders to alert a second party regarding an urgent communication. Embodiments of the present invention can be used to determine if a missed communication placed by a first party to a second party is an urgent communication. Embodiments of the present invention can be used to determine a set of potential responders based, at least in part, on a variety of possible locations of a communication device belonging to the second party.
    Type: Grant
    Filed: September 4, 2019
    Date of Patent: August 11, 2020
    Assignee: International Business Machines Corporation
    Inventors: Adam D. Braham, Jason A. Nikolai, John M. Santosuosso, Jeffrey A. Schmidt
  • Patent number: 10740457
    Abstract: In preventing malicious operator placement in a streaming application, a stream computing management system receives a submission of an operator graph for the streaming application. A scheduler of the stream computing management system places the operators across a plurality of computing nodes. A threat detector of the stream computing management system monitors placements of the operators during the submission of the operator graph and a runtime of the streaming application. The threat detector further monitors runtime activities of the operators of the streaming application. The threat detector compares the runtime activities of the operators of the streaming application with stored activities patterns. The threat detector determines whether any anomalies identified based on the comparing exceeds a risk tolerance threshold. In response to an anomaly exceeding the risk tolerance threshold, the scheduler changes a placement of at least one of the operators.
    Type: Grant
    Filed: June 20, 2018
    Date of Patent: August 11, 2020
    Assignee: International Business Machines Corporation
    Inventors: Jason A. Nikolai, John M. Santosuosso, David M. Koster, Alexander Cook
  • Publication number: 20200177516
    Abstract: A method comprises establishing a packet size limit. The packet size limit may govern the maximum permitted size of packets that are transmitted between a first node and a second node of a network. The method also comprises monitoring a buffer of the second node in the network. The method also comprises determining, based on the monitoring, that the buffer of the second node is filled above an upper capacity threshold. The method also comprises increasing, based on the determining, the first packet size limit.
    Type: Application
    Filed: November 30, 2018
    Publication date: June 4, 2020
    Inventors: Andrew Thorstensen, Adam D. Reznechek, David M. Koster, Jason A. Nikolai
  • Publication number: 20200174869
    Abstract: A method, system and computer program product are provided for implementing anomaly detection and notification through profiled context. Anomalies are detected by effectively using multiple devices and using predefined profiles to generate a contextual comparison for subtle differences detected. When predefined subtle anomalies are detected using at least one of the predefined profiles, a selected notification is provided.
    Type: Application
    Filed: December 3, 2018
    Publication date: June 4, 2020
    Inventors: Jim C. Chen, John M. Santosuosso, Jason A. Nikolai
  • Patent number: 10671432
    Abstract: A method, system and computer program product for optimizing memory management. An analytics engine receives from a computing device an execution sequence that led to the detected execution of an operation to create a new process, which involves copying of the parent process. The analytics engine searches profiles stored in a repository for patterns of execution sequences that match the received execution sequence. Upon identifying a stored pattern with an execution sequence within a threshold degree of similarity as the received execution sequence, the analytics engine instructs the computing device to handle the operation to create the new process in a certain manner based on the contents of the profile containing the matching stored pattern. For example, the computing device may be instructed to preemptively fail the operation in response to the profile indicating that the execution of the operation resulted in an out of memory error.
    Type: Grant
    Filed: May 8, 2018
    Date of Patent: June 2, 2020
    Assignee: International Business Machines Corporation
    Inventors: Daniel M. Hursh, Jonathan L. Kaus, David M. Koster, Jason A. Nikolai
  • Publication number: 20200169587
    Abstract: A method, computer program product, and computing device for monitoring network activity associated with streaming a data load through a stream application including a plurality of stream operators deployed on a plurality of computing devices. One or more stream operators with one or more external connections may be identified from the plurality of stream operators. The identified one or more stream operators may be deployed based upon, at least in part, the one or more external connections.
    Type: Application
    Filed: January 30, 2020
    Publication date: May 28, 2020
    Inventors: Alexander Cook, Peter A. Nicholls, Jason A. Nikolai, John M. Santosuosso
  • Publication number: 20200153709
    Abstract: System resource usage by a streaming application processing workloads can be monitored, the streaming application comprising at least one parallelizable operator, at least a first instance of the parallelizable operator being initialized to execute. Based on the monitoring, at least one performance metric for the streaming application in processing the workloads can be determined. Based on the at least one performance metric, whether hosting of the streaming application is, or is near to, violating at least one criteria can be determined. If so, at least one additional instance of at least one parallelizable operator of the streaming application that is currently executing can be initialized. Responsive to initializing the at least one additional instance of at least one of the parallelizable operators, a portion of the workloads can be directed to the at least one additional instance of at least one of the parallelizable operators.
    Type: Application
    Filed: January 20, 2020
    Publication date: May 14, 2020
    Inventors: Alexander Cook, David M. Koster, Jason A. Nikolai, John M. Santosuosso