Prosecution Insights
Last updated: April 19, 2026
Application No. 18/527,733

INDUSTRIAL AUTOMATION DISTRIBUTED PROJECT CONTROL WITH MILESTONE ROLLBACK

Non-Final OA §102§112§DP
Filed
Dec 04, 2023
Examiner
WANG, ZHIPENG
Art Unit
2115
Tech Center
2100 — Computer Architecture & Software
Assignee
Rockwell Automation Technologies Inc.
OA Round
1 (Non-Final)
81%
Grant Probability
Favorable
1-2
OA Rounds
2y 11m
To Grant
99%
With Interview

Examiner Intelligence

Grants 81% — above average
81%
Career Allow Rate
425 granted / 526 resolved
+25.8% vs TC avg
Strong +24% interview lift
Without
With
+23.5%
Interview Lift
resolved cases with interview
Typical timeline
2y 11m
Avg Prosecution
18 currently pending
Career history
544
Total Applications
across all art units

Statute-Specific Performance

§101
9.6%
-30.4% vs TC avg
§103
48.6%
+8.6% vs TC avg
§102
20.3%
-19.7% vs TC avg
§112
12.2%
-27.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 526 resolved cases

Office Action

§102 §112 §DP
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 . Claims 1-20 are pending. Claim Interpretation The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. Use of the word “means” (or “step for”) in a claim with functional language creates a rebuttable presumption that the claim element is to be treated in accordance with 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph). The presumption that 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph) is invoked is rebutted when the function is recited with sufficient structure, material, or acts within the claim itself to entirely perform the recited function. Absence of the word “means” (or “step for”) in a claim creates a rebuttable presumption that the claim element is not to be treated in accordance with 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph). The presumption that 35 U.S.C. 112(f) (pre-AIA 35 U.S.C. 112, sixth paragraph) is not invoked is rebutted when the claim element recites function but fails to recite sufficiently definite structure, material or acts to perform that function. Claim elements in this application that use the word “means” (or “step for”) are presumed to invoke 35 U.S.C. 112(f) except as otherwise indicated in an Office action. Similarly, claim elements that do not use the word “means” (or “step for”) are presumed not to invoke 35 U.S.C. 112(f) except as otherwise indicated in an Office action. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked. As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph: (A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function; (B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and (C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function. Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: user interface component configured to receive…edit records defining modifications to the system project data in claim 1, collaboration management component configured to classify a first subset… classify a second subset… apply one or more conflict resolution rules…create a milestone record…. selectively re-apply or un-apply…edits represented by selected edit records to restore…the set of edit records in claim 1, collaboration management component is configured to….undo….a subset of the edit records in claim 3, collaboration component is further configured to….send a notification....in claim 4, collaboration management component is further configured to…..apply the first project modifications… in claim 5, collaboration management component is further configured to…..roll back the second project modifications…..in claim 6, collaboration management component is configured to select one of the first edit record in claim 7, user interface component is further configured to render the edit records in claim 8, collaboration management component is further configured to…..apply project modifications in claim 9. Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification, such as paragraphs 0034 and 0054, as performing the claimed function, and equivalents thereof. If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claim 4 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 4 recites the limitation "the collaboration component" in line 1. There is insufficient antecedent basis for this limitation in the claim. 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-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 11656866. Although the claims at issue are not identical, they are not patentably distinct from each other as set forth below. Pending Application U.S. Patent No. 11656866 1. A system, comprising: 1. A system for collaborative cloud-based development of industrial applications, comprising: a memory configured to store system project data that, in response to deployment and execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system; and a memory configured to store system project data that, in response to deployment and execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system; and a processor, operatively coupled to the memory that executes executable components stored on the memory, wherein the executable components comprise: a processor, operatively coupled to the memory that executes executable components stored on the memory, wherein the processor and memory reside on a cloud platform, and the executable components comprise: a user interface component configured to receive, from one or more client devices, edit records defining modifications to the system project data; and a collaboration management component configured to: a user interface component configured to receive, from one or more client devices, edit records defining modifications to the system project data; and a collaboration management component configured to: classify a first subset of the edit records that are applied to the system project data as applied edit records, apply a first subset of the edit records to the system project data and classify the first subset of the edit records as applied edit records, classify a second subset of the edit records that are not applied to the system project data as unapplied edit records, leave a second subset of the edit records unapplied to the system project data and classify the second subset of the edit records as unapplied edit records, in response to determining that first project modifications defined by a first edit record conflicts with second project modifications defined by a second edit record and currently applied to the system project data, apply one or more conflict resolution rules to select between the first edit record and the second edit record for application to the system project data, 6. The system of claim 1, wherein the collaboration management component is further configured to, in response to determining that first project modifications defined by a first edit record conflicts with second project modifications defined by a second edit record and currently applied to the system project data, apply one or more conflict resolution rules to select between the first edit record and the second edit record for application to the system project data. in response to receipt of a first instruction to set a current version of the system project data as a milestone version, create a milestone record identifying a set of edit records that are applied to the system project data, and in response to receipt of a first instruction to set a current version of the system project data as a milestone version, create a milestone record identifying a set of edit records that are currently applied to the system project data, and in response to receipt of a second instruction to roll the system project data back to the milestone version, selectively re-apply or un-apply, relative to the system project data, edits represented by selected edit records to restore, to the system project data, the set of edit records identified by the milestone record. in response to receipt of a second instruction to roll the system project data back to the milestone version subsequent to receipt of additional edit records and application of the additional edit records to the system project data, selectively re-apply or un-apply, relative to the system project data, edits represented by selected edit records to restore, to the system project data, the set of edit records identified by the milestone record, wherein the user interface component is further configured to render the edit records associated with the system project data in a browsable format according to one or more classification categories. As illustrated above, the claim(s) 1 and 6 of U.S. Patent No. 11656866 include all of the limitations of the claim(s) 1 of the instant application. The claim(s) 2-5, 7-20 of U.S. Patent No. 11656866 also include all of the limitations of the claim(s) 2-20 of the instant application. The patent claims also include other additional limitations. Hence, the instant application claims are generic to the species of invention covered by the respective patent claims. As such, the instant application claims are anticipated by the patent claims and are therefore not patentably distinct therefrom. (See Eli Lilly and Co. v. Barr Laboratories Inc., 58 USPQ2D 1869, "a later genus claim limitation is anticipated by, and therefore not patentably distinct from, an earlier species claim", In re Goodman, 29 USPQ2d 2010, "Thus, the generic invention is anticipated by the species of the patented invention). Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 11880680. Although the claims at issue are not identical, they are not patentably distinct from each other as set forth below. Pending Application U.S. Patent No. 11880680 1. A system, comprising: 1. A system, comprising: a memory configured to store system project data that, in response to deployment and execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system; and a memory configured to store system project data that, in response to deployment and execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system; and a processor, operatively coupled to the memory that executes executable components stored on the memory, wherein the executable components comprise: a processor, operatively coupled to the memory that executes executable components stored on the memory, wherein the executable components comprise: a user interface component configured to receive, from one or more client devices, edit records defining modifications to the system project data; and a collaboration management component configured to: a user interface component configured to receive, from one or more client devices, edit records defining modifications to the system project data; and a collaboration management component configured to: classify a first subset of the edit records that are applied to the system project data as applied edit records, classify a first subset of the edit records that are applied to the system project data as applied edit records, classify a second subset of the edit records that are not applied to the system project data as unapplied edit records, classify a second subset of the edit records that are not applied to the system project data as unapplied edit records, in response to determining that first project modifications defined by a first edit record conflicts with second project modifications defined by a second edit record and currently applied to the system project data, apply one or more conflict resolution rules to select between the first edit record and the second edit record for application to the system project data, 5. The system of claim 1, wherein the collaboration management component is further configured to, in response to determining that first project modifications defined by a first edit record conflicts with second project modifications defined by a second edit record and currently applied to the system project data, apply one or more conflict resolution rules to select between the first edit record and the second edit record for application to the system project data. in response to receipt of a first instruction to set a current version of the system project data as a milestone version, create a milestone record identifying a set of edit records that are applied to the system project data, and in response to receipt of a first instruction to set a current version of the system project data as a milestone version, create a milestone record identifying a set of edit records that are applied to the system project data, and in response to receipt of a second instruction to roll the system project data back to the milestone version, selectively re-apply or un-apply, relative to the system project data, edits represented by selected edit records to restore, to the system project data, the set of edit records identified by the milestone record. in response to receipt of a second instruction to roll the system project data back to the milestone version, selectively re-apply or un-apply, relative to the system project data, edits represented by selected edit records to restore, to the system project data, the set of edit records identified by the milestone record, wherein re-application of the edits comprises applying, to the system project data, a subset of the edit records that are classified as unapplied edit records and that are identified by the milestone record. As illustrated above, the claim(s) 1 and 5 of U.S. Patent No. 11880680 include all of the limitations of the claim(s) 1 of the instant application. The claim(s) 2-4, 6-20 of U.S. Patent No. 11880680 also include all of the limitations of the claim(s) 2-20 of the instant application. The patent claims also include other additional limitations. Hence, the instant application claims are generic to the species of invention covered by the respective patent claims. As such, the instant application claims are anticipated by the patent claims and are therefore not patentably distinct therefrom. (See Eli Lilly and Co. v. Barr Laboratories Inc., 58 USPQ2D 1869, "a later genus claim limitation is anticipated by, and therefore not patentably distinct from, an earlier species claim", In re Goodman, 29 USPQ2d 2010, "Thus, the generic invention is anticipated by the species of the patented invention). Claim Rejections - 35 USC § 102 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claim(s) 1-20 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Lee et al. (hereinafter “Lee”) (US 9483259 B1). As to claim 1, Lee teaches a system, comprising: a memory configured to store system project data that, in response to deployment and execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system [from column 4, line 41 to column 5, line 44 along with figure 1 and form column 10, line 61 to column 11, line 17, the versioned code storage 159]; and a processor, operatively coupled to the memory that executes executable components stored on the memory [column 11, lines 37-50, the cloud-based hosting platform 155 allows developers to compile, execute, and perform other functions with respect to a source code file upon request, substantially in real-time], wherein the executable components comprise: a user interface component configured to receive, from one or more client devices, edit records defining modifications to the system project data ([figures 3-5, 13-16, column 2, lines 26-30, 49-55, column 14, lines 42-54] a plurality of developers may generate respective copies, or “branches,” of a source code file, edit their respective branches, and subsequently merge the various branches to generate a merged source code file. A single developer may create a branch and subsequently merge the branch with the original source code file); and a collaboration management component [figure 3 collaboration development service 130] configured to: classify a first subset of the edit records that are applied to the system project data as applied edit records [column 16, lines 1-23, selecting different branch to perform “merge branch” option to be recognized as applied edit records], classify a second subset of the edit records that are not applied to the system project data as unapplied edit records [column 16, lines 1-23, unselecting one or more branches from performing “merge branch” option to be recognized as unapplied edit records], in response to determining that first project modifications defined by a first edit record conflicts with second project modifications defined by a second edit record and currently applied to the system project data, apply one or more conflict resolution rules to select between the first edit record and the second edit record for application to the system project data ([column 6, lines 41-67; column 15, lines 23-53] operational transformation rules 333 include rules governing the modification of data in a source code file, and the display of a source code file on multiple user devices, when multiple changes are made to the source code file. In one embodiment, operational transformation rules 333 resolve conflicting changes specified in a plurality of instructions received from a plurality of user devices), in response to receipt of a first instruction to set a current version of the system project data as a milestone version, create a milestone record identifying a set of edit records that are applied to the system project data ([column 14, lines 41-54, column 16, lines 20-41,wherein "a merged source code file" can be seen as the "milestone version'] a plurality of developers may generate respective copies, or “branches,” of a source code file, edit their respective branches, and subsequently merge the various branches to generate a merged source code file. A single developer may create a branch and subsequently merge the branch with the original source code file; merging service 1148 examines branch-1 (1171) and branch-2 (1172) and determines if there are any conflicts between the two branches. Merging service 1148 may invoke conflict check service 1142 to perform this function. If conflicts are identified, the developers are notified and may be required to resolve the conflicts, by further editing one or more of the branches, for example. After conflicts are resolved, merging service 1148 combines the two branches to generate a unified source code file), and in response to receipt of a second instruction to roll the system project data back to the milestone version, selectively re-apply or un-apply, relative to the system project data, edits represented by selected edit records to restore, to the system project data, the set of edit records identified by the milestone record ([column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42; wherein it is explicitly disclosed that a developer who has made a change to a source code file may select an undo option to reverse the change and activity/revision history]). As to claim 2, Lee teaches re-application of the edits comprises applying, to the system project data, a subset of the edit records that are classified as unapplied edit records and that are identified by the milestone record [column 10, lines 35-60; column 16, lines 1-40; undo to return to previous state then merge with previously unselected branch]. As to claim 3, Lee teaches the collaboration management component is configured to, in response to the receipt of the second instruction to roll the system project data back to the milestone version, undo, from the system project data, a subset of the edit records that are classified as applied edit records and that are not identified by the milestone record [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42]. As to claim 4, Lee teaches the collaboration component is further configured to, in response to an undoing of an edit record, of the subset of the edit records that are classified as applied edit records and that are not identified by the milestone record, send a notification of removal of the edit record to a client device associated with a user from whom the edit record was received [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42; column 15, lines 21-67]. As to claim 5, Lee teaches the collaboration management component is further configured to, in response to determining that the first project modifications defined by the first edit record conflict do not conflict with the second project modifications defined by the second edit record, apply the first project modifications to the system project data and store the first edit record in association with the system project data as one of the applied edit records [column 6, lines 41-67; column 10, lines 1-34; column 15, lines 23-67; column 16, lines 1-35]. As to claim 6, Lee teaches the collaboration management component is further configured to, in response to determining, based on application of the one or more conflict resolution rules, that the first edit record is to be applied instead of the second edit record [column 6, lines 41-67; column 10, lines 1-34; column 15, lines 23-67; column 16, lines 1-35]: roll back the second project modifications from the system project data, apply the first project modifications to the system project data, store the first edit record in association with the system project data as one of the applied edit records, and store the second edit record in association with the system project data as one of the unapplied edit records [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42]. As to claim 7, Lee teaches the first project modifications and the second project modifications comprise alternate versions of a modification to a same aspect of the system project data, and the collaboration management component is configured to select one of the first edit record or the second edit record for inclusion in the system project data based on a comparison of the first project modifications and the second project modifications relative to a selection criterion defined by the one or more conflict resolution rules [column 15, lines 6-67]. As to claim 8, Lee teaches the user interface component is further configured to render the edit records associated with the system project data in a browsable format according to one or more classification categories [columns 10-11, lines 62-20; column 12, lines 22-42]. As to claim 9, Lee teaches the collaboration management component is further configured to, in response to receipt of an instruction from a client device to apply an unapplied edit record, of the unapplied edit records, apply project modifications defined by the unapplied edit record to the system project data [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42; column 16, lines 1-40;]. As to claim 10, Lee teaches a method, comprising: maintaining, on a system comprising a processor, system project data that, in response to execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system [from column 4, line 41 to column 5, line 44 along with figure 1 and form column 10, line 61 to column 11, line 17, the "versioned code storage 159"]; receiving, by the system from one or more client devices, edit records defining modifications requested to be performed on the system project data ([figures 3-5, 13-16, column 2, lines 26-30, 49-55, column 14, lines 42-54] a plurality of developers may generate respective copies, or “branches,” of a source code file, edit their respective branches, and subsequently merge the various branches to generate a merged source code file. A single developer may create a branch and subsequently merge the branch with the original source code file); classifying a first subset of the edit records that are applied to the system project data as applied edit records [column 16, lines 1-23, selecting different branch to perform “merge branch” option to be recognized as applied edit records]; classifying, by the system, a second subset of the edit records that are not applied to the system project data as unapplied edit records [column 16, lines 1-23, unselecting one or more branches from performing “merge branch” option to be recognized as unapplied edit records]; in response to determining that first project modifications defined by a first edit record conflicts with second project modifications defined by a second edit record and currently applied to the system project data, applying, by the system, one or more conflict resolution rules to select between the first edit record and the second edit record for application to the system project data ([column 6, lines 41-67; column 15, lines 23-53] operational transformation rules 333 include rules governing the modification of data in a source code file, and the display of a source code file on multiple user devices, when multiple changes are made to the source code file. In one embodiment, operational transformation rules 333 resolve conflicting changes specified in a plurality of instructions received from a plurality of user devices); in response to receiving a first instruction to set a current version of the system project data as a milestone version, creating, by the system, a milestone record identifying a set of edit records that are currently applied to the system project data ([column 14, lines 41-54, column 16, lines 20-41,wherein "a merged source code file" can be seen as the "milestone version'] a plurality of developers may generate respective copies, or “branches,” of a source code file, edit their respective branches, and subsequently merge the various branches to generate a merged source code file. A single developer may create a branch and subsequently merge the branch with the original source code file; merging service 1148 examines branch-1 (1171) and branch-2 (1172) and determines if there are any conflicts between the two branches. Merging service 1148 may invoke conflict check service 1142 to perform this function. If conflicts are identified, the developers are notified and may be required to resolve the conflicts, by further editing one or more of the branches, for example. After conflicts are resolved, merging service 1148 combines the two branches to generate a unified source code file); and in response to receiving a second instruction to restore the system project data to the milestone version, reverting the system project data to the milestone version, wherein the reverting comprises at least re-applying edits defined by one of the unapplied edit records to the system project data in response to determining that the one of the applied edit records is identified by the milestone record ([column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42; column 16, lines 1-40; wherein it is explicitly disclosed that a developer who has made a change to a source code file may select an undo option to reverse the change to return to previous state then merge with previously unselected branch]). As to claim 11, Lee teaches the reverting further comprises undoing edits defined by one of the applied edit records from the system project data in response to determining that the one of the applied edit records is not identified by the milestone record [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42]. As to claim 12, Lee teaches in response to the undoing, sending, by the system, a notification of the undoing to a client device associated with a user from whom the one of the applied edit records was received [column 15, lines 21-67]. As to claim 13, Lee teaches in response to determining that the first project modifications do not conflict with the second project modifications: applying, by the system, the first project modifications to the system project data; and storing the first edit record in association with the system project data as one of the applied edit records [column 6, lines 41-67; column 10, lines 1-34; column 15, lines 23-67; column 16, lines 1-35]. As to claim 14, Lee teaches in response to determining, based on application of the one or more conflict resolution rules, that the first edit record is to be applied instead of the second edit record [column 6, lines 41-67; column 10, lines 1-34; column 15, lines 23-67; column 16, lines 1-35]: undoing, by the system, the second project modifications from the system project data, applying, by the system, the first project modifications to the system project data, storing, by the system, the first edit record in association with the system project data as one of the applied edit records, and storing, by the system, the second edit record in association with the system project data as one of the unapplied edit records [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42]. As to claim 15, Lee teaches the first project modifications and the second project modifications comprise alternate versions of a modification to a same aspect of the system project data, and the applying the one or more conflict resolution rules comprises selecting one of the first edit record or the second edit record for application to the system project data based on a comparison of the first project modifications and the second project modifications relative to a selection criterion defined by the one or more conflict resolution rules [column 15, lines 6-67]. As to claim 16, Lee teaches rendering, by the system, the edit records in a browsable format according to one or more classification categories [columns 10-11, lines 62-20; column 12, lines 22-42]. As to claim 17, Lee teaches in response to receiving an instruction from a client device to apply an unapplied edit record, of the unapplied edit records, applying project modifications defined by the unapplied edit record to the system project data [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42; column 16, lines 1-40]. As to claim 18, Lee teaches a non-transitory computer-readable medium having stored thereon instructions that, in response to execution, cause a system comprising a processor to perform operations, the operations comprising: maintaining system project data that, in response to execution on one or more industrial devices, facilitates monitoring and control of an industrial automation system [from column 4, line 41 to column 5, line 44 along with figure 1 and form column 10, line 61 to column 11, line 17, the "versioned code storage 159"]; receiving, from one or more client devices, edit records defining edits to be applied the system project data ([figures 3-5, 13-16, column 2, lines 26-30, 49-55, column 14, lines 42-54] a plurality of developers may generate respective copies, or “branches,” of a source code file, edit their respective branches, and subsequently merge the various branches to generate a merged source code file. A single developer may create a branch and subsequently merge the branch with the original source code file); classifying a first subset of the edit records that are applied to the system project data as applied edit records [column 16, lines 1-23, selecting different branch to perform “merge branch” option to be recognized as applied edit records]; classifying a second subset of the edit records that are not applied to the system project data as unapplied edit records [column 16, lines 1-23, unselecting one or more branches from performing “merge branch” option to be recognized as unapplied edit records]; in response to determining that first project modifications defined by a first edit record conflicts with second project modifications defined by a second edit record and currently applied to the system project data, selecting between the first edit record and the second edit record for application to the system project data based on application of one or more conflict resolution rules ([column 6, lines 41-67; column 15, lines 23-53] operational transformation rules 333 include rules governing the modification of data in a source code file, and the display of a source code file on multiple user devices, when multiple changes are made to the source code file. In one embodiment, operational transformation rules 333 resolve conflicting changes specified in a plurality of instructions received from a plurality of user devices); in response to receiving a first instruction to set a current version of the system project data as a milestone version, generating a milestone record identifying a set of edit records that are currently applied to the system project data ([column 14, lines 41-54, column 16, lines 20-41,wherein "a merged source code file" can be seen as the "milestone version'] a plurality of developers may generate respective copies, or “branches,” of a source code file, edit their respective branches, and subsequently merge the various branches to generate a merged source code file. A single developer may create a branch and subsequently merge the branch with the original source code file; merging service 1148 examines branch-1 (1171) and branch-2 (1172) and determines if there are any conflicts between the two branches. Merging service 1148 may invoke conflict check service 1142 to perform this function. If conflicts are identified, the developers are notified and may be required to resolve the conflicts, by further editing one or more of the branches, for example. After conflicts are resolved, merging service 1148 combines the two branches to generate a unified source code file); and in response to receiving a second instruction to restore the system project data to the milestone version, reverting the system project data to the milestone version, wherein the reverting comprises at least re-applying edits defined by one of the unapplied edit records to the system project data in response to determining that the one of the applied edit records is identified by the milestone record ([column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42; column 16, lines 1-40; wherein it is explicitly disclosed that a developer who has made a change to a source code file may select an undo option to reverse the change to return to previous state then merge with previously unselected branch]). As to claim 19, Lee teaches in response to determining, based on application of the one or more conflict resolution rules, that the first edit record is to be applied instead of the second edit record [column 6, lines 41-67; column 10, lines 1-34; column 15, lines 23-67; column 16, lines 1-35]: undoing, by the system, the second project modifications from the system project data, applying, by the system, the first project modifications to the system project data, storing, by the system, the first edit record in association with the system project data as one of the applied edit records, and storing, by the system, the second edit record in association with the system project data as one of the unapplied edit records [column 10, lines 35-60; column 11, lines 1-15; column 12, lines 22-42]. As to claim 20, Lee teaches the first project modifications and the second project modifications comprise alternate versions of a modification to a same aspect of the system project data, and the selecting comprises selecting one of the first edit record or the second edit record for application to the system project data based on a comparison of the first project modifications and the second project modifications relative to a selection criterion defined by the one or more conflict resolution rules [column 15, lines 6-67]. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZHIPENG WANG whose telephone number is (571)272-5437. The examiner can normally be reached Monday-Friday 10-7. 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, Kamini Shah can be reached at 5712722279. 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. /ZHIPENG WANG/Primary Examiner, Art Unit 2115
Read full office action

Prosecution Timeline

Dec 04, 2023
Application Filed
Mar 07, 2026
Non-Final Rejection — §102, §112, §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12597042
SYSTEM AND METHOD FOR LIMITING CARBON DIOXIDE FOOTPRINT CAUSED BY INSTALLATION OF SOFTWARE AND FIRMWARE UPDATES
2y 5m to grant Granted Apr 07, 2026
Patent 12597772
CENTRAL PLANT CONTROL SYSTEM WITH ASSET ALLOCATION OVERRIDE
2y 5m to grant Granted Apr 07, 2026
Patent 12597781
COMPACT POWER TOOL DATA LOGGER
2y 5m to grant Granted Apr 07, 2026
Patent 12584503
SIDE LOAD CONTROL OF LONG STROKE SYSTEMS
2y 5m to grant Granted Mar 24, 2026
Patent 12572124
SYSTEM AND METHOD FOR DETERMINATION OF ANOMALIES IN A CYBER-PHYSICAL SYSTEM
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

1-2
Expected OA Rounds
81%
Grant Probability
99%
With Interview (+23.5%)
2y 11m
Median Time to Grant
Low
PTA Risk
Based on 526 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