1460745300-b67e3cae-36db-4e28-b9a2-bf58af93316c

1. A method comprising:
determining, using a processor, a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals;
generating, using the processor, at least one intermediate aggregate query for a subset of the set of aggregate queries, said at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values;
executing, using the processor, said at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of aggregate queries; and
executing, using the processor, the subset of aggregate queries on the pre-aggregated data subsequent to executing said at least one intermediate aggregate query;
wherein each of at least two aggregate queries in the subset of aggregate queries comprises:
a number of group-by attributes on which aggregation is performed; and
a time interval over which aggregation is performed.
2. The method of claim 1, wherein generating said at least one intermediate aggregate query further comprises determining that said at least one intermediate aggregate query reduces a computational cost of executing the set of aggregate queries to be executed on the data stream.
3. The method of claim 1, wherein said at least one intermediate aggregate query comprises a number of group-by attributes, the number of group-by attributes in said at least one intermediate aggregate query being less than a sum of the numbers of group-by attributes in the subset of aggregate queries.
4. The method of claim 3, wherein generating said at least one intermediate aggregate query further comprises determining that
S
<
N
*

(

X
–
Y

)
X
where N is a given input size of tuples in the data stream, S is the output size of tuples of said at least one intermediate aggregate query, X is the sum of the numbers of group-by attributes for aggregate queries in the subset of aggregate queries and Y is the number of group-by attributes in said at least one intermediate aggregate query.
5. The method of claim 1, further comprising subjecting at least one of the aggregate queries in the subset of aggregate queries to a respective set of attribute filters specifying respective attribute range conditions for respective sets of attribute values associated with the at least one of the aggregate queries.
6. The method of claim 5, wherein said at least one intermediate aggregate query is generated by combining respective attribute filters of two or more of the subset of aggregate queries to form a single attribute filter usable to pre-filter pre-aggregated data input to the two or more aggregate queries.
7. The method of claim 1, wherein the data stream comprises network traffic records.
8. The method of claim 1, wherein the data stream comprises Internet Protocol flow records.
9. The method of claim 1, wherein the data stream comprises at least one of: sensor node readings; call detail records in a telecommunications network; retail transaction records; and one or more financial tickers.
10. An article of manufacture comprising a processor-readable non-transitory storage medium storing one or more instructions which, when executed by a processor, configure the processor to:
determine a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals;
generate at least one intermediate aggregate query for a subset of the set of aggregate queries, said at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values;
execute said at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of queries; and
execute the subset of aggregate queries on the pre-aggregated data subsequent to executing said at least one intermediate aggregate query;
wherein each of at least two aggregate queries in the subset of aggregate queries comprises:
a number of group-by attributes on which aggregation is performed; and
a time interval over which aggregation is performed.
11. The article of manufacture of claim 10, wherein generating said at least one intermediate aggregate query further comprises determining that said at least one intermediate aggregate query reduces a computational cost of executing the set of aggregate queries to be executed on the data stream.
12. The article of manufacture of claim 10, wherein said at least one intermediate aggregate query comprises a number of group-by attributes, the number of group-by attributes in said at least one intermediate aggregate query being less than a sum of the numbers of group-by attributes in the subset of aggregate queries.
13. The article of manufacture of claim 10, wherein the one or more instructions, when executed by a processor, further configure the processor to subject at least one of the aggregate queries in the subset of aggregate queries to a respective set of attribute filters specifying respective attribute range conditions for respective sets of attribute values associated with the at least one of the aggregate queries.
14. The article of manufacture of claim 13, wherein said at least one intermediate aggregate query is generated by combining respective attribute filters of two or more of the subset of aggregate queries to form a single attribute filter usable to pre-filter pre-aggregated data input to the two or more aggregate queries.
15. Apparatus, comprising:
a memory; and
a processor coupled to the memory and configured to:
determine a set of aggregate queries to be executed on a data stream, the set of aggregate queries comprising queries that perform respective sets of aggregation operations on respective sets of attribute values over respective time intervals;
generate at least one intermediate aggregate query for a subset of the set of aggregate queries, said at least one intermediate aggregate query combining a subset of aggregation operations for the subset of aggregate queries and a subset of attribute values;
execute said at least one intermediate aggregate query to generate pre-aggregated data from the data stream for the subset of queries; and
execute the subset of aggregate queries on the pre-aggregated data subsequent to executing said at least one intermediate aggregate query;

wherein each of at least two aggregate queries in the subset of aggregate queries comprises:
a number of group-by attributes on which aggregation is performed; and
a time interval over which aggregation is performed.
16. The apparatus of claim 15, wherein the processor is configured to generate said at least one intermediate aggregate query by determining that said at least one intermediate aggregate query reduces a computational cost of executing the set of aggregate queries to be executed on the data stream.
17. The apparatus of claim 15, wherein said at least one intermediate aggregate query comprises a number of group-by attributes, the number of group-by attributes in said at least one intermediate aggregate query being less than a sum of the numbers of group-by attributes in the subset of aggregate queries.
18. The apparatus of claim 15, wherein the processor is further configured to subject at least one of the aggregate queries in the subset of aggregate queries to a respective set of attribute filters specifying respective attribute range conditions for respective sets of attribute values associated with the at least one of the aggregate queries.
19. The apparatus of claim 18, wherein said at least one intermediate aggregate query is generated by combining respective attribute filters of two or more of the subset of aggregate queries to form a single attribute filter usable to pre-filter pre-aggregated data input to the two or more aggregate queries.
20. The apparatus of claim 15, wherein the data stream comprises at least one of: network traffic records; sensor node readings; call detail records in a telecommunications network; retail transaction records; and one or more financial tickers.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. An image forming apparatus comprising:
a sheet holder configured to hold one or more sheets;
an image forming unit configured to perform image formation on the one or more sheets fed from the sheet holder;
a sheet feeder configured to feed the one or more sheets held in the sheet holder toward the image forming unit;
a re-conveyance unit configured to re-convey, toward the image forming unit, the one or more sheets having passed through the image forming unit;
a first sensor configured to output a signal in response to detecting passage of each sheet fed by the sheet feeder;
a second sensor configured to output a signal in response to detecting passage of each sheet re-conveyed by the re-conveyance unit; and
a controller configured to:
acquire a passing time period during which a preceding sheet fed by the sheet feeder is passing through the first sensor, based on the signal from the first sensor;
determine an adjustment time period between a time when a leading end of the preceding sheet re-conveyed by the re-conveyance unit is detected based on the signal from the second sensor and a time for the sheet feeder to feed a subsequent sheet toward the image forming unit; and
control the sheet feeder to feed the subsequent sheet toward the image forming unit with timing adjusted based on the determined adjustment time period.
2. The image forming apparatus according to claim 1,
wherein the sheet feeder comprises a separator configured to separate a plurality of sheets fed from the sheet holder, on a sheet-by-sheet basis, and
wherein the controller is configured to control the sheet feeder to, after feeding the subsequent sheet from the sheet holder, stop the feeding of the subsequent sheet when a leading end of the subsequent sheet is positioned between the separator and the image forming unit.
3. The image forming apparatus according to claim 2, further comprising a third sensor configured to output a signal in response to detecting passage of each sheet fed from the separator toward the image forming unit,
wherein the controller is configured to control the sheet feeder to stop the feeding of the subsequent sheet, based on the signal from the third sensor.
4. The image forming apparatus according to claim 1,
wherein the controller is configured to control the image forming unit to start image formation on each sheet based on the signal from the first sensor.
5. The image forming apparatus according to claim 1, further comprising a registration unit configured to perform skew correction for each sheet to be fed to the image forming unit,
wherein the registration unit is disposed between the sheet feeder and the image forming unit in a sheet conveyance direction from the sheet holder toward the image forming unit, and disposed between the re-conveyance unit and the image forming unit in a sheet re-conveyance direction from the re-conveyance unit toward the image forming unit.
6. The image forming apparatus according to claim 5,
wherein the first sensor is disposed between the registration unit and the image forming unit in the sheet conveyance direction.
7. The image forming apparatus according to claim 5,
wherein the second sensor is disposed between the sheet feeder and the registration unit in the sheet conveyance direction.
8. A method adapted to be implemented on a processor coupled with an image forming apparatus comprising:
a sheet holder configured to hold one or more sheets;
an image forming unit configured to perform image formation on the one or more sheets fed from the sheet holder;
a sheet feeder configured to feed the one or more sheets held in the sheet holder toward the image forming unit;
a re-conveyance unit configured to re-convey, toward the image forming unit, the one or more sheets having passed through the image forming unit;
a first sensor configured to output a signal in response to detecting passage of each sheet fed by the sheet feeder; and
a second sensor configured to output a signal in response to detecting passage of each sheet re-conveyed by the re-conveyance unit, the method comprising:
acquiring a passing time period during which a preceding sheet fed by the sheet feeder is passing through the first sensor, based on the signal from the first sensor;
determining an adjustment time period between a time when a leading end of the preceding sheet re-conveyed by the re-conveyance unit is detected based on the signal from the second sensor and a time for the sheet feeder to feed a subsequent sheet toward the image forming unit; and
feeding, by the sheet feeder, the subsequent sheet toward the image forming unit with timing adjusted based on the determined adjustment time period.
9. A non-transitory computer-readable medium storing computer-readable instructions that are executable by a processor coupled with an image forming apparatus comprising:
a sheet holder configured to hold one or more sheets;
an image forming unit configured to perform image formation on the one or more sheets fed from the sheet holder;
a sheet feeder configured to feed the one or more sheets held in the sheet holder toward the image forming unit;
a re-conveyance unit configured to re-convey, toward the image forming unit, the one or more sheets having passed through the image forming unit;
a first sensor configured to output a signal in response to detecting passage of each sheet fed by the sheet feeder; and
a second sensor configured to output a signal in response to detecting passage of each sheet re-conveyed by the re-conveyance unit, the instructions being configured to, when executed by the processor, cause the processor to:
acquire a passing time period during which a preceding sheet fed by the sheet feeder is passing through the first sensor, based on the signal from the first sensor;
determine an adjustment time period between a time when a leading end of the preceding sheet re-conveyed by the re-conveyance unit is detected based on the signal from the second sensor and a time for the sheet feeder to feed a subsequent sheet toward the image forming unit; and
control the sheet feeder to feed the subsequent sheet toward the image forming unit with timing adjusted based on the determined adjustment time period.
10. The non-transitory computer-readable medium according to claim 9,
wherein the sheet feeder comprises a separator configured to separate a plurality of sheets fed from the sheet holder, on a sheet-by-sheet basis, and
wherein the instructions are configured to, when executed by the processor, cause the processor to control the sheet feeder to, after feeding the subsequent sheet from the sheet holder, stop the feeding of the subsequent sheet when a leading end of the subsequent sheet is positioned between the separator and the image forming unit.
11. The non-transitory computer-readable medium according to claim 10,
wherein the image forming apparatus further comprises a third sensor configured to output a signal in response to detecting passage of each sheet fed from the separator toward the image forming unit,
wherein the instructions are configured to, when executed by the processor, cause the processor to control the sheet feeder to stop the feeding of the subsequent sheet, based on the signal from the third sensor.
12. The non-transitory computer-readable medium according to claim 9,
wherein the instructions are configured to, when executed by the processor, cause the processor to control the image forming unit to start image formation on each sheet based on the signal from the first sensor.
13. The non-transitory computer-readable medium according to claim 9,
wherein the image forming apparatus further comprises a registration unit configured to perform skew correction for each sheet to be fed to the image forming unit, and
wherein the registration unit is disposed between the sheet feeder and the image forming unit in a sheet conveyance direction from the sheet holder toward the image forming unit, and disposed between the re-conveyance unit and the image forming unit in a sheet re-conveyance direction from the re-conveyance unit toward the image forming unit.
14. The non-transitory computer-readable medium according to claim 13,
wherein the first sensor is disposed between the registration unit and the image forming unit in the sheet conveyance direction.
15. The non-transitory computer-readable medium according to claim 13,
wherein the second sensor is disposed between the sheet feeder and the registration unit in the sheet conveyance direction.

1460745292-bed708b7-8104-43be-a3e2-7f490ea28e01

1. A network comment collection method, comprising:
obtaining a webpage entry link address;
determining whether there are N network comments on a webpage corresponding to the webpage entry link address, wherein N is a positive integer;
determining whether there are M network comments satisfying a collection condition among the N network comments when there are the N network comments, wherein M is a positive integer less than or equal to N; and
collecting the M network comments when there are the M network comments satisfying the collection condition.
2. The method according to claim 1, wherein obtaining the webpage entry link address specifically comprises:
obtaining a subject webpage where a subject to which the N network comments relate is posted;
obtaining a feature code of the subject webpage;
obtaining a feature code of a channel where the subject is posted; and
splicing the feature code of the subject webpage and the feature code of the channel to obtain the webpage entry link address.
3. The method according to claim 2, further comprising: refreshing the webpage entry link address periodically.
4. The method according to claim 1, further comprising: deleting the webpage entry link address when the network comments on the webpage have not been updated for a predetermined period of time.
5. The method according to claim 1, wherein determining whether there are M network comments satisfying the collection condition among the N network comments specifically comprises: computing a difference between N and P, and if N is greater than P, then indicating that there are newly added network comments, the number of which is the difference M between N and P, wherein P is the number of network comments in last access to the webpage.
6. The method according to claim 5, further comprising: counting the number L of network comments included in a current page of the webpage, and if L is less than M, then counting the number of pages to be turned and extracting a page-turn link corresponding to the number of pages, wherein L is a positive integer.
7. The method according to claim 5, further comprising: comparing each of the N network comments respectively with each of the P network comments, and if there are inconsistent comparison results, then extracting the M network comments with the inconsistent comparison results.
8. The method according to claim 1, wherein determining whether there are M network comments satisfying the collection condition among the N network comments specifically comprises: comparing each of the N network comments respectively with each of the P network comments, and if there are inconsistent comparison results, then determining the M network comments with the inconsistent comparison results as the network comments satisfying the collection condition.
9. The method according to claim 1, further comprising: storing contents of the extracted M network comments into a storage unit different from the webpage.
10. A network comment collection system, comprising:
an entry link obtaining component configured to obtain a webpage entry link address;
a first determining component configured to determine whether there are N network comments on a webpage corresponding to the webpage entry link address, wherein N is a positive integer;
a second determining component configured to determine whether there are M network comments satisfying a collection condition among the N network comments when there are the N network comments, wherein M is a positive integer less than or equal to N; and
a content collecting component configured to collect the M network comments when there are the M network comments satisfying the collection condition.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. A borehole tool comprising a tool body having an anchoring mechanism, the anchoring mechanism comprising:
a) a drive mechanism including a motor, a drive shaft and a clutch mechanism;
b) an anchoring arm moveable between first and second positions relative to the tool body; and
c) a push rod extending through the clutch mechanism connecting the anchoring arm to the drive mechanism; the push rod engaging a spring which acts to bias the arm into the first position, and driveably connecting the drive mechanism through the clutch such that the arm can be moved between the first and second positions.
2. A tool as claimed in claim 1, wherein the clutch mechanism comprises a collar having a number of balls which engage grooves in the push rod to allow the drive mechanism to move the arm.
3. A tool as claimed in claim 2, wherein the clutch mechanism comprises a spring-loaded retaining ring which causes the balls to be held in a driving position in the grooves when engaged by the collar.
4. A tool as claimed in claim 1, wherein the drive shaft comprises a drive screw which acts on the clutch mechanism by means of a nut to transmit drive to the push rod.
5. A tool as claimed in claim 1, wherein the spring comprises a coil spring surrounding at least part of the drive mechanism and wherein the drive mechanisms, push rod and spring are all located within the tool body.
6. A tool as claimed in claim 1, wherein the first position of the arm has the arm extending away from the tool body so as to engage a wall of a borehole in which the tool is positioned, and the second position of the arm has the arm lying close to the tool body.
7. A tool as claimed in claim 6, wherein the drive mechanism is used to control the movement of the arm under the influence of the spring between the first and second positions.
8. A tool as claimed in claim 7, wherein the spring and the drive mechanism operate so as to cause the arm to engage the borehole wall and force the tool body against the opposite side of the borehole wall, the drive mechanism serving to provide extra force to anchor the tool body against the borehole wall.
9. A tool as claimed in claim 6, wherein the drive mechanism can be reversed to disengage the clutch mechanism and remove the extra force from the arm such that it only engages the borehole wall under the influence of the spring.
10. A borehole tool comprising a tool body having an anchoring mechanism, the anchoring mechanism comprising:
a) a drive mechanism including a motor, a drive shaft and a clutch mechanism;
b) an anchoring arm moveable between first and second positions relative to the tool body; and
c) a push rod extending through the clutch mechanism connecting the anchoring arm to the drive mechanism through a link; the push rod engaging a spring which acts to bias the arm into the first position, and driveably connecting the drive mechanism through the clutch such that the arm can be moved between the first and second positions.
11. A tool as claimed in claim 10, wherein the clutch mechanism comprises a collar having a number of balls which engage grooves in the push rod to allow the drive mechanism to move the arm.
12. A tool as claimed in claim 11, wherein the clutch mechanism comprises a spring-loaded retaining ring which causes the balls to be held in a driving position in the grooves when engaged by the collar.
13. A tool as claimed in claim 10, wherein the drive shaft comprises a drive screw which acts on the clutch mechanism by means of a nut to transmit drive to the push rod.
14. A tool as claimed in claim 10, wherein the spring comprises a coil spring surrounding at least part of the drive mechanism and wherein the drive mechanisms, push rod and spring are all located within the tool body.
15. A tool as claimed in claim 10, wherein the first position of the arm has the arm extending away from the tool body so as to engage a wall of a borehole in which the tool is positioned, and the second position of the arm has the arm lying close to the tool body.
16. A tool as claimed in claim 15, wherein the drive mechanism is used to control the movement of the arm under the influence of the spring between the first and second positions, and can also act to further urge the arm to the first position so as to apply force to the borehole wall.
17. A tool as claimed in claim 16, wherein the spring and the drive mechanism operate so as to cause the arm to engage the borehole wall and force the tool body against the opposite side of the borehole wall, the drive mechanism serving to provide extra force to anchor the tool body against the borehole wall.
18. A tool as claimed in claim 15, wherein the drive mechanism can be reversed to disengage the clutch mechanism and remove the extra force from the arm such that it only engages the borehole wall under the influence of the spring.
19. A tool as claimed in claim 10, wherein the link comprises a cut-out area.
20. A tool as claimed in claim 10 wherein the link comprises a breakage area.
21. A tool as claimed in claim 10, further wherein the link comprises an orifice wherein the pivot connecting the anchor arm to the link is positioned.
22. A tool as claimed in claim 20, wherein the breaking area can be failed by operating the drive mechanism to provide a force on the push rod that is resisted by the force of an encumbered anchor arm, such that the resistance force imposed by the anchor jam fails the breakage area.
23. A tool as claimed in claim 22 wherein the anchor arm remains movable between a first and second position after the breaking area has been failed.
24. A link for connecting an anchoring arm to a borehole tool comprising at least one hole for affixing a fastener, an orifice for positioning a pivot, a cut-out area, and a breakage area.
25. A link as claimed in claim 24 comprising at least one hole for affixing a fastener and an orifice for positioning a pivot, wherein the orifice comprises said cut-out area and breakage area.
26. A borehole tool comprising a tool body having an anchoring mechanism, the anchoring mechanism comprising:
a) a drive mechanism including a motor, a drive shaft and a clutch mechanism;
b) an anchoring arm moveable between first and second positions relative to the tool body; wherein the anchor arm engages the borehole wall; and
c) a push rod connecting the anchoring arm to the drive mechanism; the push rod engaging a spring which acts to bias the arm into the first position, and driveably connecting the drive mechanism through the clutch such that the arm can be moved between the first and second positions; and
d) at least one measurement device.
27. A tool as claimed in claim 26 further comprising a link connecting the anchoring arm to the drive mechanism.
28. A tool as claimed in claim 26, wherein said measurement device measures contact of the anchor arm with the borehole.
29. A tool as claimed in claim 26, wherein said measurement device is a potentiometer.
30. A tool as claimed in claim 26, wherein measurement device determines force asserted by the anchor arm on the borehole wall.
31. A tool as claimed in claim 26, wherein said measuring device is a strain gauge.
32. A tool as claimed in claim 26, wherein said measuring device measures tool orientation.
33. A tool as claimed in claim 32, wherein said measuring device is a relative bearing measurement device.