International Business Machines CorporationDownload PDFPatent Trials and Appeals BoardFeb 7, 202014573364 - (D) (P.T.A.B. Feb. 7, 2020) 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. 14/573,364 12/17/2014 Pierre D. Feillet GB920130125US1 2645 87220 7590 02/07/2020 Walder Intellectual Property Law (END) C/O Walder Intellectual Property Law, P.C. 1701 N. Collins Blvd. Suite 2100 Richardson, TX 75080 EXAMINER GURSKI, AMANDA KAREN ART UNIT PAPER NUMBER 3623 MAIL DATE DELIVERY MODE 02/07/2020 PAPER 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. PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte PIERRE D. FEILLET and PIERRE-ANDRE PAUMELLE Appeal 2019-003592 Application 14/573,364 Technology Center 3600 ____________ Before RICHARD M. LEBOVITZ, RYAN H. FLAX, and CYNTHIA M. HARDMAN, Administrative Patent Judges. LEBOVITZ, Administrative Patent Judge. DECISION ON APPEAL The Examiner rejected the claims under 35 U.S.C. § 103 as obvious. Pursuant to 35 U.S.C. § 134(a), Appellant1 appeals from the Examiner’s decision to reject the claims. We have jurisdiction under 35 U.S.C. § 6(b). We AFFIRM. STATEMENT OF THE CASE 1 We use the word “Appellant” to refer to “applicant” as defined in 37 C.F.R. § 1.42. Appellant identifies the real party in interest as International Business Machines Corporation. Appeal Br. 2. Appeal 2019-003592 Application 14/573,364 2 The claims stand finally rejected by the Examiner as follows: Claims 1–5, 7–10, 16, 17, 19–22, 24, and 25 under pre-AIA 35 U.S.C. § 103(a) as obvious in view of Fellenstein et al., US 2005/0154789 A1, published Jul. 14, 2005 (“Fellenstein”) and Cutler et al., US 2012/0005145 A1, published Jan. 5, 2012 (“Cutler”). Final Act. 8. Claim 6, 18, and 23 under pre-AIA 35 U.S.C. § 103(a) as obvious in view of Fellenstein, Cutler, and Schuetze et al., US 2005/0065967 A1, published Mar. 24, 2005) (“Schuetze”). Final Act. 19. There are three independent claims on appeal, claims 1, 9, and 10. Appellant argues the independent claims as a group. Appeal Br. 38. We select claim 1 as representative. Claim 1 is reproduced below (bracketed numbering added for reference to the recited claim limitations): 1. A method, in a data processing system, of making a decision in a service oriented architecture, the method comprising: [1] receiving, by a rule set analyzer in the data processing system, a decision request from a source, wherein the decision request comprises a plurality of user-defined parameters; [2] generating, by a key generator in the data processing system, a key based on relevant parameters in the plurality of user-defined parameters, wherein the relevant parameters are parameters to be used by a rule set in making the decision; [3] searching, by the rule set analyzer, a cache to find a match between the key and a key in a set of keys identified in the cache; [4] responsive to detecting a match between the key and the key in the set of keys, retrieving, by the rule set analyzer, the decision associated with the key in the set of keys from the cache; [5] returning, by the rule set analyzer, the retrieved decision to the source of the decision request; [6] responsive to failing to detect the match between the key and the key in the set of keys, requesting, by a decision response filter in the data processing system, the decision from Appeal 2019-003592 Application 14/573,364 3 a rule engine on a server, wherein the rule engine uses the rule set to make the decision; [7] responsive to receiving the decision from the rule engine, storing, by the decision response filter, the key and the decision in the cache; and [8] returning, by the rule set analyzer, the decision to the source of the decision request. Id. at 41 (Claims Appendix). Independent claim 9 is directed to a computer program that would perform such a method and independent claim 10 is directed to a system with a processor and memory that would perform such a method. Id. at 44–45. REJECTION BASED ON FELLENSTEIN AND CUTLER Claim 1 is directed to a method “of making a decision in a service oriented architecture.” In the first step of the claim, a decision request comprising “a plurality of user-defined parameters” is received by a rule set analyzer. The Specification explains that the rule set analyzer uses such “parameters” to make the decision. Spec. ¶¶ 8, 29. The rule set analyzer “is a component that is used when a rule set is authored and/or deployed for execution by the rule engine.” Spec. ¶ 30. In step [2] of the claim, a “key generator” generates a “key” based on “relevant parameters.” The Specification explains that such a key “is generated using only the parameters relevant to the decision making process, i.e. discarding the parameters that do not drive the decision making process.” Spec. ¶ 28. The key acts as an identifier of the decision. Spec. ¶ 39. The Specification discloses that “[k]ey generation is well-known per se.” Spec. ¶ 28. Appeal 2019-003592 Application 14/573,364 4 A “cache” is searched in the claim’s step [3] “to find a match between the key and a key in a set of keys identified in the cache.” The cache is computer memory. Spec. ¶ 61. When a match is found between the key and the set of keys in the cache, the decision that matches the key is retrieved by the rule set analyzer from the cache (step [4]) and the decision is returned to the source of the request (step [5]). When a match between keys is not detected, a decision is requested from “a rule engine on a server” by “a decision response filter” (step [6]). The rule engine uses a set of rules to make the decision. Spec. ¶ 25. The Specification discloses that “[i]t is of course well-known per se to design such rule engines.” Spec. ¶ 26. The Specification explains that the “decision response filter . . . filters the relevant portions from the decision, and optionally places wild cards in the decision to replace irrelevant parameters.” Spec. ¶ 35. The decision is received from the rule engine, and the key and decision are stored in the cache (step [7]). In the last step of the claim (step [8]), the decision is returned to the source of the decision request. In sum, a decision is requested and the claim identifies the decision in a cache by searching for a match between the decision key and a set of keys in the cache. If there is no match in the cache for the decision key, the method uses a rule engine on a server to make the decision and stores this new decision and new key for it in the cache. The Examiner found that Fellenstein teaches steps [1]–[5], [7], and [8] of claim 1. Final Act. 8–11. With respect to step [6] of claim 1, the Examiner found that Fellenstein does not teach employing a rule set and relevant parameters to make a decision upon failing to detect a match between keys in the cache. Final Act. 9, 10–11. However, the Examiner Appeal 2019-003592 Application 14/573,364 5 found that Cutler does teach this claim element/step. Id. at 9–10. The Examiner determined it would have been obvious to one of ordinary skill in the art to use Cutler’s rule engine in Fellenstein “to meet requirements in decision making of Fellenstein.” Final Act. 12. Appellant, in challenging the rejection, acknowledges: Similar to the combination of Fellenstein and Cutler, the rule set analyzer of the present invention retrieves the decision associated with the key in the set of keys from the cache in responsive to detecting a match between the key and the key in the set of keys and returns the retrieved decision to the source of the decision request. Appeal Br. 36. However, Appellant argues that “different from the combination of Fellenstein and Cutler, [in the claimed method,] responsive to failing to detect the match between the key and the key in the set of keys, a decision response filter requests the decision from a rule engine on a server.” Id. at 36–37 (referencing step [6] of claim 1). Appellant also contends that step [7] also is not described by the combination of Fellenstein and Cutter. Id. at 37. Appellant further argues that while “Cutler may describe rule sets using a parameter, . . . nowhere in . . . Fellenstein and Cutler . . . is there any teaching . . . [that] responsive to failing to detect the match between the key and the set of keys (step [4]), . . . the decision [is requested] “from a rule engine on a server” where the rule engine uses the rule set to make the decision (step [6]) and then performing step [7] of the claim. Reply Br. 3–4. Appellant’s arguments do not persuade us that the Examiner erred in finding the claims obvious in view of Fellenstein and Cutler. The Examiner relied on Cutler for teaching making a decision using a rule set from a rule engine. Cutler in paragraph 26 describes a “rule engine Appeal 2019-003592 Application 14/573,364 6 provided with a cache containing a decision tree . . . [which] is a compiled version of the rule set.” Appellant did not establish that this rule engine and rule set are different from the corresponding rule engine and rule set recited in step [6], and we conclude that the evidence supports that they are not different. Cutler discloses that the rule engine is on a “network device,” but doesn’t specifically teach that the device is a server as required by all the claims (Cutler ¶ 16: “It is an object of the invention to provide a means of changing a rule set for a rule engine in a PCRF [policy and charging rules function] network device with minimal service interruptions.”). However, Fellenstein discloses that its grid management system “may be part of multiple types of networks, including a peer-to-peer network, or may be part of a single computer system, such as computer system 100.” Fellenstein ¶ 37. Fellenstein further teaches that “computer system 100” can be “implemented as a server system.” Fellenstein ¶ 39. Therefore, Fellenstein teaches the interchangeability of network and server systems. Consequently, it would have been obvious to one of ordinary skill in the art to install the rule engine of Cutler on a server because Cutler describes the rule engine on a network device and Fellenstein teaches that a server is interchangeable with a network system. For this reason, we are not persuaded by Appellant’s argument that requesting a decision from a rule engine on a “server” would not have been obvious from the combination of Fellenstein and Cutler. Appellant does not identify a deficiency in the Examiner’s finding about Fellenstein and Cutler describing a “decision response filter” recited in step [6] of claim 1. Final Act 10–12 (citing Fellenstein ¶¶ 63, 69–72, 75, 76; Cutler ¶ 26). Appeal 2019-003592 Application 14/573,364 7 As the Examiner found, Fellenstein teaches step [7] of storing decisions in a decision cache so that they may be reused: Once a decision is stored in decision cache 608, decision controller 614 may reuse the decision. Decision cache 608 may implement a data storage format, such as a table, for storage of decisions with characteristics of the job for which the decision was made. Preferably, data is stored in decision cache 608 . . . . Fellenstein ¶ 70. Thus, as found by the Examiner, it would have been obvious to store the decisions made by the rule engine of Cutler in order for it be reused for subsequent new job requests. Appellant also argues that the combination of Fellenstein and Cutler do not teach “the rule set searches a cache to find a match between the key and a set of keys identified in the cache” as step [3] of claim 1. Appeal Br. 38 (emphasis omitted). This argument is not persuasive. The Examiner identified the following disclosures of Fellenstein to meet this limitation (Final Act. 11): Preferably, data is stored in decision cache 608 so that decision controller 614 can compare characteristics of new job requests with stored characteristics of previous job requests and reuse decisions made for previous job requests with the same or similar characteristics. For example, the system state and job priority are characteristics that may be stored with a decision and subsequently matched with other jobs. Fellenstein ¶ 70. Advantageously, the decisions made for a job request are stored as a system state and decision code in a decision cache so that even if a second similar job is executing back-to-back with the first, the second similar job is more efficiently processed using the predetermined decisions in the decision cache. Fellenstein ¶ 71. Appeal 2019-003592 Application 14/573,364 8 Thus, Fellenstein discloses matching “characteristics” between a decision made for a previous request and a new job request. Id. at ¶¶ 70, 71. While Fellenstein does not identify these characteristics as “keys” as recited in steps [2] and [3] of claim 1, Appellant did not distinguish “characteristics” as the term is used in Fellenstein from the “keys” recited in rejected claim 1, and we conclude the evidence supports that there is no difference. The keys are based on “user-defined parameters.” Claim 1, step [2]. A parameter is a characteristic.2 Accordingly, we find that Fellenstein’s teaching meets the claim limitation. Further, Cutler teaches when its rule engine is used, parameters and conditions are used in the decision making process. Cutler ¶ 26. Thus, when using Cutler’s rule engine, it would have been obvious to have used “user-defined parameters” as recited in the claims and to base a match on these as in step [3] of claim 1. For the foregoing reasons, the rejection of claims 1–5, 7–10, 16, 17, 19–22, 24, and 25 as obvious in view of Fellenstein and Cutler is affirmed. REJECTION BASED ON FELLENSTEIN, CUTLER, AND SCHUETZE Claims 6, 18, and 23 are rejected based on the combination of Fellenstein, Cutler, and Schuetze. Appellant made the same arguments as for claim 1. Appeal Br. 39. The rejection of these claims is affirmed for the same reasons as discussed above. 2 According to Merriam-Webster, a “parameter” is: “3: something represented by a parameter: a characteristic element broadly : CHARACTERISTIC, ELEMENT, FACTOR.” (https://www.merriam-webster.com/dictionary/parameter, last accessed Jan. 13, 2020). Appeal 2019-003592 Application 14/573,364 9 CONCLUSION In summary: Claims Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1–5, 7–10, 16, 17, 19– 22, 24, 25 103 Fellenstein, Cutler 1–5, 7–10, 16, 17, 19– 22, 24, 25 6, 18, 23 103 Fellenstein, Cutler, Schuetze 6, 18, 23 Overall Outcome 1–10, 16–25 TIME PERIOD 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