Appeal 2007-2127 Reexamination Control No. 90/006,621 subtasks in different parts of the program. Each thread maintains its own program counter which indicates its place in the program so, for example, one thread can be executing in instruction range 001-500 and another thread can be executing in instruction range 501-1000. Where two sets of instructions are incapable of running at the same time, assuming they each have their own processor, there can be no concurrent execution. A normal hardware interrupt is a good example of non-concurrent execution. When an interrupt occurs, the main program stops executing and it does not start running again until the interrupt service routine has completely finished its operation. Since it is impossible for the main program to execute while the interrupt service routine is executing, there is no concurrent execution of two sets of instructions. This is sequential operation. By contrast, although a multithreading operating system also uses an interrupt, the operating system is specially designed to switch back and forth between threads by performing a thread context switch. Without a specially designed operating system, multithreading is impossible. Importantly, the instructions must be in the same software program. (2) "asynchronous. . . execution of a plurality of threads of instructions located within the same software program" Asynchronous simply means that the threads execute independently of one another, meaning that they run simultaneously but without timing relationships. 47Page: Previous 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 Next
Last modified: September 9, 2013