IP Library Granted Patent US 12,190,293
Granted Patent B2
US 12,190,293 · App. 18/174,734 · Granted Jan 7, 2025

System and method of industrial automation multi-developer control code change commits

Inventors: Andrew R Stump (Mentor, OH); Anthony Carrara (Strongsville, OH); Eashwer Srinivasan (Fremont, OH); Srdjan Josipovic (Beachwood, OH); Adam Gregory (Oak Creek, WI); Michael J Coan (Mentor, OH)
Assignee: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
G06Q10/101G06F16/285G06Q10/067G06Q10/0875G06Q10/103G06F9/44G06F9/44505G06F9/44526G06F9/454G06F11/302G06F11/3466G06F11/3636G06F11/3664G06F11/3668
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,190,293
App. No.
18/174,734
Granted
Jan 7, 2025
Kind
B2
Abstract

An industrial integrated development environment (IDE) supports collaborative tools that allow multiple designers and programmers to remotely submit design input to the same automation system project in parallel while maintaining project consistency. The industrial IDE also permits localized development of system projects, and provides an infrastructure for sharing and selectively synchronizing project edits among multiple locally stored versions of the system project.

Claims (59)

1. A system, comprising:

a processor, operatively coupled to a memory, that executes executable components stored on the memory, wherein the executable components comprise:

a user interface component configured to render a first integrated development environment (IDE) interface on a first client device, and to receive, from the first client device via interaction with the first IDE interface, an edit record defining a modification made to a first version of an industrial system project that is stored locally on the first client device, wherein a master version of the industrial system project is stored on a remote platform; and

a collaboration management component configured to,

in response to receipt of the edit record, store the edit record in association with the master version of the industrial system project and assign a classification category, of a set of classification categories, to the edit record, wherein the set of classification categories comprise at least an identity of an issue addressed by the modification;

render, on a second IDE interface rendered on a second client device, edit records, including the edit record, associated with the master version of the industrial system project in a browsable format organized according to the set of classification categories, and

in response to receipt, via interaction with the second IDE interface, of a selection of the edit record from among the edit records, synchronize the modification to a second version of the industrial system project that is stored locally on the second client device.

2. The system of claim 1 , wherein the industrial system project comprises at least one of an executable industrial control program, an industrial visualization application, industrial device configuration data configured to set a configuration parameter of an industrial device, an engineering drawing, or a bill of materials.

3. The system of claim 1 , wherein the set of classification categories further comprise at least one of an identity of a user who submitted the edit record, an identity of an automation system installation to which the modifications are directed, an identity of an industrial facility in which the automation system installation resides, or a user-defined classification category submitted with the edit record.

4. The system of claim 1 , wherein the collaboration management component is further configured to, in response to the receipt of the edit record:

identify whether a user associated with the second IDE interface is authorized to edit the master version of the industrial system project, and

in response to identifying that the user is authorized to edit the master version of the industrial system project, send a notification of the edit record to the second IDE interface.

5. The system of claim 4 , wherein the collaboration management component is further configured to, in response to the receipt of the edit record and development note data submitted in association with the edit record via the first IDE interface,

store the edit record and the development note data in association with the system project data, and

send the notification of the edit record and the development note data to the second IDE interface.

6. The system of claim 4 , further comprising a simulation component configured to perform a simulation on the second version of the system project data and the modifications defined by the edit record to determine an estimated effect of the modifications on a performance aspect of the second version of the industrial system project,

wherein the user interface component is configured to include, in the notification, information regarding the estimated effect.

7. The system of claim 1 , wherein

the edit record is a first edit record, and

the collaboration management component is further configured to, in response to a determination that a second edit record is received from the first client device or another client device with an indication that modifications defined by the second edit record are crucial, synchronize the modifications defined by the second edit record to the second version of the industrial system project irrespective of receipt of a request from the second client device to incorporate the modifications defined by the second edit record.

8. The system of claim 1 , wherein the collaboration management component is further configured to, subsequent to synchronization of the modification, at least one of

delete redundant or conflicting control code from the second version of the industrial system project, or

modify the second version of industrial system project to resolve a programming or device configuration conflict.

9. The system of claim 1 , wherein the collaboration management component is further configured to maintain a synchronization record for the edit record identifying users who have synchronized one or more of the modifications defined by the edit record to their local versions of the industrial system project.

10. A method, comprising:

rendering, by a system comprising a processor, a first integrated development environment (IDE) interface on a first client device;

receiving, by the system from the first client device via interaction with the first IDE interface, an edit record defining a modification made on the first client device to a first version of an industrial system project that is stored locally on the first client device, wherein a master version of the industrial system project is stored on a remote platform;

in response to the receiving:

storing, by the system, the edit record in association with the master version of the industrial system project, wherein the storing comprises assigning a classification category, of a set of classification categories, to the edit record, and the set of classification categories comprise at least an identity of an issue addressed by the modification;

rendering, on a second IDE interface rendered on a second client device, edit records, including the edit record, that are associated with the master version of the industrial system project in a browsable format organized according to the set of classification categories; and

in response to receiving, via interaction with the second IDE interface, selection of the edit record from among the edit records, updating, by the system, a second version of the industrial system project that is stored locally on the second client device to synchronize the modification to the second version of the industrial system project.

11. The method of claim 10 , wherein the industrial system project comprises at least one of an executable industrial control program, an industrial visualization application, industrial device configuration data configured to set a configuration parameter of an industrial device, an engineering drawing, or a bill of materials.

12. The method of claim 10 , wherein the set of classification categories further comprise at least one of identity of a user who submitted the edit record, an identity of an automation system installation to which the modifications are directed, an identity of an industrial facility in which the automation system installation resides, or a user-defined classification category submitted with the edit record.

13. The method of claim 10 , further comprising, in response to the receiving of the edit record:

identifying, by the system, whether a user associated with the second IDE interface is authorized to edit the master version of the system project, and

in response to determining, based on the identifying, that the user is authorized to edit the master version of the system project, rendering, by the system, a notification of the editor record on the second IDE interface.

14. The method of claim 13 , wherein

the receiving of the edit record comprises receiving the edit record and associated development note data submitted in association with the edit record, and

the method further comprises:

in response to the receiving of the edit record:

storing, by the system, the edit record and the development note data on the cloud platform in association with the cloud-based version of the system project data, and

rendering, by the system, the notification of the edit record and the development note data on the second IDE interface.

15. The method of claim 13 , further comprising performing, by the system, a simulation on the second version of the industrial system project and the modification defined by the edit record to determine an estimated effect of the modification on a performance aspect of the second version of the industrial system project,

wherein the rendering of the notification comprises including, in the notification, information regarding the estimated effect.

16. The method of claim 10 , wherein

the edit record is a first edit record, and

the method further comprises:

in response to determining that a second edit record is received from the first client device or another client device with an indication that modifications defined by the second edit record are crucial, synchronizing the modifications defined by the second edit record to the second version of the industrial system project irrespective of receipt of a request from the second client device to incorporate the modifications defined by the second edit record.

17. The method of claim 10 , wherein the updating comprises at least one of:

deleting redundant or conflicting control code from the second version of the industrial system project, or

modifying the second version of industrial system project to resolve a programming or device configuration conflict.

18. The method of claim 10 , further comprising maintaining, by the system, a synchronization record for the edit record identifying users who have synchronized one or more of the modifications defined by the edit record to their local versions of the industrial system project.

19. 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:

rendering, on a first client device that communicatively interfaces with the system, a first integrated development environment (IDE) interface;

receiving, from the first client device via interaction with the first IDE interface, an edit record defining an edit performed on a first version of an industrial system project that is stored on the first client device, wherein a master version of the industrial system project is stored on a remote platform;

in response to the receiving, storing the edit record in association with the master version of the industrial system project, wherein the storing comprises assigning a classification category, of a set of classification categories, to the edit record, and the set of classification categories comprise at least an identity of an issue addressed by the edit;

displaying, on a second IDE interface rendered on a second client device, edit records, including the edit records, that are associated with the industrial system project in a browsable format organized according to the classification categories; and

in response to receiving, via interaction with the second IDE interface, a selection of the edit record from among the edit records, applying the edit to a second version of the industrial system project that is stored on the second client device.

20. The non-transitory computer-readable medium of claim 19 , wherein the industrial system project comprises at least one of an executable industrial control program, an industrial visualization application, industrial device configuration data configured to set a configuration parameter of an industrial device, an engineering drawing, or a bill of materials.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2023
From: STUMP, ANDREW R; CARRARA, ANTHONY; SRINIVASAN, EASHWER; JOSIPOVIC, SRDJAN; GREGORY, ADAM; COAN, MICHAEL J
To: ROCKWELL AUTOMATION TECHNOLOGIES, INC.
Reel/Frame 062807/0046 →
Continuity (2)
Continuation 17148919 · Jan 14, 2021
Related Publication 20230206180A1 · Jun 29, 2023
References Cited (66)
US 6473794B1 · Guheen et al. · 2002 [cited by applicant]
US 6601234B1 · Bowman-Amuah · 2003 [cited by applicant]
US 6718535B1 · Underwood · 2004 [cited by applicant]
US 8055910B2 · Kocher et al. · 2011 [cited by applicant]
US 8510571B1 · Chang et al. · 2013 [cited by applicant]
US 8667456B1 · Czymontek · 2014 [cited by applicant]
US 9451009B2 · Assenmacher · 2016 [cited by applicant]
US 9483259B1 · Lee et al. · 2016 [cited by applicant]
US 9940127B1 · Lee et al. · 2018 [cited by applicant]
US 10705805B1 · Bosworth et al. · 2020 [cited by applicant]
US 11656866B2 · Stump et al. · 2023 [cited by applicant]
US 20050149759A1 · Vishwanath et al. · 2005 [cited by applicant]
US 20070283321A1 · Hegde et al. · 2007 [cited by applicant]
US 20080134298A1 · Nathan et al. · 2008 [cited by applicant]
US 20080301650A1 · Talluri et al. · 2008 [cited by applicant]
US 20130124649A1 · Triantos et al. · 2013 [cited by applicant]
US 20130218829A1 · Martinez · 2013 [cited by examiner]
US 20140122613A1 · Mashkif et al. · 2014 [cited by applicant]
US 20140330890A1 · Hourani et al. · 2014 [cited by applicant]
US 20160062745A1 · Rao · 2016 [cited by examiner]
US 20170357486A1 · DeLuca · 2017 [cited by examiner]
US 20180129497A1 · Biddle et al. · 2018 [cited by applicant]
US 20180247243A1 · Moolman et al. · 2018 [cited by applicant]
US 20180349134A1 · Studer et al. · 2018 [cited by applicant]
US 20200103843A1 · Stump et al. · 2020 [cited by applicant]
US 20200151319A1 · Sharma · 2020 [cited by examiner]
US 20200160458A1 · Bodin et al. · 2020 [cited by applicant]
US 20200192638A1 · Pezaris · 2020 [cited by applicant]
US 20200201625A1 · Kryzhanovsky et al. · 2020 [cited by applicant]
US 20200257516A1 · Totale et al. · 2020 [cited by applicant]
US 20200356365A1 · Pezaris · 2020 [cited by applicant]
EP 2592512A2 · 2013 [cited by applicant]
EP 2045676B1 · 2016 [cited by applicant]
EP 2821866B1 · 2017 [cited by applicant]
John Stouby Persson et al., Managing Risks in Distributed Software Projects: An Integrative Framework, Apr. 17, 2009, IEEE, [Retrieved on Nov. 22, 2016]. Retrieved from the internet: <URL: https://ieeexplore.IEEE.org/st… [cited by examiner]
Non Final Office Action received for U.S. Appl. No. 17/148,919 dated Sep. 1, 2022, 41 pages. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 17/157,266 dated Jun. 20, 2022, 40 pages. [cited by applicant]
Dilley et al., “Globally Distributed Content Delivery”, IEEE Internet Computing, 2002, pp. 50-58. [cited by applicant]
Butler et al., “A National-Scale Authentication Infrastructure”, Computer, 2000, pp. 60-66. [cited by applicant]
Ward et al., “Integrated Change and Configuration Management”, IBM Systems Journal, vol. 46, No. 3, 2007, pp. 459-478. [cited by applicant]
Non Final Office Action received for U.S. Appl. No. 17/207,514 dated Jul. 22, 2022, 23 pages. [cited by applicant]
Extended European Search Report received for European Patent Application Serial No. 22151134.8 dated Jun. 21, 2022, 12 pages. [cited by applicant]
Machura, Marek “Managing Information in a Co-Operative Object Database System”, Software-Practice and Experience, vol. 26, No. 5, May 1996, pp. 545-579. [cited by applicant]
Extended European Search Report received for European Patent Application Serial No. 22152700.5 dated Jul. 22, 2022, 10 pages. [cited by applicant]
Fylaktopoulos et al., “An Overview of Platforms for Cloud Based Development”, SpringerPlus, vol. 5, No. 38, 2016, pp. 1-13. [cited by applicant]
Extended European Search Report received for European Patent Application Serial No. 22162697.1 dated Aug. 3, 2022, 9 pages. [cited by applicant]
Communication pursuant to Rule 69 EPC received for European Patent Application Serial No. 22152700.5 dated Aug. 29, 2022, 2 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/148,919 dated Jan. 4, 2023, 70 pages. [cited by applicant]
Biemann et al., “Collaborative Web-based Tools for Multi-layer Text Annotation”, 2017, [Retrieved on Nov. 29, 2022]. Retrieved from the internet: <URL: https://www.inf.uni-hamburg.de/en/inst/ab/It/publications/2017-biem… [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/157,266 dated Oct. 19, 2022, 45 pages. [cited by applicant]
Walrad et al., “The Importance of Branching Models in SCM”, Computer, 2002, pp. 31-38. [cited by applicant]
Garfinkel et al., “Terra: A Virtual Machine-Based Platform for Trusted Computing”, Proceedings of the nineteenth ACM symposium on Operating systems principles, 2003, pp. 193-206. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/157,266 dated Dec. 2, 2022, 7 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/207,514 dated Dec. 29, 2022, 40 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/207,514 dated Feb. 16, 2023, 9 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/157,266 dated Jan. 25, 2023, 7 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 18/185,501 dated Dec. 11, 2023, 17 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 18/155,787 dated Dec. 20, 2023, 11 pages. [cited by applicant]
Communication pursuant to Article 94(3) EPC received for European Patent Application Serial No. 22162697.1 dated Feb. 1, 2024, 4 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/207,514 dated Apr. 4, 2023, 7 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 18/155,787 dated Oct. 11, 2023, 54 pages. [cited by applicant]
Eick et al., “Does Code Decay? Assessing the Evidence from Change Management Data”, IEEE, Transactions on Software Engineering, vol. 27, No. 1, Jan. 2001, 12 pages. [cited by applicant]
Graves et al., “Predicting Fault Incidence Using Software Change History”, IEEE, Transactions on Software Engineering, vol. 26, No. 7, Jul. 2000, pp. 653-661. [cited by applicant]
Zimmermann et al., “Mining Version Histories to Guide Software Changes”, IEEE, Transactions on Software Engineering, vol. 31, No. 6, Jun. 2005, pp. 429-445. [cited by applicant]
Communication pursuant to Article 94(3) EPC received for European Patent Application Serial No. 22152700.5 dated Sep. 9, 2023, 5 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 18/185,501 dated Sep. 5, 2023, 31 pages. [cited by applicant]