Prosecution Insights
Last updated: April 17, 2026
Application No. 18/424,642

GENERATING CROSS-PLATFORM APPLICATIONS

Non-Final OA §103
Filed
Jan 26, 2024
Examiner
MITCHELL, JASON D
Art Unit
2199
Tech Center
2100 — Computer Architecture & Software
Assignee
unknown
OA Round
5 (Non-Final)
55%
Grant Probability
Moderate
5-6
OA Rounds
4y 2m
To Grant
86%
With Interview

Examiner Intelligence

Grants 55% of resolved cases
55%
Career Allow Rate
342 granted / 623 resolved
At TC average
Strong +31% interview lift
Without
With
+31.4%
Interview Lift
resolved cases with interview
Typical timeline
4y 2m
Avg Prosecution
32 currently pending
Career history
655
Total Applications
across all art units

Statute-Specific Performance

§101
10.4%
-29.6% vs TC avg
§103
49.4%
+9.4% vs TC avg
§102
14.2%
-25.8% vs TC avg
§112
20.0%
-20.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 623 resolved cases

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Arguments Applicant’s arguments have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-4, 7-16 and 20-23 are rejected under 35 U.S.C. 103 as being unpatentable over US 2013/0167112 to Bostian et al. (Bostian) in view of US 8,745,579 to Johnson et al. (Johnson) in view of US 11,789,704 to Konuri (Konuri) in view of US 2011/0088011 to Ouali (Ouali). Claims 1 and 22-23: Bostian discloses a method comprising: receiving a request to generate one or more applications configured to perform one or more algorithms (par. [0069] “a virtual source code specification is generated”), wherein each of the one or more applications is configured to perform the one or more algorithms on a respective corresponding platform of a plurality of platforms, and wherein each application, when executed on a respective user device running the respective corresponding platform, is configured to perform the one or more algorithms based on user inputs to the respective user device (e.g. par. [0069] “a transform mechanism … designed to correspond to a particular platform”); obtaining input data that represents user code that comprises the one or more algorithms (par. [0069] “a virtual source code specification is generated”); obtaining a set of target language code that comprises the one or more algorithms, and wherein the set of target language code is derived from the input data (par. [0069] “a high-level target source code is generated … corresponds to the particular platform”); and processing at least the set of target language code to generate, for each of the respective corresponding platforms, a respective buildable application (par. [0070] “the high-level target source code is compiled”). Bostian does not disclose: input data that represents user code that comprises the one or more algorithms in a programming language. Johnson teaches: input data that represents user code that comprises the one or more algorithms in a programming language (col. 3, lines 48-60 “input program, including but not limited to … imperative programming languages …. declarative programming languages”). It would have been obvious to provide input data in a programming language (Johnson col. 3, lines 48-60 “programming languages”, Bostian par. [0026] “the virtual source code specification 12”). Those of ordinary skill in the art would have been motivated to do so as a known alternate method of providing a specification which would have produced only the expected results. Bostian and Johnson do not teach: maintaining a plurality of template files, wherein each template file comprises a template of a file for building the respective buildable application, wherein the plurality of template files comprises a plurality of template configuration files, and wherein each template configuration file comprise a template of a configuration file that is required to build the respective buildable application for the respective corresponding platform; and applying data derived from the input data to one or more of the plurality of template files to generate one or more files for building the respective buildable application, comprising applying data derived from the input data to one or more of the plurality of template configuration files to generate one or more configuration files that are required to build the respective buildable application for the respective corresponding platform. Konuri teaches: maintaining a plurality of template files, wherein each template file comprises a template of a file for building a respective buildable application, wherein the plurality of template files comprises a plurality of template code files, and wherein each template code file comprise a template of ca code file (col. 23, lines 60-65 “code template database 68 that includes … expandable code that the DbDe module 64 may retrieve and customize to the configuration parameters”); and applying data derived from the input data to one or more of the plurality of template files to generate one or more files for building the respective buildable application, comprising applying data derived from the input data to one or more of the plurality of template code files to generate one or more code files (col. 24, lines 7-17 “inserting the configuration parameters into the retrieved code … integrate the machine written code into the previously described code blocks”). It would have been obvious at the time of filing to maintain a plurality of template code files. Those of ordinary skill in the art would have been motivated to do so to customize the application to a target environment (see e.g. Bostian par. [0003] “generate a plurality of target source codes”, Konuri col. 8, lines 35-39 “build a custom application for the target platform 14”). Bostian, Johnson and Konuri do not explicitly teach: a plurality of template configuration files that are required to build the respective buildable application for the respective corresponding platform. Ouali teaches: a plurality of configuration files that are required to build the respective buildable application for the respective corresponding platform (par. [0469] “update the ear with a list of configuration files”). It would have been obvious at the time of filing to provide template configuration files (Konuri col. 23, lines 60-65 “generate … artifacts 66 … code template database 68”, Ouali par. [0469] “configuration files”). Those of ordinary skill in the art would have been motivated to do so as a means of conforming to a known enterprise software architecture which would have produced only the expected results (see e.g. Ouali abstract). Claim 2: Bostian, Johnson, Konuri and Ouali teach the method of claim 1, wherein the method further comprises: building, for each of the respective corresponding platforms, the respective buildable application (Bostian par. [0071] “compiled to generate the … executable application”, those of ordinary skill in the art would have understood generation of an executable to include a “build” operation, see e.g. par. [0072] “compiling and linking”). Claim 3: Bostian, Johnson, Konuri and Ouali teach the method of claim 1, wherein obtaining input data comprises receiving input data from a user (Bostian par. [0069] “generated by a human developer”). Claim 4: Bostian, Johnson, Konuri and Ouali teach the method of claim 3, wherein the input data comprises one or more of data representing parameters, and data representing an interface for the one or more applications (Bostian par. [0032] “defines interfaces and resources available”). Claim 7: Bostian, Johnson, Konuri and Ouali teach the method of claim 1, wherein the user code comprises a set of source language code in the programming language, and wherein obtaining a set of target language code comprises generating the set of target language code in a second programming language from the source language code, and wherein each application, when executed on a respective user device running the respective corresponding platform, is configured to perform the one or more algorithms in the second programming language based on user inputs to the respective user device (Bostian par. [0069] “a high-level target source code is generated … corresponds to the particular platform”, Johnson col. 7, lines “57-59 “input program such as Java”, col. 8, lines 1-3 “JavaScript code … is generated”). Claim 8: Bostian, Johnson, Konuri and Ouali disclose the method of claim 7, wherein the user code comprises a set of target language code (Bostian par. [0069] “a high-level target source code”). Bostian, Johnson, Konuri and Ouali do not explicitly disclose the programming language and the second programming language are the same. It would have been obvious at the time of filing to input a specification in the same language as will be generated. Those of ordinary skill in the art would have been motivated to do so to address other platform related specialization while not requiring developer knowledge of a second programming language (see e.g. Bostian par. [0029] “source code corresponding to a … target platform”). Clam 9: Bostian, Johnson, Konuri and Ouali teach the method of claim 1, wherein each application is configured to perform at least a portion of the one or more algorithms on one or more devices remote to the respective user device (see e.g. Ouali pars. [1120]-[1124] “A thin client … A presentation tier … A business logic tier”). Claim 10: Bostian, Johnson, Konuri and Ouali teach the method of claim 9, wherein each application is configured to provide data representing commands or user inputs to the respective user device to the one or more devices (Bostian par. [0071] “compiled to generate the … executable application”, Ouali par. [1122] “A thin client … installed on every machine used by the users”). Claim 11: Bostian, Johnson, Konuri and Ouali teach the method of claim 1, wherein each respective buildable application comprises a plurality of files that comprises the one or more files (e.g. Konuri col. 24, lines 23-27 “communicate the generated artifacts 66”), each associated with a corresponding directory of the respective buildable application (Ouali par. [0476] “project directory”), wherein the one or more code files comprise one or more of: interface code for a user interface of the respective buildable application for the respective corresponding platform (e.g. Ouali par. [1122] “A thin client”), debugging code, profiling code, platform code, or communication code (Ouali par. [0942] “pre-existing libraries that manage the communications with other systems”), and wherein processing at least the set of target language code to generate, for each of the respective corresponding platforms, a respective buildable application (Bostian par. [0070] “the high-level target source code is compiled”, Konuri col. 24, lines 55-59 “deploy the application package 96”) comprises: generating one or more configuration files (Ouali par. [0469] “update the ear with a list of configuration files”); generating one or more build files comprising build code for the set of target language code (Ouali par. [0457] “generate java classes from an XML file”); generating one or more object files by compiling the set of target language code according to the one or more build files (Ouali par. [0457] “compiling the generated java source code”); generating one or more code files comprising one or more of: interface code for a user interface of the respective buildable application (e.g. Ouali par. [1122] “A thin client”) for the respective corresponding platform, debugging code, profiling code, platform code, and communication code (par. [0942] “pre-existing libraries that manage the communications with other systems”); and for each of the plurality of files, saving data representing the file in the corresponding directory of the respective buildable application (Ouali par. [0476] “project directory”). Claim 12: Bostian, Johnson, Konuri and Ouali teach the method of claim 11, wherein the plurality of files are organized into a structure comprising multiple layers (e.g. Ouali par. [0121] an EJB multi-tier environment”, see e.g. pars. [1120]-[1124] “A thin client … A presentation tier … A business logic tier”). Claims 13: Bostian, Johnson, Konuri and Ouali teach the method of claim 12, wherein the communication code implements one or more communication application programming interfaces (APIs) between the multiple layers (Ouali par. [0942] “pre-existing libraries that manage the communications … FTP, File, Queue, WebDav”). Claim 14: Bostian, Johnson, Konuri and Ouali teach The method of claim 12, wherein each application is configured to perform at least a portion of at least one of the multiple layers on one or more devices remote to the respective user device (Ouali par. [0121] “client makes a call to the EJB Server”). Claim 15: Bostian, Johnson, Konuri and Ouali teach the method of claim 11, wherein the one or more configuration files comprise any one of: interface configuration files, application configuration files, or platform configuration files (Ouali par. [0469] “update the ear with a list of configuration files”, see e.g. pars. [1120]-[1124] “A thin client … A presentation tier … A business logic tier”). Claim 16: Bostian, Johnson, Konuri and Ouali teach the method of claim 11, wherein maintaining a plurality of template files comprises maintaining a plurality of template configuration files, wherein each template configuration file comprises a template of a configuration file (Konuri col. 23, 60-62 “template database 68”); and wherein applying data derived from the input data to one or more of the plurality of template files to generate one or more files for building the respective buildable application comprises applying data derived from the input data to one or more of the plurality of template configuration files (Konuri col. 8, lines 35-39 “a custom application for the target platform 14”, col. 23, 60-65 “customize the configuration parameters of the application definition 42”). Claim 20: Bostian, Johnson, Konuri and Ouali teach the method of claim 11, further comprising: modifying the set of target language code (Ouali par. [0830] “the current configuration file can be manipulated”, Konuri col. 8, lines 54-56 “programming language … compatible with the target platform 14”) comprising: identifying one or more subsets within the set of target language code that are similar to a subset of the mapping (Konuri col. 24, lines 14-17 “integrate the machine written code into the previously described code blocks”), and modifying the one or more subsets within the set of target language code based on the corresponding templates (Ouali par. [0830] “and changes would be applied to the current system”, Konuri col. 24, lines 14-17 “integrate the machine written code into the previously described code blocks”). Claim 21: Bostian, Johnson, Konuri and Ouali teach the method of claim 1, further comprising: receiving data that represents one or more edits to the input data from a user (Ouali par. [0830] “the current configuration file can be manipulated”); and modifying the respective buildable applications according to the one or more edits (Ouali par. [0830] “and changes would be applied to the current system”). Claim 5-6 are rejected under 35 U.S.C. 103 as being unpatentable over US 2013/0167112 to Bostian et al. (Bostian) in view of US 8,745,579 to Johnson et al. (Johnson) in view of US 11,789,704 to Konuri (Konuri) in view of US 2011/0088011 to Ouali (Ouali) in view of Official Notice. Claims 5-6: Bostian, Johnson, Konuri and Ouali teach the method of claim 1, but do not explicitly teach wherein the one or more algorithms comprise one or more machine learning algorithms and/or computer vision algorithms. It is officially noted that machine learning and computer vision algorithms were well known in the art at the time of filing. It would have been obvious at the time of filing to generate an application comprising machine learning and/or computer vision algorithms. Those of ordinary skill in the art would have been motivated to do so as known algorithms generation of which would have produced only the expected results (i.e. applications for performing the desired algorithm(s)). Claim 17-18 are rejected under 35 U.S.C. 103 as being unpatentable over US 2013/0167112 to Bostian et al. (Bostian) in view of US 8,745,579 to Johnson et al. (Johnson) in view of US 11,789,704 to Konuri (Konuri) in view of US 2011/0088011 to Ouali (Ouali) in view of US 2009/0249296 to Haenel et al. (Haenel). Claim 17: Bostian, Johnson, Konuri and Ouali teach the method of claim 11, wherein the user code comprises a set of target language code (Bostian par. [0069] “a high-level target source code is generated … corresponds to the particular platform”), and but do not explicitly teach wherein generating one or more code files comprises: maintaining a mapping of subsets of target language code to corresponding templates comprising interface code for user interface components; identifying one or more subsets within the user code that are similar to a subset of the mapping; and generating interface code based on the corresponding templates for the one or more identified subsets. Haenel teaches: maintaining a mapping of subsets of target language code to corresponding templates comprising interface code for user interface components (par. [0037] “template 208 is mapped to specific elements of the supported target platform … a page user interface (UI) would be mapped to an Eclipse API”); identifying one or more subsets within the user code that are similar to a subset of the mapping (par. [0037] “a page user interface (UI)”); and generating interface code based on the corresponding templates for the one or more identified subsets (par. [0037] “would be mapped to an Eclipse API”). It would have been obvious at the time of filing to maintain mappings of target language to templates comprising interface code. Those of ordinary skill in the art would have been motivated to do so to provide a customized display for the target platform (see e.g. Haenel par. [0037], Bostian par. [0069] “a high-level target source code is generated … corresponds to the particular platform”). Claim 18: Bostian, Johnson, Konuri and Ouali teach the method of claim 11, wherein the user code comprises a set of source language code (Bostian par. [0069] “a virtual source code specification is generated”) but do not disclose: wherein generating one or more code files comprises: maintaining a mapping of subsets of source language code to corresponding templates comprising interface code for user interface components; identifying one or more subsets within the user code that are similar to a subset of the mapping; and generating interface code based on the corresponding templates for the one or more identified subsets. Haenel teaches: maintaining a mapping of subsets of source language code to corresponding templates comprising interface code for user interface components (par. [0037] “template 208 is mapped to specific elements of the supported target platform … a page user interface (UI) would be mapped to an Eclipse API”); identifying one or more subsets within the user code that are similar to a subset of the mapping (par. [0037] “a page user interface (UI)”); and generating interface code based on the corresponding templates for the one or more identified subsets (par. [0037] “an Eclipse API”). It would have been obvious at the time of filing to maintain mappings of target language to templates comprising interface code. Those of ordinary skill in the art would have been motivated to do so to provide a customized display for the target platform (see e.g. Haenel par. [0037], Bostian par. [0069] “a high-level target source code is generated … corresponds to the particular platform”). Claim 19 is rejected under 35 U.S.C. 103 as being unpatentable over US 2013/0167112 to Bostian et al. (Bostian) in view of US 8,745,579 to Johnson et al. (Johnson) in view of US 11,789,704 to Konuri (Konuri) in view of US 2011/0088011 to Ouali (Ouali) in view of US 2009/0249296 to Haenel et al. (Haenel) in view of US 5,675,801 to Lindsey (Lindsey). Claim 19: Bostian, Johnson, Konuri and Ouali teach claim 11, generating one or more code files: but do not explicitly teach: wherein each user interface component has a corresponding template comprising user interface code; and generating interface code based on the corresponding templates for the identified user interface components. Haenel teaches: wherein each user interface component has a corresponding template comprising user interface code (par. [0037] “template 208 is mapped to specific elements of the supported target platform … a page user interface (UI) would be mapped to an Eclipse API”); and generating interface code based on the corresponding templates for the identified user interface components (par. [0037] “template 208 is mapped to specific elements of the supported target platform … a page user interface (UI) would be mapped to an Eclipse API”). It would have been obvious at the time of filing to maintain mappings of target language to templates comprising interface code. Those of ordinary skill in the art would have been motivated to do so to provide a customized display for the target platform (see e.g. Haenel par. [0037], Bostian par. [0069] “a high-level target source code is generated … corresponds to the particular platform”). Bostian, Johnson, Konuri, Ouali and Haenel do not explicitly teach: displaying a plurality of user interface components to a user; and receiving an input from the user that identifies one or more of the plurality of user interface components. Lindsey teaches: displaying a plurality of user interface components to a user (col. 5, line 59-col. 6, line 3 “The user interface 60 is typically presented to a user on the display device 42”); and receiving an input from the user that identifies one or more of the plurality of user interface components (col. 5, line 59-col. 6, line 3 “select and combine objects in a manner which represents the desired function”). It would have been obvious at the time of filing to display and receive input identifying user interface components (Lindsey col. 5, line 59-col. 6, line 3 “select and combine objects in a manner which represents the desired function”, Haenel par. [0037] “template 208 is mapped to specific elements of the supported target platform). Those of ordinary skill in the art would have been motivated to do so as a known means of developing a UI which would have allowed less technical developers to define the interface and associated functionality (see e.g. Lindsey col. 6, lines 4-9 “the user need not know any details”). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to JASON D MITCHELL whose telephone number is (571)272-3728. The examiner can normally be reached Monday through Thursday 7:00am - 4:30pm and alternate Fridays 7:00am 3:30pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Lewis Bullock can be reached at (571)272-3759. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /JASON D MITCHELL/Primary Examiner, Art Unit 2199
Read full office action

Prosecution Timeline

Jan 26, 2024
Application Filed
Apr 06, 2024
Non-Final Rejection — §103
Jun 18, 2024
Applicant Interview (Telephonic)
Jun 18, 2024
Examiner Interview Summary
Jul 05, 2024
Response Filed
Jul 12, 2024
Final Rejection — §103
Dec 11, 2024
Examiner Interview Summary
Dec 11, 2024
Applicant Interview (Telephonic)
Dec 17, 2024
Request for Continued Examination
Dec 30, 2024
Response after Non-Final Action
Jan 08, 2025
Non-Final Rejection — §103
Mar 25, 2025
Applicant Interview (Telephonic)
Mar 25, 2025
Examiner Interview Summary
Apr 10, 2025
Response Filed
Jun 17, 2025
Final Rejection — §103
Nov 20, 2025
Request for Continued Examination
Dec 01, 2025
Response after Non-Final Action
Dec 03, 2025
Non-Final Rejection — §103
Feb 25, 2026
Examiner Interview Summary
Feb 25, 2026
Applicant Interview (Telephonic)
Apr 16, 2026
Applicant Interview (Telephonic)
Apr 16, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591423
Determining a security patch for a cyberattack by executing simulations of different security protocols
2y 5m to grant Granted Mar 31, 2026
Patent 12585575
Auto-Complete Testing
2y 5m to grant Granted Mar 24, 2026
Patent 12572346
OTA MASTER, METHOD, AND NON-TRANSITORY STORAGE MEDIUM
2y 5m to grant Granted Mar 10, 2026
Patent 12561122
SOFTWARE PACKAGE UPDATE HANDLING
2y 5m to grant Granted Feb 24, 2026
Patent 12561119
Live Range Reduction to Enhance Register Allocation of Structured Control Flow Programs
2y 5m to grant Granted Feb 24, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
55%
Grant Probability
86%
With Interview (+31.4%)
4y 2m
Median Time to Grant
High
PTA Risk
Based on 623 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

Enter your email to receive a magic link. No password needed.

Free tier: 3 strategy analyses per month