IP Library Granted Patent US 9,379,950
Granted Patent B2
US 9,379,950 · App. 14/074,121 · Granted Jun 28, 2016

Using cloud resources to improve performance of a streaming application

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,379,950
App. No.
14/074,121
Granted
Jun 28, 2016
Kind
B2
Abstract

A streams manager monitors performance of a streaming application, and when the performance needs to be improved, the streams manager automatically requests virtual machines from a cloud manager. The streams manager specifies to the cloud manager streams infrastructure and one or more streams application components for the virtual machines. The cloud manager provisions one or more virtual machines in a cloud with the specified streams infrastructure and streams application components. The streams manager then modifies the flow graph so one or more portions of the streaming application are hosted by the virtual machines in the cloud.

Claims (28)

1. A computer-implemented method executed by at least one processor for managing a streaming application, the method comprising:

executing a streaming application that comprises a flow graph that includes a plurality of operators that process a plurality of data tuples;

monitoring performance of the streaming application;

when performance of the streaming application needs to be improved, requesting a cloud manager to provision at least one virtual machine with logic to implement at least one of the plurality of operators, wherein the request to the cloud manager specifies:

a number of virtual machines to provision;

for each of the number of virtual machines to provision:

a specified streams infrastructure to provision; and

at least one specified component of the streams application to provision in the virtual machine; and

after the cloud manager provisions the at least one virtual machine, modifying the flow graph to include the at least one virtual machine in the flow graph of the streaming application.

2. The method of claim 1 wherein the monitoring the performance of the streaming application comprises comparing current performance of the streaming application to at least one defined performance threshold.

3. The method of claim 2 wherein comparing the performance of the streaming application to the at least one defined threshold determines when the performance of the streaming application needs to be improved.

4. The method of claim 1 wherein the logic to implement the at least one of the plurality of operators comprises:

software that provides a streaming infrastructure; and

software running in the streaming infrastructure that implements the at least one of the plurality of operators.

5. The method of claim 1 wherein the at least one virtual machine implements logic for a selected one of the plurality of operators, wherein the at least one virtual machine processes tuples in parallel with the selected one operator in the flow graph after the flow graph of the streaming application is modified.

6. The method of claim 5 further comprising modifying the flow graph to include a new operator that splits tuples from an existing operator to the selected one operator in the flow graph and to the at least one virtual machine that processes the tuples in parallel with the selected one operator in the flow graph.

7. A computer-implemented method executed by at least one processor for managing a streaming application, the method comprising:

executing a streaming application that comprises a flow graph that includes a plurality of operators that process a plurality of data tuples;

monitoring performance of the streaming application by comparing current performance of the streaming application to at least one defined performance threshold;

determining when performance of the streaming application needs to be improved by comparing the current performance of the streaming application with the at least one defined performance threshold;

submitting a request to a cloud manager to provision at least one virtual machine, the request comprising:

a number of virtual machines to provision;

a specified streams infrastructure to provision; and

at least one specified component of the streams application;

the cloud manager provisioning the at least one virtual machine to implement logic for a selected one of the plurality of operators; and

after the cloud manager provisions the at least one virtual machine, modifying the flow graph to include:

a new operator that splits tuples from an existing operator to the selected one operator in the flow graph and to the at least one virtual machine; and

the at least one virtual machine in the flow graph of the streaming application so the virtual machine processes tuples in parallel with the selected one operator in the flow graph after the flow graph of the streaming application is modified.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2013
From: BRAGSTAD, LANCE; BRANSON, MICHAEL J.; CAO, BIN; CAREY, JAMES E.; ODDEN, MATHEW R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031561/0864 →