Ex Parte Berg et alDownload PDFPatent Trial and Appeal BoardApr 30, 201410901599 (P.T.A.B. Apr. 30, 2014) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte DOUGLAS CHARLES BERG, A. JOSEPH BOCKHOLD, CHARLES JAMES REDLIN, HAO WANG and ROBERT EUGENE WESTLAND ____________ Appeal 2011-013269 Application 10/901,599 Technology Center 2400 ____________ Before CHARLES N. GREENHUT, LYNNE H. BROWNE and ANNETTE R. REIMERS, Administrative Patent Judges. REIMERS, Administrative Patent Judge. DECISION ON APPEAL Appeal 2011-013269 Application 10/901,599 2 STATEMENT OF THE CASE Douglas Charles Berg et al. (Appellants) appeal under 35 U.S.C. § 134(a) from the Examiner’s decision to reject under 35 U.S.C. § 103(a) claims 1, 17 and 20 as unpatentable over Jordan (US 2003/0065709 A1; pub. Apr. 3, 2003), Smith (US 2005/0125508 A1; pub. Jun. 9, 2005) and Bauman (US 2003/0097488 A1; pub. May 22, 2003). Claims 2-16, 18 and 19 have been canceled. We have jurisdiction under 35 U.S.C. § 6(b). We AFFIRM. THE CLAIMED SUBJECT MATTER The claimed subject matter “relates to switching from synchronous to asynchronous processing.” Spec.1, ll. 7-8; fig. 3. Claims 1 and 17 are independent. Claim 1 is illustrative of the claimed subject matter and recites: 1. A method comprising: receiving a request from a client; selecting a first server in a cluster; sending the request to the first server and requesting that the first server assign, to the request, the request's own thread for execution on a processor using synchronous processing; determining whether the execution of the request by the request’s own thread using the synchronous processing at the first server was successful; if the execution of the request by the request’s own thread using the synchronous processing at the first server was successful, returning a success report to the client; and if the execution of the request by the request’s own thread at the first server was unsuccessful, monitoring for availability of a second server in the cluster, sending the request to the second server, wherein the second server assigns the request to a shared thread with other requests, Appeal 2011-013269 Application 10/901,599 3 and sending an asynchronous response to a bridge, wherein the bridge sends a synchronous response to the client that initiated the request after the request executes in the shared thread, wherein the execution of the request by the request’s own thread is unsuccessful if the first server is not currently performing synchronous processing and is dedicated to asynchronous processing, wherein the bridge sends the synchronous response on a same connection as the client that sent the request. ANALYSIS Claim 1 Independent claim 1 recites a method including the steps of (1)“requesting that the first server assign, to the request, the request’s own thread for execution on a processor using synchronous processing”; (2) “if the execution of the request by the request’s own thread using the synchronous processing at the first server was successful, returning a success report to the client”; and (3) “if the execution of the request by the request’s own thread at the first server was unsuccessful . . . sending the request to the second server, wherein the second server assigns the request to a shared thread with other requests.” Br. 20, Clms. App’x. The Examiner found that Jordan discloses the method of claim 1 except “Jordan . . . does not specifically disclose that the first server assigns, to the request, the request’s own thread for execution.” Ans. 5-6. The Examiner also found that Jordan fails to disclose if the execution of the request by the request’s own thread at the first server was unsuccessful, monitoring for availability of a second server in the cluster, sending the request to the second server, wherein the second server assigns the request to a shared thread with other requests, and sending an asynchronous response to a bridge, Appeal 2011-013269 Application 10/901,599 4 wherein the bridge sends a synchronous response to the client that initiated the request after the request executes in the shared thread, wherein the execution of the request by the request’s own thread is unsuccessful if the first server is not currently performing synchronous processing and is dedicated to asynchronous processing, wherein the bridge sends the synchronous response on a same connection as the client that sent the request. Ans. 6. The Examiner relied on Smith “to provide insight that asynchronous processing of a request can be performed by two different processors.” Id. at 12. The Examiner concluded that it would have been obvious “to incorporate the teachings of Smith with Jordan to enable seamless asynchronous processing that mirrors synchronous processing to the client.” Id. at 7. The Examiner further concluded that “[c]ombining Smith with Jordan allows the system to service the request asynchronously using one or more other processing engines when the first process engine could not perform the request synchronously.” Id. at 7-8. In other words, according to the Examiner, incorporating the teachings of Smith with Jordan would “enhance the processing capabilities of Jordan.” Id. at 12. The Examiner further relied on Bauman “[for disclosure of] the threading mechanisms in synchronous and asynchronous processing.” Id. at 12-13. The Examiner concluded that it would have been obvious to combine the teachings of Bauman with Jordan and Smith “since [Bauman discloses] how synchronous and asynchronous requests are typically processed within client/server applications. Once the user in Jordan requests one type of processing, the system would then process the request in the appropriate manner as disclosed by Bauman.” Id. at 9. The Examiner also concluded that Appeal 2011-013269 Application 10/901,599 5 [t]he motivation to combine would be to allow different methods of processing data depending on the scale of active connections the server can accommodate. Smaller scale operations can be processed synchronously to improve response times to the client or asynchronous processing can be used to handle a large set of clients with a limited number of threads in the server application’s thread pool. Ans. 9 (citing Bauman, para. [0012]); see also id. at 8 (citing Bauman, paras. [0008], [0009]; figs. 1, 2). Appellants contend that claim 1 changes the request from execution at a first server in the request’s own thread to a shared thread at a second server if the execution in the request’s own thread at the first server was unsuccessful . . . Jordan determines whether to perform its synchronous execution or its asynchronous execution, and once that determination has been made, Jordan does not change that determination, so Jordan teaches away from claim 1. Br. 16. Appellants’ arguments are not persuasive. At the outset, we agree with the Examiner that although the claims are interpreted in light of the Specification, limitations from the Specification are not read into the claims. See Ans. 10; See also In re Van Geuns, 988 F.2d 1181, 1184 (Fed. Cir. 1993). We further agree with the Examiner that “[d]uring examination, ‘claims . . . are to be given their broadest reasonable interpretation consistent with the specification . . . .’” See Ans. 10; See also In re American Acad. of Science Tech. Ctr., 367 F.3d 1359, 1364 (Fed. Cir. 2004). Here, the Appeal 2011-013269 Application 10/901,599 6 Examiner correctly pointed out that “[claim 1] specifically states that ‘the execution of the request by the request’s own thread is unsuccessful if the first server is not currently performing synchronous processing and is dedicated to asynchronous processing.’” Ans. 10; see also Br. 20, Clms. App’x. We agree with the Examiner that [claim 1] does not specifically [recite] that once a determination is made to process a request synchronously, there is a change of that request to asynchronous processing. The claim [recites] that the first server is dedicated to asynchronous processing, which can be interpreted as the first server asynchronously processing that particular request. [Claim 1] do[es] not [include] a step in which the first server attempts to process the request synchronously. [Claim 1] also does not specifically [recite] changing the request after attempted execution in its own thread to a shared thread as argued by [Appellants]. Id. Consequently, we agree with the Examiner that “[i]f the request is originally sent to the first server and processed asynchronously by the first server, the claim limitation of an unsuccessful synchronous execution is satisfied.” Id. We further agree with the Examiner that [claim 1] does not specifically disclose what “requesting that the first server assign, to the request, [its] own thread . . . using synchronous processing” further entails . . . The disclosed limitation can be interpreted as two separate steps, one for sending the request to the first server and a second for “requesting that the first server assign, to the request, [its] own thread . . . using synchronous processing.” Nothing within the Appeal 2011-013269 Application 10/901,599 7 claimed limitation suggests that the step of “requesting that the first server assign the request its own thread[”] is subsequent or after sending the request to the first server. Therefore, the latter step is not solely limited to being performed after “sending the request to the first server” and can be performed prior to the sending of the request. . . . The claim does not expressly limit the steps to send the request to the first server, the first server attempting the process the request, a determination of a failure by the first server to process the request, and sending the request to a second server for asynchronous processing in that particular order.1 Ans. 11. Regarding Appellants’ “teaching away” argument, first, as discussed above, claim 1 does not require “chang[ing] the request from execution in its own thread to a shared thread,” as Appellants contend. Br. 16. Second, to teach away, a reference must actually criticize, discredit, or otherwise discourage the claimed solution. In re Fulton, 391 F.3d 1195, 1201 (Fed. Cir. 2004) (prior art does not teach away from claimed subject matter merely by disclosing a different solution to a similar problem unless the prior art also criticizes, discredits, or otherwise discourages the solution claimed). In this case, both the Examiner and Appellants acknowledge that Jordan discloses both synchronous and asynchronous execution. See Ans. 5-6; Br. 16. Jordan does not in any way criticize, discredit, or otherwise discourage 1 We note that claim 1 recites “[a] method comprising.” Br. 20, Clms. App’x. See Georgia-Pacific Corp. v. U.S. Gypsum Co., 195 F.3d 1322, 1327 (Fed. Cir. 1999) (The transitional term “comprising” is “inclusive or open-ended and does not exclude additional, unrecited elements or method steps.”) Appeal 2011-013269 Application 10/901,599 8 the use of its own thread for synchronous execution or a shared thread for asynchronous execution, as taught by Bauman, to allow different methods of processing data depending on the scale of active connections the server can accommodate, such that smaller scale operations can be processed synchronously to improve response times to the client or asynchronous processing can be used to handle a large set of clients with a limited number of threads in the server application’s thread pool.2 See Ans. 8-9 (citing Bauman, paras. [0008], [0009], [0012]; figs. 1-2). Accordingly, we find that the disclosure of Jordan does not teach away from Appellants’ claimed invention. Appellants contend that (1) “Jordan . . . does not teach or suggest ‘requesting that the first server assign, to the request, the request’s own thread for execution on a processor using synchronous processing,’ as 2 Appellants’ Specification describes that (1) “[i]n synchronous processing, each request or communications connection is assigned its own programming thread. A programming thread (a process or a part of a process) is a programming unit that is scheduled for execution on a processor and to which resources such as execution time, locks, and queues may be assigned. Synchronous processing typically has faster response times and works well for smaller numbers of concurrently open connections or requests than does asynchronous processing” (Spec. 2, ll. 4-9); and (2) “[i]n asynchronous processing, all communications connections or requests share the same programming thread or the same set of threads. Asynchronous processing does not perform as well as synchronous processing for small numbers of concurrent connections or requests, but asynchronous processing does have the advantage that it scales well to large numbers of concurrent connections or requests because asynchronous processing does not associate a thread with each concurrent connection. Instead, in asynchronous processing, the available thread(s) are shared between the concurrent connections or requests, which reduces overhead since each additional thread has an associated overhead” (Spec. 2, ll. 10-17). Appeal 2011-013269 Application 10/901,599 9 recited in claim 1” (Br. 16); and (2) “in Jordan ‘synchronous’ means the ‘CPU waits for the completion of the synchronous request’ while in claim 1, the request is assigned the ‘request’s own thread for execution on a processor using synchronous processing’” (Br. 16-17). Appellants’ arguments are not persuasive. Appellants are attacking the teachings of Jordan, Smith and Bauman individually, rather than the combination of Jordan, Smith and Bauman. Nonobviousness cannot be established by attacking the references individually when the rejection is predicated upon a combination of prior art disclosures. See In re Merck & Co, 800 F.2d 1091, 1097 (Fed. Cir. 1986). The Examiner relied on Bauman “[for disclosure of] the threading mechanisms in synchronous and asynchronous processing.” Ans. 12. Further, we agree with the Examiner that “[claim 1] does not [recite] what synchronous processing3 means or specifically state[] that synchronous processing is processing the request with the request’s own thread.” Ans. 12. In other words, claim 1 merely recites “using synchronous processing” and does not further recite how synchronous processing is being used. See Br., 20, Clms. App’x. As such, we agree with the Examiner that “[t]he CPU waiting for the completion of the request, as disclosed in Jordan, reads on ‘synchronous processing.’” Ans. 12. Appellants contend that Smith only performs its asynchronous processing and does not attempt to perform synchronous processing, so Smith also teaches away from changing a request from execution in the request’s own thread to a shared thread if the 3 See (1) of footnote 2 above. Appeal 2011-013269 Application 10/901,599 10 “if the execution of the request by the request’s own thread at the first server was unsuccessful,” as recited in claim 1. Smith further does not teach or suggest “requesting that the first server assign, to the request, the request’s own thread for execution on a processor using synchronous processing,” as recited in claim 1. . . . Bauman also does not teach or suggest “requesting that the first server assign, to the request, the request’s own thread for execution on a processor using synchronous processing,” but then “sending the request to the second server, wherein the second server assigns the request to a shared thread with other requests” if the “execution of the request by the request’s own thread at the first server was unsuccessful,” as recited in claim 1. Thus, Bauman and Smith do not remediate the deficiencies of Jordan, and the hypothetical combination of Jordan, Smith, and Bauman yields a hypothetical system that determines either to perform synchronous execution or its asynchronous execution, and once that determination has been made, it is not changed. Br. 17. Appellants’ arguments are not persuasive. Appellants’ arguments are individual attacks on each reference rather than a challenge to the Examiner’s combination of the teachings of the three references. The Examiner relied on (1) Jordan for “[t]he determination of processing the request synchronously or asynchronously” (See Ans. 12-13); (2) Smith “to provide insight that asynchronous processing of a request can be performed by two different processors” (See Ans. 12); and (3) Bauman “[for disclosure of] the threading mechanisms in synchronous and asynchronous processing” Appeal 2011-013269 Application 10/901,599 11 (See Ans. 12-13). Further, Appellants have not apprised us of error regarding the Examiner’s stated reasoning or conclusions of obviousness for Jordan, Smith and Bauman. Moreover, as discussed above, we agree with the Examiner that “[the method of claim 1] does not specifically recite [steps] that indicate a synchronous request is attempted, and then changed to an asynchronous request.” Ans. 13. Accordingly, for the foregoing reasons, the Examiner’s rejection of claim 1 as unpatentable over Jordan, Smith and Bauman is sustained. Claim 17 Appellants contend that [c]laim 17 recites: “request that the first server assign, to the request, the request’s own thread for execution on a processor using synchronous processing; . . . configuring the computer to, if the execution of the request by the request’s own thread at the first server was unsuccessful, . . . send the request to the second server, wherein the second server assigns the request to a shared thread with other requests,” and is patentable for the reasons argued above [in reference to claim 1]. Br. 18. As discussed above, these arguments are not persuasive. Accordingly, we also sustain the Examiner’s rejection of claim 17 as unpatentable over Jordan, Smith and Bauman. Claim 20 Appellants contend that “[c]laim 20 is dependent on claim 17 and is patentable for the reasons argued above, plus the elements in the claim.” Br. 18. As discussed above, these arguments are not persuasive. Accordingly, Appeal 2011-013269 Application 10/901,599 12 we also sustain the Examiner’s rejection of claim 20 as unpatentable over Jordan, Smith and Bauman. DECISION We AFFIRM the decision of the Examiner to reject claims 1, 17 and 20 as unpatentable over Jordan, Smith and Bauman. 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 Klh Copy with citationCopy as parenthetical citation