US9426197B2ActiveUtilityA1

Compile-time tuple attribute compression

Assignee: IBMPriority: Apr 22, 2013Filed: Apr 22, 2013Granted: Aug 23, 2016
Est. expiryApr 22, 2033(~6.7 yrs left)· nominal 20-yr term from priority
H04L 65/80H04L 65/602H04L 65/608H04L 65/65H04L 65/762
48
PatentIndex Score
0
Cited by
39
References
17
Claims

Abstract

A method, system, and computer program product for initializing a stream computing application are disclosed. The method may include, during a compiling of code, determining whether an attribute of a tuple to be processed at a first stream operator is to be next processed at a second stream operator. The first stream operator may be configured to transmit the tuple along an execution path to the second stream operator. The execution path includes one or more intervening stream operators between the first and second stream operators. The method may invoke a compression condition when the first attribute of the tuple to be processed at the first stream operator is to be next processed at the second stream operator.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 executing a set of tuples with a set of compute nodes, wherein a first tuple of the set of tuples has a set of attributes that has a first attribute of the set of attributes, and wherein each compute node is adapted to execute a set of stream operators; 
 receiving the first tuple; 
 determining whether the first attribute to be processed at a first stream operator is to be next processed at a second stream operator, wherein the first stream operator is configured to transmit the first tuple along an execution path including one or more intervening stream operators to the second stream operator; and 
 compressing the first attribute into a first compressed attribute with a compression condition, in response to determining that the first attribute to be processed at the first stream operator is not to be processed at the second stream operator. 
 
     
     
       2. The method of  claim 1 , further comprising;
 determining that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator, wherein the second stream operator is configured to transmit a tuple along an execution path including one or more intervening stream operators to the third stream operator; and 
 decompressing the first compressed attribute into the first attribute with a decompression condition in response to determining that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator. 
 
     
     
       3. The method of  claim 1 , wherein the compression condition operates during runtime of the stream computing application. 
     
     
       4. The method of  claim 1 , further comprising:
 generating a map indicating one or more stream operators at which each attribute of a tuple is to be processed. 
 
     
     
       5. The method of  claim 1 , wherein the one or more intervening stream operators is further configured to examine the tuple prior to transmitting the tuple to the second stream operator. 
     
     
       6. The method of  claim 1 , wherein the compression further comprises:
 determining one or more characteristics of the first attribute; and 
 selecting a first of a plurality of compression techniques, wherein the one or more characteristics of the first attribute identify a preference for lossy or lossless compression. 
 
     
     
       7. A computer program product, comprising:
 a non-transitory computer readable storage medium having program code stored thereon, the program code configured to: 
 execute a set of tuples with a set of compute nodes, wherein a first tuple of the set of tuples has a set of attributes that has a first attribute of the set of attributes, and
 wherein each compute node is adapted to execute a set of stream operators; 
 
 receive the first tuple; 
 determine that the first attribute to be processed at a first stream operator is to be next processed at a second stream operator, wherein the first stream operator is configured to transmit the first tuple along an execution path including one or more intervening stream operators to the second stream operator; and 
 compress the first attribute into a first compressed attribute with a compression condition in response to the determination that the first attribute to be processed at the first stream operator is not to be processed at the second stream operator. 
 
     
     
       8. The computer program product of  claim 7 , further comprising;
 determine whether the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator, wherein the second stream operator is configured to transmit a tuple along an execution path including one or more intervening stream operators to the third stream operator; and 
 decompress the first compressed attribute into the first attribute with a decompression condition in response to the determination that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator. 
 
     
     
       9. The computer program product of  claim 7 , wherein the compression condition operates during runtime of the stream computing application. 
     
     
       10. The computer program product of  claim 7 , further comprising:
 generating a map indicating a stream operator at which each attribute of a tuple is to be processed. 
 
     
     
       11. The computer program product of  claim 7 , wherein the intervening stream operator further configured to examine the tuple prior to transmitting the tuple to the second stream operator. 
     
     
       12. The computer program product of  claim 7 , wherein the compression further comprises:
 determining one or more characteristics of the first attribute; and 
 selecting a first of a plurality of compression techniques, wherein the one or more characteristics of the first attribute identify a preference for lossy or lossless compression. 
 
     
     
       13. A system for initializing a stream computing application, comprising:
 one or more computer processors; and 
 a memory containing a program, which when executed by the one or more computer processors is configured to initialize a stream computing application, the initializing comprising:
 executing a set of tuples with a set of compute nodes, wherein a first tuple of the set of tuples has a set of attributes that has a first attribute of the set of attributes, and wherein each compute node is adapted to execute a set of stream operators; 
 receiving the first tuple; 
 determining whether the first attribute to be processed at a first stream operator is to be next processed at a second stream operator, wherein the first stream operator is configured to transmit the first tuple along an execution path including one or more intervening stream operators to the second stream operator; and 
 compressing the first attribute into a first compressed attribute with a compression condition in response to determining that the first attribute to be processed at the first stream operator is not to be processed at the second stream operator. 
 
 
     
     
       14. The system of  claim 13 , further comprising;
 determining whether the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator, wherein the second stream operator is configured to transmit a tuple along an execution path including one or more intervening stream operators to the third stream operator; and 
 decompressing the first compressed attribute into the first attribute with a decompression condition in response to determining that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator. 
 
     
     
       15. The system of  claim 13 , further comprising:
 generating a map indicating a stream operator at which each attribute of a tuple is to be processed. 
 
     
     
       16. The system of  claim 13 , wherein the intervening stream operator further configured to examine the tuple prior to transmitting the tuple to the second stream operator. 
     
     
       17. The system of  claim 13 , wherein the compression further comprises:
 determining one or more characteristics of the first attribute; and 
 selecting a first of a plurality of compression techniques, wherein the one or more characteristics of the first attribute identify a preference for lossy or lossless compression.

Join the waitlist — get patent alerts

Track US9426197B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.