Prosecution Insights
Last updated: July 17, 2026
Application No. 18/744,604

METHOD AND SYSTEM FOR TEMPLATE RECONCILIATION

Final Rejection §103
Filed
Jun 15, 2024
Priority
May 17, 2022 — continuation of 12/050,861
Examiner
NAZAR, AHAMED I
Art Unit
2178
Tech Center
2100 — Computer Architecture & Software
Assignee
Klaviyo Inc.
OA Round
4 (Final)
53%
Grant Probability
Moderate
5-6
OA Rounds
2y 0m
Est. Remaining
86%
With Interview

Examiner Intelligence

Grants 53% of resolved cases
53%
Career Allowance Rate
205 granted / 385 resolved
-1.8% vs TC avg
Strong +33% interview lift
Without
With
+32.7%
Interview Lift
resolved cases with interview
Typical timeline
4y 1m
Avg Prosecution
18 currently pending
Career history
413
Total Applications
across all art units

Statute-Specific Performance

§101
0.6%
-39.4% vs TC avg
§103
86.8%
+46.8% vs TC avg
§102
10.0%
-30.0% vs TC avg
§112
1.0%
-39.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 385 resolved cases

Office Action

§103
DETAILED ACTION 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 Amendment The proposed reply filed on 2/18/2026 has been entered. Claims 1 and 14 have been amended, claims 10 and 17-18 have been previously canceled, and no claims have been added. Claims 1-9, 11-16, and 19-22 are pending with claims 1 and 14 as independent claims. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claims 1-9, 11-16, 19-22 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-9, 10, 15, and 16 of U.S. Patent No. 12,050,861. Although the claims at issue are not identical, they are not patentably distinct from each other because the instant application limitation in claim 14 (in bold in the Table below), “deriving, based on the comparing, one or more simplified modifications to implement the one or more original modifications on the stored template at the template management server, wherein the one or more simplified modifications comprise fewer number of data operations than the one or more original modifications;” may be equivalent to the Patent limitation in claim 10 (in bold in the Table below), “determining one or more simplified modifications associated with the one or more components of the template, wherein the one or more simplified modifications are least operations to be applied in the relational database to synchronize the template at the template management server with the modified template from the client device;”. In other words, the limitation of the instant application, in bold in the table below, may be interpreted as rephrasing the patent limitation, in bold in the table below, in a different form by changing the phrase “least operations to be applied in the relational database to synchronize the template at the server” in the patent to “fewer number of data operations than the original modifications” in the instant application. Accordingly, rejecting the claims of the instant application on the ground of nonstatutory double patenting over the claims of U.S. Patent, mentioned above, would properly prevent the extension of the “right to exclude” since the claims, if allowed, would improperly extend the “right to exclude” already granted in the parent patent. The Table below maps limitations, in the instant application, rejected based on limitations taught by the US Patent. Instant application 18/744,604 US Patent 12,050,861 1. A computer-implemented method of template modification, the method comprising: receiving, at a template management server, a template comprising one or more components from a client device, wherein the template is stored at the template management server in a relational database, wherein the one or more components are nested, wherein the one or more components comprise nested sections, blocks, subblocks, settings, positions, [1] and wherein the one or more components are organized in a number of hierarchical levels; 1. A computer-implemented method of template modification, the method comprising: receiving, at a template management server, a template comprising one or more components from a client device, wherein the template is stored at the template management server in a relational database, 8. The computer-implemented method of claim 1, further comprising: generating corresponding nested data structures based on the template and the modified template, wherein the comparing the template with the modified template is conducted through the corresponding nested data structures. and wherein the one or more components are organized in a number of hierarchical levels; receiving, at the client device, one or more original modifications to change the template, wherein the one or more original modifications generate a modified template at the client device; receiving, at the client device, one or more original modifications to change the template, wherein the one or more original modifications generate a modified template at the client device; determining a triggering event for updating the stored template, wherein the determining the triggering event is based on whether a particular type of modification, time delay, a save request, or a combination of several factors being higher than a threshold value is detected; determining a triggering event has occurred, wherein the triggering event is caused by the one or more original modifications comprising at least one of an update, an addition, a deletion, or a move of a component in the relational database; receiving, at the template management server, the modified template from the client device, wherein the modified template reflects changes made by the one or more original modifications; receiving, at the template management server, the modified template from the client device, wherein the modified template reflects changes made by the one or more original modifications; generating nested data structures based on the stored template and the modified template; the nested data structures comprising a normalized relational representation including component settings and position information; [2] 8. The computer-implemented method of claim 1, further comprising: generating corresponding nested data structures based on the template and the modified template, wherein the comparing the template with the modified template is conducted through the corresponding nested data structures. determining a triggering event has occurred, wherein the triggering event is caused by the one or more original modifications comprising at least one of an update, an addition, a deletion, or a move of a component in the relational database; comparing respective components of the stored template and the modified template… and wherein the comparing is conducted at each hierarchical level of the number of hierarchical levels of the stored template at the template management server and the modified template from the client device; wherein the comparing of the stored template with the modified template is conducted through the corresponding nested data structures comparing respective components, at each hierarchical level of the number of hierarchical levels, of the stored template at the template management server and the modified template from the client device; wherein the comparing the template with the modified template is conducted through the corresponding nested data structures. Deriving, based on the comparing, one or more simplified modifications corresponding to the triggering event to implement the one or more original modifications on the stored template at the template management server, wherein the deriving comprises enumerating simplest or a least number of database operations to update the stored template, wherein the least number of database operations reduce frequent or redundant operations during modifications, and [3] wherein the one or more simplified modifications comprise simplified or a fewer number of data operations than the one or more original modifications; generating one or more simplified modifications to implement the one or more original modifications on the stored template at the template management server, wherein the one or more simplified modifications are least operations to be applied in the relational database to implement the changes made by the one or more original modification, and wherein the one or more simplified modifications comprise less number of data operations than the one or more original modifications; synchronizing, at the template management server, the stored template in the relational database by applying the one or more simplified modifications to the one or more components of the stored template. synchronizing, at the template management server, the template in the relational database by applying the one or more simplified modifications to the one or more components of the template. wherein the synchronizing is withheld until the triggering event is detected. [4] Claim 1 determining a triggering event has occurred… generating one or more simplified modifications to implement the one or more original modifications… and synchronizing, at the template management server, the template in the relational database by applying the one or more simplified modifications to the one or more components of the template. [1] “the one or more components comprise nested sections, blocks, subblocks, settings, positions” may be interpreted as nested data structures based on the template. [2] “the nested data structure including component settings and position information” may be interpreted as an component update, which may indicate component settings and component move in hierarchical level may indicate component position. [3] The “least number of database operations to update the stored template” may indicate “the one or more simplified modifications are least operations to be applied in the relational database” [4]The synchronization step is implemented (applied) after the triggering event has occurred (detected) and the generation of the one or more simplified modifications. 2. The computer-implemented method of claim 1, wherein the one or more simplified modifications are the least operations to be applied in the relational database to implement the changes made by the one or more original modifications. From claim 1: wherein the one or more simplified modifications are least operations to be applied in the relational database to implement the changes made by the one or more original modification; 3. The computer-implemented method of claim 1, wherein the one or more original modifications comprise at least one of an update, an addition, a deletion, or a move of a component in the relational database. From claim 1: wherein the triggering event is caused by the one or more original modifications comprising at least one of an update, an addition, a deletion, or a move of a component in the relational database; 4. The computer-implemented method of claim 1, wherein the one or more components comprise first-level components, second-level components, and third-level components in the number of hierarchical levels. 2. The computer-implemented method of claim 1, wherein the one or more components comprise first-level components, second-level components, and third-level components in the number of hierarchical levels. 5. The computer-implemented method of claim 1, wherein synchronizing the template further comprises: generating operations to be applied in the relational database to update the one or more components of the template with the one or more simplified modifications. 3. The computer-implemented method of claim 1, wherein synchronizing the template further comprises: generating operations to be applied in the relational database to update the one or more components of the template with the one or more simplified modifications. 6. The computer-implemented method of claim 1, further comprising: generating a modification list comprising operations to be applied in the relational database to implement the one or more simplified modifications; and wherein the synchronizing comprises synchronizing , in the relational database, the stored template with the modified template by applying the modification list to the template. 4. The computer-implemented method of claim 1, further comprising: generating a modification list comprising operations to be applied in the relational database to implement the one or more simplified modifications; and synchronizing, in the relational database, the template with the modified template by applying the modification list to the template. 7. The computer-implemented method of claim 1, wherein the triggering event comprises an explicit save request received by the template management server. 5. The computer-implemented method of claim 1, wherein the triggering event comprises a save request received by the template management server. 8. The computer-implemented method of claim 1, wherein the triggering event comprises a predetermined period of time. 6. The computer-implemented method of claim 1, wherein the triggering event comprises a predetermined period of time. 9. The computer-implemented method of claim 1, wherein the triggering event comprises a major modification of the template. 7. The computer-implemented method of claim 1, wherein the triggering event comprises a major modification of the template. 11. The computer-implemented method of claim 1, wherein the one or more simplified modifications comprise at least one of an update, an addition, a deletion, or a move of a component in the relational database. 9. The computer-implemented method of claim 1, wherein the one or more simplified modifications comprise at least one of an update, an addition, a deletion, or a move of a component in the relational database. 12. The computer-implemented method of claim 1, wherein the one or more original modifications comprise a deletion operation of one component at a first hierarchical level of the relational database and an addition operation of the same component at a second hierarchical level of the relational database. 15. The computer-implemented method of claim 1, wherein the one or more original modifications comprise a deletion operation of one component at a first hierarchical level of the relational database and an addition operation of the same component at a second hierarchical level of the relational database. 13. The computer-implemented method of claim 12, wherein the one or more simplified modifications comprise moving the same component from the first hierarchical level to the second hierarchical level of the relational database. 16. The computer-implemented method of claim 15, wherein the one or more simplified modifications comprise moving the same component from the first hierarchical level to the second hierarchical level of the relational database. Instant application US Patent 14. A computer-implemented method of template modification, the method comprising: receiving, at a template management server, a template comprising one or more components from a client device, wherein the template is stored at the template management server in a relational database, and wherein the one or more components are organized in a number of hierarchical levels; 10. A computer-implemented method of template modification, the method comprising: receiving, at a template management server, a template comprising one or more components from a client device, wherein the template is stored at the template management server in a relational database, and wherein the one or more components are organized in a number of hierarchical levels; receiving, at the client device, one or more original modifications to change the stored template, wherein the one or more original modifications generate a modified template at the client device; receiving, at the client device, one or more original modifications to change the template, wherein the one or more original modifications generate a modified template at the client device; determining a triggering event for updating the stored template, wherein the triggering event is determined based on whether a particular type of modification, time delay, a save request, or combination of several factors being higher than a threshold value is detected; determining a triggering event for updating the template, wherein the triggering event is caused by the one or more original modifications comprising at least one of an update, an addition, a deletion, or a move of a component in the relational database; generating nested data structures based on the template and the modified template; 12. The computer-implemented method of claim 11, further comprising: generating corresponding nested data structures based on the template and the modified template, wherein the comparing the template with the modified template is conducted through the corresponding nested data structures. comparing respective components, at each hierarchical level of the number of hierarchical levels, of the stored template at the template management server and the modified template from the client device; wherein the comparing of the template with the modified template is conducted through the corresponding nested data structures, comparing respective components, at each hierarchical level of the number of hierarchical levels, of the stored template at the template management server and the modified template from the client device; wherein the comparing the template with the modified template is conducted through the corresponding nested data structures. deriving, based on the comparing, one or more simplified modifications to implement the one or more original modifications on the stored template at the template management server, wherein the one or more simplified modifications comprise fewer number of data operations than the one or more original modifications; determining one or more simplified modifications associated with the one or more components of the template, wherein the one or more simplified modifications are least operations to be applied in the relational database to synchronize the template at the template management server with the modified template from the client device; upon detection of the triggering event, then synchronizing, at the template management server, the template by applying the one or more simplified modifications to the one or more components of the stored template; synchronizing, at the template management server, the template by applying the one or more simplified modifications to the one or more components of the template in the relational database. wherein the stored template is received from a first client device, and the modified template is received from a second client device that is different from the first client device. Claim 11… wherein the template is received from a first client device, and the modified template is received from another client device that is different from the client device. 15. The computer-implemented method of claim 14, wherein the one or more simplified modifications are the least operations to be applied in the relational database to implement the changes made by the one or more original modifications. From claim 1: wherein the one or more simplified modifications are least operations to be applied in the relational database to implement the changes made by the one or more original modification; 16. The computer-implemented method of claim 14, wherein the one or more original modifications comprise at least one of an update, an addition, a deletion, or a move of a component in the relational database. From claim 1: wherein the triggering event is caused by the one or more original modifications comprising at least one of an update, an addition, a deletion, or a move of a component in the relational database; 19. The computer-implemented method of claim 14, wherein the one or more components comprise first-level components, second-level components, and third-level components in the number of hierarchical levels. 2. The computer-implemented method of claim 1, wherein the one or more components comprise first-level components, second-level components, and third-level components in the number of hierarchical levels. 20-22. The computer-implemented method of claim 14, wherein the triggering event is at least one of a save request from a client device, a predetermined period of time or a major modification of the template. 5. The computer-implemented method of claim 1, wherein the triggering event comprises a save request received by the template management server. 6. The computer-implemented method of claim 1, wherein the triggering event comprises a predetermined period of time. 7. The computer-implemented method of claim 1, wherein the triggering event comprises a major modification of the template. 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. Claims 1-9 and 11-13 are rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al. (US 2010/0088676, published 4/8/2010, hereinafter Yuan) in view of Kasetty et al. (US 2019/0155791, published 5/23/2019, hereinafter as KASETTY) in view of Lindholm (A Three-way Merge for XML Documents, published October 2004 by ACM). Claim 1. A computer-implemented method of template modification, the method comprising: receiving, at a template management server, a template comprising one or more components from a client device, wherein the management server in a relational database, wherein the one or more components are nested, wherein the one or more components comprise nested sections, blocks, subblocks, settings, positions, and wherein the one or more components are organized in a number hierarchical levels; Yuan discloses in [0024-0025] “comparison and merging system 100 is implemented to perform a three-way comparison and merge of XML documents both syntactically and semantically… the term "data store" refers to any suitable memory device that may be used for storing data, including manual files, machine-readable files, and databases. A data store may be organized in various ways, including as a relational, hierarchical, or object-oriented data store… Comparison module 110 is configured to accept a base XML document 130, a customized base XML document 132, and an updated XML document 134 as input.” And in [0026 and 0048] “A tree data structure, which is an acyclic and connected graph having a set of linked nodes, is commonly used for representing XML documents, which utilize a tree-based semantical structure that has exactly one root element… the tree-structured memory model representations of the documents can each include a number of ordered and/or unordered nodes. Each node in a tree has zero or more child nodes, which are below it in the tree (by convention, trees grow down, not up as they do in nature). A node that has a child is called the child's parent node (or ancestor node, or superior). The topmost node in a tree is called the root node… FIG. 4a provides a base XML document 400, FIG. 4b provides a customized version 410 of the base XML document, and FIG. 4c provides an updated version 420 of the base XML document.” (emphasis added) EXAMINER NOTE: the comparison and merge system 100 may be the template management server. Computing environment system 101 may represent client/server computing environment. The system may be configured to receive, as an input, base XML document 130, wherein the base XML document comprises one or more elements/nodes or components, wherein the base XML document input may be received from an end-user (not professional developer). Fig. 4a shows nested components of a base XML document. receiving, at the client device, one or more modification to change the stored template, wherein the one or more modification generate a modified template at the client device; Yuan discloses in [0048-0049] “FIG. 4a provides a base XML document 400, FIG. 4b provides a customized version 410 of the base XML document, and FIG. 4c provides an updated version 420 of the base XML document… customized version 410 is a modified version of base document 400 that includes an inserted warranty term element 412 and an inserted display class definition element 414, and updated version 420 is a version of base document 400 that has been updated to include an inserted new feature element 426 that provides the ability to categorize products.” (emphasis added) EXAMINER NOTE: one of end-users may make changes to a version 410 of the base XML document as shown in fig. 4b, and a second end-user may make changes to a second version 420 as shown in fig. 4c, wherein the modifications made to the two versions 410 and 420 is to change the base XML document to generate a modified base XML document as shown in fig. 4d, determining a triggering event for updating the template, wherein the determining the triggering event is based on whether a particular type of modification, time delay, a save request, or combination of several factors being higher than a threshold value is detected; Yuan discloses in [0046] “Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134. In exemplary embodiments, merging module 122 can be configured to utilize the correspondence information maintained in comparison result information 136 in memory model 140 for the modifications made to the base document to produce the customized base document and the updates made to the base document to produce the updated document to resolve these conflicts.” (emphasis added) EXAMINER NOTE: the particular type of event such as modification conflict may be detected when it occurs, wherein the occurrence of modification conflict may be detected as a higher than threshold. receiving, at the template management server, the modified template from the client device, wherein the modified template reflects changes made by the one or more original modifications; Yuan discloses in [0025] “Comparison module 110 is configured to accept a base XML document 130, a customized base XML document 132, and an updated XML document 134 as input. Base document 132 is a common ancestor of customized base document 132 and updated document 134. Customized base document 132 is a version of base document 130 that includes customized modifications to the XML elements of the base document. Updated document 134 is an updated version of base document 130 that contains updates to the XML elements of the base document.” (emphasis added) EXAMINER NOTE: the customized base XML document 132 and/or the updated XML document 34 may be received by the comparison and merging system 100 as shown in figs. 1 and 4a-d, generating nested data structures based on the stored template and the modified template; Yuan discloses in [0006] “deserializing the first, second, and third versions of the document to generate a first data model, a second data model, and a third data model respectively representing the first, second, and third versions in a first data store, each data model comprising a tree data structure that includes a corresponding node for each element of the plurality of elements contained within the version of the document represented by the data model, each node of each data model containing a context describing the element corresponding to the node;”. And in [0019] to generate the customized updated document for output by deserializing each of the three input documents according to a generic memory model to generate a hierarchical, tree-structured representation of each input document,”. And in [0024] “the term "data store" refers to any suitable memory device that may be used for storing data, including manual files, machine-readable files, and databases. A data store may be organized in various ways, including as a relational, hierarchical, or object-oriented data store.” (emphasis added) examiner note: generating first data model for a base document 400, second data model for customized version 410, and a third data model for updated version 420, wherein the utilized database may be relational, hierarchical, or object-oriented database, the nested data structures comprising a normalized relational representation including component settings and position information; Yuan discloses in [0024] “the term "data store" refers to any suitable memory device that may be used for storing data, including manual files, machine-readable files, and databases. A data store may be organized in various ways, including as a relational, hierarchical, or object-oriented data store.” And in [0027-0032] “The memory model representations generated by deserializer 112 operate to automatically create a mapping relationship between the elements of the input XML documents that is sufficiently flexible to satisfy the requirements of the syntactical and semantical comparison performed by comparator 116… each XML element of a represented document corresponds to a tree node in the representation. Each such tree node has a context that contains: (a) the attributes of the corresponding XML element; (b) all descendent XML elements (and their respective attributes) of the corresponding element; and (c) a unique identifier for the node. By this definition, it can be seen that node contexts are hierarchical. The children of a node are the elements contained in the element corresponding to the node.” And in [0035, 0041, and 0046] “Comparator 1 16 can perform these comparisons to update memory model 140 to include information regarding the following differences identified by comparing each pair of the three input documents: (1) elements that exist in one document but not the other (that is, elements that have been deleted or added); (2) counterpart elements having children elements that are in differing orders in the two documents (when the semantic constraints for the documents specify that order matters for these elements); (3) counterpart elements having attributes that have the same values in the two documents; (4) counterpart elements having different values for attributes that are not part of the unique identifiers for the nodes corresponding to the elements; and (5) counterpart elements having different numbers of attributes that are not part of the unique identifiers for the nodes corresponding to the elements (that is, attributes that have been added or deleted). Because additional rules can be added to the pluggable repository of comparison rules, a user can easily specify that more information should be included in memory model 140 regarding the differences between each pair of the three input documents… the correct output of the merge operation will depend on the semantic constraints of the data (for example, whether elements are specified as ordered or unordered). These semantic constraints should be considered during the merge operation where, for example, sibling or parent elements have been deleted or moved… Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134.” (emphasis added) EXAMINER NOTE: the nested data structures may include element attributes (settings or element property change such font style or color) and the XML elements may be represented by hierarchal tree nodes (position information) after delete and/or move operations as indicated in fig. 3, comparing respective components of the template and the modified template, wherein the comparing of the template with the modified template is conducted through the corresponding nested components in the nested data structures, and wherein the comparing is conducted at each hierarchical level of the number of hierarchical levels of the stored template at the template management server and the modified template from the client device; Yuan teaches in [0018] “, element monitor 110 is implemented to generate a memory model representation of each version in generic memory model 112, to compare the two memory model representations of the three input document to identify the differences therebetween, and to update the memory model to include information regarding the identified differences between the two documents. More particularly, element monitor 110 is implemented with a version compare module 114 that is configured to access data store 112 to perform a comparison between first version 102 and second version 104 to identify parent code elements that are present in the first version and for which there is not a complementary element in the second version.” And in [0038] “Compare module 114 employs a pluggable repository of comparison rules for performing the comparison between the memory model representations of the documents to determine the differences therebetween. To identify the "same" node in two different memory model representations, the comparison rules are configured to be applied to link counterpart nodes (that is, nodes having the same unique identifier in the two representations being compared) in the two representations of the versions of the software documents being compared and to generate information about the differences between the elements corresponding to the counterpart nodes in the two versions during the comparison.” (emphasis added) examiner note: the compare module 114 is configured to compare the first version 102, base model, and the second version 104, modified version, wherein the comparison may be implemented based on the parent node hierarchical levels. Yuan does not explicitly disclose deriving, based on the comparing, one or more simplified modifications corresponding to the triggering event to implement the one or more modification on the stored template at the template management server, wherein the deriving comprises: enumerating simplest or a least number of database operations to update the stored template, wherein the least number of database operations reduce frequent or redundant operations during modifications, and [wherein the one or more simplified modifications comprise simplified or fewer number of data operations than the one or more original modifications; synchronizing, at the template management server, the stored template and the modified template by applying the one or more simplified modifications to the one respective components of the stored template]. However, Lindholm, in an analogous art, teaches in [pages 1 and 4-5] “a set of merge rules derived from use cases on XML merging, a compact and versatile XML merge in accordance with these rules… The study cases were devised so as to explore different con figurations that one may come across when merging XML. They aim to answer such questions as: What is a reasonable course of action when a node was moved in T1 and updated in T2? What if a node was moved in T1 and deleted in T2?... A technical manual is concurrently edited (text corrections, paragraph moves and deletes) and reformatted (style definitions changed, and styles applied to various parts of the text)… In the study cases, we used various combinations of node update, insert, delete, move, and copy operations to form the modified trees from T0. For each case, a hand-crafted merged file was constructed to demonstrate a reasonable answer to the merging problem posed by the input files. A total of 37 of these cases were devised, one of which is illustrated in figure 3… The elaborate cases all originate in a common scenario (or user “story”). We will describe each case briefly here, in order to give the reader an impression of the grounds from which our merge rules are derived… During subsequent analysis of the use cases we identified the following general rules for the merge: In order to reconcile changes originating in different trees, we need to have a notion of “sameness” between tree nodes.” (emphasis added) EXAMINER NOTE: the derived one or simplified modifications may be merge rules. For example, fig. 3 illustrates sample merge case such that the base XML document tree (T0) may detect changes to a particular node in T0 by at least two XML document trees (T1 and T2), wherein the two XML document trees (T1 and T2) may be copies of the base T0. The changes (modifications) may be based on position such that a move operation to a node (paragraph) from second position to a third position may be implemented in T1, whereas a node in the fourth position may be moved to the third position (same position) in T2. It is clear that at least two edit operations may be received at T0. It is clear that there is a position conflict because only one node can be placed in the third position in T0. The changes may be based on settings such that at T1, a particular node may be changed to have font style such as red color, for example, whereas the same node may set to have a blue font color in T2. It is clear there is settings conflict. The merge rules provided in pages 4-5 provide particular number of edit operations in T1 and T2 that may be performed on T0 in order to provide Tm as shown in fig. 3. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Lindholm because “we investigate a number of use cases on XML merging (collaborative editing, propagating changes across document variants), from which we derive a set of high-level merge rules. Our merge is based on these rules… a set of merge rules derived from use cases on XML merging, a compact and versatile XML merge in accordance with these rules, and a classification of conflicts in the context of that merge.” Lindholm [Abstract]. Yuan does not explicitly disclose wherein the one or more simplified modifications comprise simplified or fewer number of data operations than the one or more original modifications; synchronizing, at the template management server, the stored template and the modified template by applying the one or more simplified modifications to the one respective components of the stored template. However, Kasetty, in an analogous art, discloses in [0004] “A server enforces a policy for determining what received text change to process. For example, the server may execute a policy that processes the first received change to the text. The non-selected pending changes are not processed by the server. Instead, after the selected change is processed and is incorporated into the current version of the text, the server sends an update notification to each of the clients indicating the changes made to the current version of text. When a client that has a pending change to the server that was not processed receives the updated text from the server, the client performs a conflict resolution procedure to update the text change before re-submitting the text change. The conflict resolution procedure detects the differences between the updated text version and its text change, merges the text versions to minimize data loss, and sends the updated version of the text change back to the server to update the current version of the text.” And in [0020] “The server may also execute a simple selection policy, such as the first person wins policy, to determine what text edit to process. When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests). Instead, the server can process the first text change request it receives and ignore the other text changes. On the clients, the conflict algorithm may be employed only when conflicts are detected. Further, acknowledgements are not needed for changes from either the server or the clients, resulting in reduced network traffic.” And in [0025] “the selected policy is the first person wins policy that selects the first received text change to process and ignores any of the other text changes that are received before the master text can be updated. Other policies may also be used. For example, a policy may state that when two or more text edits are received within a predefined period of time, the client having a higher priority is processed first. A policy may also set a preference for a type of change made to the text. For example, the policy may prioritize based on where the change is made.” (emphasis added) examiner note: when modification conflict is detected based on one client, for example, may perform delete operation on an element/node or component in one version of the base document and a second client may perform move operation on the same element/node or component, the server may implement a simple selection policy such that the server may perform delete operation and ignore the other modification operations. Accordingly, fewer number of data operations may be performed on the base XML document than the number of modification operations received from the two modified versions of the base XML document. Utilizing the first person wins policy would sync or merge the first received change with the base XML document in the data store (relational database as indicated in [0024]. Therefore, the policy of the first edit wins may be added as a merge rule to modify Yuan merge rules in order reduce the number of operations to be implemented on the base XML document at the server. The server sends an update notification to each of the clients indicating the changes made to the current version of text may indicate the server updates its version of the based document and accordingly updates client versions. wherein the synchronizing is withheld until the triggering event is detected. Further, Kasetty discloses in [0025] “the selected policy is the first person wins policy that selects the first received text change to process and ignores any of the other text changes that are received before the master text can be updated. Other policies may also be used. For example, a policy may state that when two or more text edits are received within a predefined period of time, the client having a higher priority is processed first. A policy may also set a preference for a type of change made to the text. For example, the policy may prioritize based on where the change is made.” (emphasis added) examiner note: synchronizing is withheld may indicate that two or more edits may be received within a predefined of time such as every ten minutes. Then the server determine whether there is any conflict in the received two or more edits before synchronizing (updating) the base XML document. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claim 2. The rejection of the computer-implemented method of claim 1 is incorporated, Yuan does not explicitly disclose wherein the one or more simplified modifications are least operations to be applied in the relational database to implement the changes made by the one or more original modification. However, Kasetty, in an analogous art, discloses in [0020] “any client that has pending changes utilize text manager 26 to modify and re-submit text changes. The resource consumption and processing overhead on the server is also reduced since conflict resolution does not need to be performed on the server. The server may also execute a simple selection policy, such as the first person wins policy, to determine what text edit to process. When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests). Instead, the server can process the first text change request it receives and ignore the other text changes. On the clients, the conflict algorithm may be employed only when conflicts are detected. Further, acknowledgements are not needed for changes from either the server or the clients, resulting in reduced network traffic.” (emphasis added) EXAMINER NOTE: processing the first text change and ignoring other text changes may indicate simplified modifications to be applied to the base XML document 400 of Yuan. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claims 3 and 11. The rejection of the computer-implemented method of claim 1 is incorporated, wherein the one or more simplified modifications comprise at least one of an update, an addition, a deletion, or a move of a component in the relational database; Yuan discloses in [0044] “if the modifications identified at block 320 indicate that the counterpart element in base document 130 to the element corresponding to the target node has been deleted in customized base document 132, the target node is deleted from the working representation.” And in [0046] “The result of the merge operation performed by merging module 122 is customized updated representation 138a in memory model 140. Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134.” (emphasis added). Claim 4. The rejection of the method of claim 1 is incorporated, wherein the one or more components comprise first level components, second-level components, and third-level components in the number of hierarchical levels; Yuan in [0026] “The topmost node in a tree is called the root node. Being the topmost node, the root node will not have parents. As shown in FIG. 1, deserializer 112 operates to deserialize base document 130, customized base document 132, and updated document 134 into base data model representation 130a, customized base data model representation 132b, and updated data model representation 134b respectively.” And in [0039 and claim 1] “If it is determined at block 230 that the unique identifier for the node corresponding to the first element is the same as the unique identifiers for a nodes corresponding to a sibling element of the second element, process 200 proceeds to block 240 and performs the comparisons described above at blocks 240-260 between the first element and the matching sibling element of the second element… comparing the identifier for each node in the first data model with the identifier for each node in the second data model to identify each node in the first data model not having matching identifiers with any node in the second data model in the first data store and to link each pair of nodes in the first and second data models that have matching identifiers” (emphasis added) EXAMINER NOTE: the base XML document may comprises hierarchical levels of root node, child node and sibling nodes. Claim 5. The rejection of the computer-implemented method of claim 1 is incorporated, wherein synchronizing the template further comprises: generating operations to be applied in the relational database to update the one or more components of the template [with the one or more simplified modifications]; Yuan teaches in [0049] “Exemplary comparison and merge system 100 is configured to process the three documents depicted in FIGS. 4a-4c to generate a merged version 430 that includes the modifications made to base document 400 in customized version 410 (as indicated by reference numbers 432 and 434) and the updates made to base document 400 updated version 420, as shown in FIG. 4d (as indicated by reference number 436).” (emphasis added) examiner note: the base XML document 400 may be synchronized with updates from modified copy of the based XML documents 410 and 420 in relational database (indicated in [0024]) as shown in fig. 4d. Yuan does not explicitly disclose one or more simplified modifications. However, Kasetty, in an analogous art, discloses in [0020] “The server may also execute a simple selection policy, such as the first person wins policy, to determine what text edit to process. When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests). Instead, the server can process the first text change request it receives and ignore the other text changes. On the clients, the conflict algorithm may be employed only when conflicts are detected. Further, acknowledgements are not needed for changes from either the server or the clients, resulting in reduced network traffic.” (emphasis added) EXAMINER NOTE: by using the simple selection policy, the server may select subset of the text changes to incorporate with the base XML document and ignore other text changes, thereby, the server implement simplified modifications. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claim 6. The rejection of the computer-implemented method of claim 1 is incorporated, further comprising: Yuan does not explicitly disclose generating a modification list comprising operations to be applied in the relational database to implement the one or more simplified modifications; and synchronizing , in the relational database, the template with the modified template by applying the modification list to the template. However, Kasetty, in an analogous art, discloses in [0020] “The server may also execute a simple selection policy, such as the first person wins policy, to determine what text edit to process. When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests). Instead, the server can process the first text change request it receives and ignore the other text changes. On the clients, the conflict algorithm may be employed only when conflicts are detected. Further, acknowledgements are not needed for changes from either the server or the clients, resulting in reduced network traffic.” (emphasis added) EXAMINER NOTE: by using the simple selection policy, the server may select subset of the text changes to incorporate with the base XML document and ignore other text changes, thereby, the server implement simplified modifications. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claim 7. The rejection of the computer-implemented method of claim 1 is incorporated, Yuan does not explicitly disclose wherein the triggering event comprises a save request received by the template management server; Kasetty discloses in [0020] “The server may also execute a simple selection policy, such as the first person wins policy, to determine what text edit to process. When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests). Instead, the server can process the first text change request it receives and ignore the other text changes. On the clients, the conflict algorithm may be employed only when conflicts are detected.” (emphasis added) EXAMINER NOTE: the triggering event may be text change request to modify the base tree-structured document taught by Yuan. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claims 8 and 9. The rejection of the computer-implemented method of claim 1 is incorporated, Yuan does not explicitly disclose wherein the triggering event comprises at least one of a save request from a client device, a predetermined period of time or a major modification of the template. However, KASETTY teaches in [0018] “server 220 may select the change based on a priority associated with a client, a change that results in the most substantive change to the master version of text 225, the least substantive change to the text, and the like.” And in [0025] “the selected policy is the first person wins policy that selects the first received text change to process and ignores any of the other text changes that are received before the master text can be updated. Other policies may also be used. For example, a policy may state that when two or more text edits are received within a predefined period of time, the client having a higher priority is processed first. A policy may also set a preference for a type of change made to the text. For example, the policy may prioritize based on where the change is made.” (emphasis added) EXAMINER NOTE: updating the base XML document may be triggered when two or more text edits received within “a predetermined period of time” or based on a change that result in the most substantive change to the master version of text. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claims 12 and 13. The rejection of the computer-implemented method of claim 1 is incorporated, wherein the one or more original modifications comprise a deletion operation of one component at a first hierarchical level of the relational database and an addition operation of the same component at a second hierarchical level of the relational database; wherein the one or more simplified modifications comprise moving the same component from the first hierarchical level to the second hierarchical level of the relational database. Yuan discloses in [0017] “the term "data element" refers to an atomic unit of data that includes an identification such as a data element name, a data element definition, and one or more representation terms.” And in [0041] “the correct output of the merge operation will depend on the semantic constraints of the data (for example, whether elements are specified as ordered or unordered). These semantic constraints should be considered during the merge operation where… sibling or parent elements have been deleted or moved.” And in [0046] “The result of the merge operation performed by merging module 122 is customized updated representation 138a in memory model 140. Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134.” (emphasis added) examiner note: the original modification may occur when one end-user delete element A (child node) in the first tree-structured copy of the base document and a second end-user may add the same element in his/her second tree-structured copy the base document. Here, a clear that this may be a move operation “sibling or parent elements have been deleted or moved” during merge operation, wherein the move operation may be a simplified operation. Claims 14-16 and 19-22 are rejected under 35 U.S.C. 103 as being unpatentable over Yuan et al. (US 2010/0088676, published 4/8/2010, hereinafter Yuan) in view of Kasetty et al. (US 2019/0155791, published 5/23/2019, hereinafter as KASETTY). Claim 14. A computer-implemented method of template modification, the method comprising: receiving, at a template management server, a template comprising one or more components from a client device, wherein the management server in a relational database via normalized and related data tables, and wherein the one or more components are organized in a number hierarchical levels; Yuan discloses in [0024-0025] “comparison and merging system 100 is implemented to perform a three-way comparison and merge of XML documents both syntactically and semantically… the term "data store" refers to any suitable memory device that may be used for storing data, including manual files, machine-readable files, and databases. A data store may be organized in various ways, including as a relational, hierarchical, or object-oriented data store… Comparison module 110 is configured to accept a base XML document 130, a customized base XML document 132, and an updated XML document 134 as input.” And in [0035, 0041, and 0046] “Comparator 1 16 can perform these comparisons to update memory model 140 to include information regarding the following differences identified by comparing each pair of the three input documents: (1) elements that exist in one document but not the other (that is, elements that have been deleted or added); (2) counterpart elements having children elements that are in differing orders in the two documents (when the semantic constraints for the documents specify that order matters for these elements); (3) counterpart elements having attributes that have the same values in the two documents; (4) counterpart elements having different values for attributes that are not part of the unique identifiers for the nodes corresponding to the elements; and (5) counterpart elements having different numbers of attributes that are not part of the unique identifiers for the nodes corresponding to the elements (that is, attributes that have been added or deleted). Because additional rules can be added to the pluggable repository of comparison rules, a user can easily specify that more information should be included in memory model 140 regarding the differences between each pair of the three input documents… the correct output of the merge operation will depend on the semantic constraints of the data (for example, whether elements are specified as ordered or unordered). These semantic constraints should be considered during the merge operation where, for example, sibling or parent elements have been deleted or moved… Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134.” (emphasis added) EXAMINER NOTE: the comparison and merge system 100 may be the template management server. computing environment system 101 may represent client/server computing environment. The system may be configured to receive, as an input, base XML document 130, wherein the base XML document comprises one or more elements/nodes or components, wherein the base XML document input may be received from an end-user (not professional developer). The nested data structures may include element attributes (settings or element property change such font style or color) and the XML elements may be represented by hierarchal tree nodes (position information) after delete and/or move operations as indicated in fig. 3, receiving, at the client device, one or more modification to change the stored template, wherein the one or more modification generate a modified template at the client device; Yuan discloses in [0048-0049] “FIG. 4a provides a base XML document 400, FIG. 4b provides a customized version 410 of the base XML document, and FIG. 4c provides an updated version 420 of the base XML document… customized version 410 is a modified version of base document 400 that includes an inserted warranty term element 412 and an inserted display class definition element 414, and updated version 420 is a version of base document 400 that has been updated to include an inserted new feature element 426 that provides the ability to categorize products.” (emphasis added) EXAMINER NOTE: one of end-users may make changes to a version 410 of the base XML document as shown in fig. 4b, and a second end-user may make changes to a second version 420 as shown in fig. 4c, wherein the modifications made to the two versions 410 and 420 is to change the base XML document to generate a modified base XML document as shown in fig. 4d, determining a triggering event for updating the template, wherein the determining the triggering event is based on whether a particular type of modification, time delay, a save request, or combination of several factors being higher than a threshold value is detected; Yuan discloses in [0046] “Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134. In exemplary embodiments, merging module 122 can be configured to utilize the correspondence information maintained in comparison result information 136 in memory model 140 for the modifications made to the base document to produce the customized base document and the updates made to the base document to produce the updated document to resolve these conflicts.” (emphasis added) EXAMINER NOTE: the particular type of event such as modification conflict may be detected when it occurs, wherein the occurrence of modification conflict may be detected as a higher than threshold such that two or more modifications may not be implemented at the same time (concurrent editing). generating nested data structures based on the stored template and the modified template, the nested data structures comprising a normalized relational representation including component settings and position information; Yuan discloses in [0006] “deserializing the first, second, and third versions of the document to generate a first data model, a second data model, and a third data model respectively representing the first, second, and third versions in a first data store, each data model comprising a tree data structure that includes a corresponding node for each element of the plurality of elements contained within the version of the document represented by the data model, each node of each data model containing a context describing the element corresponding to the node;”. And in [0019] to generate the customized updated document for output by deserializing each of the three input documents according to a generic memory model to generate a hierarchical, tree-structured representation of each input document,”. And in [0024] “the term "data store" refers to any suitable memory device that may be used for storing data, including manual files, machine-readable files, and databases. A data store may be organized in various ways, including as a relational, hierarchical, or object-oriented data store.” And in [0035, 0041, and 0046] “Comparator 1 16 can perform these comparisons to update memory model 140 to include information regarding the following differences identified by comparing each pair of the three input documents: (1) elements that exist in one document but not the other (that is, elements that have been deleted or added); (2) counterpart elements having children elements that are in differing orders in the two documents (when the semantic constraints for the documents specify that order matters for these elements); (3) counterpart elements having attributes that have the same values in the two documents; (4) counterpart elements having different values for attributes that are not part of the unique identifiers for the nodes corresponding to the elements; and (5) counterpart elements having different numbers of attributes that are not part of the unique identifiers for the nodes corresponding to the elements (that is, attributes that have been added or deleted). Because additional rules can be added to the pluggable repository of comparison rules, a user can easily specify that more information should be included in memory model 140 regarding the differences between each pair of the three input documents… the correct output of the merge operation will depend on the semantic constraints of the data (for example, whether elements are specified as ordered or unordered). These semantic constraints should be considered during the merge operation where, for example, sibling or parent elements have been deleted or moved… Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134.” (emphasis added) examiner note: generating first data model for a base document 400, second data model for customized version 410, and a third data model for updated version 420, wherein the utilized database may be relational, hierarchical, or object-oriented database. The nested data structures may include element attributes (settings or element property change such font style or color) and the XML elements may be represented by hierarchal tree nodes (position information) after delete and/or move operations as indicated in fig. 3, comparing respective components of the template and the modified template, wherein the comparing of the template with the modified template is conducted through the corresponding nested components in the nested data structures, and wherein the comparing is conducted at each hierarchical level of the number of hierarchical levels of the stored template at the template management server and the modified template from the client device; Yuan teaches in [0018] “, element monitor 110 is implemented to generate a memory model representation of each version in generic memory model 112, to compare the two memory model representations of the three input document to identify the differences therebetween, and to update the memory model to include information regarding the identified differences between the two documents. More particularly, element monitor 110 is implemented with a version compare module 114 that is configured to access data store 112 to perform a comparison between first version 102 and second version 104 to identify parent code elements that are present in the first version and for which there is not a complementary element in the second version.” And in [0038] “Compare module 114 employs a pluggable repository of comparison rules for performing the comparison between the memory model representations of the documents to determine the differences therebetween. To identify the "same" node in two different memory model representations, the comparison rules are configured to be applied to link counterpart nodes (that is, nodes having the same unique identifier in the two representations being compared) in the two representations of the versions of the software documents being compared and to generate information about the differences between the elements corresponding to the counterpart nodes in the two versions during the comparison.” (emphasis added) examiner note: the compare module 114 is configured to compare the first version 102, base model, and the second version 104, modified version, wherein the comparison may be implemented based on the parent node hierarchical levels. Yuan does not explicitly disclose deriving, based on the comparing, one or more simplified modifications corresponding to the triggering event to implement the one or more modification on the stored template at the template management server, wherein the one or more simplified modifications comprise simplified or fewer number of data operations than the one or more original modifications; synchronizing, at the template management server, the stored template and the modified template by applying the one or more simplified modifications to the respective components of the stored template. However, Kasetty, in an analogous art, discloses in [0020] “The server may also execute a simple selection policy, such as the first person wins policy, to determine what text edit to process. When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests). Instead, the server can process the first text change request it receives and ignore the other text changes. On the clients, the conflict algorithm may be employed only when conflicts are detected. Further, acknowledgements are not needed for changes from either the server or the clients, resulting in reduced network traffic.” And in [0025] “the selected policy is the first person wins policy that selects the first received text change to process and ignores any of the other text changes that are received before the master text can be updated. Other policies may also be used. For example, a policy may state that when two or more text edits are received within a predefined period of time, the client having a higher priority is processed first. A policy may also set a preference for a type of change made to the text. For example, the policy may prioritize based on where the change is made.” (emphasis added) examiner note: when modification conflict is detected based on one client, for example, may perform delete operation on an element/node or component in one version of the base document and a second client may perform move operation on the same element/node or component, the server may implement a simple selection policy such that the server may perform delete operation and ignore the other modification operations. Accordingly, fewer number of data operations may be performed on the base XML document than the number of modification operations received from the two modified versions of the base XML document. Utilizing the first person wins policy would sync or merge the first received change with the base XML document in the data store (relational database as indicated in [0024]), wherein the synchronizing is withheld until the triggering event is detected, wherein the stored template is received from a first client device, and the modified template is received from a second client device that is different from the first client device. Further, Kasetty discloses in [0018] “the text manager 26 is directed at resolving text conflicts that are made by clients to text. In different collaborative applications, such as online conferences and note taking applications, multiple clients, such as clients 1 and 2, may simultaneously edit and/or view contextual text data that is associated with a collaborative application, such as collaborative application 220. In the current example, server 210 hosts collaborative application 220 and maintains a current master version of the text 225 for the collaborative application.” And in [0025] “a policy may state that when two or more text edits are received within a predefined period of time, the client having a higher priority is processed first. A policy may also set a preference for a type of change made to the text. For example, the policy may prioritize based on where the change is made.” (emphasis added) examiner note: the master version of text may represent the stored template and change text may be received from a first client and a second client as shown in fig. 2. The merge may be implemented periodically such as every five minutes. Accordingly, edits received within the predefined time may held until the merge operation is triggered after five minutes is elapsed. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claim 15. The rejection of the computer-implemented method of claim 14 is incorporated, Yuan does not explicitly disclose wherein the one or more simplified modifications are least operations to be applied in the relational database to implement the changes made by the one or more original modification. However, Kasetty, in an analogous art, discloses in [0020] “any client that has pending changes utilize text manager 26 to modify and re-submit text changes. The resource consumption and processing overhead on the server is also reduced since conflict resolution does not need to be performed on the server. The server may also execute a simple selection policy, such as the first person wins policy, to determine what text edit to process. When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests). Instead, the server can process the first text change request it receives and ignore the other text changes. On the clients, the conflict algorithm may be employed only when conflicts are detected. Further, acknowledgements are not needed for changes from either the server or the clients, resulting in reduced network traffic.” (emphasis added) EXAMINER NOTE: processing the first text change and ignoring other text changes may indicate simplified modifications to be applied to the base XML document 400 of Yuan. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Claim 16. The rejection of the computer-implemented method of claim 14 is incorporated, wherein the one or more simplified modifications comprise at least one of an update, an addition, a deletion, or a move of a component in the relational database; Yuan discloses in [0044] “if the modifications identified at block 320 indicate that the counterpart element in base document 130 to the element corresponding to the target node has been deleted in customized base document 132, the target node is deleted from the working representation.” And in [0046] “The result of the merge operation performed by merging module 122 is customized updated representation 138a in memory model 140. Different types of conflicts can arise during performance of the merge operation where certain situations are present such as, for example, sequencing conflicts, move conflicts, or conflicts that occur where a value for an attribute of an element in base document 130 is changed in the counterpart element of both customized base document 132 and updated document 134.” (emphasis added). Claim 19. The rejection of the method of claim 14 is incorporated, wherein the one or more components comprise first level components, second-level components, and third-level components in the number of hierarchical levels; Yuan in [0026] “The topmost node in a tree is called the root node. Being the topmost node, the root node will not have parents. As shown in FIG. 1, deserializer 112 operates to deserialize base document 130, customized base document 132, and updated document 134 into base data model representation 130a, customized base data model representation 132b, and updated data model representation 134b respectively.” And in [0039 and claim 1] “If it is determined at block 230 that the unique identifier for the node corresponding to the first element is the same as the unique identifiers for a nodes corresponding to a sibling element of the second element, process 200 proceeds to block 240 and performs the comparisons described above at blocks 240-260 between the first element and the matching sibling element of the second element… comparing the identifier for each node in the first data model with the identifier for each node in the second data model to identify each node in the first data model not having matching identifiers with any node in the second data model in the first data store and to link each pair of nodes in the first and second data models that have matching identifiers” (emphasis added) EXAMINER NOTE: the base XML document may comprises hierarchical levels of root node, child node and sibling nodes. Claims 20-22. The rejection of the computer-implemented method of claim 14 is incorporated, Yuan does not explicitly disclose wherein the triggering event comprises at least one of a save request from a client device, a predetermined period of time or a major modification of the template. However, KASETTY teaches in [0018] “server 220 may select the change based on a priority associated with a client, a change that results in the most substantive change to the master version of text 225, the least substantive change to the text, and the like.” And in [0025] “the selected policy is the first person wins policy that selects the first received text change to process and ignores any of the other text changes that are received before the master text can be updated. Other policies may also be used. For example, a policy may state that when two or more text edits are received within a predefined period of time, the client having a higher priority is processed first. A policy may also set a preference for a type of change made to the text. For example, the policy may prioritize based on where the change is made.” (emphasis added) EXAMINER NOTE: updating the base XML document may be triggered when two or more text edits received within “a predetermined period of time” or based on a change that result in the most substantive change to the master version of text. It would have been obvious to one of ordinary skill in the art bet ore the effective filing date of the claimed invention to combine the teaching of Yuan with the teaching of Kasetty because “When the server implements a simple policy, such as the first person wins policy, the server may use less resources (e.g. server does not keep a queue of change requests).” Kasetty [0020]. Response to Arguments Applicant’s arguments with respect to at least claim 1 have been considered but are moot because the new ground of rejection does not only rely on references applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Argument: Applicant argues “Yuan again provides no teaching of deriving any database-level operations, much less simplified or minimal ones. Its merge engine outputs a merged XML document, not a minimal relational-database patch… Kasetty does not cure these deficiencies. The cited "first-person-wins" policy merely ignores some concurrent edits to reduce system load and does not teach or suggest deriving simplified database operations, generating a normalized relational nested structure for hierarchical comparison, or computing reduced database-update operations needed to synchronize a relational-database-resident template.” Response: In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). Yuan teaches in [0042] “Merger 122 performs the merge operation in accordance with a repository of merge rules specified for the elements.” And in [claim 2] “modifying each node in the copy of the third data model having matching identifiers with any linked pair of nodes in the first and second data models by applying a set of merge rules based upon the identified differences between the linked pair of nodes.” (emphasis added) the merge rules may be applied to two or more modifications to a node in the base XML document tree from two or more clients in a collaboration application. Yuan does not explicitly teach the merge rules would result in implementing fewer edit operations than the total edit operations received for the node at the base XML document tree. However, Kasetty teaches “a first person wins policy”, which may be a merge rule that would implement fewer edit operations than the total received edit operations received from the at least two clients. For example, server 220 may select the change based on a priority associated with a client, a change that results in the most substantive change to the master version of text 225, the least substantive change to the text, and the like.” Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. See PTO-892. 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). 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 AHAMED I NAZAR whose telephone number is (571)270-3174. The examiner can normally be reached 10 am to 7 pm Mon-Fri. 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, Stephen Hong can be reached at 571-272-4124. 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. /AHAMED I NAZAR/Examiner, Art Unit 2178 5/16/2026 /STEPHEN S HONG/Supervisory Patent Examiner, Art Unit 2178
Read full office action

Prosecution Timeline

Show 2 earlier events
May 12, 2025
Response Filed
Jun 04, 2025
Final Rejection mailed — §103
Aug 08, 2025
Response after Non-Final Action
Sep 04, 2025
Request for Continued Examination
Sep 09, 2025
Response after Non-Final Action
Oct 02, 2025
Non-Final Rejection mailed — §103
Feb 18, 2026
Response Filed
May 22, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12682390
MODELLED SERVICE OBJECT IN MULTI-SOURCE VR ENVIRONMENT
3y 7m to grant Granted Jul 14, 2026
Patent 12670714
OBJECT INTERACTION DETECTION AND INFERENCES USING SEMANTIC LEARNING
4y 6m to grant Granted Jun 30, 2026
Patent 12619796
VIRTUAL ENVIRONMENT FOR LARGE-SCALE CAPITAL PROJECTS
3y 8m to grant Granted May 05, 2026
Patent 12564342
METHODS, SYSTEMS, AND DEVICES FOR THE DIAGNOSIS OF BEHAVIORAL DISORDERS, DEVELOPMENTAL DELAYS, AND NEUROLOGIC IMPAIRMENTS
3y 11m to grant Granted Mar 03, 2026
Patent 12548333
DYNAMIC NETWORK QUANTIZATION FOR EFFICIENT VIDEO INFERENCE
4y 1m to grant Granted Feb 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

5-6
Expected OA Rounds
53%
Grant Probability
86%
With Interview (+32.7%)
4y 1m (~2y 0m remaining)
Median Time to Grant
High
PTA Risk
Based on 385 resolved cases by this examiner. Grant probability derived from career allowance 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