Prosecution Insights
Last updated: April 19, 2026
Application No. 18/475,800

METADATA DRIVEN PLATFORM FOR CUSTOMIZED APPLICATION DEVELOPMENT

Final Rejection §103
Filed
Sep 27, 2023
Examiner
NGUYEN, MONGBAO
Art Unit
2192
Tech Center
2100 — Computer Architecture & Software
Assignee
Adp Inc.
OA Round
2 (Final)
86%
Grant Probability
Favorable
3-4
OA Rounds
2y 9m
To Grant
99%
With Interview

Examiner Intelligence

Grants 86% — above average
86%
Career Allow Rate
482 granted / 562 resolved
+30.8% vs TC avg
Strong +43% interview lift
Without
With
+43.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
24 currently pending
Career history
586
Total Applications
across all art units

Statute-Specific Performance

§101
17.1%
-22.9% vs TC avg
§103
58.4%
+18.4% vs TC avg
§102
5.1%
-34.9% vs TC avg
§112
9.3%
-30.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 562 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 . DETAILED ACTION Status of Claim 1. Applicant's amendment dated 11/20/2025 responding to the Office Action 08/26/2025 provided in the rejection of claims 1-20. 2. Claims 1, 2, 10 and 18-20 have been amended. 3. Claims 1-20 are pending in the application, of which claims 1, 10 and 19 in independent form and which have been fully considered by the examiner. Response to Amendments 4. Regarding art rejection: Applicants’ amendment necessitated new grounds of rejections presented in the following art rejection. Please Fry (US Pub. No. 2021/0133202 A1 – herein after Fry). Examiner Notes 5. Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. Claim Rejections - 35 USC § 103 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. 6. Claim(s) 1-2, 4-5, 7, 10-14, 16 and 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stachura (US Pub. No. 2021/0397420 A1 – art of record --herein after Stachura) in view of Fry (US Pub. No. 2021/0133202 A1 – herein after Fry). Regarding claim 1. Stachura discloses A system (a device – See Fig. 1) comprising: one or more processors coupled with memory to (processor and memory – Fig. 1 and blocks 111 and 121): receive a selection of a ledger (user enters data into spreadsheet – See Fig. 2, step 201. Once the spreadsheet is configured as desired with the applicable data, the designer initiating the process to build the destination system using the webifier software… the webifier software may have an input form that accepts the uploading of a xlsx spreadsheet file (FIG. 68), e.g., data 129 (FIG. 1) – See paragraphs [0213-0216]. Examiner respectfully notes that spreadsheet is a as ledger) comprising a plurality of parameters for a plurality of elements of an application (Defined Name and Custom Range. The defined name allows for the user to choose from a list of Defined Name options extracted from the attached Workbook. Custom Range allows for the user to specify a range either by pressing a “Use current selection” button or manually entering in the selector. After these parameters have been specified the page can be saved – See paragraph [0236]. The user can also include an optional integer parameter that may be the index of the file under that key to be shown. If no index is specified, or the index is larger than the amount of files, the function may show the most recently uploaded file when displayed. When a file is uploaded in an insert page, the newly inserted cell may be auto-filled with the function WEBIFIERINSERTFILE. The first parameter in the formula may be the same key as the previous cell. If the previous cell key parameter was a cell reference, it may be auto incremented to refer to the cell below. The second parameter may be the new number of files so that when the cells is viewed on the website it may display the newly uploaded file – See paragraphs [0336-0338]); construct, by [[converting]] a parameter of plurality parameters from the ledger [[according to a metadata conversion protocol]] (Designer defined, autogen, and/or virtual sheets may have additional automatically generated metadata associated with elements such as tables, columns, rows, or individual data values – See paragraph [0204]. The webifier may analyze the metadata for a data source, such as a record sheet, to help with the automatic conversion to a flow layout – See paragraph [0394]), a metadata of plurality of metadata corresponding to the plurality elements (automatically generated metadata associated with elements such as tables, columns, rows, or individual data values. The metadata may comprise or consist of unique identifiers for the elements, timestamps, identifiers of associated pages, or identifiers of related other sheets. The metadata may be used to identify the trigger or purpose for the creation of the element, to cascade the modification or deletion of other elements, to serve as a primary key of the elements for other elements, pages, and/or sheets to use as a foreign key, or as a basis for further analysis or reporting of the relationships between elements and other pages and/or sheets – See paragraph [0204]); adjust, based on a validation rule applied to an element of the plurality of elements (a webifier system may include at least one user interface template that identifies one or more input validation rules associated with a particular data source, and the system may further evaluate the user input against the one or more input validation rules. Optionally, when the web data store identifies one or more input validation rules associated with the particular web page, and system may evaluate the user input against the one or more input validation rules – see paragraph [0025]), the metadata of the plurality of metadata corresponding to the element (the spreadsheet user interface provides a visual editing user interface allowing users to edit and format cells of the spreadsheet user interface, and the visual editing user interface may provide visual feedback to users based on format changes, formula changes, and format evaluation values and/or rules – See paragraphs [0035-0040]. Updating the web data store based on the changed data records (where such modification may further occur automatically, at intervals, based on user input, etc.) – See paragraphs [0016-0019]. A webifier system may, after generating the web data store, subsequently update the web data store based on one or more changes made to one or more data records in the spreadsheet – See paragraph [0022]); select, based at least on the plurality of elements, a plurality of functions for the plurality of metadata (an Edit-Record type of page being defined, with the designer choosing More options such as page options, specifying a custom Header Range, and selecting an Editable Range from a dropdown menu – See paragraph [0118]. Select a “Add Page” feature in the webifier software's admin interface (FIGS. 18, 69, and 55) and select from a variety of pages types (FIG. 51) and configuration options (FIG. 52). It is possible that cell data or metadata within the spreadsheet definition, contains indicators or instructions to create new pages, what types of pages were intended by the designer, and their various configuration options; but absent this information the designer may be prompted. A wide variety of page types are possible to create on the destination server – See paragraph [0218] and Fig. 4.); and generate, using the plurality of functions, an instance of the application comprising the plurality of elements [[based at least on the adjusted metadata]] (a webifier system may be configured to generate an interactive web application comprising at least one web page by determining one or more data sources within a (or multiple) spreadsheet, each data source having zero or more data records, wherein the data sources comprise a first portion of the spreadsheet; determining one or more user interface templates from within the spreadsheet, each user interface template comprising a data format for one or more of the data sources, wherein the user interface templates comprise a second portion of the spreadsheet; generating a web data store comprising data records from the data sources identified within the spreadsheet; generating a particular web page of the interactive web application based on one or more user interface templates corresponding to the particular web page – See paragraphs [0015-0017]). Stachura does not disclose construct, by converting a parameter of plurality parameters from the ledger according to a metadata conversion protocol… …based at least on the adjusted metadata. Fry discloses construct, by converting a parameter of plurality parameters from the ledger according to a metadata conversion protocol (metadata that comes with the other data source (which could also be related to previous ingest, storage, integrate, prepare, etc. stages already derived as metadata). At the prepare stage: Types of protocol conversions applied (e.g. JSON to XML) – See paragraphs [0045-0053]. Prepare: convert light sensor data to SI units, populate Excel spreadsheet with both sets of data, prepare data in Vendor Z's Artificial Intelligence application input format – See paragraphs [0093-0097]), a metadata of plurality of metadata corresponding to the plurality elements (relationships between the various metadata form a semi-static graph view of the metadata (where nodes are metadata/data flows and sets and edges are calculated relationships). This graphical view of metadata can then be stored (perhaps in a separate graph database) and updated periodically based on the needs of the applications that are consuming this data -- See paragraphs [0045-0065]. The compiled data digest model can be interpreted by the data digest pipeline system by mapping its elements according to the API constructs that are available. Mapping is thus a process of interpreting a compiled data digest model. Compiling a data digest model means it can be matched against the APIs and allowable modes for each data digest processing stage that may be applied – See paragraphs [0108-0111]) generate, using the plurality of functions, an instance of the application comprising the plurality of elements based at least on the adjusted metadata (The metadata derived in this manner can be used to drive metadata-consuming applications—these applications can then generate results/actions/requests that can then be fed back to change the behaviour of established DDP, FDP, SDP flows (e.g. stop or modify a flow of data) or to request the creation of another metadata pipeline to give the application more required data to meet its needs …apply its compilation rules to generate compiled executables 216 constructed for use by many data analysis systems with differing requirements… generate a further compiled executable operable to process data content from at least one such discovered physical data source device… data and metadata may be defined to the data digest system in the form of a formal language representation, such as a JSON representation. In one implementation, the resulting model of data may be augmented to provide processing directives that will render the incoming data into a suitable format (such as a parameter list form) for consumption by the compiled executable – See paragraphs [0086-0089] and [0136-0152]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Fry’s teaching into Stachura’s invention because incorporating Fry’s teaching would enhance Stachura to enable to use the metadata derived in manner to drive metadata-consuming applications and generate results/actions/requests that can then be fed back to change the behaviour of established to request the creation of another metadata pipeline to give the application more required data to meet its needs as suggested by Fry (paragraph [0086-0088]). Regarding claim 2, the system of claim 1, Stachura discloses comprising the one or more processors to: receive the ledger from a user device (the destination system 350 comprises the webifier logic 353 and memory 351, and a spreadsheet client application 354 (e.g., MS EXCEL) with a webifier Add-On 357 installed. The Add-On 357 may load its interface from the destination system 350 using http requests – See paragraphs [0081-0082]); configure the plurality of elements based at least on the plurality of parameters (the format of the additional parameters could match the syntax traditionally seen, such as in SUMIFS( ), be a SQL-style query string, could be an alternate syntax used in other commonly available software, or a syntax specific to the webifier, such as “=SUM(FILTER(@F, @C>100))” – See paragraph [0212]); and generate the plurality of metadata according to a format of a model for metadata and based at least on the configured plurality of elements (generating the presentation of the particular web page including one or more data records identified by and formatted according to the one or more user interface templates corresponding to the particular web page… at least one data format of the user interface templates comprises a font format of a corresponding data source; at least one data format of the user interface templates is based on a cell size of a corresponding data source – See paragraphs [0017-0018]). Regarding claim 4, the system of claim 1, Stachura discloses wherein the plurality of elements includes at least one of: input from a second ledger corresponding to a second application, a recommendation to a third ledger corresponding to a third application, a visual component to display via a user interface of the application (displays the page much like the report page, until the visitor begins interacting with visible elements (FIG. 88). An Edit-Record page may allow visitors to browse records (FIG. 89), edit and/or delete rows or columns – See paragraph [0231]), a hierarchical organization of portions of the application, a field for input or selection by a user, a selection for a drop down menu (if a traditional spreadsheet data validation is set for the cell, this may also affect the input elements presented, with a list validation presenting a dropdown, and numbers showing a number picker – See paragraph [0234]) and a content provided based at least on a prior user selection. Regarding claim 5, the system of claim 1, Stachura discloses comprising the one or more processors to: identify, from the ledger, an authorization feature corresponding to the element (The URL of the post request may differ from the same destination page when rendered without embedding into an email, and may trigger different user authentication whereby login is not required because an authorization token is embedded in the form and the http post – See paragraph [0372]); determine, responsive to the authorization feature, that access to the element is restricted (allow a designer to specify permissions of various granularity for visitors to be able to provide formulas during their input and edit and to specify restrictions on whether the formulas are only mathematical – See paragraph [0431]); and generate, responsive to the determination, the application having the access to the element restricted (generate the presentation of the particular webpage based on selecting data records that satisfy the one or more data restrictions – See paragraph [0024]). Regarding claim 7, the system of claim 1, comprising the one or more processors to: Fry discloses parse the plurality of elements from the ledger to generate the plurality of metadata in accordance with one of a format, a structure or an attribute of a model (data and metadata may be defined to the data digest system in the form of a formal language representation, such as a JSON representation. In one implementation, the resulting model of data may be augmented to provide processing directives that will render the incoming data into a suitable format (such as a parameter list form) for consumption by the compiled executable – See paragraphs [0088-0089]); and store the plurality of metadata in a database (graphical view of metadata can then be stored (perhaps in a separate graph database) and updated periodically based on the needs of the applications that are consuming this data - for example, by attaching another data digest pipeline on demand – See paragraph [0065]), each of the plurality of metadata corresponding to each of the plurality of elements (if a metadata view is established for each part of a system (for example, and SDP as described earlier), then other ML techniques can be applied – See paragraph [0065]); and generate the application according to the model (the metadata derived in this manner can be used to drive metadata-consuming applications--these applications can then generate results/actions/requests that can then be fed back to change the behaviour of established DDP, FDP, SDP flows (e.g. stop or modify a flow of data) or to request the creation of another metadata pipeline to give the application more required data to meet its needs – See paragraphs [0086-0087]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Fry’s teaching into Stachura’s invention because incorporating Fry’s teaching would enhance Stachura to enable to create the rule schema and manipulate by a called application.as suggested by Fry (paragraph [0153]). Regarding claim 10. Stachura discloses A computer-implemented method comprising: constructing, by one or more processors coupled with memory, metadata corresponding to an element of an application by [[converting]] a parameter from a ledger [[according to a metadata conversion protocol]] (automatically generated metadata associated with elements such as tables, columns, rows, or individual data values. The metadata may comprise or consist of unique identifiers for the elements, timestamps, identifiers of associated pages, or identifiers of related other sheets. The metadata may be used to identify the trigger or purpose for the creation of the element, to cascade the modification or deletion of other elements, to serve as a primary key of the elements for other elements, pages, and/or sheets to use as a foreign key, or as a basis for further analysis or reporting of the relationships between elements and other pages and/or sheets – See paragraph [0204]. Examiner respectfully notes that spreadsheet is as a ledger); adjusting, by the one or more processors, based on a validation rule corresponding to the element (a webifier system may include at least one user interface template that identifies one or more input validation rules associated with a particular data source, and the system may further evaluate the user input against the one or more input validation rules. Optionally, when the web data store identifies one or more input validation rules associated with the particular web page, and system may evaluate the user input against the one or more input validation rules – see paragraph [0025]), the metadata corresponding to the element (the spreadsheet user interface provides a visual editing user interface allowing users to edit and format cells of the spreadsheet user interface, and the visual editing user interface may provide visual feedback to users based on format changes, formula changes, and format evaluation values and/or rules – See paragraphs [0035-0040]. Updating the web data store based on the changed data records (where such modification may further occur automatically, at intervals, based on user input, etc.) – See paragraphs [0016-0019]. A webifier system may, after generating the web data store, subsequently update the web data store based on one or more changes made to one or more data records in the spreadsheet – See paragraph [0022]). Functionality of the data server software may refer to operations or decisions made automatically based on rules coded into the control logic, made manually by a user providing input into the system, and/or a combination of automatic processing based on user input (e.g., queries, data updates, etc.) – See paragraph [0068]); selecting, by the one or more processors based at least on the element, a function for the metadata (an Edit-Record type of page being defined, with the designer choosing More options such as page options, specifying a custom Header Range, and selecting an Editable Range from a dropdown menu – See paragraph [0118]. Select a “Add Page” feature in the webifier software's admin interface (FIGS. 18, 69, and 55) and select from a variety of pages types (FIG. 51) and configuration options (FIG. 52). It is possible that cell data or metadata within the spreadsheet definition, contains indicators or instructions to create new pages, what types of pages were intended by the designer, and their various configuration options; but absent this information the designer may be prompted. A wide variety of page types are possible to create on the destination server – See paragraph [0218] and Fig. 4.); and generating, by the one or more processors, using the function, an instance of the application comprising the element [[based at least on the adjusted metadata]] (a webifier system may be configured to generate an interactive web application comprising at least one web page by determining one or more data sources within a (or multiple) spreadsheet, each data source having zero or more data records, wherein the data sources comprise a first portion of the spreadsheet; determining one or more user interface templates from within the spreadsheet, each user interface template comprising a data format for one or more of the data sources, wherein the user interface templates comprise a second portion of the spreadsheet; generating a web data store comprising data records from the data sources identified within the spreadsheet; generating a particular web page of the interactive web application based on one or more user interface templates corresponding to the particular web page – See paragraphs [0015-0017]). Stachura does not disclose constructing, by one or more processors coupled with memory, metadata…by converting a parameter from a ledger according to a metadata conversion protocol; …based at least on the adjusted metadata. Fry discloses constructing, by one or more processors coupled with memory, metadata corresponding to an element of an application by converting a parameter from a ledger according to a metadata conversion protocol (prepare stage 112 may comprise any of a number of data preparation steps, such as unit-of-measurement conversion, language translation of natural or other languages, averaging of values, alleviation of anomalies such as communication channel noise, interpolating or recreating missing data values and the like – See paragraphs [0022-0023]. Metadata that comes with the other data source (which could also be related to previous ingest, storage, integrate, prepare, etc. stages already derived as metadata). At the prepare stage: Types of protocol conversions applied (e.g. JSON to XML) – See paragraphs [0045-0053]. Prepare: convert light sensor data to SI units, populate Excel spreadsheet with both sets of data, prepare data in Vendor Z's Artificial Intelligence application input format – See paragraphs [0093-0097]. Relationships between the various metadata form a semi-static graph view of the metadata (where nodes are metadata/data flows and sets and edges are calculated relationships). This graphical view of metadata can then be stored (perhaps in a separate graph database) and updated periodically based on the needs of the applications that are consuming this data -- See paragraphs [0045-0065]. The compiled data digest model can be interpreted by the data digest pipeline system by mapping its elements according to the API constructs that are available. Mapping is thus a process of interpreting a compiled data digest model. Compiling a data digest model means it can be matched against the APIs and allowable modes for each data digest processing stage that may be applied – See paragraphs [0108-0111]); generating, by the one or more processors, using the function, an instance of the application comprising the element based at least on the adjusted metadata (the metadata derived in this manner can be used to drive metadata-consuming applications--these applications can then generate results/actions/requests that can then be fed back to change the behaviour of established DDP, FDP, SDP flows (e.g. stop or modify a flow of data) or to request the creation of another metadata pipeline to give the application more required data to meet its needs …apply its compilation rules to generate compiled executables 216 constructed for use by many data analysis systems with differing requirements… generate a further compiled executable operable to process data content from at least one such discovered physical data source device… data and metadata may be defined to the data digest system in the form of a formal language representation, such as a JSON representation. In one implementation, the resulting model of data may be augmented to provide processing directives that will render the incoming data into a suitable format (such as a parameter list form) for consumption by the compiled executable – See paragraphs [0086-0089] and [0136-0152]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Fry’s teaching into Stachura’s invention because incorporating Fry’s teaching would enhance Stachura to enable to use the metadata derived in manner to drive metadata-consuming applications and generate results/actions/requests that can then be fed back to change the behaviour of established to request the creation of another metadata pipeline to give the application more required data to meet its needs as suggested by Fry (paragraph [0086-0088]). Regarding claim 11, the method of claim 10, comprising: Stachura discloses receiving, by the one or more processors, the ledger or an identification of the ledger from a user device (the destination system 350 comprises the webifier logic 353 and memory 351, and a spreadsheet client application 354 (e.g., MS EXCEL) with a webifier Add-On 357 installed. The Add-On 357 may load its interface from the destination system 350 using http requests – See paragraphs [0081-0082]); ; configuring, by the one or more processors, the element based at least on the parameter (the format of the additional parameters could match the syntax traditionally seen, such as in SUMIFS( ), be a SQL-style query string, could be an alternate syntax used in other commonly available software, or a syntax specific to the webifier, such as “=SUM(FILTER(@F, @C>100))” – See paragraph [0212]); and Stachura does not disclose generating, by the one or more processors, the metadata according to a format of a model for metadata and based at least on a field of the ledger. Fry discloses generating, by the one or more processors, the metadata according to a format of a model for metadata and based at least on a field of the ledger (represents the data structures and content that can be emitted by at least one physical data source—for example, an IoT sensor device, such as a weather station or a wear sensor in a mechanical object. Data structure 202 typically comprises data field names, data field lengths, data type definitions, data refresh rates, precision and frequency of measurements available – paragraph [0088]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Fry’s teaching into Stachura’s invention because incorporating Fry’s teaching would enhance Stachura to enable to transform the data using the compilable data model to a form required by an endpoint as suggested by Fry (paragraph [0107]). Regarding claim 12, the method of claim 10, Stachura discloses wherein the ledger includes a spreadsheet comprising a worksheet associated with the element (The spreadsheet may comprise a plurality of worksheets (also referred to herein as simply “sheets”) – See paragraphs [0011-0012]), the worksheet specifying the parameter to configure the element (the webifier system may obtain, based on evaluating a spreadsheet, one or more data sources within the spreadsheet each having one or more data records, wherein the data sources comprise at least a portion of a first worksheet of the spreadsheet – See paragraph [0029-0031]). Regarding claim 13, the method of claim 10, Stachura discloses wherein the element is one from a group of elements comprising (Designer defined, autogen, and/or virtual sheets may have additional automatically generated metadata associated with elements – See paragraph [0204]): input from a second ledger corresponding to a second application, a recommendation to a third ledger corresponding to a third application, a visual component to display via a user interface of the application (displays the page much like the report page, until the visitor begins interacting with visible elements (FIG. 88). An Edit-Record page may allow visitors to browse records (FIG. 89), edit and/or delete rows or columns – See paragraph [0231]), a hierarchical organization of portions of the application, a field for input or selection by a user, a selection for a drop down menu (If a traditional spreadsheet data validation is set for the cell, this may also affect the input elements presented, with a list validation presenting a dropdown, and numbers showing a number picker – See paragraph [0234]) and a content provided based at least on a prior user selection. Regarding claim 14, the method of claim 10, comprising: Stachura discloses identifying, by the one or more processors, from the ledger, an authorization feature corresponding to the element (the URL of the post request may differ from the same destination page when rendered without embedding into an email, and may trigger different user authentication whereby login is not required because an authorization token is embedded in the form and the http post – See paragraph [0372]); determining, by the one or more processors, responsive to the authorization feature, that access to the element is restricted (allow a designer to specify permissions of various granularity for visitors to be able to provide formulas during their input and edit and to specify restrictions on whether the formulas are only mathematical – See paragraph [0431]); and generating, by the one or more processors, responsive to the determination, the application with restricted access to the element (generate the presentation of the particular webpage based on selecting data records that satisfy the one or more data restrictions – See paragraph [0024]. A “complex” application refers to an application having multiple features such as data input, reports, multiple users, per-user security access settings, workflows, automatic notification systems, saving of historic information, logging of changes by all users, and/or file attachments, among others. A “custom” application may refer to software built to fit a particular business's needs, no matter how unique the requirements – See paragraph [0079]). Regarding claim 16, the method of claim 10, comprising: Fry discloses parsing, by the one or more processors, the element from the ledger to generate the metadata in accordance with one of a format, a structure, or an attribute of a model (data and metadata may be defined to the data digest system in the form of a formal language representation, such as a JSON representation. In one implementation, the resulting model of data may be augmented to provide processing directives that will render the incoming data into a suitable format (such as a parameter list form) for consumption by the compiled executable – See paragraphs [0088-0089]); and storing, by the one or more processors, the metadata in a database, the metadata corresponding to the element (graphical view of metadata can then be stored (perhaps in a separate graph database) and updated periodically based on the needs of the applications that are consuming this data - for example, by attaching another data digest pipeline on demand – See paragraph [0065]. If a metadata view is established for each part of a system (for example, and SDP as described earlier), then other ML techniques can be applied – See paragraph [0065]); and generating, by the one or more processors, the application according to the model (the metadata derived in this manner can be used to drive metadata-consuming applications—these applications can then generate results/actions/requests that can then be fed back to change the behaviour of established DDP, FDP, SDP flows (e.g. stop or modify a flow of data) or to request the creation of another metadata pipeline to give the application more required data to meet its needs – See paragraphs [0086-0087]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Fry’s teaching into Stachura’s invention because incorporating Fry’s teaching would enhance Stachura to enable to create the rule schema and manipulate by a called application.as suggested by Fry (paragraph [0153]). Regarding claim 19. Stachura discloses A non-transitory computer-readable medium storing instructions which, when executed by at least one processor, cause the at least one processor to: construct metadata corresponding to an element of a first application by [[converting]] one or more parameters specified in a first ledger [[according to a metadata conversion protocol]] (a platform tool to build software applications, aspects described herein include tools and functionality operative to automatically generate complex interactive software and/or web applications using one or more spreadsheets as the underlying blueprints for such a system. Such tools and functionality, or methods and/or systems configured with one or more tools and/or functionality described herein, may also be referred to as a webifier, webifier system, webifier software, or the like – See paragraph [0009-0013]. Automatically generated metadata associated with elements such as tables, columns, rows, or individual data values. The metadata may comprise or consist of unique identifiers for the elements, timestamps, identifiers of associated pages, or identifiers of related other sheets. The metadata may be used to identify the trigger or purpose for the creation of the element --- See paragraph [0204]); adjust, based on a validation rule corresponding to the element, the metadata corresponding to the element (webifier control logic may also be referred to herein as data server software, webifier system, webifier software, webifier plugin, or simply webifier. Functionality of the data server software may refer to operations or decisions made automatically based on rules coded into the control logic, made manually by a user providing input into the system, and/or a combination of automatic processing based on user input (e.g., queries, data updates, etc.) – See paragraph [0068]. Many spreadsheet tools will keep this attribute in place as metadata even as cells are modified or moved or copied in the spreadsheet tool, despite the spreadsheet tool having no understanding of the attribute's purpose – See paragraph [0326]); select, based at least on the element, a function for the metadata (webifier software may define a spreadsheet formula function such as “USETEMPLATE( )” that accepts a cell range reference or a template identifier for what template sheet should be used. The cell that the formula is used in may implicitly provide some information such as where to insert the nested template sheet based on the cell's location, or the width and height allocated to the nested template based on the cell's size. If the source record(s) for populating the template are not the same as the parent template, parameters could be passed in to the USETEMPLATE function that would allow the template to know what source data – See paragraph [0178]); and generate, using the function, an instance of the application comprising the element [[based at least on the adjusted metadata]] (a webifier system may be configured to generate an interactive web application comprising at least one web page by determining one or more data sources within a (or multiple) spreadsheet, each data source having zero or more data records, wherein the data sources comprise a first portion of the spreadsheet; determining one or more user interface templates from within the spreadsheet, each user interface template comprising a data format for one or more of the data sources, wherein the user interface templates comprise a second portion of the spreadsheet; generating a web data store comprising data records from the data sources identified within the spreadsheet; generating a particular web page of the interactive web application based on one or more user interface templates corresponding to the particular web page – See paragraphs [0015-0017]). Stachura does not disclose construct metadata …by converting parameter …according to a metadata conversion protocol; …based at least on the adjusted metadata. Fry discloses construct metadata corresponding to an element of a first application by converting one or more parameters specified in a first ledger according to a metadata conversion protocol (prepare stage 112 may comprise any of a number of data preparation steps, such as unit-of-measurement conversion, language translation of natural or other languages, averaging of values, alleviation of anomalies such as communication channel noise, interpolating or recreating missing data values and the like – See paragraphs [0022-0023]. Metadata that comes with the other data source (which could also be related to previous ingest, storage, integrate, prepare, etc. stages already derived as metadata). At the prepare stage: Types of protocol conversions applied (e.g. JSON to XML) – See paragraphs [0045-0053]. Prepare: convert light sensor data to SI units, populate Excel spreadsheet with both sets of data, prepare data in Vendor Z's Artificial Intelligence application input format – See paragraphs [0093-0097]. Relationships between the various metadata form a semi-static graph view of the metadata (where nodes are metadata/data flows and sets and edges are calculated relationships). This graphical view of metadata can then be stored (perhaps in a separate graph database) and updated periodically based on the needs of the applications that are consuming this data -- See paragraphs [0045-0065]. The compiled data digest model can be interpreted by the data digest pipeline system by mapping its elements according to the API constructs that are available. Mapping is thus a process of interpreting a compiled data digest model. Compiling a data digest model means it can be matched against the APIs and allowable modes for each data digest processing stage that may be applied – See paragraphs [0108-0111]); generate, using the function, an instance of the application comprising the element based at least on the adjusted metadata (the metadata derived in this manner can be used to drive metadata-consuming applications—these applications can then generate results/actions/requests that can then be fed back to change the behaviour of established DDP, FDP, SDP flows (e.g. stop or modify a flow of data) or to request the creation of another metadata pipeline to give the application more required data to meet its needs …apply its compilation rules to generate compiled executables 216 constructed for use by many data analysis systems with differing requirements… generate a further compiled executable operable to process data content from at least one such discovered physical data source device… data and metadata may be defined to the data digest system in the form of a formal language representation, such as a JSON representation. In one implementation, the resulting model of data may be augmented to provide processing directives that will render the incoming data into a suitable format (such as a parameter list form) for consumption by the compiled executable – See paragraphs [0086-0089] and [0136-0152]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Fry’s teaching into Stachura’s invention because incorporating Fry’s teaching would enhance Stachura to enable to use the metadata derived in manner to drive metadata-consuming applications and generate results/actions/requests that can then be fed back to change the behaviour of established to request the creation of another metadata pipeline to give the application more required data to meet its needs as suggested by Fry (paragraph [0086-0088]). Regarding claim 20, the non-transitory computer-readable medium of claim 19, Stachura discloses wherein the instructions, when executed by the one or more processors, cause the one or more processors to: receive the ledger or an identification of the ledger from a user device (the destination system 350 comprises the webifier logic 353 and memory 351, and a spreadsheet client application 354 (e.g., MS EXCEL) with a webifier Add-On 357 installed. The Add-On 357 may load its interface from the destination system 350 using http requests – See paragraphs [0081-0082]); configure the element based at least on the parameter (the format of the additional parameters could match the syntax traditionally seen, such as in SUMIFS( ), be a SQL-style query string, could be an alternate syntax used in other commonly available software, or a syntax specific to the webifier, such as “=SUM(FILTER(@F, @C>100))” – See paragraph [0212]); and Stachura does not disclose generate the metadata according to a format of a model for metadata and based at least on a field of the ledger. Fry discloses generate the metadata according to a format of a model for metadata and based at least on a field of the ledger (translating data from internal formats into product-specific formats for use by existing analysis tools – See paragraphs [0022-0023]. Data structure 202 typically comprises data field names, data field lengths, data type definitions, data refresh rates, precision and frequency of measurements available …Data and metadata may be defined to the data digest system in the form of a formal language representation, such as a JSON representation. In one implementation, the resulting model of data may be augmented to provide processing directives that will render the incoming data into a suitable format (such as a parameter list form) for consumption by the compiled executable) – See paragraphs [0088-0090]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Fry’s teaching into Stachura’s invention because incorporating Fry’s teaching would enhance Stachura to enable to translate data from internal formats into product-specific formats as suggested by Fry (paragraphs [0022-0023]). 7. Claim(s) 3, 6 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stachura and Fry as applied to claims 1 and 10 respectively above, and further in view of Chang et al. (US Pub. No. 2025/0094142 A1 – art of record --herein after Chang). Regarding claim 3, the system of claim 1, Stachura discloses wherein the ledger includes a spreadsheet having a plurality of worksheets (The spreadsheet may comprise a plurality of worksheets (also referred to herein as simply “sheets”) – See paragraphs [0011-0012]), Stachura does not disclose each of the worksheets corresponding to a respective element of the plurality of elements and a respective parameter selected by a user of the spreadsheet to configure the respective element. Chang discloses each of the worksheets corresponding to a respective element of the plurality of elements and a respective parameter selected by a user of the spreadsheet to configure the respective element (a value dependency based on dynamic value, consider again the spreadsheet adapter and its “Select Criteria” field 214c. Another option of the “Select Criteria” field 214c could be labeled “Is in Column” and validate the list of dates based on whether they are found in a selected column of a worksheet. If the user selects the “Is in Column” option, the user may be presented with a “Select Column” field 214e, and the user could select a column labeled “Employee Start Date” to check whether each of the dates may be found in that column. The “Select Column” field 214e therefore has a value dependency on the “Select Criteria” field 214c that is based on the value returned by executing a “getListOfColumns” flow 211a that obtains a list of columns in a worksheet from a third-party service 109. Thus, the dependency clause 216 for the “Select Column” field 214e may declare that it depends on the “Select Criteria” field 214c and include “flow: getListOfColumnsFlow” as a dependency value – See paragraphs [0044-0048]). . It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Chang’s teaching into Stachura’s and Fry’s inventions because incorporating Chang’s teaching would enhance Stachura and Fry to enable to determine worksheet field of spreadsheet field as suggested by Chang (paragraph [0039]). Regarding claim 6, the system of claim 1, Chang discloses comprising the one or more processors to: identify, from the ledger, a field corresponding to an adaptive content element to modify a second prompt to a user of the application based at least on a response of the user to a first prompt of the application preceding the second prompt (an adapter user interface 133 may present a “Select Spreadsheet” field 214a that prompts the user to select a spreadsheet (i.e., a workbook comprising multiple worksheets) into which the row will be inserted. The user's selection of a spreadsheet determines that a “Select Worksheet” field 214b becomes visible to the user in the adapter user interface 133. A user of a client device 106 may be presented with an adapter user interface 133 that includes a “Select Criteria” field 214c. The “Select Criteria” field 214c prompts a user to select a rule for validating the data in one or more cells—for instance, a list of dates (e.g., 11/14/2014, 8/19/2016, 11/29/2019, etc.). The “Select Criteria” field 214c may therefore present the user with several options corresponding to data validation rules – See paragraphs [0039-0042]); and generate the application comprising the first prompt and the second prompt and the adaptive content element (generate an updated adapter user interface 133 using the updated user interface component metadata 125, which may be rendered in the display 136 of the client device 106 by the client application 130 – See paragraph [0060-0061]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Chang’s teaching into Stachura’s and Fry’s inventions because incorporating Chang’s teaching would enhance Stachura and Fry to enable to prompt the user to select criteria field as suggested by Chang (paragraphs [0042-0044]). Regarding claim 15, the method of claim 10, comprising: Chang discloses identifying, by the one or more processors, from the ledger, a field corresponding to an adaptive content element to modify a second prompt based at least on a response to a first prompt of the application, the first prompt preceding the second prompt (an adapter user interface 133 may present a “Select Spreadsheet” field 214a that prompts the user to select a spreadsheet (i.e., a workbook comprising multiple worksheets) into which the row will be inserted. The user's selection of a spreadsheet determines that a “Select Worksheet” field 214b becomes visible to the user in the adapter user interface 133. A user of a client device 106 may be presented with an adapter user interface 133 that includes a “Select Criteria” field 214c. The “Select Criteria” field 214c prompts a user to select a rule for validating the data in one or more cells—for instance, a list of dates (e.g., 11/14/2014, 8/19/2016, 11/29/2019, etc.). The “Select Criteria” field 214c may therefore present the user with several options corresponding to data validation rules – See paragraphs [0039-0042]); and generating, by the one or more processors, the application comprising the first prompt, the second prompt, and the adaptive content element (generate an updated adapter user interface 133 using the updated user interface component metadata 125, which may be rendered in the display 136 of the client device 106 by the client application 130 – See paragraph [0060-0061]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Chang’s teaching into Stachura’s and Fry’s inventions because incorporating Chang’s teaching would enhance Stachura and Fry to enable to prompt the user to select criteria field as suggested by Chang (paragraphs [0042-0044]). 8. Claim(s) 8 and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stachura and Fry as applied to claims 1 and 10 respectively above, and further in view of Patni et al. (US Pub. No. 2020/0371755 A1 – IDS filed on 02/05/2025 -- herein after Patni). Regarding claim 8, the system of claim 1, comprising the one or more processors to: Patni discloses identify, from the ledger, a parameter for a second element of the plurality of elements indicating a language for the application (in the source code text in the Alfa domain specific language, at the site of use, a UI element is authored – See paragraphs [0129-0137]); and generate the application having content of the plurality of elements provided in the language indicated by the parameter for the second element (The generation of the user interface (UI) element variant for a target platform during generation of the application model comprises authoring the UI element in the Alfa domain specific language as <platform>(variant)=X. During generation of the application model – See paragraphs [0132-0137]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Patni’s teaching into Stachura’s and Fry’s inventions because incorporating Patni’s teaching would enhance Stachura and Fry to enable to create an instance of an application model for a specific application by setting values of descriptive attributes of the predefined canonical meta-models using multiple modes of input, for example, as a human affinity model using a domain specific language as suggested by Patni (paragraph [0059]). Regarding claim 17, the method of claim 10, comprising: Patni discloses identifying, by the one or more processors, from the ledger, a parameter for a second element of a plurality of elements indicating a language for the application (in the source code text in the Alfa domain specific language, at the site of use, a UI element is authored – See paragraphs [0129-0137]); and generating, by the one or more processors, the application having content of the plurality of elements provided in the language indicated by the parameter for the second element (The generation of the user interface (UI) element variant for a target platform during generation of the application model comprises authoring the UI element in the Alfa domain specific language as <platform>(variant)=X. During generation of the application model – See paragraphs [0132-0137]). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Patni’s teaching into Stachura’s and Fry’s inventions because incorporating Patni’s teaching would enhance Stachura and Fry to enable to create an instance of an application model for a specific application by setting values of descriptive attributes of the predefined canonical meta-models using multiple modes of input, for example, as a human affinity model using a domain specific language as suggested by Patni (paragraph [0059]). 9. Claim(s) 9 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stachura and Fry as applied to claims 1 and 10 respectively above, and further in view of Bogushefsky et al. (US Patent No. 11,720,350 B1 – art of record --herein Bogush). Regarding claim 9, the system of claim 1, comprising the one or more processors to: Bogus discloses generate, based at least on a field of the ledger corresponding to an element of the plurality of elements, an intermediary data structure (dynamically generate the user interface either directly using metadata fields or derived values based off of the fields – See col. 10, lines 5-28); convert the intermediary data structure into a metadata data structure in accordance with a format of a model (metadata orchestrator 104 may convert the information into a common metadata structure – See col. 11, lines 47-60); and generate the application using the metadata data structure (application development using a metadata orchestrator system – See col. 3, lines 24-25). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Bogush’s teaching into Stachura’s and Fry’s inventions because incorporating Bogush’s teaching would enhance Stachura and Fry to enable to convert the information into common metadata structure as suggested by Bogush (col. 11, lines 47-65 and col. 12, line 1-2). Regarding claim 18, the method of claim 10, comprising: Bogush discloses generating, by the one or more processors, based at least on a field of the ledger corresponding to an element of the plurality of elements, an intermediary data structure (dynamically generate the user interface either directly using metadata fields or derived values based off of the fields – See col. 10, lines 5-28); converting, by the one or more processors, the intermediary data structure into a metadata data structure in accordance with a format of a model (metadata orchestrator 104 may convert the information into a common metadata structure – See col. 11, lines 47-60); and generating, by the one or more processors, the application using the metadata data structure (application development using a metadata orchestrator system – See col. 3, lines 24-25). It would have been obvious to one ordinary skill in the art before the effective filing date of claimed invention to use Bogush’s teaching into Stachura’s and Fry’s inventions because incorporating Bogush’s teaching would enhance Stachura and Fry to enable to convert the information into common metadata structure as suggested by Bogush (col. 11, lines 47-65 and col. 12, line 1-2). Conclusion 10. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Blom et al. (US Pub. No. 2020/0026711 A1) discloses the networked data sources 104 include one or more sources of source data 112 such as storage devices or connections to online data streams, each of which may store data in any of a variety of storage formats (e.g., database tables, spreadsheet files, flat text files, or a native format used by a mainframe). In some implementations, the networked data sources 104 include one of each of a mainframe 104a, one or more operational databases 104b, and one or more client systems 104c. The MDW runtime system 124 receives the source data 112 and performs one or more operations on the source data to generate transformed data 114 – See paragraph [0057]. Touati et al. (US Pub. No. 2023/0393832 A1) discloses integration and deployment of software applications, including an extraction module for obtaining data and replicating it in a usable format, including business knowledge and rules from the application source code, a conversion module for translating data from a legacy system to a new format, using Universal Application Notation (UAN), a deployment module for installing, configuring, updating, and enabling applications for use, including automated deployment of newly translated applications, and an integration module for seamlessly integrating new and legacy applications with a chatbot and/or low or no-code integration tools – See paragraph [0007]. Hatcher (US Pub. No. 2023/0071263 A1) discloses a platform for creating, monitoring, updating, and executing legal agreements for data files such as a collaborate digital media file using associated metadata. The platform enables music publishing agreements to be generated automatically by taking metadata from a DAW (digital audio workstation) that reflects the activity and contributions of each author associated with a file. Authorship metadata can be recorded on a ledger or blockchain by the platform – See Abstract and specification for more details. 11. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). 12. A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MONGBAO NGUYEN whose telephone number is (571)270-7180. The examiner can normally be reached Monday-Friday 8am-5pm. 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, Hyung S. Sough can be reached at 571-272-6799. 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. /MONGBAO NGUYEN/ Examiner, Art Unit 2192
Read full office action

Prosecution Timeline

Sep 27, 2023
Application Filed
Aug 22, 2025
Non-Final Rejection — §103
Nov 17, 2025
Applicant Interview (Telephonic)
Nov 18, 2025
Examiner Interview Summary
Nov 20, 2025
Response Filed
Mar 02, 2026
Final Rejection — §103
Mar 23, 2026
Interview Requested

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596626
HIGH-SPEED DEBUG PORT TRACE CIRCUIT
2y 5m to grant Granted Apr 07, 2026
Patent 12596639
SELF-GENERATING ROBOTIC PROCESS ENVIRONMENTS
2y 5m to grant Granted Apr 07, 2026
Patent 12585442
Display Interface Layout Method and Electronic Device
2y 5m to grant Granted Mar 24, 2026
Patent 12578961
DYNAMIC REVIEW OF SOFTWARE UPDATES AFTER PULL REQUESTS
2y 5m to grant Granted Mar 17, 2026
Patent 12572344
Cloud-Phone-Based Application Installation Method, Cloud Platform, and Related Device
2y 5m to grant Granted Mar 10, 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

3-4
Expected OA Rounds
86%
Grant Probability
99%
With Interview (+43.1%)
2y 9m
Median Time to Grant
Moderate
PTA Risk
Based on 562 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

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

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month