IP Library Granted Patent US 9,218,395
Granted Patent B2
US 9,218,395 · App. 13/847,520 · Granted Dec 22, 2015

Managing attributes in stream processing

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,218,395
App. No.
13/847,520
Granted
Dec 22, 2015
Kind
B2
Abstract

A method and system for managing attributes in a streaming application is disclosed. The system may have a stream manager communicatively coupled with processing elements for tracking a stream of tuples. The system may also have a first stream operator communicatively coupled with the stream manager and capable of receiving the stream of tuples, wherein the first stream operator selects the selected attribute of the first tuple and assigns a first identifier to the selected attribute. The system may also have a second stream operator communicatively coupled with the stream manager and capable of receiving the stream of tuples, and capable of replacing the selected attribute in the second tuple with a second identifier provided by the first stream operator. The system may also have an identifier table communicatively coupled with the stream manager and the first and second stream operator, wherein the identifier table includes identifiers for selected tuples.

Claims (53)

1. A system for referencing attributes from a stream of tuples, comprising:

a plurality of processing elements capable of receiving the stream of tuples;

the stream of tuples having at least a first tuple and a second tuple;

a stream manager communicatively coupled with the processing elements for tracking the tuples and having a capability of selecting attributes in tuples, wherein one or more selected attributes are chosen from a group of candidate attributes;

a first stream operator communicatively coupled with the stream manager and capable of receiving the stream of tuples, wherein the first stream operator selects the selected attribute of the first tuple and assigns a first identifier to the selected attribute;

a second stream operator communicatively coupled with the stream manager and capable of receiving the stream of tuples, and capable of replacing the selected attribute in the second tuple with a second identifier provided by the first stream operator;

an identifier table communicatively coupled with the stream manager and the first and second stream operator, wherein the identifier table includes identifiers for selected tuples.

2. The system of claim 1 , wherein the selected attributes are selected based on one or more identification factors.

3. The system of claim 1 , wherein the first identifier assigned to the selected attribute is a tag.

4. The system of claim 3 , wherein the tag is associated to the second identifier by the identifier table.

5. The system of claim 3 , wherein the tag is capable of being received by a third stream operator that transmits a location of the tag to the stream manager.

6. The system of claim 5 , wherein the third stream operator is capable of transmitting the selected attribute on the first tuple to one or more tuples.

7. The system of claim 5 , wherein the third stream operator is capable of delaying the first tuple.

8. The system of claim 3 , wherein the tag includes a callback mechanism capable of having an adjustable frequency of alerts.

9. A computer program product comprising a computer readable medium and a program code for the system of processing the stream of tuples resident on the computer readable medium and defining the system of claim 1 .

10. A method for referencing attributes in a streaming application, comprising:

receiving a stream of tuples to be processed by a plurality of processing elements operating on one or more computer processors, each tuple containing one or more attributes, each processing element having one or more stream operators, each processing element assigned to one or more compute nodes;

examining one or more candidate attributes;

selecting a selected attribute from one or more candidate attributes;

adding an identifier to the tuple;

using the identifier to retrieve the selected attribute, wherein the using the identifier includes:

reading the unique identifier on the second tuple by a second stream operator, wherein the second stream operator requires the selected attribute,

matching the unique identifier to the selected attribute of the first tuple on the identifier table,

locating the selected attribute, and

transmitting the selected attribute from the first tuple to the second stream operator;

monitoring one or more stream operators for one or more removal factors; and

dereferencing the selected attribute if the removal factor is present.

11. The method of claim 10 , wherein the examining one or more candidate attributes further includes:

monitoring the candidate attribute for one or more identification factors;

predicting a performance impact on a computing infrastructure using the identification factor; and

identifying the candidate attribute that improves performance of the computing infrastructure.

12. The method of claim 10 , the adding an identifier further includes:

identifying the selected attribute of a first tuple,

substituting the selected attribute of a second tuple with a unique identifier, wherein the unique identifier is matched to the selected attribute in an identifier table.

13. The method of claim 12 , wherein the identifying the selected attribute includes attaching a tag to the selected attribute by a first stream operator.

14. A method of referencing attributes in a streaming application, comprising:

receiving a stream of tuples to be processed by a plurality of processing elements operating on one or more computer processors, each processing element having at least a first stream operator, each stream operator being communicatively coupled to a stream manager;

examining one or more candidate attributes;

selecting one or more selected attributes from the candidate attributes;

identifying the selected attribute of a first tuple,

substituting the selected attribute of a second tuple with a unique identifier, wherein the the unique identifier is matched to the selected attribute in an identifier table;

reading the unique identifier with a second stream operator, wherein the second stream operator requires the selected attribute;

transmitting the selected attribute from the first tuple to the second stream operator;

monitoring one or more stream operators for one or more removal factors; and

modifying the identifier table if the removal factor is present.

15. The method of claim 14 , wherein the examining one or more candidate attributes further includes:

monitoring the candidate attribute for one or more identification factors;

predicting an impact on a computing infrastructure using the identification factor; and

selecting the candidate attribute that improves performance of the computing infrastructure.

16. The method of claim 15 , wherein the identification factors are selected from: minimal change of the candidate attribute, lack of historical change of the candidate attribute, a large file size of the candidate attribute, and a small number of distinct possible values for the candidate attribute.

17. The method of claim 14 , wherein the identifying the selected attribute includes attaching a tag to the selected attribute by the first stream operator.

18. The method of claim 14 , wherein the reading the unique identifier includes locating the tag.

19. The method of claim 18 , wherein the locating the tag produces a negative result, causing a substitution of the selected attribute to one or more unique identifiers on one or more upstream tuples when receiving the negative result.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2024
From: DAEDALUS BLUE LLC
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LIMITED
Reel/Frame 066749/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: DAEDALUS GROUP, LLC
To: DAEDALUS BLUE LLC
Reel/Frame 051737/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP, LLC
Reel/Frame 051710/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP LLC
Reel/Frame 051032/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2013
From: BARSNESS, ERIC L.; BRANSON, MICHAEL J.; SANTOSUOSSO, JOHN M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030047/0435 →