Change log historian system for memory shared by multiple workstations
First Claim
1. A change log system for dynamically correlating a plurality of workstations with a memory device in an industrial control system, said change log system comprising:
- an industrial controller having said memory device, said memory device having stored thereininformation which is monitored by said plurality of workstations, said information being stored in a shared memory area of said memory device,a memory change list, said memory change list forming a list of changes which have been made to said information stored in said shared memory area, anda memory change index, said memory change index being indicative of the location in said memory change list of the most recent entry to said memory change list;
a network which interconnects said industrial controller and said plurality of workstations; and
said plurality of workstations, each of said plurality of workstations includinga workstation image of said shared memory area, anda workstation change index, said workstation change index being indicative of the most recent entry to said memory change list which has also been implemented in said workstation image of said shared memory area; and
wherein said changes are made to said information while said plurality of workstations are connected to said by way of said network; and
wherein said workstation change index of each of said plurality of workstations is regularly compared with said memory change index thereby permitting each said workstation image to be dynamically correlated with said shared memory area substantially immediately following when said changes to said information are made.
2 Assignments
0 Petitions
Accused Products
Abstract
A communication-efficient change log historian allows workstations having images of a shared memory to remain correlated to the shared memory. The system comprises one or more workstations connected to a microprocessor-based device which includes a memory device. The memory device includes the shared memory, and also stores a memory change list and a memory change index. The memory change list forms a list of changes which have been made to the information stored in the shared memory area, and the change index is indicative of the location of the most recent entry to the memory change list. The workstations maintain an image of the shared memory area, and store workstation change indexes which are indicative of the most recent entry to the memory change list which has also been implemented to respective images of the shared memory area in the workstations. The workstation regularly compares the workstation change index with the memory change index, thereby permitting the workstation image to be dynamically correlated with the shared memory. Advantageously, the system implements updates only when the contents of the shared memory have changed, and updates only those portions of the shared memory which have changed. The system also allows for the dynamic correlation of the workstation image with the shared memory, and allows the microprocessor-based device to be a passive participant in this process.
-
Citations
32 Claims
-
1. A change log system for dynamically correlating a plurality of workstations with a memory device in an industrial control system, said change log system comprising:
-
an industrial controller having said memory device, said memory device having stored therein information which is monitored by said plurality of workstations, said information being stored in a shared memory area of said memory device, a memory change list, said memory change list forming a list of changes which have been made to said information stored in said shared memory area, and a memory change index, said memory change index being indicative of the location in said memory change list of the most recent entry to said memory change list; a network which interconnects said industrial controller and said plurality of workstations; and said plurality of workstations, each of said plurality of workstations including a workstation image of said shared memory area, and a workstation change index, said workstation change index being indicative of the most recent entry to said memory change list which has also been implemented in said workstation image of said shared memory area; and wherein said changes are made to said information while said plurality of workstations are connected to said by way of said network; and wherein said workstation change index of each of said plurality of workstations is regularly compared with said memory change index thereby permitting each said workstation image to be dynamically correlated with said shared memory area substantially immediately following when said changes to said information are made. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A change log system for dynamically correlating a plurality of workstations with a memory device, said change log system comprising:
-
A. a microprocessor-based device having said memory device, said memory device having stored therein 1. information which is monitored by said plurality of workstations, said information being stored in a shared memory area of said memory device, 2. a memory change list, said memory change list forming a list of changes which have been made to said information stored in said shared memory area, and 3. a memory change index, said memory change index being indicative of the location in said memory change list of the most recent entry to said memory change list; and B. a first workstation, said first workstation being one of said plurality of workstations, said first workstation being connected to said microprocessor-based device by way of a network, and said first workstation including 1. a first workstation image of said shared memory area, and 2. a first workstation change index, said first workstation change index being indicative of the most recent entry to said memory change list which has also been implemented in said first workstation image of said shared memory area; and wherein said first workstation regularly compares said first workstation change index with said memory change index thereby permitting said first workstation image to be dynamically correlated with said shared memory area; wherein said first workstation may optionally go off-line, and wherein said first workstation further includes a workstation change list, said workstation change list forming a list of changes which have been made to said first workstation image of said shared information after said first workstation has gone off-line; and wherein each entry logged to said workstation change list comprises 1. an index sub-entry which defines the location of said entry in said workstation change list; 2. a command sub-entry which indicates the type of operation that was performed on said first workstation image; and 3. an address sub-entry which indicates the location in said first workstation image where said operation was performed. - View Dependent Claims (8)
-
-
9. A change log system for dynamically correlating a plurality of workstations with a memory device, said change log system comprising:
-
A. a microprocessor-based device having said memory device, said memory device having stored therein 1. information which is monitored by said plurality of workstations, said information being stored in a shared memory area of said memory device. 2. a memory change list, said memory change list forming a list of changes which have been made to said information stored in said shared memory area, and 3. a memory change index, said memory change index being indicative of the location in said memory change list of the most recent entry to said memory change list; and B. a first workstation, said first workstation being one of said plurality of workstations, said first workstation being connected to said microprocessor-based device by way of a network, and said first workstation including 1. a first workstation image of said shared memory area, and
-
-
10. a first workstation change index, said first workstation change index being indicative of the most recent entry to said memory change list which has also been implemented in said first workstation image of said shared memory area;
- and
wherein said first workstation regularly compares said first workstation change index with said memory change index thereby permitting said first workstation image to be dynamically correlated with said shared memory area; wherein addresses of said shared memory area are designated with a hierarchical protocol, and wherein information objects that form the hierarchy are designated by class numbers and instance numbers, said class numbers distinguishing different categories of information, and said instance numbers distinguishing different information objects within the same category; and wherein said memory change list includes 1. a first entry which denotes a first change at a first level of said hierarchy, and 2. a second entry which denotes a second change at a second level of said hierarchy.
- and
-
11. A dynamic correlation method comprising:
-
providing a system comprising a first workstation, a second workstation, a plurality of additional workstations, and an industrial controller with a shared memory; connecting said industrial controller, said first workstation, said second workstation and said plurality of additional workstations by way of a network; implementing a new change to said shared memory with said first workstation, said implementing step occurring while said first workstation, said second workstation, and said plurality of additional workstations are connected to said industrial controller by way of said network; logging said new change in a memory change list associated with said shared memory; updating a memory change index which is indicative of a most recently logged entry in said memory change list; maintaining an image of said shared memory at said second workstation, including the step of regularly accessing said memory change index with said second workstation to ascertain whether a change has been made to said shared memory since said image of said shared memory at said second workstation was last updated, said regularly accessing step further including, when it is ascertained that said new change has been made, accessing said memory change list with said second workstation and implementing said new change to said image of said shared memory at said second workstation; and maintaining images of said shared memory at said plurality of additional workstations, including the step of repeating said regularly accessing step for each one of said plurality of additional workstations in conjunction with a respective one of said images of said shared memory; and wherein said images of said shared memory at said second workstation and at said plurality of additional workstations are dynamically correlated with said shared memory, such that changes to said shared memory are implemented to said images of said shared memory on a change-by-change basis as said changes to said shared memory are implemented.
-
-
12. A dynamic correlation method comprising:
-
A. implementing a new change to a shared memory with a first workstation; B. logging said new change in a memory change list associated with said shared memory; C. updating a memory change index which is indicative of a most recently logged entry in said memory change list; D. storing a first log identification number which is associated with said shared memory; E. storing a second log identification number which is associated with said image of said shared memory; F. regularly accessing said memory change index with a second workstation to ascertain whether a change has been made to said shared memory since an image of said shared memory stored in said second workstation was last updated, said regularly accessing step further including, when it is ascertained that said new change has been made, 1. ascertaining that said first log identification number corresponds to said second log identification number; 2. and, in response to said ascertaining step (F)(1), opting to access said memory change list with said second workstation and implement said new change to said image of said shared memory stored in said second workstation instead of replacing said image by downloading a complete copy of said shared memory to said second workstation.
-
-
13. A dynamic correlation method comprising:
-
A. implementing a new change to a shared memory with a first workstation, including 1. receiving a copy of a modified image from a second workstation, said copy being received at said first workstation, and 2. downloading said copy of said modified image from said first workstation to said shared memory, said new change being said downloading of said copy of said modified image; B. logging said new change in a memory change list associated with said shared memory; C. updating a memory change index which is indicative of a most recently logged entry in said memory change list; D. storing a copy marker in a second workstation change lists E. storing a copy identification number which is associated with said shared memory, said copy identification number corresponding to said copy marker; F. regularly accessing said memory change index with said second workstation to ascertain whether a change has been made to said shared memory since an image of said shared memory stored in said second workstation was last updated, said regularly accessing step further including, when it is ascertained that said new change has been made;
-
-
14. accessing said memory change list with said second workstation,ascertaining that said copy identification number corresponds to said copy marker,in response to said ascertaining step (F)(2), further ascertaining that said information in said shared memory is derived from said second workstation and that said second workstation can be correlated by reference to said memory change list, and
- 15. implementing said new change to said image of said shared memory stored in said second workstation by reference to said memory change list.
-
16. A dynamic correlation method comprising:
-
A. hierarchically organizing a shared memory into a plurality of levels of information including an upper level and a lower level, each of said plurality of levels being divided into different classes of information, each of said classes being further subdivided into specific instances of information; B. implementing first and second new changes to said shared memory with a first workstation, including 1. entering said first new change at said lower level of said hierarchy, said change affecting exactly one lower level instance; and 2. entering said second new change at said upper level of said hierarchy, said change affecting exactly one upper level instance and a plurality of lower level instances; C. logging said first and second new changes in a memory change list associated with said shared memory; D. updating a memory change index which is indicative of a most recently logged entry in said memory change list; E. regularly accessing said memory change index with a second workstation to ascertain whether a change has been made to said shared memory since an image of said shared memory stored in said second workstation was last updated and, after it is ascertained that said first and second new changes have been made, accessing said memory change list with said second workstation and implementing said first and second new changes to said image of said shared memory stored in said second workstation. - View Dependent Claims (20, 26, 28, 29, 30, 31, 32)
-
-
17. A dynamic correlation method comprising:
-
implementing a new change to a shared memory with a first workstation; logging said new change in a memory change list associated with said shared memory; updating a memory change index which is indicative of a most recently logged entry in said memory change list; regularly accessing said memory change index with a second workstation to ascertain whether a change has been made to said shared memory since an image of said shared memory stored in said second workstation was last updated and, after it is ascertained that said new change has been made, accessing said memory change list with said second workstation and implementing said new change to said image of said shared memory stored in said second workstation; and wherein said shared memory is maintained by a passive microprocessor-based device, said microprocessor-based device being passive in that is does not monitor whether said second workstation is on-line for purposes of keeping said second workstation correlated.
-
-
18. A method of modifying a shared memory, said shared memory being associated with a memory change list for permitting workstations to be dynamically correlated on a change-by-change basis, said method comprising:
-
storing an image of said shared memory at a first workstation; implementing a change to said image thereby creating a changed image, and storing said changed image at said first workstation; transferring a new copy identification number and a first copy of said changed image to a second workstation, and in response placing a copy marker in a first workstation change log, said copy marker corresponding to said new copy identification number; transferring said new copy identification number and a second copy of said changed image from said second workstation to said shared memory; and comparing a copy identification number associated with said first workstation with a copy identification number associated with said shared memory and ascertaining that said copy identification number associated with said shared memory has changed to said new copy identification number, and ascertaining that said copy marker stored at said first workstation corresponds to said new copy identification number stored at said shared memory, and in response ascertaining that information in said shared memory is derived from said changed image stored at said first workstation and that neither a complete download nor a complete upload need be performed in order for said first workstation to be correlated with said shared memory.
-
-
21. A method of modifying a shared memory with a first workstation and thereafter correlating a second workstation with said shared memory, said shared memory being associated with a memory change list for permitting workstations to be dynamically correlated on a change-by-change basis, said method comprising:
-
storing an image of said shared memory at said first workstation; implementing a change to said image thereby creating a changed image, and storing said changed image at said first workstation; generating a new log identification number at said first workstation; transferring said new log identification number and said changed image to a device which comprises said shared memory, and replacing contents of said shared memory with said changed image; regularly comparing a first log identification number associated with said second workstation with a second log identification number associated with said shared memory and ascertaining that said second log identification number associated with said shared memory has changed to said new log identification number, including ascertaining that said first log identification number does not correspond to said new log identification number, and in response opting to (1) download the entire said changed image from said shared memory to said second workstation rather than (2) reference said change list associated with said shared memory and update said second workstation on a change-by-change basis. - View Dependent Claims (27)
-
-
22. An industrial control system comprising:
-
A. a network which interconnects a plurality of workstations; B. a programmable controller having a memory device, said memory device having stored therein 1. information which is monitored by said plurality of workstations, said information being stored in a shared memory area of said memory device, 2. a memory change list in the form of a circular buffer, said memory change list forming a list of changes which have been made to said information stored in said shared memory area, 3. a memory change index, said memory change index being indicative of the location in said memory change list of the most recent entry to said memory change list, 4. a log identification, said log identification being set when one of said plurality of workstations downloads a new complete set of information to said shared memory area, and wherein the setting of said log identification renders said memory change list and said memory change index temporarily unusable to a remaining workstation until said remaining workstation performs one of a full download and a full upload with said shared memory area, and 5. wherein addresses of said shared memory area are designated with a hierarchical protocol, and wherein information objects that form the hierarchy are designated by class numbers and instance numbers, said class numbers distinguishing different categories of information, and said instance numbers distinguishing different information objects within the same category, and wherein said memory change list includes (a) a first entry which denotes a first change at a first level of said hierarchy and (b) a second entry which denotes a second change at a second level of said hierarchy; C. a first workstation, said first workstation being included among said plurality of workstations, said first workstation being connected to said programmable controller by said network, said first workstation including 1. a first workstation image of said shared memory area, 2. a first workstation change index, said first workstation change index being indicative of the most recent entry to said memory change list which has also been implemented in said first workstation image of said shared memory area,
-
-
23. a first workstation change list, said first workstation change list forming a list of changes which have been made to said first workstation image of said shared information after said first workstation goes off-line, wherein at least one entry comprises a copy marker, said copy marker being generated in response to a copy being made of said first workstation image for another of said plurality of workstations, and wherein a correspondence between said copy marker and a copy identification stored at said microprocessor based devices indicates that said shared memory area is derived from said first workstation image;
-
D. a second workstation, said second workstation being included among said plurality of workstations, said second workstation being connected to said programmable controller by said network, and said second workstation including 1. a second workstation image of said shared memory area, and 2. a second workstation change index, said second workstation change index being indicative of the most recent entry to said memory change list which has also been implemented in said second workstation image of said shared memory area; and E. wherein said first workstation regularly compares, at least once per minute, said first workstation change index with said memory change index thereby permitting said first workstation image to be dynamically correlated with said shared memory area; and F. wherein said microprocessor-based device is a passive participant in the correlation of said first workstation, said microprocessor-based device being passive in that it does not monitor whether said first workstation is on-line for purposes of keeping said first workstation correlated and in that in that it does not monitor changes made in said first workstation image of said shared memory area.
-
-
24. A dynamic correlation method for use in an industrial control system, the method comprising:
-
A. providing said industrial control system, said industrial control system comprising an industrial controller, a first workstation, and a plurality of additional workstations; B. connecting said industrial controller, said first workstation, and said plurality of additional workstations by way of a network; C. storing a plurality of images of a shared memory at said plurality of additional workstations, said shared memory being a memory of said industrial controller; D. implementing a new change to said shared memory with said first workstation, said implementing step occurring while said first workstation and said plurality of additional workstations are connected to said industrial controller by way of said network, E. making a record of said change implemented to said shared memory in a change log associated with said shared memory; F. dynamically correlating said plurality of images of said shared memory with said shared memory, said dynamically correlating step including the following steps, which are each performed for each one of said plurality of workstations in conjunction with a respective one of said plurality of images of said shared memory,
-
-
25. ascertaining whether a change has been made to said shared memory since said image of said shared memory was last updated, andimplementing said new change to said image of said shared memory after it is ascertained that said new change has been made;
wherein changes to said shared memory are implemented to said images of said shared memory on a change-by-change basis as said changes to said shared memory are implemented.
Specification