An output-only quasi-pushout method associated with upper-layer packet discarding control, for selective pushout in a shared-buffer packet communication system, comprising the steps of:
- when a first packet is entering said system for queuing and said shared buffer has been used up, pushing out a second packet from a queue containing a damaged upper-layer packet, and if there is no damaged upper-layer packet, pushing out said second packet from a quasi-longest queue pointed by an quasi-longest queue pointer, to release a space, wherein said quasi-longest queue pointer is updated when a third packet departs from an output queue by comparing the updated length of said output queue and the length of said quasi-longest queue to point to the queue with longer length in said comparison;
- entering said first packet to its destination queue by taking the released space.