Ex Parte Shani et alDownload PDFPatent Trial and Appeal BoardSep 21, 201814783477 (P.T.A.B. Sep. 21, 2018) Copy Citation UNITED STA TES p A TENT AND TRADEMARK OFFICE APPLICATION NO. 14/783,477 146568 7590 Entit Software LLC 500 Westover Drive #12603 Sanford, NC 27330 FILING DATE FIRST NAMED INVENTOR 10/09/2015 Inbar Shani 09/25/2018 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 ATTORNEY DOCKET NO. CONFIRMATION NO. 90031133 1007 EXAMINER CHEN,QING ART UNIT PAPER NUMBER 2191 NOTIFICATION DATE DELIVERY MODE 09/25/2018 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): software.ip.mail@microfocus.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte INBAR SHANI, SHARON LIN, and YAEL OSHRI 1 Appeal 2018-003191 Application 14/783,477 Technology Center 2100 Before CARLA M. KRIVAK, KARA L. SZPONDOWSKI, and MICHAEL M. BARRY, Administrative Patent Judges. BARRY, Administrative Patent Judge. DECISION ON APPEAL Appellants appeal under 35 U.S.C. § 134(a) from a final rejection of claims 1-7 and 12. 2 We have jurisdiction under 35 U.S.C. § 6(b). We affirm-in-part. 1 EntIT Software LLC, a wholly-owned affiliate of Micro Focus International Plc, is identified as the real party in interest. App. Br. 3. We also note the original Application Data Sheet identifies Hewlett-Packard Development Company, L.P. as the Applicant and assignee at time of filing. 2 Pending claims 13-20 have been allowed, and claims 8-11 stand objected to. See Final Act. 1, 14. Appeal 2018-003191 Application 14/783,477 Introduction By way of background Appellants discuss that "Continuous Delivery (CD) is a growing practice" for software development. Spec. ,r 1 (explaining it can be used for deploying multiple software implementations into a software environment to allow for functional and performance testing, and can also be used in a production environment after completion of testing). Appellants disclose that practitioners of CD increasingly use "feature flags," which can be used "as switches to specifically and dynamically activate and deactivate ... associated features of a process," thus "reducing risk of possibly causing malfunction of the process by allowing delivery and/or integration of feature code continuously." Spec. ,r 7. Claims 1 and 6 are illustrative of the claims on appeal: 1. A method of handling dependencies between feature flags, comprising: defining, by a processing resource executing instructions, dependencies between a plurality of feature flags in a process executable by the processing resource; and enforcing, by the processing resource executing instructions, the dependencies during activation of a first feature by a determination of validity of utilization of a feature flag as a switch for a second feature. 6. A non-transitory machine readable medium storing a set of instructions that, when executed, cause a processing resource to: define, in a feature flags graph, dependencies between a plurality of feature flags in a process executable by the processmg resource; determine operability of the process via the feature flags graph when the process utilizes a first feature flag as a switch; and 2 Appeal 2018-003191 Application 14/783,477 determine, based upon the dependencies in the feature flags graph, whether the first feature flag is utilizable as the switch. App. Br. 15, 16 (Claims App'x) (disputed limitations emphasized). Rejections & References Claims 1---6 stand rejected under 35 U.S.C. § 103 as unpatentable over Babb (US 2007/0162903 Al; July 12, 2007) and Harmes, Ross, "Flipping Out," ( code.flickr.com, posted Dec. 2, 2009; available at code.flickr.net/ 2009/12/02/flipping-out/ (last accessed Aug. 21, 2018)). Final Act. 3-11. Claim 7 stands rejected under § 103 over Babb, Harmes, and Sereni (US 2009/0240649 Al; Sept. 24, 2009). Final Act. 11-12. Claim 12 stands rejected under§ 103 over Babb, Harmes, Sereni, and Hines (US 2002/0062463 Al; May 23, 2002). Final Act. 12-13. ANALYSIS The Board "reviews the obviousness rejection[ s] for error based upon the issues identified by appellant, and in light of the arguments and evidence produced thereon," and treats arguments not made as waived. 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)); see also 37 C.F.R. § 4I.37(c)(l)(iv). Claim 1 In rejecting claim 1, the Examiner finds Babb teaches "[a] method of handling dependencies between [software] components" and a process for "enforcing ... the dependencies" between the components. Final Act. 3 ( citing Babb ,r,r 24, 26, Fig. 9). The Examiner then finds Harmes teaches feature flags, including "activation of a first feature by a determination of 3 Appeal 2018-003191 Application 14/783,477 validity of utilization of a feature flag as a switch for a second feature," and concludes that it would have been obvious to an ordinarily skilled artisan to combine Harmes with Babb to achieve the disputed limitation of "enforcing ... the dependencies during activation of a first feature by a determination of validity of utilization of a feature flag as a switch for a second feature," as recited. Final Act. 4 ( citing Harmes pp. 1-2). Appellants argue the Examiner errs because, "even assuming arguendo that one of ordinary skill in the art may have hypothetically combined Babb and Harmes, the hypothetical fails to disclose or render obvious enforcing dependencies between a plurality of feature flags, as set forth in claim 1." App. Br. 10. Specifically, Appellants contend that while Babb teaches determining dependencies between software components and eliminating dependencies between software components, "Babb fails to disclose or render obvious enforcing dependencies between software components." Id. (citing Babb ,r,r 23, 26) (emphasis added). Appellants' argument is persuasive. Claim 1 requires "enforcing ... dependencies during activation of a first feature" by determining "validity of utilization of a feature flag as a switch for a second feature." In other words, the enforcement of the dependencies is performed while activating the first feature. Babb discloses a software tool that identifies and displays dependencies between components in a software system, with the specific concern of identifying problematic "cyclic dependencies" as well as "other types of unnecessarily complicated patterns of dependencies," in order to assist in redesigning the software system to avoid or reduce the problematic dependencies. See Babb. ,r,r 2---6. "The present invention [ of Babb] is useful 4 Appeal 2018-003191 Application 14/783,477 not only for the re-design and simplification of existing systems, but is also useful from the beginning of system development to guide software architects, designers, and programmers and help them avoid unnecessary complexity as systems are being constructed." Id. at 18. Thus, Babb clearly teaches a software tool to identify dependencies during software development to facilitate a software developer in revising the developed software. The Examiner responds to Appellants' argument by finding because "Babb discloses the graph simplification analyzer determining the dependency or dependencies that, if eliminated by software re-organization or redesign, would lead to the greatest simplification of the overall system structure," it follows that "one of ordinary skill in the art would readily comprehend that the graph simplification analyzer manages (or 'enforces') the dependencies by performing software re-organization or redesign to produce a simplification of the overall system structure." Ans. 15. We agree with Appellants that the Examiner errs, because the graph simplification analyzer of Babb that determines dependencies does not enforce dependencies during activation, as recited in claim 1. App. Br. 7- 11; Reply Br. 1-3. In Babb, after analyzing software to identify dependencies between software components (see Babb ,r,r 6-8, 24), "the graph simplification analyzer 16 can help determine the dependency or dependencies that, if eliminated by software reorganization or redesign, would lead to the greatest simplification of the overall system structure." Babb ,r 26. The simplification analyzer determines "problematic areas of especially high complexity ( corresponding to high Normalized Cumulative Component Dependency (NCCD))" (i-f 22) and presents a list of 5 Appeal 2018-003191 Application 14/783,477 dependencies "to be considered if the software designer intends to re-design the system to remove a single dependency in order to simplify the system" (i-f 26). Thus, although Babb teaches determining and then eliminating or modifying dependencies, we agree with Appellants that ordinarily skilled artisans would not have understood the techniques disclosed by Babb to involve "enforcing" by performing the determination "during activation" of a software feature, as recited in claim 1. Accordingly, we do not sustain the § 103 rejection of claim 1. We also do not sustain the rejection of its dependent claims 2-5. Claim 6 In rejecting claim 6, the Examiner finds Babb teaches all limitations except for the "feature flags" and related requirements for using a feature flag as "a switch." See Final Act. 9-11 (citing Babb ,r 24, Fig. 9, claim 14). The Examiner then finds Harmes teaches the limitations related to feature flags, and concludes the combination of Babb and Harmes renders obvious claim 6. Final Act. 11-12 (citing Harmes pp. 1-2). Appellants argue the Examiner errs because no "part of Harmes, however, discloses or renders obvious determining whether the ... feature flag is utilizable as a switch." App. Br. 13 (further contending the "missing elements" are not inherent in Harmes ). On the record before us, this argument is unpersuasive. The disputed limitation of claim 6 recites "determine, based on the dependencies in the feature flags graph, whether the first feature flag is utilizable as the switch." Vis-a-vis this limitation, the Examiner relies on Babb, not Harmes, for teaching instructions that cause a processor "to determine" (i.e., the determination based on dependencies (i.e., not feature 6 Appeal 2018-003191 Application 14/783,477 flags)). Final Act. 9. The Examiner relies on Harmes only for teaching (a) that the "component graph" of Babb may be a feature flags graph-a finding with which we agree and that Appellants do not dispute-and (b) "whether the first feature flag is utilizable as the switch." Final Act. 9-- 11. We discern no error in these findings and, in view of Appellants' arguments, are unpersuaded the Examiner errs in finding the combination of teachings of Babb and Harmes renders obvious claim 6. We specifically agree with the Examiner that artisans of ordinary skill would have understood that the feature flags of Harmes function as switches. See Ans. 22-23; see also Harmes pp. 1-2 (explaining the feature flags and feature flippers allow for selectively turning on and off software). We also agree that such artisans would have understood the combination of the dependency graph of Babb and the feature flag teachings of Harmes teach making determinations "based on the dependencies in the feature flags graph," as recited. Final Act. 9--10. Regardless of whether Appellants are correct that "Harmes presumes that its feature flag is utilizable as a switch" (Ans. 4), Appellants do not persuasively explain why the Examiner errs in finding the combination of Babb's teachings for making determinations of dependencies and Harmes' teaching that a feature flag can be a switch fails to teach or suggest the recited requirement to "determine ... whether the first feature flag is utilizable as the switch." Accordingly, we sustain the § 103 rejection of claim 6. We also sustain the§ 103 rejections of its dependent claims 7 and 12, for which Appellants offer no substantive separate arguments. DECISION We reverse the 35 U.S.C. § 103 rejection of claims 1-5. 7 Appeal 2018-003191 Application 14/783,477 We affirm the 35 U.S.C. § 103 rejections of claims 6, 7, and 12. No time period for taking any subsequent action in connection with this appeal maybe extended under 37 C.F.R. § 1.136(a)(l)(iv). AFFIRMED-IN-PART 8 Copy with citationCopy as parenthetical citation