Patent ID: 7137122

Claim:
A method of regulating the flow of process state control messages for indicating the state of a corresponding process between processors in a data processing system, each processor operating one or more processes, each process state control message relating to one of the processes and comprising (i) process identity data identifying that process and (ii) a process state value indicative of the state of that process, the method being characterized by: employing (a) a message address queue, said queue being operated as a first-in-first-out store, and each item in the queue comprising a process identity section which identifies one of the processes, (b) a current state random access memory having one element for each process, each element being for storing the current state of the respective process, and (c) a process pending flag memory having a flag for each process; comprising repeatedly performing the steps of: (a) receiving a process state control message; (b) writing the process state value specified by the process state control message into the element of the current state random access memory corresponding to the process identified by the process identity data of the process state control message; and (c) according to the state of the flag corresponding to that process, deciding whether to insert an item into the queue, and, if the decision is positive, (i) inserting into the queue an item identifying that process and (ii) updating the flag corresponding to that process to indicate the existence of the item; and further comprising repeatedly performing the steps of: (d) retrieving an item from the queue; (e) retrieving the current state of the process identified by the item from the element of the current state random access memory corresponding to that process; (f) using the retrieved state to generate an output message comprising the retrieved state and data identifying that process; and (g) updating the flag for that process to remove the indication of the existence of the item such that the output message carries the latest state information regarding that process.