SAP SEDownload PDFPatent Trials and Appeals BoardFeb 23, 20222021000730 (P.T.A.B. Feb. 23, 2022) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O. Box 1450 Alexandria, Virginia 22313-1450 www.uspto.gov APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 15/230,824 08/08/2016 Peter Eberlein 2058.A96US1 8565 50400 7590 02/23/2022 SCHWEGMAN LUNDBERG & WOESSNER/SAP P.O. BOX 2938 MINNEAPOLIS, MN 55402 EXAMINER MIAN, MOHAMMAD YOU A ART UNIT PAPER NUMBER 2448 NOTIFICATION DATE DELIVERY MODE 02/23/2022 ELECTRONIC Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): SLW@blackhillsip.com uspto@slwip.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ____________________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________________ Ex parte PETER EBERLEIN ____________________ Appeal 2021-000730 Application 15/230,824 Technology Center 2400 ____________________ Before JOSEPH L. DIXON, DAVID M. KOHUT, and JON M. JURGOVAN, Administrative Patent Judges. JURGOVAN, Administrative Patent Judge. DECISION ON APPEAL Appellant1 seeks review under 35 U.S.C. § 134(a) from a final rejection of claims 1, 3-5, 8-14, 16, 17, 19, and 20.2 We have jurisdiction under 35 U.S.C. § 6(b). We AFFIRM.3 1 We use the word “Appellant” to refer to “applicant” as defined in 37 C.F.R. § 1.42 (2012). The real party in interest is SAP SE. (Appeal Br. 3.) 2 Claims 2 and 15 have been cancelled, and claims 6, 7, and 18 are not presently subject to any rejection after the 35 U.S.C. § 102 rejection of claims 6, 7, and 18 was withdrawn in the Examiner’s Answer. (See Ans. 3; Final Act. 1-2.) 3 Our Decision refers to the Specification (“Spec.”) filed August 8, 2016, Final Office Action (“Final Act.”) mailed December 18, 2019, Appeal Brief (“Appeal Br.”) filed May 18, 2020, Examiner’s Answer (“Ans.”) mailed Appeal 2021-000730 Application 15/230,824 2 CLAIMED INVENTION The claims are directed to “[m]ethods, systems, and computer program products for processor node load balancing” performed “by moving processing sessions.” (Spec. ¶ 1, Abstract.) Appellant’s invention performs load balancing by determining a movable status of a session corresponding to a request for processing received from a client hardware device, the session executing on a first hardware processor node of a plurality of nodes, determining a load status of the first node, and forwarding the request to a selected node selected from the plurality of nodes, based on the movable status and the load status. (Spec. Abstract.) Independent claim 1, reproduced below, is illustrative of the claimed subject matter: 1. A computerized method for processor node load balancing comprising: receiving, from a client hardware device, a request for processing, the request having a session identifier; determining, using one or more hardware processors, that a movable status of a session corresponding to the request indicates that the session is not movable, the session executing on a first hardware processor node of a plurality of hardware processor nodes; determining, using the one or more hardware processors, a load status of the first hardware processor node corresponding to the session; forwarding the request to a selected hardware processor node selected from the plurality of hardware processor nodes based on the movable status and the load status; and receiving a response from the selected hardware processor node, wherein the response comprises data provided by the selected hardware processor node to indicate that the the[sic] session is movable; and September 2, 2020, and Reply Brief (“Reply Br.”) filed November 2, 2020. Appeal 2021-000730 Application 15/230,824 3 changing the movable status of the session to indicate that the session is movable. (Appeal Br. 20-23 (Claims App.).) REJECTIONS4 & REFERENCES Claims 1, 3-5, 10-14, 16, 17, 19, and 20 stand rejected under 35 U.S.C. § 102(a)(2) as anticipated by Kilian et al. (US 2007/0150586 A1, published June 28, 2007) (“Kilian”). (Final Act. 4-12.) Claim 8 stands rejected under 35 U.S.C. § 103 based on Kilian and Cherian et al. (US 2006/0294241 A1, published Dec. 28, 2006) (“Cherian”). (Final Act. 12-13.) Claim 9 stands rejected under 35 U.S.C. § 103 based on Kilian and McLaughlin et al. (US 2017/0201499 A1, published July 13, 2017) (“McLaughlin”). (Final Act. 13-14.) ANALYSIS Appellant has the burden on appeal to the Board to demonstrate error in the Examiner’s position. See In re Kahn, 441 F.3d 977, 985-86 (Fed. Cir. 2006). We review the appealed rejections for error based upon the issues identified by Appellant and in light of the arguments and evidence produced thereon. Ex parte Frye, 94 USPQ2d 1072, 1075 (BPAI 2010) (precedential), (cited with approval in In re Jung, 637 F.3d 1356, 1365 (Fed. Cir. 2011) (“[I]t has long been the Board’s practice to require an applicant to identify the alleged error in the examiner’s rejections.”)). After considering the evidence presented in this Appeal and each of Appellant’s arguments, we are 4 Claims 6, 7, and 18 were rejected under 35 U.S.C. § 102(a)(2) as anticipated by Kilian. (See Final Act. 4, 8-9, 11.) However, the anticipation rejection of claims 6, 7, and 18 was withdrawn in the Examiner’s Answer, and is no longer pending on appeal. (See Ans. 3.) Appeal 2021-000730 Application 15/230,824 4 not persuaded that Appellant identifies reversible error. Thus, we affirm the Examiner’s § 102 and § 103 rejections for the reasons expressed in the Final Office Action and the Answer. We add the following primarily for emphasis. With respect to the Examiner’s anticipation rejection of claim 1, Appellant contends the Examiner erred in finding Kilian discloses all the limitations of the claim. (Appeal Br. 9-15; Reply Br. 2-5.) Specifically, Appellant contends Kilian does not disclose, after “determining . . . that a movable status of a session corresponding to the request indicates that the session is not movable,” the operation of “receiving a response from the selected hardware processor node, wherein the response comprises data provided by the selected hardware processor node to indicate that the session is movable,” as recited in claim 1. (Appeal Br. 13-15; Reply Br. 2-5.) More particularly, Appellant argues that “Kilian’s instruction to decrement the ARC [(active request count identifying the number of requests for a session that have been received from the network but for which a response has not yet been generated by a worker node)] does not . . . indicate that a session has become movable.” (Appeal Br. 14; see Kilian ¶ 39.) According to Appellant, An instruction to decrement the ARC . . . is not provided by the worker node to indicate that the session is movable. Instead, it is provided by the worker node simply to indicate that the worker node has completed processing of its assigned request. . . . in Kilian, there is a clear difference between decrementing the ARC (i.e., reducing its value by one) and setting the ARC value to zero. Decrementing the ARC will only cause its value to equal zero if the previous value of the ARC was equal to one. As Kilian stresses, this is not necessarily the case. Indeed, Kilian explicitly contemplates situations where the ARC is greater Appeal 2021-000730 Application 15/230,824 5 than one. [] As a result, a working node decrementing the ARC in Kilian is not the same as the recited “response from the selected hardware processor node” that “comprises data provided by the selected hardware processor node to indicate that the session is movable.” An instruction to decrement Kilian’s ARC is not provided by a worker node to indicate that the corresponding session is movable. It is merely provided to indicate that the worker node has completed processing of its assigned request. Further, an instruction to decrement Kilian’s ARC does not even indicate that a session is movable. Instead, it merely indicates that there is one less outstanding request for the session. (Appeal Br. 14-15 (citing Kilian ¶ 53, Fig. 4); see also Reply Br. 3-5.) Appellant further explains that operations 404, 406, and 405 in Kilian’s Figure 4 show that “the ARC is equal to zero after being decremented, but the queue for the assigned worker node is empty when the next session request is received and, therefore, the session remains assigned to the same worker node (i.e., the session does not become movable).” (Reply Br. 4 (emphasis added) (citing Kilian ¶¶ 42, 52, 65 Fig. 4).) We do not agree with Appellant’s arguments. Instead, we agree with the Examiner’s findings. (Final Act. 4-7; Ans. 4-7.) Particularly, we agree with the Examiner that Kilian’s worker node acting to decrement a session’s ARC counter to a value not greater than zero discloses “receiving a response from the selected hardware processor node, wherein the response comprises data provided by the selected hardware processor node to indicate that the session [previously determined to be not movable] is movable,” as recited in claim 1. (Final Act. 5-7 (citing Kilian ¶¶ 52, 61, 63, 65, Figs. 3B and 4); Ans. 4-7; see Kilian ¶¶ 52, 63, 65, claim 5.) At the outset, we note that Appellant’s arguments regarding the claimed “data provided by the selected hardware processor node to indicate Appeal 2021-000730 Application 15/230,824 6 that the session is movable” rely upon an interpretation of the claimed term “movable” that is not supported by Appellant’s Specification. More particularly, Appellant argues that when “the session remains assigned to the same worker node” (instead of being “moved to a different worker node selected by the load balancing algorithm”), then “the session does not become movable.” (See Reply Br. 4-5 (emphases added).) Appellant’s Specification, however, does not condition a session’s movable status upon the session being assigned to/moved to a different node; rather, the Specification explains that a session may be deemed movable even if the session continues to be hosted by/assigned to the same node. (See Spec. ¶¶ 46-48, Fig. 4A.) In particular, with reference to Fig. 4A, the Specification explains that “[a] determination is made of whether the session corresponding to the request [having the session’s identifier] can be moved (operation 420)” and “[i]f the session can be moved at the current time (such as indicated by the session table), a determination is made if the application node 112 that hosts the session corresponding to the session identifier has significantly more load than the application node 112 with the least number of open sessions (operation 428).” (Spec. ¶¶ 46-47, Fig. 4A (step 420- branch YES, step 428) (emphasis added).) In Fig. 4A in the Specification, even though the determination (YES) at step 420 showed that “the session can be moved at the current time,” the session is not ultimately moved from its current hosting node “[i]f the application node 112 that hosts the session [(the current hosting node)] corresponding to the session identifier does not have significantly more load than the application node 112 with the least number of open sessions.” (Spec. ¶¶ 47, 48 (“If the application node 112 that hosts the session corresponding to the session identifier does not have significantly more load than the application node 112 with the least number Appeal 2021-000730 Application 15/230,824 7 of open sessions, the request is dispatched to the application node 112 that hosts the session corresponding to the session identifier (operation 424).”), Fig. 4A (step 420-branch YES, step 428-branch NO, step 424) (emphases added).) That is (as Appellant’s Brief itself recognizes), a session’s movable status provides “flexibility to assign subsequent requests from that session to a different hardware processor node.” (See Appeal Br. 10 (citing Spec. ¶¶ 17, 26); Spec. ¶¶ 17 (describing “information that indicates whether a session is movable (such as whether all session data has been persisted)”), 26 (describing “an indication that the application is at a point where it can be moved”).) However, a session’s movable status (as described by Appellant’s Specification and recited in claim 1) does not require the assignment or movement of that session’s request(s) to a different node. (See Spec. ¶¶ 17, 26, 46-48, Fig. 4A.) We are therefore unpersuaded by Appellant’s argument that a “session fails to become movable even after the ARC is decremented” to zero because [when] the ARC [in Kilian’s Fig. 4] is equal to zero after being decremented, but the queue for the assigned worker node is empty when the next session request is received . . . the session remains assigned to the same worker node (i.e., the session does not become movable). (Reply Br. 4 (citing Kilian Fig. 4 (steps 404, 406, and 405); see also Appeal Br. 14-15.) In fact, Appellant’s Specification (discussed supra) provides a discussion similar to that in Kilian’s Fig. 4 (see sequence of step 404-branch NO, step 406-branch YES, step 405), whereby in Fig. 4A of the Specification a session that is movable nevertheless remains assigned to the same worker node/the current hosting node (see sequence of step 420- Appeal 2021-000730 Application 15/230,824 8 branch YES, step 428-branch NO, step 424 in Fig. 4A) because the current hosting node has a light workload (step 428-branch NO). (See Spec. Fig. 4A; Kilian Fig. 4; Ans. 4-6 (citing Kilian Fig. 4).) Appellant argues that Kilian is still different because an “instruction from Kilian’s worker node to decrement the ARC [(e.g., to zero)] does not indicate that a session is movable,” rather, “the instruction from Kilian’s worker node to decrement the ARC is only ‘to indicate the worker node 309 has fully responded to the request.’” (Reply Br. 4-5 (citing Kilian ¶¶ 42, 52); see also Appeal Br. 14- 15.) Appellant’s argument is unpersuasive because the claimed “response from the selected hardware processor node . . . compris[ing] data provided by the selected hardware processor node to indicate that the session is movable” merely requires a data “to indicate” [i.e., command/instruction to perform the function of indicating] that the session is movable. . . . in Fig. 3B, at 7, 8 and 9, Kilian illustrates the response from the worker node. At 9, in response the worker node instructs to decrement the ARC value [i.e. to indicate] in the session table entry to reflect the fact that the response process has been fully executed from the worker node’s perspective and that the request has been satisfied [e.g. the session is movable] [¶ 0052]. Kilian teaches when ARC=0, there are no un-responded requests for the session and the session is distributable [¶ 0065]. Therefore, it is apparent that ARC value indicates the status of the session, if the ARC value is greater than zero, the session is not distributable and if ARC value is equal to zero then the session is distributable. The worker node, in response, instructs to change the ARC value to indicate the status of the session, when the ARC value is zero that indicates session has become distributable. (Ans. 6.) That is, as noted by the Examiner, a worker node’s instruction to decrement the ARC to zero “indicate[s] [that] the worker node 309 has fully Appeal 2021-000730 Application 15/230,824 9 responded to the request” and “that the request has been satisfied,” and further indicates that “there are no un-responded to requests for the session (i.e., ARC=0)”-effectively indicating that incoming work for the session can be distributed to other nodes. (See Kilian ¶¶ 42, 52, 65; Ans. 4-6 (citing Kilian ¶¶ 52, 65, Figs. 3B and 4); Final Act. 5-7 (citing Kilian ¶¶ 52, 61, 63, 65).) More particularly, Kilian notes that when “the ARC value is not greater than zero,” “the latest request for the session may as well be given to the same worker node” (if that node has a light workload) or “the request can be assigned to a new worker node that is less utilized than the previous worker node assigned to handle the session.” (See Kilian ¶¶ 63, 65 (emphases added).) Thus, an instruction by Kilian’s worker node to decrement the session’s ARC to zero signals the flexibility to assign that session’s subsequent requests to a different worker node (see Kilian ¶¶ 63, 65), which is commensurate with the description of a session being indicated as “movable” in Appellant’s Specification. (Ans. 5-6; Final Act. 5-7; Spec. ¶¶ 17, 26, 46-48, Fig. 4A).) We, therefore, agree with the Examiner that Kilian discloses “receiving a response from the selected hardware processor node, wherein the response comprises data provided by the selected hardware processor node to indicate that the session is movable,” as recited in claim 1. Appellant additionally argues the “changing” limitation in claim 1. (See Reply Br. 5 (“Kilian’s instruction to decrement the ARC does not ‘dictate’ any change in session status. . . . decrementing Kilian’s ARC cannot ‘dictate’ any change in session status when no such change in session status occurs unless other factors are also present.”); Appeal Br. 15 (“an instruction to decrement the ARC is not provided by the worker node of Kilian to indicate any change in the movable status of a session”).) Appeal 2021-000730 Application 15/230,824 10 Appellant’s support for these arguments rely upon Appellant’s previous arguments that decrementing Kilian’s ARC to zero does not indicate that a session is movable. As discussed supra, we are not persuaded by Appellant’s arguments that Kilian’s instruction to decrement ARC to zero does not indicate a movable session. As further noted by the Examiner, Kilian explains that a session for which “the ARC value is not greater than zero” (i.e., movable) may have previously had an “ARC value . . . greater than zero” such that the session’s “request [was] assigned to the worker node that has been assigned to handle the session” because “an ARC greater than zero means there still exists at least one previous request for the session for which a response has not yet been generated.” (See Kilian ¶¶ 61, 63, 65, Figure 4 (steps 404-405); Ans. 5-6.) That is, a session is “non-distributable, when the ARC is greater than zero.” (Ans. 5.) We, therefore, agree with the Examiner that Kilian discloses claim 1’s “changing” step because Kilian’s “worker node response changes the ARC value [from greater than zero, to zero]” thereby “indicat[ing] the previously non-distributable session has become distributable.” (Ans. 5-6.) Thus, for the above reasons, Appellant has not shown error in the Examiner’s finding of anticipation, and we sustain the Examiner’s anticipation rejection of independent claim 1, and independent claims 14 and 20 argued for the same reasons.5 (Appeal Br. 15.) We also sustain the 5 In the event of any further prosecution, we suggest the Examiner consider rejecting independent claim 1, and similarly, independent claims 14 and 20, under 35 U.S.C. § 112(a) for failing to provide adequate “written description” for the limitations referencing “the request,” and under 35 U.S.C. § 112(b) as being indefinite because the claims are unclear as to how the same “request” could be the subject of the claimed “determining” and “forwarding” limitations. More particularly, claim 1 requires the same request to be (1) used in the determining step, to determine that a movable Appeal 2021-000730 Application 15/230,824 11 Examiner’s anticipation rejection of dependent claims 3-5, 10-13, 16, 17, and 19 not separately argued. With respect to dependent claims 8 and 9, Appellant “submits that there is no prima facie obviousness of claim 8 or of claim 9” because “the rejections of claims 8 and 9 are premised on the Examiner’s conclusion that Kilian shows all of the features of claim 1 . . . [but] Kilian fails to show each and every feature of claim 1.” (Appeal Br. 18.) Because Appellant has not shown error in the Examiner’s finding of anticipation and Kilian is not deficient (as discussed supra), we sustain the obviousness rejections of status of the session indicates the session is not movable, and (2) forwarded to a selected node based on the session’s movable status and the load status-which contradicts Appellant’s Specification where different requests are used for actions (1) and (2). (See Spec. ¶¶ 46-48, Fig. 4A.) In Fig. 4A, at action (2), the request that is forwarded to a selected node based on the session’s movable status (step 420) and the node’s load status (step 428) is a request for which branch YES of step 420 indicated session is movable. Thus, in Fig. 4A, action (2) is not performed for a same request that was used to determine that a session is not movable (i.e., action (1)). See also Fig. 2A and paragraphs 24 and 26 in the Specification, where the claimed response-that indicates the session is now movable (Spec. ¶ 26) and is received from a selected node to which a request was forwarded (action (2))-pertains to a second request (“a second request 236” issued by client device 104-1, Spec. ¶ 26), and does not pertain to the first request (“request 204” issued by client device l04-1, Spec. ¶ 24) for which the status of the session did not appear to be movable (Spec. ¶ 24). Thus, the Specification does not appear to support the same request being the subject of the “forwarding” step and of the “determining . . . that a movable status of a session . . . is not movable” step. In addition, it is unclear in claim 1 how the same request can be associated with all three steps of “forwarding,” “receiving a response,” and “determining . . . that a movable status of a session . . . is not movable.” Appellant’s Specification appears to indicate that the request associated with “forwarding” and “receiving a response” steps is different from the request referenced in the step of “determining . . . that a movable status of a session . . . is not movable.” Appeal 2021-000730 Application 15/230,824 12 dependent claims 8 and 9 for the reasons stated with respect to independent claim 1. DECISION SUMMARY The Examiner’s rejection of claims 1, 3-5, 10-14, 16, 17, 19, and 20 under 35 U.S.C. § 102(a)(2) is AFFIRMED. The Examiner’s rejections of claims 8 and 9 under 35 U.S.C. § 103 are AFFIRMED. In summary: Claims Rejected 35 U.S.C. § Reference(s)/ Basis Affirmed Reversed 1, 3-5, 10-14, 16, 17, 19, 20 102(a)(2) Kilian 1, 3-5, 10- 14, 16, 17, 19, 20 8 103 Kilian, Cherian 8 9 103 Kilian, McLaughlin 9 Overall Outcome 1, 3-5, 8-14, 16, 17, 19, 20 No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a). See 37 C.F.R. § 1.136(a)(1)(iv) (2013). AFFIRMED Copy with citationCopy as parenthetical citation