최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0121473 (2008-05-15) |
등록번호 | US-8374986 (2013-02-12) |
발명자 / 주소 |
|
출원인 / 주소 |
|
인용정보 | 피인용 횟수 : 39 인용 특허 : 176 |
Disclosed herein is a method and system for hardware-accelerating various data processing operations in a rule-based decision-making system such as a business rules engine, an event stream processor, and a complex event stream processor. Preferably, incoming data streams are checked against a plural
Disclosed herein is a method and system for hardware-accelerating various data processing operations in a rule-based decision-making system such as a business rules engine, an event stream processor, and a complex event stream processor. Preferably, incoming data streams are checked against a plurality of rule conditions. Among the data processing operations that are hardware-accelerated include rule condition check operations, filtering operations, and path merging operations. The rule condition check operations generate rule condition check results for the processed data streams, wherein the rule condition check results are indicative of any rule conditions which have been satisfied by the data streams. The generation of such results with a low degree of latency provides enterprises with the ability to perform timely decision-making based on the data present in received data streams.
1. A method for operating a rule-based system, the method comprising: receiving a data stream within the rule-based system, the data stream comprising data representative of a plurality of events, the rule-based system being configured with a plurality of rules, each rule having at least one pre-def
1. A method for operating a rule-based system, the method comprising: receiving a data stream within the rule-based system, the data stream comprising data representative of a plurality of events, the rule-based system being configured with a plurality of rules, each rule having at least one pre-defined rule condition, the rule-based system comprising a coprocessor, the coprocessor comprising a plurality of parallel processing paths, at least one of the parallel processing paths comprising a plurality of pipelined processing modules, the pipelined processing modules comprising a filtering module, a windowing module downstream from the filtering module, and a rule condition checking module downstream from the filtering module, and wherein at least another of the parallel processing paths comprises a rule condition checking module;within the at least one parallel processing path: the filtering module of the at least one parallel processing path filtering at least a portion of the data stream to pass a subset of the data stream;the rule condition checking module of the at least one parallel processing path processing the filtered data stream to perform a rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the rule conditions;the windowing module of the at least one parallel processing path caching event data corresponding to the filtered data stream, the cached event data comprising event data for a plurality of the events, the cached event data for use with a rule condition check operation that requires consideration of a plurality of events to determine whether a rule condition is satisfied;within the at least another parallel processing path: the rule condition checking module of the at least another parallel processing path processing at least a portion of the data stream to perform a different rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the other rule conditions;the plurality of parallel processing paths thereby simultaneously performing a plurality of different rule condition check operations on the data stream to thereby generate a plurality of rule condition check results corresponding to the rules for the data stream in parallel. 2. The method of claim 1 wherein at least one of the rule condition check results is indicative of a rule condition be satisfied, the method further comprising: the coprocessor associating the at least one rule condition check result indicative of a rule condition being satisfied with a corresponding portion of the data stream for which the rule condition was deemed satisfied. 3. The method of claim 2 wherein at least one of the rule condition checking modules performs a matching operation to determine if any of the data processed by it matches any of a plurality of keys, the keys corresponding to at least a plurality of the rule conditions. 4. The method of claim 2 wherein at least one of the rule condition check operations comprises a range check operation that determines if any data within the data processed by it falls within a data range, wherein the data range corresponds to at least one of the rule conditions. 5. The method of claim 1 wherein at least one of the rule condition checking modules performs the following steps: computing an aggregate value based on the data processed by it;determining whether a rule condition is satisfied based at least in part upon the computed aggregate value;in response to a determination that that rule condition is satisfied, generating a rule condition check result indicative of that rule condition's satisfaction;storing the computed aggregate value in a memory; andretrieving the aggregate value from the memory as additional data stream portions are processed. 6. The method of claim 1 wherein at least one of the rule condition checking modules performs the following steps: computing a derived value based on the data processed by itdetermining whether a rule condition is satisfied based at least in part upon the computed derived value; andin response to a determination that that rule condition is satisfied, generating a rule condition check result indicative of that rule condition's satisfaction. 7. The method of claim 2 wherein the associating step comprises the coprocessor generating a new event for insertion in the data stream, the new event being indicative of the associated at least one rule condition check result. 8. The method of claim 2 wherein the associating step comprises the coprocessor appending a bit string indicative of the associated at least one rule condition check result to the event for which the rule condition check result was generated. 9. The method of claim 1 wherein the rule-based system comprises a Rete network. 10. The method of claim 9 wherein the Rete network comprises a plurality of alpha nodes, at least one of the alpha nodes serving as at least one of the rule condition checking modules. 11. The method of claim 10 wherein the at least one alpha node performs a matching operation to determine if any data processed by it matches any of a plurality of keys, the keys corresponding to at least a plurality of the rule conditions. 12. The method of claim 9 wherein the Rete network comprises a plurality of beta nodes, at least one of the beta nodes serving as at least one of the rule condition checking modules. 13. The method of claim 1 wherein the rule-based system comprises a business rules engine. 14. The method of claim 1 wherein the rule-based system comprises a complex event stream processor. 15. The method of claim 1 wherein at least one of the rule condition check operations comprises a matching operation. 16. The method of claim 15 wherein the matching operation comprises a regular expression pattern matching operation. 17. The method of claim 15 wherein at least one of the rule condition check operations comprises a threshold check operation. 18. The method of claim 1 wherein the windowing module is downstream from the rule condition checking module within the at least one parallel processing path. 19. The method of claim 1 wherein the windowing module is upstream from the rule condition checking module within the at least one parallel processing path. 20. The method of claim 1 wherein each event comprises at least one data field, the at least one data field having a data value, and wherein: within a first of the at least one parallel processing paths, (1) the filtering module in the first parallel processing path filtering the data stream portion to pass only data corresponding to at least one pre-selected data field, and (2) the downstream rule condition checking module in the first parallel processing path processing that passed data against at least one rule condition to thereby generate a rule condition check result for that passed data; andwithin a second of the at least one parallel processing paths, (1) the filtering module in the second parallel processing path filtering the data stream portion to pass only data corresponding to at least one pre-selected data field that is different than the at least one pre-selected data field of the first parallel processing path, and (2) the downstream rule condition checking module in the second parallel processing path processing that passed data against at least one rule condition to thereby generate a rule condition check result for that passed data. 21. The method of claim 20 further comprising merging data outputs for the plurality of parallel processing paths using the coprocessor. 22. The method of claim 21 further comprising delivering the received data stream to the merging step via a bypass path, and wherein the merging step further comprises inserting the rule condition check results generated within the plurality of parallel processing paths into the data stream delivered via the bypass path at a plurality of locations within the data stream. 23. The method of claim 1 wherein each event comprises at least one data field, the at least one data field having a data value, and wherein: the filtering module within the at least one parallel processing path filtering the data stream portion to pass only data corresponding to at least one pre-selected data field;performing a range check on the each field of the passed data to determine whether the passed data has a data value within a range of acceptable values corresponding to at least one range-based rule condition; andin response to a determination that that at least one range-based rule condition is satisfied, generating a rule condition check result indicative of that range-based rule condition's satisfaction. 24. The method of claim 1 wherein the coprocessor comprises a reconfigurable logic device, the parallel processing paths being resident on the reconfigurable logic device, the pipelined processing modules comprising a plurality of pipelined firmware application modules. 25. The method of claim 24 wherein the reconfigurable logic device comprises a field programmable gate array (FPGA), the parallel processing paths being resident on the FPGA. 26. The method of claim 24 wherein the parallel processing paths operate at hardware speeds to generate the rule condition check results. 27. The method of claim 26 further comprising the coprocessor receiving the data stream over a system bus at a bus bandwidth rate, and wherein the parallel processing paths generate the rule condition check results at a rate that keeps up with the bus bandwidth rate. 28. The method of claim 24 wherein the rule condition checking module within a first of the at least one parallel processing paths comprises a first matching module, the first matching module performing a first matching operation on a filtered data stream as part of a first rule condition check operation, and wherein the rule condition checking module within a second of the at least one parallel processing paths comprises a second matching module, the second matching module performing a second matching operation on a filtered data stream as part of a second rule condition check operation, the second rule condition check operation being different than the first rule condition check operation. 29. The method of claim 28 wherein the filtering module in the first of the at least one parallel processing paths and the filtering module in the second of the at least one parallel processing paths perform different filtering operations, the filtering operations limiting the filtered data streams in each respective parallel processing path to those data stream portions that are relevant to the rule condition checking operations performed within each respective parallel processing path. 30. The method of claim 28 wherein at least one of the matching modules comprises a regular expression pattern matching module. 31. The method of claim 24 wherein the rule condition checking module within a first of the at least one parallel processing paths comprises a matching module, the matching module performing a matching operation on a filtered data stream as part of a first rule condition check operation, and wherein the rule condition checking module within a second of the at least one parallel processing paths comprises a range check module, the range check module performing a range check operation on a filtered data stream as part of a second rule condition check operation, the second rule condition check operation being different than the first rule condition check operation. 32. The method of claim 31 wherein the filtering module in the first of the at least one parallel processing paths and the filtering module in the second of the at least one parallel processing paths perform different filtering operations. 33. The method of claim 32 wherein the matching module comprises a regular expression pattern matching module. 34. The method of claim 33 wherein the regular expression pattern matching module detects whether at least one member of the group consisting of a credit card number pattern and a social security number pattern is present within a filtered data stream. 35. The method of claim 24 wherein the pipelined processing modules within the at least one parallel processing path further comprises an aggregation module downstream from the windowing module, the aggregation module computing aggregate data based at least in part on the event data cached by the windowing module. 36. The method of claim 24 wherein each event comprises at least one data field, the at least one data field having a data value, wherein the coprocessor further comprises a record and field identifier module, the method further comprising: the record and field identifier module parsing at least a portion of the received data stream to tag the events and data fields within the data stream portion; anddelivering the tagged data stream to the parallel processing paths. 37. The method of claim 24 wherein the coprocessor further comprises a path merging module, the method further comprising: the path merging module (i) receiving data stream portions and rule condition check results from a plurality of the parallel processing paths, and (ii) merging the received data stream portions and rule condition check results into a single stream. 38. The method of claim 24 wherein the coprocessor further comprises a complex event generator, the complex event generator (i) analyzing the rule condition check results generated by a plurality of the parallel processing paths across a plurality of the events, and (ii) determining an action to be taken in response to the analysis. 39. The method of claim 24 wherein the rule condition check operations comprise a plurality of data quality check operations that are performed prior to loading data from the data stream into a database. 40. The method of claim 24 wherein the events comprise a plurality of sales transactions, and wherein the rule condition check operation performed within at least one of the parallel processing paths is configured to determine whether an aggregate amount of sales for a product or service has exceeded a threshold. 41. The method of claim 24 wherein the events comprise a plurality of credit card transactions, and wherein the rule condition check operation performed within at least one of the parallel processing paths is configured to determine whether any of the credit card transactions violates an alarm limit. 42. The method of claim 24 wherein the events comprise a plurality of credit card transactions, and wherein the rule condition check operation performed within at least one of the parallel processing paths is configured to determine whether an aggregation of credit card transactions for an account holder violates a condition. 43. The method of claim 42 wherein the aggregation comprises a count of credit card transactions for the account holder over a predetermined time period. 44. The method of claim 42 wherein the aggregation comprises a running total of credit card transaction purchase amounts over a predetermined time period. 45. The method of claim 24 further comprising: determining from the generated rule condition check results whether any of the rules are satisfied by the data stream. 46. The method of claim 45 further comprising the coprocessor, in response to a determination that a rule has been satisfied, identifying the satisfied rule. 47. The method of claim 45 wherein at least one of the rules comprises a plurality of rule conditions, wherein the rule condition checking module within the at least one parallel processing path comprises a first rule condition checking module, wherein the pipelined processing modules within the at least one of the parallel processing path further comprise a second rule condition checking module that is downstream from the first rule condition checking module, the first rule condition checking module performing a plurality of rule condition check operations on the filtered data stream to generate a plurality of rule condition check results, and the second rule condition checking module performing a secondary rule condition check operation to assess whether the rule condition results indicate that the plurality of rule conditions for the at least one rule have been satisfied. 48. A system comprising: a rule-based processing system, the rule-based processing system being configured to accept an incoming data stream, the data stream comprising data representative of a plurality of events, the rule-based processing system also being configured with a plurality of rules, each rule having at least one pre-defined rule condition based processing system comprising a coprocessor, the coprocessor comprising a plurality of parallel processing paths, at least one of the parallel processing paths comprising a plurality of pipelined processing modules, the pipelined processing modules comprising a filtering module, a windowing module downstream from the filtering module, and a rule condition checking module downstream from the filtering module, and wherein at least another of the parallel processing paths comprises a rule condition checking module;wherein the filtering module of the at least one parallel processing path is configured to filter at least a portion of the data stream to pass a subset of the data stream;wherein the rule condition checking module of the at least one parallel processing path is configured to process the filtered data stream to perform a rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the rule conditions;wherein the windowing module of the at least one parallel processing path is configured to cache event data corresponding to the filtered data stream, the cached event data comprising event data for a plurality of the events, the cached event data for use with a rule condition check operation that requires consideration of a plurality of events to determine whether a rule condition is satisfied;wherein the rule condition checking module of the at least another parallel processing path is configured to process at least a portion of the data stream to perform a different rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the other rule conditions;the plurality of parallel processing paths thereby being configured to simultaneously perform a plurality of different rule condition check operations on the data stream to thereby generate a plurality of rule condition check results corresponding to the rules for the data stream in parallel. 49. The system of claim 48 wherein at least one of the rule condition check results is indicative of a rule condition be satisfied, and wherein the coprocessor is further configured to associate the at least one rule condition check result indicative of a rule condition being satisfied with a corresponding portion of the data stream for which the rule condition was deemed satisfied. 50. The system of claim 49 wherein at least one of the rule condition checking modules is configured to perform a matching operation to determine if any data within the data processed by it matches any of a plurality of keys, the keys corresponding to at least a plurality of the rule conditions. 51. The system of claim 49 wherein at least one of the rule condition checking modules is configured to perform a range check operation to determine if any data within the data processed by it falls within a data range, wherein the data range corresponds to at least one of the rule conditions. 52. The system of claim 49 wherein the coprocessor is further configured to generate a new event for insertion in the data stream, the new event being indicative of the associated at least one rule condition check result. 53. The system of claim 49 wherein the coprocessor is further configured to append a bit string indicative of the associated at least one rule condition check result to the event for which the rule condition check result was generated. 54. The system of claim 48 wherein at least one of the rule condition checking modules is configured to: compute an aggregate value based on the data processed by it;determine whether a rule condition is satisfied based at least in part upon the computed aggregate value;in response to a determination that that rule condition is satisfied, generate a rule condition check result indicative of that rule condition's satisfaction;store the computed aggregate value in a memory; andretrieve the aggregate value from the memory as additional data stream portions are processed. 55. The system of claim 48 wherein at least one of the rule condition checking modules is configured to: compute a derived value based on data within the data processed by it;determine whether a rule condition is satisfied based at least in part upon the computed derived value; andin response to a determination that that rule condition is satisfied, generate a rule condition check result indicative of that rule condition's satisfaction. 56. The system of claim 48 wherein the rule-based processing system comprises a Rete network. 57. The system of claim 56 wherein the Rete network comprises a plurality of alpha nodes, and wherein at least one of the alpha nodes serves as at least one of the rule condition checking modules. 58. The system of claim 57 wherein the at least one alpha node is configured to perform a matching operation to thereby determine if any data processed by it matches any of a plurality of keys, the keys corresponding to at least a plurality of the rule conditions. 59. The system of claim 56 wherein the Rete network comprises a plurality of beta nodes, and wherein at least one of the beta nodes serves as at least one of the rule condition checking modules. 60. The system of claim 48 wherein the rule-based processing system comprises a business rules engine. 61. The system of claim 48 wherein the rule-based processing system comprises a complex event stream processor. 62. The system of claim 48 wherein at least one of the rule condition check operations comprises a matching operation. 63. The system of claim 62 wherein the matching operation comprises a regular expression pattern matching operation. 64. The system of claim 62 wherein at least one of the rule condition check operations comprises a threshold check operation. 65. The system of claim 48 wherein the windowing module is downstream from the rule condition checking module within the at least one parallel processing path. 66. The system of claim 48 wherein the windowing module is upstream from the rule condition checking module within the at least one parallel processing path. 67. The system of claim 48 wherein each event comprises at least one data field, the at least one data field having a data value; wherein the filtering module within a first of the at least one parallel processing paths is configured to filter the data stream portion to pass only data corresponding to at least one pre-selected data field;wherein the rule condition checking module within the first parallel processing path is configured to process the passed data from the filtering module within the first parallel processing path against at least one rule condition to thereby generate a rule condition check result for that passed data; andwherein the filtering module within a second of the at least one parallel processing paths is configured filter the data stream portion to pass only data corresponding to at least one pre-selected data field that is different than the at least one pre-selected data field of the first parallel processing path;wherein the rule condition checking module within the second parallel processing path is configured to process passed data from the filtering module within the second parallel processing path against at least one rule condition to thereby generate a rule condition check result for that passed data. 68. The system of claim 67 wherein the coprocessor is further configured to perform a merge operation to merge data outputs for the plurality of parallel processing paths. 69. The system of claim 68 wherein coprocessor further comprises a bypass path over which the data stream is delivered to the merge operation, and wherein the merge operation is configured to insert data corresponding to the rule condition check results generated within the plurality of parallel processing paths into the data stream delivered via the bypass path at a plurality of locations in the data stream. 70. The system of claim 48 wherein each event comprises at least one data field, the at least one data field having a data value; wherein the filtering module within the at least one of the parallel processing path is configured to filter the data stream portion to pass only data corresponding to at least one pre-selected data field;wherein the rule condition checking module within the at least one parallel processing path is configured to (i) perform a range check on the each field of the passed data to determine whether the passed data has a data value within a range of acceptable values corresponding to at least one range-based rule condition, and (ii) in response to a determination that that at least one range-based rule condition is satisfied, generate a rule condition check result indicative of that range-based rule condition's satisfaction. 71. A system for processing a bit stream against a plurality of rule conditions, the method comprising: a field programmable gate array (FPGA) for processing configured to (1) accept a bit stream with respect to a plurality of rules, each rule comprising at least one rule condition, the bit stream comprising data representative of a plurality of events, the reconfigurable logic device comprising a plurality of parallel processing paths, at least one of the parallel processing paths comprising a plurality of pipelined processing modules, the pipelined processing modules comprising a filtering module, a windowing module downstream from the filtering module, and a rule condition checking module downstream from the filtering module, and wherein at least another of the parallel processing paths comprises a rule condition checking module;wherein the filtering module of the at least one parallel processing path is configured to filter at least a portion of the bit stream to pass a subset of the bit stream; wherein the rule condition checking module of the at least one parallel processing path is configured to process the filtered bit stream to perform a rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the rule conditions;wherein the windowing module of the at least one parallel processing path is configured to cache event data corresponding to the filtered bit stream, the cached event data comprising event data for a plurality of the events, the cached event data for use with a rule condition check operation that requires consideration of a plurality of events to determine whether a rule condition is satisfied;wherein the rule condition checking module of the at least another parallel processing path is configured to process at least a portion of the bit stream to perform a different rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the other rule conditions;the plurality of parallel processing paths thereby being configured to simultaneously perform a plurality of different rule condition check operations on the bit stream to thereby generate a plurality of rule condition check results corresponding to the rules for the bit stream in parallel. 72. The system of claim 71 wherein at least one of the rule condition check results is indicative of a rule condition be satisfied, and wherein the reconfigurable logic device is further configured to associate the at least one rule condition check result indicative of a rule condition being satisfied with a corresponding portion of the bit stream for which the rule condition was deemed satisfied. 73. The system of claim 48 wherein the coprocessor comprises a reconfigurable logic device, the parallel processing paths being resident on the reconfigurable logic device, the pipelined processing modules comprising a plurality of pipelined firmware application modules. 74. The system of claim 73 wherein the reconfigurable logic device comprises a field programmable gate array (FPGA), the parallel processing paths being resident on the FPGA. 75. The system of claim 73 wherein the parallel processing paths are configured to operate at hardware speeds to generate the rule condition check results. 76. The system of claim 75 wherein the coprocessor is further configured to receive the data stream over a system bus at a bus bandwidth rate, and wherein the parallel processing paths are configured to generate the rule condition check results at a rate that keeps up with the bus bandwidth rate. 77. The system of claim 73 wherein the rule condition checking module within a first of the at least one parallel processing paths comprises a first matching module, the first matching module configured to perform a first matching operation on a filtered data stream as part of a first rule condition check operation, and wherein the rule condition checking module within a second of the at least one parallel processing paths comprises a second matching module, the second matching module configured to perform a second matching operation on a filtered data stream as part of a second rule condition check operation, the second rule condition check operation being different than the first rule condition check operation. 78. The system of claim 77 wherein the filtering module in the first of the at least one parallel processing paths and the filtering module in the second of the at least one parallel processing paths are configured to perform different filtering operations, the filtering operations being configured to limit the filtered data streams in each respective parallel processing path to those data stream portions that are relevant to the rule condition checking operations performed within each respective parallel processing path. 79. The system of claim 77 wherein at least one of the matching modules comprises a regular expression pattern matching module. 80. The system of claim 73 wherein the rule condition checking module within a first of the at least one parallel processing paths comprises a matching module, the matching module being configured to perform a matching operation on a filtered data stream as part of a first rule condition check operation, and wherein the rule condition checking module within a second of the at least one parallel processing paths comprises a range check module, the range check module being configured to perform a range check operation on a filtered data stream as part of a second rule condition check operation, the second rule condition check operation being different than the first rule condition check operation. 81. The system of claim 80 wherein the filtering module in the first of the at least one parallel processing paths and the filtering module in the second of the at least one parallel processing paths are configured to perform different filtering operations. 82. The system of claim 80 wherein the matching module comprises a regular expression pattern matching module. 83. The system of claim 82 wherein the regular expression pattern matching module is configured to detect whether at least one member of the group consisting of a credit card number pattern and a social security number pattern is present within a filtered data stream. 84. The system of claim 73 wherein the pipelined processing modules within the at least one parallel processing path further comprises an aggregation module downstream from the windowing module, the aggregation module configured to compute aggregate data based at least in part on the event data cached by the windowing module. 85. The system of claim 73 wherein each event comprises at least one data field, the at least one data field having a data value, wherein the coprocessor further comprises a record and field identifier module, the record and field identifier module configured to (i) parse the received data stream to tag the events and data fields within the data stream, and (ii) deliver the tagged data stream to the parallel processing paths. 86. The system of claim 73 wherein the coprocessor further comprises a path merging module, the path merging module configured to (i) receive data stream portions and rule condition check results from a plurality of the parallel processing paths, and (ii) merge the received data stream portions and rule condition check results into a single stream. 87. The system of claim 73 wherein the coprocessor further comprises a complex event generator, the complex event generator configured to (i) analyze the rule condition check results generated by a plurality of the parallel processing paths across a plurality of the events, and (ii) determine an action to be taken in response to the analysis. 88. The system of claim 73 wherein the rule condition check operations comprise a plurality of data quality check operations for being performed prior to loading data from the data stream into a database. 89. The system of claim 73 wherein the events comprise a plurality of sales transactions, and wherein the rule condition check operation performed within at least one of the parallel processing paths is configured to determine whether an aggregate amount of sales for a product or service has exceeded a threshold. 90. The system of claim 73 wherein the events comprise a plurality of credit card transactions, and wherein the rule condition check operation within at least one of the parallel processing paths is configured to determine whether any of the credit card transactions violates an alarm limit. 91. The system of claim 73 wherein the events comprise a plurality of credit card transactions, and wherein the rule condition check operation performed within at least one of the parallel processing paths is configured to determine whether an aggregation of credit card transactions for an account holder violates a condition. 92. The system of claim 91 wherein the aggregation comprises a count of credit card transactions for the account holder over a predetermined time period. 93. The system of claim 91 wherein the aggregation comprises a running total of credit card transaction purchase amounts over a predetermined time period. 94. The system of claim 73 wherein the rules-based system further comprises a processor, each of at least a plurality of the rules comprising a plurality of rule conditions, the rule condition check operations corresponding to the rule conditions, and wherein the processor or the coprocessor is configured to determine from the generated rule condition check results whether any of the rules are satisfied by the data stream. 95. The system of claim 94 wherein the coprocessor is further configured to (i) determine from the generated rule condition check results whether any of the rules are satisfied by the data stream, and (ii) in response to a determination that a rule was satisfied by the bit stream, identify the satisfied rule. 96. The system of claim 94 wherein at least one of the rules comprises a plurality of rule conditions, wherein the rule condition checking module within the at least one parallel processing path comprises a first rule condition checking module, wherein the pipelined processing modules within the at least one of the parallel processing path further comprise a second rule condition checking module that is downstream from the first rule condition checking module, the first rule condition checking module being configured to perform a plurality of rule condition check operations on the filtered data stream to generate a plurality of rule condition check results, and the second rule condition checking module being configured to perform a secondary rule condition check operation to assess whether the rule condition results indicate that the plurality of rule conditions for the at least one rule have been satisfied. 97. A method for operating a rule-based system, the method comprising: receiving a data stream within the rule-based system, the data stream comprising data representative of a plurality of events, the rule-based system being configured with a plurality of rules, each rule having at least one pre-defined rule condition, the rule-based system comprising a reconfigurable logic device, the reconfigurable logic device comprising a plurality of parallel processing paths, at least one of the parallel processing paths comprising a plurality of pipelined processing modules, the pipelined processing modules comprising a filtering module, a windowing module downstream from the filtering module, and a rule condition checking module downstream from the filtering module, and wherein at least another of the parallel processing paths comprises a rule condition checking module;within the at least one parallel processing path: the filtering module of the at least one parallel processing path filtering at least a portion of the data stream to pass a subset of the data stream;the rule condition checking module of the at least one parallel processing path processing the filtered data stream to perform a rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the rule conditions;the windowing module of the at least one parallel processing path caching event data corresponding to the filtered data stream, the cached event data comprising event data for a plurality of the events, the cached event data for use with a rule condition check operation that requires consideration of a plurality of events to determine whether a rule condition is satisfied;within the at least another parallel processing path: the rule condition checking module of the at least another parallel processing path processing at least a portion of the data stream to perform a different rule condition check operation thereon to generate a rule condition check result corresponding to at least one of the other rule conditions;the plurality of parallel processing paths thereby simultaneously performing a plurality of different rule condition check operations on the data stream to thereby generate a plurality of rule condition check results corresponding to the rules for the data stream in parallel.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.