Ex Parte 5694604 et al - Page 57


                Appeal 2007-2127                                                                                  
                Reexamination Control No. 90/006,621                                                              
                HUGHES, OBJECT ORIENTED MULTITHREADING USING C++ 99,                                              
                110, Wiley Computer Publishing (1997) (Ex. 17) ('[Threads execute for                             
                short intervals, then release control of the processor.'); MICROSOFT                              
                COMPUTER DICTIONARY 303 (1999, Fourth Ed.) ('In [cooperative                                      
                multitasking], the operating system relies on the task to voluntarily cede                        
                control to another task . . . .') (Ex. 19)) (Reiffin, ¶¶ 29-30)" (Br. 33).                        
                       We agree that operating systems can provide for threads to voluntarily                     
                release the unused remainder of a timeslice (although Patent Owner's                              
                statement is based on descriptions of multithreading systems he had nothing                       
                to do with).  However, this evades the real issue, which is that a thread in a                    
                "preemptive multithreading" system, as claimed, must be interruptible                             
                (capable of being preempted) if it is still executing when its timeslice                          
                expires.  There is nothing inconsistent about a thread being interruptible, yet                   
                relinquishing control if it finishes before the end of its timeslice.  However,                   
                it is inconsistent with the nature of "preemptive multithreading" for a thread                    
                to not be capable of being preempted if the timeslice expires.  The whole                         
                point of preemptive multithreading is to let each thread run a fixed amount                       
                of time and then preempting it to let another thread run.                                         
                       Mr. Reiffin's declaration contains misleading statements to the effect                     
                that not all threads are interruptible by referring to "cooperative and selfish                   
                threads" (Reiffin declaration, ¶¶ 31, 35).  Cooperative or event-driven                           
                multithreading is when each thread runs until it is finished or until some                        
                event occurs which causes the thread to suspend execution, such as waiting                        
                for I/O.  In a "cooperative multithreading" system, the amount of time a                          
                thread is allowed to run is determined by the thread, whereas in a                                
                "preemptive multithreading" system, the time is determined by the timeslice                       

                                                       57                                                         

Page:  Previous  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  Next

Last modified: September 9, 2013