Ex Parte Hind et alDownload PDFPatent Trial and Appeal BoardSep 27, 201211744608 (P.T.A.B. Sep. 27, 2012) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte JOHN R. HIND and YONGCHENG LI ____________ Appeal 2011-006212 Application 11/744,608 Technology Center 2400 ____________ Before, STEPHEN C. SIU, JUSTIN T. ARBES and BRIAN J. McNAMARA, Administrative Patent Judges. McNAMARA, Administrative Patent Judge. DECISION ON APPEAL Appeal 2011-006212 Application 11/744,608 2 SUMMARY Appellants appeal under 35 U.S.C. § 134(a) from the Examiner’s final rejection of claims 1-21. We have jurisdiction under 35 U.S. C. § 6(b). We affirm. STATEMENT OF THE CASE Appellants’ invention concerns an integrated logging system with a client- side logging component and a server-side logging component. Messages including logged client-side activity information are received from the client-side logging component by the server-side logging component, and the logged activity information is integrated into the server side log(s) of a server-side logging system. (Abstract). Claim 1 is illustrative. 1. An integrated logging system comprising: a server-side logging component associated with a remote server that: transmits a marker to a client-side logging component associated with a client-side processing device, said marker comprising at least a start tag that identifies a start of a particular session between a container executed on said client-side processing device and said remote server; receives back said marker from said client-side processing device; and receives client-side logged activity information from said client-side processing device in response to data communication with said remote server associated with said particular session between said container and said remote server, wherein said logged client-side Appeal 2011-006212 Application 11/744,608 3 activity information from said client-side processing device is asynchronously received by said server-side logging component and relates to the execution of a script within a client execution environment that is controlled and operated independently of said remote server; a server-side logging integration component that organizes server-side logged activity information and received client-side logged activity information into a server-side log; a storage system that stores said server-side log; and an activity analysis component that conveys information from said server-side log to an analyst for problem determination with regard to script execution within said independently controlled and operated client execution environment. (App. Br. 21, Claims Appendix.) THE REJECTIONS Claims 1-6, 8-13, and 15-20 are rejected under 35 U.S.C. § 103(a) as being unpatentable over US 2005/0028171(Kougiouris) in view of US2007/0244914 A1 (Kreiner) and further in view of US 2006/0015853 A1 (Babineau). Claims 7, 14, and 21 are rejected under 35 U.S.C. § 103(a) as being unpatentable over Kougiouris in view of Kreiner and further in view of Babineau and US 6,460,076 B1 (Srinivasan). ANALYSIS We address the claims as grouped by Appellants in the Appeal Brief. Appeal 2011-006212 Application 11/744,608 4 Claims 1, 2, 8, 9, 15 and 16 In this claim group, claim 1 is illustrative. Since there is a discrepancy between the Final Rejection mailed on January 27, 2010 and the Examiner’s Answer, we begin with the Final Rejection mailed on January 27, 2010.1 In the Final Rejection mailed on January 27, 2010 the Examiner found that Kougiouris teaches the client and server-side logging components, storage system and activity analysis component recited in claim 1. (Final Rej. 2-4). The Examiner found that Kreiner teaches logging and problem determination relating to the execution of the script. (Id. at 5). At issue in this Appeal are the Examiner’s findings concerning the remaining claim limitations. In the Final Rejection mailed on January 27, 2010, the Examiner found that Babineau teaches the claimed limitations of a server-side logging component associated with a remote server that: transmits a marker to a client-side logging component associates with a client side processing device, said marker comprising at least a start tag that identifies the start of a particular session between a container executed on a client-side processing device said remote server; [and] receives back said marker from said client-side processing device; (Id. at 5-6). The Examiner specifically cited to paragraphs [0040], [0063], [0065] and [0066] of Babineau. The Examiner stated that Babineau discloses “Paragraph [sic] 1 Throughout we refer to the Final Rejection mailed on January 27, 2010, the Appeal Brief filed on June 25, 2010, the Examiner’s Answer mailed on October 13, 2010, and Appellants’ Reply Brief filed on December 13, 2010. Appeal 2011-006212 Application 11/744,608 5 teaches that a marker can be a ‘service entry point’ and Paragraph 40 goes on to state that ‘each entry point may be specific to a user.’”2 (Id. at 6). On this basis the Examiner found that the marker in Babineau comprises a start tag that identifies the start of a debugging/logging session. (Id.). Citing paragraphs [0065] and [0066] and the steps illustrated in Figure 8, the Examiner found that Babineau teaches returning to the server the necessary information including the process identifier and IP address of the target system. (Id.). In their Appeal Brief, Appellants argued that in Babineau the service entry point information and user ID information analogous to the recited “marker” are generated at the client-side device deployed with an application. (App. Br. 14). Appellants argued that Babineau is in direct contrast with claim 1 which recites that the server-side logging component transmits a marker to the client-side logging component. (Id.). Appellants further argued that nothing in the user ID information of Babineau relates to when a session is started, in contrast to the marker recited in claim 1 which identifies the start of the session between a client container and the server. (Id.). The Examiner’s Answer maintains the same final rejection based on the combination of Kougiouris, Kreiner and Babineau, but re-states the Examiner’s analysis concerning Babineau. The Examiner’s Answer notes that in Kougiouris a logging event, which acts as a marker indicating the start of the logging session, is created by the client rather than the server. (Ans. 7). Citing paragraph [0041], the Examiner finds that Babineau teaches that an event, i.e., a “marker,” is generated from the server and sent to the client. (Id.). 2 The Examiner’s Final Rejection appears to have omitted a reference to paragraphs [0038] and [0039]. Appeal 2011-006212 Application 11/744,608 6 In their Reply Brief, Appellants assert that the way the rejection of claim 1 as stated in the Examiner’s Answer constitutes a new ground of rejection that merits reopening prosecution. (Reply Br. 4). Where the Appellant believes that an Examiner’s Answer contains a new ground of rejection not identified as such, the Appellant may file a petition within two months of the mailing date of the Examiner’s Answer requesting that a ground of rejection set forth in the Answer be designated a new ground of rejection or the argument is waived. There is no record of Appellants having filed such a petition on this case. Since no new ground of rejection has been designated, prosecution may not be re-opened. See MPEP § 1207.03(IV); 37 C.F.R. § 41.39. Appellants now argue that it would not have been obvious to modify Kougiouris in view of Babineau because doing so would have been directly opposite the principles of operation of Kougiouris, which the Examiner states teaches that the event is created by the client while in Babineau the Examiner states the event is generated from the server. (Reply Br. 5). Babineau and Kougiouris concern similar technology. Kougiouris teaches a system and method enabling multiple processes to efficiently log events. (Abstract). Babineau teaches a method and apparatus for on-demand debugging, tracing, and logging of applications. In Babineau, after a user selects one or more units of execution of interest, a marker is assigned to each target object. (Abstract). Since Babineau discloses that an application 410 may be one that executes on server 412 or a client application that executes on client 402, (¶[0045]), we agree with the Examiner that it would have been obvious to one of ordinary skill in the art to have combined the teachings of Kougiouris and Babineau. Appeal 2011-006212 Application 11/744,608 7 As discussed above, the Examiner noted that in paragraph [0041] Babineau teaches that a web server processes the user’s request and executes the application on the target system, which is the user’s data processing system. (See Ans. 7). If a marked target is encountered during execution, a service entry is triggered and an event is sent to the registered event handler on the target system. (¶[0041]). The service entry is a marker which a server recognizes when a selected object is invoked. (¶[0038]). Babineau specifically teaches that that if one of the entry points 408 assigned by a user is encountered in the process 414, server 412 sends an event notification to the event handler 416 on client 402, which then gathers the appropriate information. (¶¶[0045, 0046]). Thus, we agree with the Examiner that Babineau teaches a server sending an event indicating the start of a logging session between the client and the server (Ans. 14) and we sustain the rejection of claims 1, 2, 8, 9, and 16. We further note that in the Final Rejection mailed on January 27, 2010, the Examiner referenced Fig. 8 and the actions taken in step 808 after event detection (Final Rej. 6). Figure 8 of Babineau shows that the input to step 808 comes from step 806 which reads “event handler detect an event from server.” Thus, our conclusion is consistent with the findings in the Examiner’s original final rejection. Claims 3, 10 and 17 Claim 3 is illustrative of the claims in this group. Appellants do not dispute that Kougiouris teaches that the client-side entity generates a timestamp, but contend that the timestamp of Kougiouris cannot be part of the marker that is transmitted from the server-side logging component to the client-side logging component as recited in claim 3. (App. Br. 16). Appellants maintain this argument in their Reply Brief. (Reply Br. 6). As discussed above, we agree with the Examiner that it would have been obvious to one of ordinary skill in the art to Appeal 2011-006212 Application 11/744,608 8 have combined the teachings of Kougiouris and Babineau. Thus, we agree with the Examiner that it would have been obvious to include a timestamp in the marker as recited in claim 3. (Ans. 16). Therefore, we sustain the rejection of claims 3, 10, and 17. Claims 4, 11, and 18 Claim 4 is illustrative of the claims in this group. Claim 4 recites that the received client-side logged activity information is stored in the server-side log by computing an offset of each activity based upon the timestamp. The claim does not define an “offset.” The Specification, however, explains the claimed offset, noting that the time on a client system may not be the same as the timestamp recorded by the server-side logging system and that time synchronization may be accomplished by adding an offset for each log activity to the timestamp time, either at the client-side or server-side. (¶[0064]). The Specification states that, for example, the offset may be determined based upon the time between receipt of the marker or some other reasonable measure and the time each log entry is created. (Id.). In rejecting this group of claims, the Examiner cites paragraph [0086] of Kougiouris, which discloses that the server-side logging component may use the event timestamp information to properly order events in the log and account for variables such as network latencies involved in sending events from client-side logging components to server-side logging components. (Ans. 9, 16-17). The cited passage from Kougiouris contradicts Appellants argument that “[n]one of the references teach or suggest anything about network latency.” (App. Br. 18). Accounting for latencies involved in sending events from the client-side logging components to the server-side logging components, as disclosed in Kougiouris, is Appeal 2011-006212 Application 11/744,608 9 relevant to the claimed offset. We agree with the Examiner that based on the teachings of Kougiouris, using a time offset approach is an obvious expedient to account for such latencies and a person of ordinary skill in the art would have had reason to implement the feature. (Ans. 17). Therefore, we sustain the rejection of claims 4, 11, and 18. Claims 5, 12 and 19 Claim 5 is representative of the claims in this group. Appellants argue that the Examiner’s reasoning in the Examiner’s Answer departs from the reasoning articulated in the Final Rejection. (Reply Br. 6-7). As previously noted, Appellants did not timely file a petition seeking to designate the Examiner’s Answer as containing a new ground of rejection, therefore prosecution is not reopened. Claim 5 recites the additional limitation on claim 2 that the server-side logging component communicates the start tag to one or more additional related servers for distribution from each server to a corresponding one client-side processing device. In the Final Rejection mail on January 27, 2010, the Examiner noted that Kougiouris in view of Kreiner discloses a “related server” used by the server-side logging component to “propagate the event log information.” (Final Rej. 9). Agreeing that the cited art does not explicitly disclose using the related server for distributing the start tag, the Examiner concluded it would be obvious to do so in order to prevent overloading, since load-balancing is known in the art. (Id.). Appellants argued that these claims do not recite load-balancing and that in a multi-server environment it is helpful to have each server-side log identify the same information consistently in order to help troubleshoot a problem. (App. Br. 18). Appeal 2011-006212 Application 11/744,608 10 The Examiner’s Answer states that backing up data for purposes of failover and load-balancing were well known in the art at the time of the invention, and it would be obvious to one of ordinary skill to propagate the start tag or any related session data to an additional server for further distribution to the client to prevent overloading in a given server and maintain a session in the event of failure. (Ans. 10). In response to Appellants’ arguments in the Appeal Brief, the Examiner invites consideration of US 6,539,494 B1 (Abramson), which teaches backing up session data on another server to failover to that server, in support of the contention that well-known features such as a failover and load-balancing make it obvious to propagate a start tag to an additional server for further distribution to the client device. (Ans. 18). Appellants respond that the subject claims specifically recite that the server-side logging components communicate the start tag to additional servers for distribution to a client-side device; in contrast in Kougiouris, the “event” is a client-side event and there is no need or desirability to back-up the event multiple times on one client because doing so provides no failover protection. (Reply Br. 7). As Appellants note, claim 5 actually recites copying information to one or more additional servers among many. (Reply Br. 6). Appellants argue that the purpose of this copying is to have each server-side log identify the same information consistently in order to help troubleshoot a problem and one way to do so is to send an identical start tag to a client from every server. (Id.). However, claim 5 is not limited to this purpose. Giving claim 5 its broadest reasonable interpretation, the issue is whether it would have been obvious to communicate the start tag to one or more additional servers for distribution from each server to a corresponding one client side processing device, regardless of the purpose. The Examiner’s Final Rejection mailed on January 27, 2010 mentioned the prevention Appeal 2011-006212 Application 11/744,608 11 of overloading by load balancing as one reason to use multiple servers as taught by Kuorgiouris in view of Kreiner. The Examiner’s mention of “failover” in the Examiner’s Answer (Ans. 10) as another reason for using multiple servers does not change the issue. Claim 5 is not limited to any particular purpose for communicating the start tag to multiple servers. Appellants’ argument that the event is a client-side event and there is no need to back-up the event multiple times on one client is based on the assumption that Babineau, which supplies the teaching that the event is a server-side event, cannot be combined with Kougiouris. We previously rejected Appellants’ position because Babineau teaches that the application 410 may be one that executes on server 412 or a client application that executes on client 402, (¶[0045]). Thus, Appellants have not persuaded us of error in the Examiner’s rejection of claim 5 and we sustain the rejection of claims 5, 12, and 19. Claims 6, 13 and 20 Claim 6 is representative of the claims in this group. Claim 6 recites the additional limitation on claim 2 that the server-side logging component transmits a different marker to the client-side logging component for each client-side logging instance executing in the client execution environment of a corresponding processing device. Citing paragraphs 10 and 94 of Kougiouris, the Examiner finds that since a given client processing device can have multiple processes running and each process can be associated with a client-side logging component instance, each instance must receive an event (marker) indicating the start of a logging session. (Ans. 10-11). Appellants argue that the Examiner relies on Babineau for disclosing an element analogous to the recited marker and that the element in Kougiouris could not be considered analogous to a marker as recited in claim 1 because such markers include at least a start tag that identifies a start of a particular Appeal 2011-006212 Application 11/744,608 12 session between a container executed on the client side processing device and the remote server. (App. Br. 19). As we previously noted in our discussion of claim 1, Kougiouris teaches a system and method enabling multiple processes to efficiently log events . (Abstract). Babineau discloses that an application 410 may be one that executes on server 412 or a client application that executes on client 402, (¶[0045]). Thus, we agree with the Examiner that Babineau teaches a server sending an event indicating the start of a logging session between the client and the server. (Ans. 14). We further agree with the Examiner that the “event” taught in paragraph 74 of Kougiouris and the timestamp in paragraph 76 of Kougiouris constitute markers, for the reasons stated by the Examiner. (Ans. 7). Therefore, we sustain the rejection of claims 6, 13, and 20. Claims 7, 14 and 21 With respect to claims 7, 14, and 21, Appellants argue only that the additional reference Srinivasan does not teach the features of claim 1 that Appellants contend are missing from the primary combination of references. Since we have already determined that the features of claim 1 are taught or suggested by the primary combination of references and because Appellants have offered no other arguments for the patentability of claims 7, 14 and 21, we sustain the rejection of claims 7, 14, and 21. ORDER The rejection of claims 1-6, 8-13, and 15-20 under 35 U.S.C. § 103(a) as being unpatentable over Kougiouris in view of Kreiner and further in view of Babineau is affirmed. Appeal 2011-006212 Application 11/744,608 13 The rejection of claims 7, 14, and 21 under 35 U.S.C. § 103(a) as being unpatentable over Kougiouris in view of Kreiner and further in view of Babineau and Srinivasan is affirmed. No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R § 1.136(a)(1)(iv). AFFIRMED Copy with citationCopy as parenthetical citation