Appeal 2007-2127 Reexamination Control No. 90/006,621 The 1994 application does not define "threads." The district court construed "thread" as follows: "A thread is the execution of a sequence of instructions constituting one of the possibly many procedures, functions or subroutines within the program. Further, when interrupted, a thread's context must be saved and retrievable when a thread is reassigned control of the CPU and resumes execution." Reiffin v. Microsoft, 270 F. Supp. 2d at 1138. This definition comes from Patent Owner's arguments during prosecution of the '603 patent. See Reiffin v. Microsoft, 64 USPQ2d at 1115. This definition is consistent with the meaning in the art that multithreading on a single processor computer requires threads to be switched back and forth, which requires saving and restoring the thread's context. The fundamental characteristics of "multithreading," as defined in the '604 patent, are discussed below. Although "multithreading" has other attributes, (e.g., the specific items in the thread's context, threads are created by a program instruction, threads are scheduled by the operating system, etc.), this analysis relies on the definition provided by Patent Owner. (1) "concurrent . . . execution of a plurality of threads of instructions located within the same software program" Concurrent execution means that two or more threads within the same program are executing at some point between their starting and finishing points at the same time—this is one of the advantages of multithreaded programs. If there is a processor for each thread, all threads can run simultaneously (at exactly the same time), but if there is only one processor, the threads take turns executing incremental parts of their respective 46Page: Previous 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 Next
Last modified: September 9, 2013