Patent ID: 8743131

Claim:
A method comprising: associating, by a processing unit, a plurality of processes with corresponding respective data packets and multiple preambles; dynamically tracking, by the processing unit, a plurality of indexes during the execution of a first process, the plurality of indexes including a beginning index and an end index of each of the multiple preambles, a command buffer index, a ring buffer index, and a preemption index; determining, by the processing unit, when to switch from execution of the first process within the computer system to executing a second process based on the preemption index; preempting, by the processing unit, execution of the first process for the second process; determining, by the processing unit, a location of the first process at the preempting based on the beginning index, the end index, the command buffer index, and the ring buffer index; storing, by the processing unit, the location; switching, by the processing unit, to executing the second process based upon a time quantum; and resuming, by the processing unit, execution of the first process after the time quantum has lapsed, the resuming based on the stored determined location, wherein the processing unit comprises at least one processor and memory.