← Back to Patent Explorer
US6560606B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for processing data with multiple processing modules and associated counters

Assignee: Telefonaktiebolaget LM Ericsson AB
•
Filing: 1999-05-04
•
Granted: 2003-05-06
•
Expires: 2019-05-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract For communication services, a metering and processing system for processing metered information incorporates configurable processing modules and a configuration manager. The system can by readily and flexibly configured, responsive to operator directions, to process metered information to meet the needs of data consumers, such as NSPs and ISPs. Each processing module performs a specific sub-part of a computation on the metered information, and the configuration manager generates a configuration file for specifying the order of operation, computation sub-part, and other operational parameters for the individual processing modules. A mechanism is provided for tracking and enforcing the ordering of data processing by the processing modules so as to take into account dependencies between them.

Inventors

  • 👤 Derek M. Young

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 06:54
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/4881

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 240 words
A computer program product comprising computer-readable media, and computer-executable program code stored on the media for ordering execution of a plurality of processing modules in a processing system, in which each processing module may be dependent on a number of other ones of the processing modules, the program code comprising: A) first program code for associating a counter with each of a plurality of processing modules, each counter providing a count; B) second program code for conditioning the count of each counter to indicate a number of processing modules executed, on which the associated processing module depends; C) third program code for executing the associated processing module when the counter indicates that the processing modules on which the associated processing module depends have been executed D) fourth program code for loading the counter with a value indicative of the number of processing modules on which the associated processing module is dependent; E) fifth program code for decrementing the counter as each of the number of processing modules is executed; F) sixth program code, responsive to the counter reaching a preselected value, for causing the associated processing module to execute the data; and G) seventh program code for sorting the processing modules in accordance with the dependency values of the counters, causing execution of at least one processing module having a counter dependency value of zero, and resorting the processing modules in accordance with decremented counter values reflecting the prior execution.
Claim 2
Dependent Claim 240 words
A computer program product comprising computer-readable media, and computer-executable program code stored on the media for ordering execution of a plurality of processing modules in a processing system, in which each processing module may be dependent on a number of other ones of the processing modules, the program code comprising: A) first program code for associating a counter with each of a plurality of processing modules, each counter providing a count; B) second program code for conditioning the count of each counter to indicate a number of processing modules executed, on which the associated processing module depends; C) third program code for executing the associated processing module when the counter indicates that the processing modules on which the associated processing module depends have been executed D) fourth program code for loading the counter with a value indicative of the number of processing modules on which the associated processing module is dependent; E) fifth program code for decrementing the counter as each of the number of processing modules is executed; F) sixth program code, responsive to the counter reaching a preselected value, for causing the associated processing module to execute the data; and G) seventh program code for sorting the processing modules in accordance with the dependency values of the counters, causing execution of at least one processing module having a counter dependency value of zero, and resorting the processing modules in accordance with decremented counter values reflecting the prior execution.
Claim 3
Dependent Claim 180 words
Apparatus for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the apparatus comprising: a counter associated with each processing module, including the one processing module, each counter having a count value; a dependency manager that comprises a database that stores initial count values for each counter and that initializes the count value of the counter in the one processing module to the number of other processing modules; a count conditioning mechanism that monitors each of the other processing modules and changes the count value of each counter when each of the other processing modules generates output data; and an execution manager that controls the one processing module to process data when the count value of the counter in the one processing module reaches a threshold indicating that all of the other processing modules have generated output data.
Claim 4
Dependent Claim 180 words
Apparatus for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the apparatus comprising: a counter associated with each processing module, including the one processing module, each counter having a count value; a dependency manager that comprises a database that stores initial count values for each counter and that initializes the count value of the counter in the one processing module to the number of other processing modules; a count conditioning mechanism that monitors each of the other processing modules and changes the count value of each counter when each of the other processing modules generates output data; and an execution manager that controls the one processing module to process data when the count value of the counter in the one processing module reaches a threshold indicating that all of the other processing modules have generated output data.
Claim 5
Dependent Claim 22 words
The apparatus in accordance with claim 2 wherein the dependency manager comprises a sorter that sorts the count values by initial value.
Claim 6
Dependent Claim 43 words
The apparatus in accordance with claim 3 wherein the execution manager comprises a first plurality of threads that control all processing modules to start processing data where the sorted count value indicates no other processing module output data is required to start processing.
Claim 7
Dependent Claim 39 words
The apparatus in accordance with claim 4 wherein the dependency manager further comprises a resorter that is responsive to the completion of data processing by the data processing modules started by the execution manager for resorting the count values.
Claim 8
Dependent Claim 43 words
The apparatus in accordance with claim 5 wherein the execution manager comprises a second plurality of threads that control all processing modules to start processing data where the resorted count value indicates no other processing module output data is required to start processing.
Claim 9
Dependent Claim 30 words
The apparatus in accordance with claim 2 wherein the count conditioning mechanism comprises an incrementer that increments the count value when each of the other processing modules generates output data.
Claim 10
Dependent Claim 30 words
The apparatus in accordance with claim 2 wherein the count conditioning mechanism comprises a decrementer that decrements the count value when each of the other processing modules generates output data.
Claim 11
Dependent Claim 157 words
Apparatus for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the apparatus comprising: a counter associated with the one processing module, the counter having a count value; a dependency manager that initializes the count value to the number of other processing modules; a count conditioning mechanism that monitors each of the other processing modules and changes the count value when each of the other processing modules generates output data; and an execution manager that controls the one processing module to process data when the count value reaches a threshold indicating that all of the other processing modules have generated output data and that controls a plurality of processing modules to process data in parallel.
Claim 12
Dependent Claim 157 words
Apparatus for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the apparatus comprising: a counter associated with the one processing module, the counter having a count value; a dependency manager that initializes the count value to the number of other processing modules; a count conditioning mechanism that monitors each of the other processing modules and changes the count value when each of the other processing modules generates output data; and an execution manager that controls the one processing module to process data when the count value reaches a threshold indicating that all of the other processing modules have generated output data and that controls a plurality of processing modules to process data in parallel.
Claim 13
Independent Claim 151 words
A method for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the method comprising: A) associating a counter with each processing module, including the one processing module, each counter having a count value; B) initializing the count value to the number of other processing modules and storing initial count values for each counter in a database; C) monitoring each of the other processing modules and changing the count value when each of the other processing modules generates output data; and D) controlling the one processing module to process data when the count value reaches a threshold indicating that all of the other processing modules have generated output data.
Claim 14
Independent Claim 151 words
A method for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the method comprising: A) associating a counter with each processing module, including the one processing module, each counter having a count value; B) initializing the count value to the number of other processing modules and storing initial count values for each counter in a database; C) monitoring each of the other processing modules and changing the count value when each of the other processing modules generates output data; and D) controlling the one processing module to process data when the count value reaches a threshold indicating that all of the other processing modules have generated output data.
Claim 15
Dependent Claim 18 words
The method in accordance with claim 10 wherein step (C) comprises sorting the count values by initial value.
Claim 16
Dependent Claim 46 words
The method in accordance with claim 11 wherein step (D) comprises (D 1 ) spawning a first plurality of threads that control all processing modules to start processing data where the sorted count value indicates no other processing module output data is required to start processing.
Claim 17
Dependent Claim 35 words
The method in accordance with claim 12 wherein step (C) further comprises resorting the count values in response to the completion of data processing by the data processing modules started in step (D 1 ).
Claim 18
Dependent Claim 43 words
The method in accordance with claim 13 wherein step (D) comprises spawning a second plurality of threads that control all processing modules to start processing data where the resorted count value indicates no other processing module output data is required to start processing.
Claim 19
Dependent Claim 25 words
The method in accordance with claim 10 wherein step (B) comprises incrementing the count value when each of the other processing modules generates output data.
Claim 20
Dependent Claim 25 words
The method in accordance with claim 10 wherein step (B) comprises decrementing the count value when each of the other processing modules generates output data.
Claim 21
Independent Claim 148 words
A method for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the method comprising: A) associating a counter with the one processing module, the counter having a count value; B) initializing the count value to the number of other processing modules; C) monitoring each of the other processing modules and changing the count value when each of the other processing modules generates output data; and D) controlling the one processing module to process data when the count value reaches a threshold indicating that all of the other processing modules have generated output data and controlling a plurality of processing modules to process data in parallel.
Claim 22
Independent Claim 148 words
A method for ordering the processing of data by a plurality of processing modules that receive input data and are controlled to process the input data and generate output data in which at least one processing module requires, as input data to start processing, the output data of a number of other processing modules, the method comprising: A) associating a counter with the one processing module, the counter having a count value; B) initializing the count value to the number of other processing modules; C) monitoring each of the other processing modules and changing the count value when each of the other processing modules generates output data; and D) controlling the one processing module to process data when the count value reaches a threshold indicating that all of the other processing modules have generated output data and controlling a plurality of processing modules to process data in parallel.

References Cited (Backward Citations)

US5691973A Cited
US5437029A Cited
US5768521A Cited
US5819092A Cited
US5696906A Cited
US5799305A Cited
US6170018B1 Cited
US6105025A Cited
US5918235A Cited
US6144965A Cited
US6047295A Cited
US6148309A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-05-05 2006-11-04 2007-05-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-05-05 2010-11-04 2011-05-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-05-05 2014-11-04 2015-05-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag