Ex parte CLAESDownload PDFBoard of Patent Appeals and InterferencesMar 8, 200008118773 (B.P.A.I. Mar. 8, 2000) Copy Citation Application for patent filed September 10, 1993,1 entitled "Method For Observing The Execution Of A Program Loaded Into An Information Processing System And Apparatus For Performing the Method," which is a continuation of Application 07/545,960, filed July 2, 1990, now abandoned, which claims the foreign filing priority benefit under 35 U.S.C. § 119 of French Application 89.09158, filed July 7, 1989. - 1 - THIS OPINION WAS NOT WRITTEN FOR PUBLICATION The opinion in support of the decision being entered today (1) was not written for publication in a law journal and (2) is not binding precedent of the Board. _______________ Paper No. 38 UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES Ex parte GERARD CLAES Appeal No. 1996-3076 Application 08/118,7731 HEARD: February 22, 2000 Before THOMAS, BARRETT, and BARRY, Administrative Patent Judges. BARRETT, Administrative Patent Judge. DECISION ON APPEAL Appeal No. 1996-3076 Application 08/118,773 - 2 - This is a decision on appeal under 35 U.S.C. § 134 from the final rejection of claims 1, 2, 4-7, 9-17, 20-24, and 26. We affirm-in-part. BACKGROUND The disclosed invention is directed to a method and apparatus for tracking the execution of a program. Information relating to the execution of the program is stored and an external service program can access the stored information to provide assistance to the user of the program. Claim 1 is reproduced below. 1. A method of observation of the execution of a program loaded into an information processing system of the type including the following minimal configuration: a central processing unit, a central memory, one or more input and/or output peripherals exchanging data with the central processing unit, an operating system, optionally one or more application programs, and a service program external to the application program for accessing an observation memory particularly in a reading mode comprising: - recording instantaneous information units relating to program being executed and/or the information processing operation context of said program at predetermined points of the information processing system; Appeal No. 1996-3076 Application 08/118,773 The Examiner and Appellant refer to this reference by2 the author's first name. To avoid confusion we do the same. - 3 - - optionally processing certain of said information units processed by pre-established analysis procedures; - memorizing in a status table (TE) and in accordance with a pre-established grid, a selection of, processed and/or unprocessed, information units corresponding to the observed program being executed; - authorizing access to the status table (TE), particularly in the reading mode, for service programs (SER) external to the observed program being executed, - retaining all or part of the status tables (TE) corresponding to observation cycles preceding the current cycle in memory in accordance with a structure of previous chronologically arranged status tables (TANT1-TANTN), and - beginning with the observed application program, automatically loading an address table directly accessible from outside the application program, including the instantaneous addresses of blocks of information relating to the execution of the observed program, in particular an address of a code of a function being executed and an address of the contents of an instantaneous context associated with the function. The Examiner relies on the following prior art: Wade 5,067,107 November 19, 1991 (filed November 5, 1988) Dieter Wybranietz et al. (Dieter ), Monitoring and2 performance measuring distributed systems during Appeal No. 1996-3076 Application 08/118,773 It is noted that claim 9 depends from canceled3 claim 8. - 4 - operation, 1988 ACM Sigmetrics Conference, May 24-27, 1988, pp. 197-206. Claims 1, 2, 10, 16, 23, and 26 stand rejected under 35 U.S.C. § 102(a) as being anticipated by Dieter. Claims 1, 2, 4-7, 9 -17, 20-24, and 26 stand rejected3 under 35 U.S.C. § 103 as being unpatentable over Wade and Dieter. We refer to the Final Rejection (Paper No. 24) and the Examiner's Answer (Paper No. 31) (pages referred to as "EA__") for a statement of the Examiner's position and to the Appeal Brief (Paper No. 30) (pages referred to as "Br__") for a statement of Appellant's arguments thereagainst. OPINION Anticipation The Examiner provides claim charts for independent claims 1 and 10. These charts could be more detailed and responsive to Appellant's arguments. We will supplement the claim charts with our own findings. It is noted that while Appeal No. 1996-3076 Application 08/118,773 - 5 - Dieter and the claimed subject matter measure different things and have different intended users, as argued by Appellant (Br10-11), this argument is persuasive only to the extent that the differences are found in the claim language. Claims 1, 2, and 16 In claim 1, the step of "recording instantaneous information units relating to [the] program being executed" is read on recording an "event" and a time stamp of the event in Dieter. An "event" is defined as "a special condition that occurs during normal system activity and that can be made visible to the TMP [test and measurement processor]" (page 199, left col.) and broadly "relates" to the program being executed. Thus, we find the recording limitation to be taught by Dieter. The step of "recording ... and/or the information processing operation context" is optional as indicated by the term "and/or" and need not be addressed. The step of "optionally processing certain of said information units processed by pre-established analysis procedures" is optional and need not be addressed. However, we agree with the Examiner that this limitation broadly Appeal No. 1996-3076 Application 08/118,773 - 6 - reads on the steps of reducing incoming information and filtering done by the local monitoring software (page 198, left col.) The Examiner reads the step of "memorizing in a status table (TE) and in accordance with a pre-established grid, a selection of, processed and/or unprocessed, information units corresponding to the observed program being executed" onto the disclosure in Dieter that "events are categorized, processed" (page 198, right col.) and "[d]etailed measurement and monitoring information are evaluated and stored locally in the compiler information data base" (page 200, right col.). This is too general and unspecific to anticipate. However, Dieter discloses that 256 event classes are stored at 256 addresses in EPU (event processing unit) memory (page 199, right col.). Each event entry in EPU memory is 80 bits long and consists of 8 bits representing the event class, 32 bit data specifying a single event, 36 bit time stamp, and a 4 bit control field such as CPU mode or overflow marker (page 199, right col.). This set of addresses is a "status table" and contains "information units corresponding to the observed program Appeal No. 1996-3076 Application 08/118,773 - 7 - being executed," which we have interpreted to be the events. Thus, we find the status table limitation taught by Dieter. The Examiner states that the step of "authorizing access to the status table (TE), particularly in the reading mode, for service programs (SER) external to the observed program being executed" is "apparent from page 199 fig.2 and page 200 fig.3" (EA4). More instructive is the discussion about the monitoring software (page 200, right col.) which has access to the stored events. We find this limitation taught by Dieter. The Examiner finds the step of "retaining all or part of the status tables (TE) corresponding to observation cycles preceding the current cycle in memory in accordance with a structure of previous chronologically arranged status tables (TANT1-TANTN)" to be "an apparent process in collecting and storing information" (EA4). Appellant argues that this step is not taught by Dieter (Br13-14). The Examiner responds that Dieter teaches storing information with time stamps (EA12). We do not find anything in Dieter than can be interpreted to anticipate this "retaining" step. A time Appeal No. 1996-3076 Application 08/118,773 - 8 - stamp does not disclose retaining status tables corresponding to previous observation cycles. For this reason, the anticipation rejection of claims 1, 2, and 16 must be reversed. Nevertheless, we go on to consider the rest of claim 1. The Examiner reads the step of "beginning with the observed application program, automatically loading an address table directly accessible from outside the application program, including the instantaneous addresses of blocks of information relating to the execution of the observed program, in particular an address of a code of a function being executed and an address of the contents of an instantaneous context associated with the function" on Figure 2, page 199, and on the statement that "[t]he local monitoring software is loaded together with information gathered during the compilation of program units . . ." (page 200, col. 2). Appellant argues that this interpretation is untenable (Br11). The sentences following the one relied on by the Examiner in the paragraph on page 200 of Dieter state: "This compiler information, as we call it, contains all Appeal No. 1996-3076 Application 08/118,773 - 9 - necessary semantic, structural and static type information about the distributed system loaded on the network. . . . With the aid of these tables of information the monitoring software is able to interpret the incoming events and display useful information about distribution units, connections, process objects, measurement data, etc." It seems that the "tables of information" in Dieter broadly correspond to the "blocks of information relating to the execution of the observed program." Since information in computers is accessed by its address, we think there must inherently be an "address table" to access the "tables of information" in Dieter. Appellant further argues, however, that "the Examiner has failed to identify any teaching in Dieter, of a program observation method which loads an address table with an address of a code of a function being executed and the address of the context of the function." This refers to the last phrase of claim 1 beginning with "in particular . . . ." The Examiner's response (EA12) does not address this particular information. Appeal No. 1996-3076 Application 08/118,773 - 10 - We do not find anything in Dieter that can be interpreted as "an address of a code of a function being executed and an address of the contents of an instantaneous context associated with the function" as recited in claim 1. For this additional reason, the anticipation rejection of claims 1, 2, and 16 is reversed. Claim 10 The Examiner reads the claimed "first pickups means (32) for picking up instantaneous information, said first means being operatively associated with the central memory (12) and input and/or output peripherals (22)" on the "hardware and software monitor tools" in Dieter (EA5). Appellant argues (Br14-15) that Dieter does not disclose pickups as claimed. It is argued that this limitation must be construed in light of the specification under 35 U.S.C. § 112, sixth paragraph, and that "[t]he instant specification states, at page 6 [sic, 8], lines 2-6, . . . that the pickups 32 are in the form of programs and/or circuits capable of performing the functions of central memory reader, keyboard filter, screen memory reader, mouse Appeal No. 1996-3076 Application 08/118,773 - 11 - reader and buffer memory reader of a printer or modem" (Br15). Dieter discusses hardware and software monitor tools in the discussion of "The Problem" (pages 197-98), but this is Dieter's description of the prior art. The pickup in the system described in Dieter includes a hardware component which attaches to the system bus (page 199, right col., "4.2 Structure of the TMP"). The TMP has a comparator which checks addresses on the system bus for addresses within the range representing event classes and, if they match, "the matched address and the next data on the bus are stored with the timer contents in an event memory" (page 199, right col.); thus, there is also software associated with the pickup. We find that the TMP monitor performs the function of picking up instantaneous information. The structure of the pickups disclosed in the specification is "programs and/or circuits" (page 8, line 3). We find that the TMP monitor in Dieter is equivalent to the disclosed structure because it contains both circuits (hardware) and programs (software) for picking up information on the system bus. Claim 10 does not recite the functions of reading from Appeal No. 1996-3076 Application 08/118,773 - 12 - central memory, a keyboard filter, etc., as mentioned on page 8, lines 4-6, of the specification. The processor under test in Dieter has a central (main) memory and the TMP monitor is "operatively associated with" the central memory because it is attached to the system bus which functions to communicate with memory (Figure 3; note that the TMP can communicate with main memory, page 200, left col., last para.). One of ordinary skill in the art would have understood that the processor under test in Dieter is connected to peripherals via the system bus because peripherals are conventional and necessary in computer systems to do anything useful, such as to display, enter, or print data. The TMP monitor is also "operatively associated with" the peripherals via the system bus. For these reasons, we find the "first pickups means" is taught by Dieter. The Examiner reads (EA5) the "second means . . . for processing the instantaneous information" on the 68000 CPU of the TMP shown in Figure 3, page 200. We agree. Appellant does not challenge this finding. Thus, the "second means" is taught by Dieter. Appeal No. 1996-3076 Application 08/118,773 - 13 - The Examiner reads (EA5) the "third means comprising a monitor circuit (36) and an observation memory (38) . . . for memorizing the instantaneous information" on the EPU (event processing unit) (which stores the 256 event classes described at page 199, right column) and the local memory. We agree. Appellant does not challenge this finding. Thus, the "third means" is taught by Dieter. The Examiner reads (EA5-6) the "fourth means" on page 197, right column to page 198, left column, and the following statement (page 200, left column): "For test and debug purposes the test software running of DTM phase 1-3 on the TMP can access any data in the memory of the main processor to read and modify variables of the tested system." Appellant argues that, when claim 10 is properly construed under § 112, sixth paragraph, "Dieter does not disclose the fourth means (40) which includes a monitoring module in the observation memory (38) connected to the third means for reading the stored information which is accessible from outside the observed program, as clearly required by Claim 10" (Br15). Appellant does not identify what Appeal No. 1996-3076 Application 08/118,773 - 14 - structure in the specification corresponds to the fourth means. The EPU is part of the TMP, which is external to (i.e., outside) the measured and monitored system (Figures 2 and 3). The events stored in the EPU (the "memorized information") are "accessible from outside the application program" by the event processing software on the TMP. The program in the local memory of the TMP for reading the events stored in the EPU is a "fourth means (40) constituted by a monitoring module in said observation memory (38)." The program in the TMP is equivalent to the "structure" disclosed in Appellant's specification, which is also a program. The TMP program must communicate bidirectionally with a "service program" which we read on the monitoring program at the central station (e.g., page 201). Because the program in the TMP can read and modify variables in the memory of the main processor being tested (page 200, left col., last para.), we find that the program in the TMP communicates "bidirectionally" with the operating system as well as the application program. Thus, the "fourth means" is taught by Dieter. Appeal No. 1996-3076 Application 08/118,773 - 15 - Because we find all the limitations taught by Dieter, the anticipation rejection of claim 10 is sustained. Claim 23 Claim 23 contains the same "retaining" step as claim 1, which we found is not taught by Dieter. Therefore, the anticipation rejection of claim 23 is reversed. Appellant also argues that "the Examiner has failed to identify in Dieter. [sic] and Dieter does not disclose, the execution speed information, transfer speed information, and synchronicity analysis or combination thereof, as required by Claim 23" (Br16-17). The Examiner finds the limitation taught by the following statement in Dieter (page 200, right col., last para.): "monitoring software counts and stores summaries about individual events in the local database: number of messages sent and received, elapsed and blocked times, idle time, procedure running times. etc." We do not find that the information referred to by the Examiner is stored in a field of what we find to be the status table. Nor does the information referred to by the Examiner appear to be the same as what is claimed. Appeal No. 1996-3076 Application 08/118,773 - 16 - Therefore, we find that Dieter does not anticipate claim 23. The rejection of claim 23 is reversed. Claim 26 Claim 26 is similar to claim 10 except that it omits the limitation about "means for communicating bidirectionally with the operating system (OS) and the service program" and adds a "writing means." We have addressed the limitations of claim 26 in the discussion of claim 10 except for the "writing means." Appellant argues that "the Examiner has not identified any identical teaching in Dieter of the writing means of Claim 26, which enables the monitoring module to send information directly to the application programs, or the feature of collected [sic] information on the observed application program for use by a service program" (Br17). The Examiner points to (EA5-6) the following statement (page 200, left column): "For test and debug purposes the test software running of DTM phase 1-3 on the TMP can access any data in the memory of the main processor to read and modify variables of the tested system." Appeal No. 1996-3076 Application 08/118,773 - 17 - We agree with the Examiner that modifying variables in the memory of the main processor constitutes sending information directly to the application programs running on the system to be tested because the application programs are stored in and run from the memory. As to the limitation that "information is collected on the application program which is observed for use by a service program," the whole point of Dieter is to collect information about the system under test. For these reasons, we sustain the rejection of claim 26. Obviousness Wade discloses a performance and measurement system for a computing system. Performance data produced by the operating system of the computing system is collected and reduced before being logged. This reduces the data volume. Once the data is logged, the data may be transported to a workstation and accessed by a user. Claims 1, 2, 4-7, 9, and 13-17 Appeal No. 1996-3076 Application 08/118,773 - 18 - The Examiner finds that Wade disclose everything in claim 1 except for loading an address table and that this feature is taught by Dieter (EA7-8). Appellant argues (Br18-19) that Dieter does not disclose the claimed step of loading "an address of a code of a function being executed and an address of the contents of an instantaneous context associated with the function." We agree with Appellant that Dieter does not teach this step for the reasons stated in the analysis of the anticipation rejection of claim 1. Appellant further argues that neither Wade nor Dieter discloses retaining a structure of previously arranged status tables (Br21). We agree with Appellant that Dieter does not teach this step for the reasons stated in the analysis of the anticipation rejection of claim 1. We further agree that Wade does not teach this limitation. The Examiner does not explain how the specific claim limitations are met by Wade. For these two reasons, the rejection of claims 1, 2, 4-7, 9, and 13-17 is reversed. Claims 10-12 Appeal No. 1996-3076 Application 08/118,773 - 19 - We have sustained the rejection of claim 10 over Dieter. Therefore, we sustain the rejection of claim 10 over the combination of Wade and Dieter. In our opinion, Wade adds nothing to the teachings of Dieter and is less useful than Dieter. The obviousness rejection of claim 10 is sustained. Claims 11 and 12 are not separately argued and, therefore, fall with claim 10. The rejection of claims 11 and 12 is sustained. Claims 20-24 and 26 Claims 20-24 and 26 are stated to stand or fall together as a group with claims 10-17. Since the scopes of the claims differ, we cannot accept this grouping. As noted above, the rejection of claims 10-12 is sustained while the rejection of claims 13-17 is reversed. We have sustained the rejection of claim 26 over Dieter. Therefore, we sustain the rejection of claim 26 over the combination of Wade and Dieter. We have reversed the rejection of claim 23 over Dieter. Wade does not make up for the deficiency in Dieter as to claim 23. Therefore, we reverse the rejection of claim 23 over the combination of Wade and Dieter. Appeal No. 1996-3076 Application 08/118,773 - 20 - Claims 20-22 and 24 all contain the limitation of "retaining . . . chronologically arranged status tables," which limitation we found is not taught by Dieter as discussed in connection with claim 1. Wade does not make up for this deficiency in Dieter. Therefore, we reverse the rejection of claims 20-22 and 24. Appeal No. 1996-3076 Application 08/118,773 - 21 - CONCLUSION The rejection of claims 10 and 26 under 35 U.S.C. § 102(a) is sustained and the rejection of claims 1, 2, 16, and 23 under § 102(a) is reversed. The rejection of claims 10-12 and 26 under § 103 is sustained and the rejection of claims 1, 2, 4-7, 9, 13-17, and 20-24 under § 103 is reversed. No time period for taking any subsequent action in connection with this appeal may be extended under 37 CFR § 1.136(a). AFFIRMED-IN-PART JAMES D. THOMAS ) Administrative Patent Judge ) ) ) ) ) BOARD OF PATENT LEE E. BARRETT ) APPEALS Administrative Patent Judge ) AND ) INTERFERENCES ) Appeal No. 1996-3076 Application 08/118,773 - 22 - ) ) LANCE LEONARD BARRY ) Administrative Patent Judge ) Appeal No. 1996-3076 Application 08/118,773 - 23 - KERKAM, STOWELL, KONDRACKI & CLARKE Two Skyline Plaza 5203 Leesburg Pike Suite 600 Falls Church, VA 22041 Copy with citationCopy as parenthetical citation