A method in a data processing system for dynamically controlling end-to-end data flow over a network, wherein said data includes a plurality of packets to be transmitted, and wherein said data includes real-time and non-real-time data, said real-time data including a plurality of frames, each of said plurality of frames including multiple packets, said method comprising the steps of:
- associating each of said plurality of packets with only one of a plurality of priority levels, said plurality of priority levels being established in a priority hierarchy;
- initiating transmission of said plurality of packets from a transmitter to a receiver in said priority hierarchy;
- storing said plurality of frames in a frame buffer included within said receiver;
- during said transmission, monitoring a level of said plurality of frames stored within said frame buffer;
- in response to said level of said plurality of frames crossing a first buffer threshold, determining if a first plurality of said multiple packets are associated with a first priority level;
- in response to said first plurality of said multiple packets being associated with a first priority level, modifying said first priority level associated with each of said first plurality of said multiple packets, wherein each of said plurality of packets are associated with only a second priority level;
- and
- continuing transmission of said plurality of packets, wherein each of said first plurality of said multiple packets are transmitted utilizing said second priority level.