Patentable/Patents/US-10587666
US-10587666

Locking streaming operators

PublishedMarch 10, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

An operator locking tool allows a user to define a lock profile for one or more operators in a streaming application. The lock profile preferably specifies lock criteria and one or more corresponding lock actions that are taken when the lock criteria is satisfied. The lock criteria can include operator performance, resource utilization, events, and user-defined triggers. The lock actions can include blocking tuple entry, blocking tuple exit, halting tuple processing, processing high-priority tuples while not processing other tuples, allowing tuples to exit an operator only when specified exit criteria is satisfied, and enabling bypass of an operator. Locking can be done for individual operators or for a group of operators.

Patent Claims
12 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a streams manager residing in the memory and executed by the at least one processor, the streams manager executing a streaming application that comprises a flow graph that includes a plurality of operators that process a plurality of data tuples, wherein a first of the plurality of operators comprises a lock, and a lock profile that specifies lock criteria for the first operator and at least one corresponding lock action for the first operator; and an operator locking tool residing in the memory and executed by the at least one processor that determines when the lock criteria for the first operator is satisfied, and in response, sets the lock in the first operator, causing the first operator to perform the at least one corresponding lock action.

2

2. The apparatus of claim 1 wherein the lock criteria specifies operator performance.

3

3. The apparatus of claim 2 wherein the operator performance comprises at least one of: a number of data tuples in an input buffer of the first operator; a number of tuples in an output buffer of the first operator; and a rate of processing data tuples by the first operator.

4

4. The apparatus of claim 1 wherein the lock criteria specifies resource utilization.

5

5. The apparatus of claim 4 wherein the resource utilization comprises at least one of: CPU utilization; memory utilization; network utilization; input/output (I/O) utilization; and disk utilization.

6

6. The apparatus of claim 1 wherein the lock criteria specifies an event in the streaming application and the at least one corresponding locking action comprises preventing flow of data tuples into a subset of the plurality of operators in the flow graph.

7

7. The apparatus of claim 1 wherein the lock criteria specifies at least one user-defined trigger and the at least one corresponding locking action comprises preventing flow of data tuples into a subset of the plurality of operators in the flow graph.

8

8. The apparatus of claim 1 wherein the corresponding lock action comprises at least one of: blocking tuple entry to the first operator; blocking tuple exit from the first operator; and halting tuple processing by the first operator.

9

9. The apparatus of claim 1 wherein the corresponding lock action comprises at least one of: data tuple priority for the first operator; data tuple exits the first operator only when a specified exit criteria is satisfied; and enable bypass of a locked operator.

10

10. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a streams manager residing in the memory and executed by the at least one processor, the streams manager executing a streaming application that comprises a flow graph that includes a plurality of operators that process a plurality of data tuples, wherein a first of the plurality of operators comprises a lock profile that specifies lock criteria for the first operator and a plurality of corresponding lock actions for the first operator, wherein the lock criteria comprises a plurality of the following: a number of data tuples in an input buffer of the first operator; a number of tuples in an output buffer of the first operator; a rate of processing data tuples by the first operator; CPU utilization; memory utilization; network utilization; input/output (I/O) utilization; disk utilization; an event in the streaming application; and a user-defined trigger in the streaming application; wherein the plurality of corresponding lock actions for the first operator comprises a plurality of the following: blocking tuple entry to the first operator; blocking tuple exit from the first operator; and halting tuple processing by the first operator; an operator locking tool residing in the memory and executed by the at least one processor that determines when the lock criteria for the first operator is satisfied, and in response, sets the lock in the first operator, causing the first operator to perform the plurality of corresponding lock actions.

11

11. The apparatus of claim 10 wherein, in response to the lock criteria for the first operator being satisfied, the operator locking tool setting locks in each of a group of operators that includes the first operator, wherein each of the group of operators performs the corresponding lock actions in response to a lock being set.

12

12. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a streams manager residing in the memory and executed by the at least one processor, the streams manager executing a streaming application that comprises a flow graph that includes a plurality of operators that process a plurality of data tuples, the plurality of operators comprising: a first operator comprising a first lock and a first lock profile, wherein the first lock profile comprises: first lock criteria for the first operator comprising a tuple flow rate in excess of a defined threshold through a third operator downstream from the first operator; a first lock action that specifies that no tuple exits the first operator when the first lock criteria is satisfied; a second operator comprising a second lock and a second lock profile, wherein the second lock profile comprises: second lock criteria for the second operator comprising when a fourth operator downstream from the second operator is locked; a second lock action that specifies to bypass the fourth operator when the second lock criteria is satisfied; an operator locking tool residing in the memory and executed by the at least one processor that determines when the first lock criteria for the first operator is satisfied, and in response, sets the first lock, causing the first operator to perform the first lock action so no tuple exits the first operator; and the operator locking tool determining the second lock criteria for the second operator is satisfied, and in response, sets the second lock, causing the second operator to perform the second lock action by bypassing the fourth operator.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

November 8, 2017

Publication Date

March 10, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Locking streaming operators” (US-10587666). https://patentable.app/patents/US-10587666

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.