Okta, Inc.Download PDFPatent Trials and Appeals BoardMar 8, 20212019004823 (P.T.A.B. Mar. 8, 2021) 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/919,500 10/21/2015 Christopher Barbara 30382-30608/US 6404 758 7590 03/08/2021 FENWICK & WEST LLP SILICON VALLEY CENTER 801 CALIFORNIA STREET MOUNTAIN VIEW, CA 94041 EXAMINER ALMAMUN, ABDULLAH ART UNIT PAPER NUMBER 2431 NOTIFICATION DATE DELIVERY MODE 03/08/2021 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): PTOC@Fenwick.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte CHRISTOPHER BARBARA and RAGHURAM PAMIDIMARRI Appeal 2019-004823 Application 14/919,500 Technology Center 2400 ____________ Before JOHN A. EVANS, JOYCE CRAIG, and SCOTT E. BAIN, Administrative Patent Judges. EVANS, Administrative Patent Judge. DECISION ON APPEAL1 Appellant appeals under 35 U.S.C. § 134(a) from the Examiner’s Final decision to reject Claims 1, 2, 4–13, and 16–23.2 Appeal Br. 2. Claims 3, 14, and 15 are canceled. Id. We have jurisdiction under 35 U.S.C. § 6. We REVERSE.3 1 We use the word “Appellant” to refer to “applicant” as defined in 37 C.F.R. § 1.42. Appellant identifies Okta, Inc., as the real party in interest. Appeal Br. 2. 2 The Examiner finds Claims 1–8, 10–13, 15–18, and 20–23 stand rejected. Non-Final Act. 8. We find this statement to be harmless error in view of the cancellation of Claims 3 and 14. 3 Throughout this Decision, we refer to the Appeal Brief filed December 21, 2018 (“Appeal Br.”); the Reply Brief filed May 30, 2019 (“Reply Br.”); the Non-Final Office Action mailed March 28, 2018 (“Non-Final Act.”); the Appeal 2019-004823 Application 14/919,500 2 STATEMENT OF THE CASE CLAIMED SUBJECT MATTER The claims relate to a method for managing third-party applications. See Abstract. CLAIMS Claims 1 and 12 are independent. Claim 1 is illustrative and reproduced below: 1. A computer-implemented method of a server, the method comprising: storing a user lifecycle application programming interface (API) that declares but does not define a plurality of user lifecycle functions for accessing data of users of third- party applications, the user lifecycle API implemented as an interface of a programming language; storing a plurality of lifecycle code modules corresponding to the plurality of third-party applications and including code providing third-party application-specific implementations of each of the user lifecycle functions of the interface, each of the third-party applications having a corresponding lifecycle code module, the code of a first one of the lifecycle code modules differing from the code of a second, different one of the lifecycle code modules; identifying an occurrence of a user lifecycle event; identifying a first user of an organization associated with the user lifecycle event; mapping the user lifecycle event to a function of the user lifecycle API associated with the user lifecycle event; Examiner’s Answer mailed April 10, 2019 (“Ans.”); and the Specification filed October 21, 2015 (“Spec.”). Appeal 2019-004823 Application 14/919,500 3 identifying, as a subset of the third-party applications, third-party applications to which the organization has granted the first user access; and for each third-party application of the identified subset: identifying the lifecycle code module corresponding to the third-party application, and calling code of the identified lifecycle code module that implements the mapped function, thereby making a change to data of the user in the third-party application, the data of the user in the third-party application being stored in a database of the third-party application that is remote from the server. REFERENCES Name4 Reference Date Anand US 8,667,024 B2 Mar. 4, 2014 Charyk US 9,477,737 B1 Oct. 25. 20165 Thomason US 2016/0330138 A1 Nov. 10, 20166 REJECTIONS7 AT ISSUE8 1. Claims 1, 2, 4–8, 10–13, 16–18, and 20–239 stand rejected under 35 U.S.C. § 103(a) as obvious over Anand and Charyk. Non- 4 All citations herein to the references are by reference to the first named inventor/author only. 5 Filed November 19, 2014. 6 Filed May 7, 2015. 7 The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Final Act. 2. 8 The Examiner has withdrawn the rejections under 35 U.S.C. § 101. Ans. 3. 9 Claims 3, 14, and 15 are canceled. Appeal Br. 2. Appeal 2019-004823 Application 14/919,500 4 Final Act. 8–18. 2. Claims 9 and 19 stand rejected under 35 U.S.C. § 103(a) as obvious over Anand, Charyk, and Thomason. Non-Final Act. 18–19. ANALYSIS We have reviewed the rejections of Claims 1, 2, 4–13, and 16–23 in light of Appellant’s arguments that the Examiner erred. We are persuaded of error. We provide the following explanation to highlight and address specific arguments and findings primarily for emphasis. We consider Appellant’s arguments as they are presented in the Appeal Brief and the Reply Brief. CLAIMS 1, 2, 4–8, 10–13, 16–18, AND 20–23: OBVIOUSNESS OVER ANAND AND CHARYK. Appellant argues these claims as a group specifically over the recitations of Claim 1. App. Br. 17 (“Independent claim 12 recites substantively similar limitations to those of independent claim 1 . . . [t]he remaining claims depend from either claim 1 or claim 12 and overcome the applied references for at least the same reasons.”). Therefore, we decide the appeal of the § 103 rejections on the basis of Claim 1 and refer to the rejected claims collectively herein as “the claims.” See 37 C.F.R. § 41.37(c)(1)(iv); In re King, 801 F.2d 1324, 1325 (Fed. Cir. 1986). Claim 1 recites, inter alia, “storing a user lifecycle application programming interface (API) that declares but does not define a plurality of user lifecycle functions for accessing data of users of third-party Appeal 2019-004823 Application 14/919,500 5 applications, the user lifecycle API implemented as an interface of a programming language.” The Examiner acknowledges Appellant’s prior contention that the prior art fails to teach the claimed “application programming interface (API) that declares but does not define a plurality of user lifecycle functions.” Non-Final Act. 5 (“Examiner respectfully disagrees with applicant’s assertion. Applicant is arguing a point that is not supported by the application provided specification.”). The Examiner “interprets the terms ‘defining’ or ‘declaring’ as synonymous.” Non-final Act. 7. To teach this limitation, the Examiner finds Anand discloses “shared data management (SDM)” which “provides a common platform for independent software vendors published applications i.e., ‘third-party applications’ to share data.” Non-Final Act. 8 (citing Anand, col. 3, ll. 1– 27). The Examiner does not cite the prior art as teaching the claimed “application programming interface (API) that declares but does not define a plurality of user lifecycle functions,” because the Examiner “interprets the terms ‘defining’ or ‘declaring’ as synonymous.” Non-Final Act. 7. Appellant contends “a person having ordinary skill in the art understands that ‘declaring’ and ‘defining’ functions are not synonymous, and as such it is improper to assert that these actions are equivalent.” Appeal Br. 13. Appellant argues these two concepts: have been well-known in computer science for decades. For example, the seminal work The C Book, 2nd Ed., by Mike Banahan, Declan Brady, and Mark Doran, pub. 1991, clearly teaches these basic computer science concepts. Section 2.5, “Declaration of Variables,” and Section 4.2.1, “Declaring Functions,” teach these concepts. In particular, Section 4.2.1 states “you turn a function declaration into a definition by Appeal 2019-004823 Application 14/919,500 6 providing a body for the function in the form of a compound statement.” These concepts are known to persons having ordinary skill in the art and need not be explicitly defined in the Specification. Id. Appellant argues these concepts are supported by the Specification. Id. (citing Spec., ¶ 27) (“the ingest module 205 precompiles the code of the user lifecycle code module 104, thereby verifying that the code module 104 properly implements the lifecycle API (e.g., that all the required functions are defined, that the proper arguments are provided, and that the proper return types are specified).” In view of Appellant’s arguments, the Examiner agrees the Specification supports the claimed distinction between “defining” and “declaring.” Ans. 3. However, the Answer does not discuss the disputed limitation, i.e., the claimed distinction between “defining” and “declaring” or show where the prior art teaches this limitation. See Reply Br. 2 (“the examiner has failed to properly address the limitation ‘storing a user lifecycle application programming interface (API) that declares but does not define a plurality of user lifecycle functions.’”). Appellant argues: The Office Action at p. 7 objected to this language and improperly equated “defining” and “declaring” functions. As the Examiner’s Answer has withdrawn the objection, the examiner can no longer interpret “defining” and “declaring” functions as synonymous. Because the examiner uses an incorrect interpretation of “defining” and “declaring” functions, the rejection fails to show, for example, “storing a user lifecycle application programming interface (API) that declares but does not define a plurality of user lifecycle functions for accessing data of users of third-party applications. Reply Br. 2. Appeal 2019-004823 Application 14/919,500 7 We agree with Appellant. The Examiner fails to demonstrate where, or how, the prior art teaches “storing a user lifecycle application programming interface (API) that declares but does not define a plurality of user lifecycle functions for accessing data of users of third-party applications,” as claimed. Independent Claim 12 contains limitations commensurate with those of Claim 1 as discussed above. In view of the foregoing, we decline to sustain the rejection of Claims 1, 2, 4–8, 10–13, 16–18, and 20–23 under 35 U.S.C. § 103. CLAIMS 9 AND 19: OBVIOUSNESS OVER ANAND, CHARYK, AND THOMASON. As discussed above, we find the Examiner fails to demonstrate where, or how, Anand and Charyk teach or suggest the limitation discussed above. The Examiner does not assert that Thomason overcomes the deficiencies of Anand and Charyk. In view of the foregoing, we decline to sustain the rejection of Claims 9 and 19 under 35 U.S.C. § 103. CONCLUSION In summary: Claim(s) Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1, 2, 4–8, 10– 13, 16–18, 20–23 103 Anand, Charyk 1, 2, 4–8, 10–13, 16– 18, 20–23 9, 19 103 Anand, Charyk, Thomason 9, 19 Overall Outcome 1, 2, 4–13, 16–23 REVERSED Copy with citationCopy as parenthetical citation