Patent ID: 8295305

Claim:
A method of assigning work from a plurality of sources to a plurality of sinks in a scheduling period, the method comprising: selecting, by a data processing system using a first scheduler, a first source from the plurality of sources in a current scheduling period based on a source attribute that maintains source selection fairness among the plurality of sources; determining, by the data processing system, whether a sink is available for the first source in the current scheduling period based on work assignment constraints between the plurality of sources and the plurality of sinks that define which of the plurality of sinks are associated with which of the plurality of sources to process work from; responsive to determining that a sink is available for the first source in the current scheduling period based on the work assignment constraints, selecting by the data processing system, a first sink for the first source in the current scheduling period based on the assignment constraints; and responsive to determining that a sink is not available for the first source in the current scheduling period based on the work assignment constraints, staying, by the data processing system, on the first source by making another source selection using the first scheduler such that the same first source is selected as the first source by the first scheduler in a next scheduling period, deferring, by the data processing system, source selection in the current scheduling period from the first scheduler to a second scheduler, selecting, by the data processing system, a second sink from the plurality of sinks in the current scheduling period based on a sink attribute that relates to work processing efficiency, and selecting, by the data processing system using the second scheduler, a second source for the second sink in the current scheduling period based on the assignment constraints.