Non-blocking distinct grouping of database entries with overflow
First Claim
Patent Images
1. An apparatus, comprising:
- a non-blocking grouping mechanism that groups entries of data, and returns the groups of entries of data substantially concurrently with processing following grouping of data.
2 Assignments
0 Petitions
Accused Products
Abstract
A grouping mechanism is provided which can return distinct groups of entries of data that satisfy a users query in a non-blocking fashion. Each distinct group can normaly be returned to the user substantially concurrently with the following entries being received and processed. The grouping mechanism supports an overflow mechanism which can transfer parts of the data between a primary memory to a secondary memory to alleviate shortage of primary memory. This non-blocking mechanism is useful as a part of a dataflow model data processing system.
13 Citations
12 Claims
-
1. An apparatus, comprising:
a non-blocking grouping mechanism that groups entries of data, and returns the groups of entries of data substantially concurrently with processing following grouping of data. - View Dependent Claims (2, 3, 4)
-
5. A method of providing concurrent grouping, comprising:
-
receiving input entries of data;
filtering out recurring entries of data from the input entries of data; and
returning distinct entries of data from the input entries of data to the user substantially concurrently with the receiving input entries of data. - View Dependent Claims (6, 7, 8)
-
-
9. A method of grouping entries of data, comprising:
-
prior to a potential overflow within a primary memory, grouping each input row of data and returning the data in a non-blocking fashion; and
in case of the overflow, ensuring that the user eventually receives the correct remaining rows.
-
-
10. A method of grouping entries of data, comprising:
-
segmenting the groups into clusters that limit a potential overflow to one cluster at a time;
prior to the potential overflow, all clusters perform work in a non-blocking fashion; and
in case of the overflow, transferring clusters one at a time from the primary memory to the secondary memory, while the remaining non-transferred clusters can still function in a non-blocking fashion.
-
-
11. A method of grouping entries of data, comprising:
-
prior to a potential overflow within a primary memory, grouping each input row of data and returning the data in a non-blocking fashion; and
in case of the overflow in which at least some of the data is transferred from the primary memory to a secondary memory, this data on the secondary memory is later processed in a non-blocking fashion concurrently with processing the remaining data.
-
-
12. An apparatus, comprising:
-
a non-blocking grouping mechanism that groups entries of data, and returns the groups of entries of data substantially concurrently with processing following entries of data to be grouped. an overflow mechanism by which data that includes the groups of entries of data that were grouped by the non-blocking grouping mechanism can be written from a primary memory to a secondary memory when the primary memory reaches an overflow condition; and
a return mechanism by which the data can be returned from the secondary memory back to the primary memory, and whereupon the data is being returned to the user substantially concurrently with the rest of the data being processed by the non-blocking grouping mechanism;
a select mechanism by which a prescribed number of output groups are requested by the user, wherein operation of all of the non-blocking grouping mechanism, the overflow mechanism, and the return mechanism are halted when the requested prescribed number of output groups is reached.
-
Specification