Patent ID: 7437489

Claim:
A data packet queue handling method for use on a computer system having a data packet generating unit, a data packet transfer interface, a data packet processing unit, and a memory unit, wherein the data packet generating unit is capable of generating a sequence of data packets which are transferred via the data packet transfer interface to the data packet processing unit; the data packet queue handling method comprising: in the event of an interrupt message being issued by the data packet transfer interface while receiving at least one data packets from the data packet generating unit, responding to the interrupt message by inspecting the memory amount requested by the first-priority data packet queued in the data packet transfer interface and accordingly issuing a corresponding memory space inspection enabling message; responding to the memory space inspection enabling message by inspecting whether the current free storage space of the memory unit is sufficient to satisfy the requested memory amount by the first-priority data packet queued in the data packet transfer interface; if YES, issuing a memory-sufficient message, and if NO, issuing a memory-insufficient message; responding to the memory-sufficient message by arranging the first-priority data packet queued in the data packet transfer interface into a buffer area in the memory unit for being processed by the data packet processing unit; responding to the memory-insufficient message by issuing a data packet halting message to command the data packet transfer interface to temporarily halt data packet transfer operation, and thereafter continually issuing a memory space inspection enabling message to the memory space inspecting module until the memory space inspecting module issues a memory-sufficient message; and repeating the above data packet queue handling procedure for the next-priority data packet queued in the data packet transfer interface until all data packets queued in the data packet transfer interface have been transferred to the data packet processing unit.