1. A software overload control mechanism for maintaining the throughput of a communication system, the communication system composed of a plurality of inter-linked nodes, and each node having a plurality of inter-linked communication processors, the communication system having system resources, a load and a capacity, the communication system being susceptible to an overload condition where the load exceeds the capacity of the communication system, by regulating the amount of work accepted by the communication system, the mechanism comprised of: a rule-based decision maker for receiving a request from the communication system for work to be performed and determining whether the request should be: rejected; deferred; or executed; an inventory monitor, for monitoring local and global system resource consumption coupled to the rule-based decision maker and an overload scheduler coupled to the decision maker, for prioritizing and scheduling any request that is deferred.