Microsoft Technology Licensing, LLCDownload PDFPatent Trials and Appeals BoardMar 31, 202015393182 - (D) (P.T.A.B. Mar. 31, 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. 15/393,182 12/28/2016 Sameer Tejani 337074-US-CNT 8594 69316 7590 03/31/2020 MICROSOFT CORPORATION ONE MICROSOFT WAY REDMOND, WA 98052 EXAMINER GOORAY, MARK A ART UNIT PAPER NUMBER 2199 NOTIFICATION DATE DELIVERY MODE 03/31/2020 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): chriochs@microsoft.com usdocket@microsoft.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ Ex parte SAMEER TEJANI, ADINA M. TRUFINESCU, YASSER SHAABAN, ABOLADE GBADEGESIN, ASHISH BABBAR, MEI-CHIN TSAI, SUBRAMANIAN RAMASWAMY, and CASIMIR LAKSHAN FERNANDO ____________ Appeal 2018-007982 Application 15/393,182 Technology Center 2100 ____________ Before JAMES R. HUGHES, CARL L. SILVERMAN, and SCOTT E. BAIN, Administrative Patent Judges. SILVERMAN, Administrative Patent Judge. DECISION ON APPEAL Appellant1 appeals under 35 U.S.C. § 134(a) from the Examiner’s Final Rejection of claims 1–20, which constitute all pending claims. We have jurisdiction under 35 U.S.C. § 6(b). An Oral Hearing was held on March 16, 2019. We reverse. 1 Throughout this Decision, we use the word “Appellant” to refer to “appli- cant” as defined in 37 C.F.R. § 1.42(a) (2017). Appellant identifies Microsoft Corporation as the real party in interest. Appeal Br. 4. Appeal 2018-007982 Application 15/393,182 2 STATEMENT OF THE CASE The invention relates to tools and techniques for installing, executing, and/or updating managed applications through generation of native code from code in a machine dependent intermediate language code (MDIL). Abstract; Spec. ¶ 2, Figs. 1–3. Claim 1, reproduced below, is exemplary of the subject matter on appeal (emphasis added): 1. A method comprising: receiving, at a computing device, machine dependent intermediate language code (MDIL code) generated by an online provider for an application; at the computing device, installing the application on the computing device by generating a native image for the application by binding the MDIL code, the generating the native image comprising: binding a portion of the MDIL code with one or more libraries on the computing device; and storing the native image on the computing device for use when loading the application for execution. Appeal Br. 16 (Claims Appendix). Appeal 2018-007982 Application 15/393,182 3 REFERENCES The prior art relied upon by the Examiner is: Name Reference Date Steinmetz et al. US 5,812,854 Sept. 22, 1998 Trowbridge et al. US 6,484,313 Bl Nov. 19, 2002 Hogg et al. US 2005/0102649 A1 May 12, 2005 Brumme et al. US 2005/0193369 A1 Sept. 1, 2005 Richardson et al. US 2009/0064196 Al Mar. 5, 2009 Gassoway US 7,900,199 B2 Mar. 1, 2011 Bandakka et al. US 2013/0125107 A1 May 16, 2013 Sunghyun Hong et al., Java Client Ahead-of-Time Compiler for Embedded Systems, SCH OF ELEC. ENG AND COMP. SCI (2007) (hereinafter “Hong”) THE REJECTIONS Claims 1, 5, 6, 8–11, and 14–16 are rejected under 35 U.S.C. § 103(a) as being unpatentable over Trowbridge et al. (“Trowbridge”), in view of Richardson et al. (“Richardson”) and Steinmetz et al. (“Steinmetz”). Final Act. 2–8. Claims 2 and 3 are rejected under 35 U.S.C. § 103(a) as being unpatentable over Trowbridge, Richardson, Steinmetz, and Gassoway et al. Final Act. 8–9. Claim 4 is rejected under 35 U.S.C. § 103(a) as being un-patentable over Trowbridge, Richardson, Steinmetz, Gassoway, and Bandakka et al. (“Bandakka”). Final Act. 10–11. Claims 7 and 17 are rejected under pre-AIA 35 U.S.C. § 103(a) as being unpatentable over Trowbridge, Richardson, Steinmetz, and Brumme et al. (“Brumme”). Final Act. 11–13. Appeal 2018-007982 Application 15/393,182 4 Claims 12 and 13 are rejected under pre-AIA 35 U.S.C. § 103(a) as being unpatentable over Trowbridge, Richardson, Steinmetz, and Hong. Final Act. 13–14. Claims 18–20 are rejected under pre-AIA 35 U.S.C. § 103(a) as being unpatentable over Hogg et al. (“Hogg”), Trowbridge, Brumme, and Steinmetz. Final Act. 15–18. ANALYSIS The Examiner finds Trowbridge teaches the limitations of claim 1, except the limitation that the intermediate language is machine dependent intermediate language and the limitation that the binding includes libraries on the computing device. Final Act. 2–3 (citing Trowbridge, 2:14– 16, 10:58–63, 7:39–65, 10:64–11:62). The Examiner finds Steinmetz teaches a system that can convert code to machine independent code that is used to generate machine code. Id. at 3 (citing Steinmetz, Fig. 3). The Examiner relies on Richardson for the binding limitation and this is not disputed. Id. at 3–4. The Examiner determines it would be obvious to one of ordinary skill in the art to modify Trowbridge with Steinmetz because both teach using intermediate code to generate machine code such that it would be obvious for Trowbridge to receive a machine intermediate code as taught by Steinmetz. Id. at 3 (citing Trowbridge, 5:52–62, 2:14–16, 10:58– 63). Appellant argues the Examiner errs in finding that a person of ordinary skill in the art would modify the machine independent code of Trowbridge with machine dependent code of Steinmetz. Appeal Br. 9–15. Appellant refers to Trowbridge as solely directed to machine independent code. Id. at 11 (citing Trowbridge, 2:42–47, 2:57–61, 1:26–27). Appeal 2018-007982 Application 15/393,182 5 Appellant argues Trowbridge teaches that its intermediate language code is not the type of code described in Steinmetz: “[t]he terminology intermediate language as used herein does not generally refer to data communicated from the front end of a compiler . . . to the back end of the compiler (emphasis omitted),” and this is the Steinmetz structure. Id. (citing Trowbridge, 1:28– 31; Steinmetz, Fig. 3). Appellant argues modifying Trowbridge to use the teaching of Steinmetz would render Trowbridge inoperable for its intended purpose of machine independent code and platform independence. Id. at 12– 13. Appellant argues Trowbridge teaches against the Steinmetz type of code that employs a front-to-back end compiler and, therefore, Trowbridge and Steinmetz are incompatible and their teaching would have discouraged the Examiner’s suggested combination. Id. at 13. Appellant argues neither Steinmetz nor Trowbridge teaches “receiving machine dependent intermediate language code generate by an on line provider.” Id. at 14. Appellant argues that the Examiner relies on conclusory statements and provides no reason a person of ordinary skill in the art would modify Trowbridge’s machine independent intermediate language to receive machine dependent intermediate language. Id. at 14–15. In the Answer, the Examiner finds that Trowbridge does not disclose anything to criticize, discredit, or otherwise discourage the use of machine dependent intermediate language, and Trowbridge is not limited to just java and platform independent intermediate code. Ans. 4 (citing Trowbridge, 5:57–62, 1:20–27). The Examiner finds Trowbridge’s use of the phrase “does not generally refer” does not criticize, discourage the use of a front end compiler and it would be reasonable for the Examiner to interpret the Trowbridge Figure 3 compiler 204 as the front end and the mechanism that Appeal 2018-007982 Application 15/393,182 6 generate the native code as the back end. Id. at 5 (citing Trowbridge, 1:28– 31, 6:60–7:12, 7:22–27, Fig.3). The Examiner finds employing machine dependent code in Trowbridge would not render Trowbridge inoperable for its intended purpose because Trowbridge’s machine independent intermediate language and platform independence is just a goal. Id. at 6. Regarding the combination of Trowbridge and Steinmetz, the Examiner determines Throwbidge [sic] teaches the intermediate code is compiled to native code, which is then saved, and which can be run (column 7, lines 60-65). Steinmetz teaches translating the intermediate code into machine code (native code). This results in code with fast and efficient performance (column 10, lines 27- 31 and figure 3). Since both teach the translation/compiling of independent code to machine/native code for execution and since Steinmetz teaches as stated above that intermediate code can be either machine independent or machine dependent, it would have been obvious for this also to be the case for Throwbridge. As stated above Throwbridge does not teach away from the use of machine dependent intermediate code. This seems to be no more than a design choice and would be obvious to try. One can use machine independent intermediate code or machine dependent code. Machine dependent intermediate code which has a very close relationship with particular hardware platform's machine code. Thus, there exists a near one-to-one relationship with the instructions in the machine-dependent intermediate code and the instructions that exits in machine code. This will allow the system to have independent code that closely represents the machine code that will be generated. Efficiencies of well- designed user-defined code will not be lost with the use [of] machine dependent intermediate code. Id. at 7. We are persuaded by Appellant’s arguments that one of ordinary skill in the art would not combine Trowbridge and Steinmetz as suggested by the Examiner to result in the claimed invention which is directed to machine Appeal 2018-007982 Application 15/393,182 7 dependent intermediate language (MDIL). Trowbridge is directed to MIIL (machine independent intermediate language) and Steinmetz is directed to MDIL, and the differences between MIIL and MDIL are significant. Here, in addition to the general differences between MIIL and MDIL, Steinmetz generates the MDIL within a compiler while Trowbridge generates its MIIL outside a compiler. Referring to Figure 3 of Steinmetz, the compiler processes code from a compiler front end to a compiler back end to generate the MDIL. See also Steinmetz, 6:3–6. In contrast, Trowbridge’s compiler, as shown in Figure 3, generates the intermediate code and a separate mechanism generates the MIIL (native code). See Trowbridge, 6:60–7.1–12. Additionally, Trowbridge expressly teaches that the term “intermediate language as used herein does not generally refer to the data communicated from the front end of a compiler . . . to the back end of a compiler,” and this is the structure described by Steinmetz. See Trowbridge 1:28–31; Steinmetz, Fig. 3. On the record before us, the Examiner presents insufficient evidence that one of ordinary skill in the art would combine Trowbridge and Steinmetz as suggested by the Examiner. We note [t]he test for obviousness is not whether the features of a secondary reference may be bodily incorporated into the structure of the primary reference; nor is it that the claimed invention must be expressly suggested in any one or all of the references. Rather, the test is what the combined teachings of the references would have suggested to those of ordinary skill in the art. Keller, 642 F.2d 413, 425 (CCPA 1981). Appeal 2018-007982 Application 15/393,182 8 Here, the Examiner provides insufficient evidence as required for obviousness. As stated by the Supreme Court, the Examiner’s obviousness rejection must be based on: [S]ome articulated reasoning with some rational underpinning to support the legal conclusion of obviousness. . . . [H]owever, the analysis need not seek out precise teachings directed to the specific subject matter of the challenged claim, for a court can take account of the inferences and creative steps that a person of ordinary skill in the art would employ. KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398, 418 (2007) (quoting In re Kahn, 441 F.3d 977, 988 (Fed. Cir. 2006)). In view of the above, we do not sustain the rejection of claim 1, and independent claims 15 and 18 as these claims are argued together with claim 1. We also do not sustain the rejection of dependent claims 2–14, 16, 17, 19, and 20. Cf. In re Fritch, 972 F.2d 1260, 1266 (Fed. Cir. 1992) (“[D]ependent claims are nonobvious if the independent claims from which they depend are nonobvious . . . .”). Because our decision is dispositive of the rejections, we do not address additional arguments raised by Appellant. Appeal 2018-007982 Application 15/393,182 9 DECISION Claims Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1, 5, 6, 8–11, 14–16 103(a) Trowbridge, Richardson, Steinmetz 1, 5, 6, 8–11, 14–16 2, 3 103(a) Trowbridge, Richardson, Steinmetz, Gassoway 2, 3 4 103(a) Trowbridge, Richardson, Steinmetz, Gassoway, Bandakka 4 12,13 103(a) Trowbridge, Richardson, Steinmetz, Hong 12, 13 18–20 103(a) Hogg, Trowbridge, Brumme, Steinmetz 18–20 Overall Outcome 1–20 REVERSED Copy with citationCopy as parenthetical citation