Event driven blackboard processing system that provides dynamic load balancing and shared data between knowledge source processors
First Claim
1. A blackboard processing system, comprising:
- a plurality of knowledge source processors that are configured for parallel processing of computational tasks, so that while one knowledge source processor carries out one computational task, another knowledge source processor carries out another computational task;
a blackboard control unit, physically separate and distinct from said plurality of knowledge source processors, coupled in communication with said plurality of knowledge source processors, said blackboard control unit including a plurality of functional hardware modules, each of said functional hardware modules including a central processing unit, an electronic memory and a communication interface, said plurality of functional hardware modules including;
database means, coupled in communication with the knowledge source processors, for storing and retrieving data received from the knowledge source processors;
communication means, coupled in communication with the knowledge source processors and to the database means, for conveying data to and from specific knowledge source processors and to and from the database means, and for transmitting instructions to the knowledge source processors;
trigger means, coupled in communication with the database means and responsive to data presented to and stored by the database means, for producing a trigger signal upon the occurrence of a predefined condition indicated by that data; and
scheduler means, coupled in communication with the knowledge source processors through the communication means and connected to the trigger means to receive the trigger signal produced by the trigger means, for transmitting the instructions through the communication means to the knowledge source processors, the instructions causing a selected knowledge source processor to carry out a specific computational task.
0 Assignments
0 Petitions
Accused Products
Abstract
A blackboard parallel processing system for carrying out a general processing task using a plurality of parallel processors. In one application of the blackboard processing system, a workstation (102), which is part of an an automated workstation manufacturing system (AWMS), includes a blackboard control unit (BCU) (106) on which four separate functions are implemented in separate identical modules. The BCU includes a database module (34) having access to a global database, which is available to each of the plurality of parallel processors, referred to as knowledge source processors (KSPs) (40). A trigger module (46) includes trigger patterns that are compared to the data developed from messages transmitted by the KSPs to initiate specific tasks according to a predefined sequence. A scheduler module (42) responds to the trigger signals, by transmitting a signal to initiate each task, either by a specified KSP or by the KSP that is the least loaded with previously assigned processing task. A communication module (38) serves as an interface between knowledge source operating systems in each of the KSPs. Applications running in each KSP are initiated in response to the signals provided by the BCU, producing data and using data available to each of the KSPs on the global database.
64 Citations
22 Claims
-
1. A blackboard processing system, comprising:
-
a plurality of knowledge source processors that are configured for parallel processing of computational tasks, so that while one knowledge source processor carries out one computational task, another knowledge source processor carries out another computational task; a blackboard control unit, physically separate and distinct from said plurality of knowledge source processors, coupled in communication with said plurality of knowledge source processors, said blackboard control unit including a plurality of functional hardware modules, each of said functional hardware modules including a central processing unit, an electronic memory and a communication interface, said plurality of functional hardware modules including; database means, coupled in communication with the knowledge source processors, for storing and retrieving data received from the knowledge source processors; communication means, coupled in communication with the knowledge source processors and to the database means, for conveying data to and from specific knowledge source processors and to and from the database means, and for transmitting instructions to the knowledge source processors; trigger means, coupled in communication with the database means and responsive to data presented to and stored by the database means, for producing a trigger signal upon the occurrence of a predefined condition indicated by that data; and scheduler means, coupled in communication with the knowledge source processors through the communication means and connected to the trigger means to receive the trigger signal produced by the trigger means, for transmitting the instructions through the communication means to the knowledge source processors, the instructions causing a selected knowledge source processor to carry out a specific computational task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A blackboard processing system for running an application that includes a plurality of computational processes, at least some of which can be completed in parallel, comprising:
-
(a) a plurality of parallel processors that carry out the computational processes included in the application; and (b) blackboard control means, physically separate and distinct from the plurality of parallel processors, and coupled in communication with the plurality of parallel processors, said blackboard control means including a plurality of processor modules, each of said processor modules including a central processing unit, an electronic memory and a communication interface, said plurality of processor modules; (i) providing high-speed data communication to and from the plurality of parallel processors; (ii) storing, retrieving, and sharing data resulting from computational processes that have been completed by the plurality of parallel processors, to enable other computational processes to be completed by them; (iii) scheduling the computational processes to run on selected parallel processors based on a capability of the selected parallel processors to carry out specific computational processes and based upon a relative computational load already imposed on the parallel processors, a parallel processor that is less heavily loaded being selected to carry out a specific computational process instead of a parallel processor that is more heavily loaded; and (iv) detecting that a predefined event has occurred based on data supplied by at least one of the plurality of parallel processors that are indicative of such an occurrence, and upon detecting the occurrence of the predefined event, initiating running of one of the computational processes so that the plurality of computational processes are completed in response to the predefined event, the blackboard control means thus insuring that the computational processes included in the application are carried out efficiently by sharing the data and allocating the computational processes among the plurality of parallel processors. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification