Accessing and updating a configuration database from distributed physical locations within a process control system
First Claim
1. A configuration database system for use in storing configuration data pertaining to a process control system having a plurality of geographically distributed physical locations, the configuration database system comprising:
- a configuration database located at each of the plurality of physical locations, wherein each of the configuration databases is adapted to originally store a different portion of the configuration data;
a communication network that communicatively couples the plurality of geographically distributed physical locations together; and
a configuration application adapted to communicate with each of the databases via the communication network and to use data from two or more of the configuration databases to perform a configuration activity.
0 Assignments
0 Petitions
Accused Products
Abstract
A configuration database includes multiple databases distributed at a plurality of physical locations within a process control system. Each of the databases may store a subset of the configuration data and this subset of configuration data may be accessed by users at any of the sites within the process control system. A database server having a shared cache accesses a database in a manner that enables multiple subscribers to read configuration data from the database with only a minimal number of reads to the database. To prevent the configuration data being viewed by subscribers within the process control system from becoming stale, the database server automatically detects changes to an item within the configuration database and sends notifications of changes made to the item to each of the subscribers of that item so that a user always views the state of the configuration as it actually exists within the configuration database.
-
Citations
79 Claims
-
1. A configuration database system for use in storing configuration data pertaining to a process control system having a plurality of geographically distributed physical locations, the configuration database system comprising:
-
a configuration database located at each of the plurality of physical locations, wherein each of the configuration databases is adapted to originally store a different portion of the configuration data;
a communication network that communicatively couples the plurality of geographically distributed physical locations together; and
a configuration application adapted to communicate with each of the databases via the communication network and to use data from two or more of the configuration databases to perform a configuration activity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40)
-
-
12. A distributed configuration database system adapted to be used in a process control system having multiple physical locations:
-
a first configuration database located at a first one of the physical locations that stores a first portion of configuration data for the process control system;
a second configuration database located at a second one of the physical locations that stores a second portion of the configuration data for the process control system, wherein the first portion of the configuration data is different than the second portion of the configuration data; and
a communication network that interconnects the first physical location and the second physical location using a slow communication link;
wherein the first and the second configuration databases are adapted to communicate with users at the first and the second physical locations.
-
-
19. A method of storing and using configuration data related to a process control system when the process control system has two or more physical locations which are geographically separated, the method comprising the steps of:
-
storing a different portion of the configuration data within each of a plurality of configuration databases, wherein two of the configuration databases are located at different physical locations;
providing a communication link between each of the configuration databases, and accessing different configuration data from two or more of the configuration databases at the same time to perform a configuration activity.
-
-
23. A database server adapted to provide multiple clients concurrent access to a database component stored in a database, the database server comprising:
-
a shared cache including a memory store communicatively coupled to the database, wherein the memory store holds a copy of the database component;
a memory store gate associated with the memory store, wherein the memory store gate controls access to the memory store; and
a client thread for each of the multiple of clients, wherein each of the client threads includes a server component that communicates with the memory store gate to gain access to the memory store and that communicates with one of the multiple clients with respect to the database component stored in the memory store;
wherein the memory store gate communicates with a single server component when only one of the multiple clients is accessing the database component and the memory store gate communicates with two or more server components when two or more clients are accessing the database component.
-
-
35. A database server adapted to provide multiple clients concurrent access to a plurality of database components stored in a database, the database server comprising:
-
a shared cache including a plurality of memory stores communicatively coupled to the database, wherein each of the memory stores holds a copy of a different one of the database components;
a memory store gate associated with each of the memory stores, wherein each of the memory store gates controls access to the associated memory store; and
a client thread for each of the multiple of clients, wherein each of the client threads includes a server component that communicates with one of the memory store gates to gain access to the memory store associated with the one of the memory store gates and that communicates with one of the multiple clients with respect to the database component stored in the memory store associated with the one of the memory store gates;
wherein each of the memory store gates communicates with a single server component when only one of the multiple clients is accessing the database component stored in the memory store associated with the memory store gate and wherein each of the memory store gates communicates with two or more server components when two or more of the multiple clients are accessing the database component stored in the memory store associated with the memory store gate.
-
-
41. A database server adapted to be used in a process control system to provide multiple clients concurrent access to a database component stored in a database, the database server comprising:
-
a shared cache;
a first element that establishes, within the shared cache, a memory store for the database component when the database component is being accessed by one or more of the multiple clients; and
a client thread routine that establishes a client thread for each of the multiple clients, wherein each of the client threads includes a server component that communicates with one of the clients and that communicates with the memory store to thereby provide access to the database component stored in the memory store by the one of the clients;
wherein the memory store is adapted to communicate with a single server component when only one of the multiple clients is accessing the database component and wherein the memory store is adapted to communicate with two or more server components when two or more of the multiple clients are accessing the database component. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A method of providing multiple clients access to a database component stored in a database, the method comprising the steps of:
-
creating a storage object within a shared cache, wherein the storage object communicates with the database to read to or to write from the database with respect to the database component;
using a first client thread to provide communication between a first one of the clients and the database component, wherein the step of using the first client thread includes the steps of;
creating a first communication component that communicates with the first client with respect to the database component; and
providing a link between the first communication component and the storage object; and
using a second client thread to provide communication between a second one of the clients and the database component, wherein the step of using the second client thread includes the steps of;
creating a second communication component that communicates with the second client with respect to the database component; and
providing a link between the second communication component and the storage object. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64)
-
-
65. A method of using a database server to provide a multiplicity of clients concurrent access to components stored in a database having a shared cache, the method including the steps of:
-
performing the following three steps when a client requests access to a component within the database;
(1) creating a communication component object within a database server that communicates with the client with respect to the component;
(2) determining if a shared memory object has been established within the shared cache for the component and creating the shared memory object for the component within the shared cache if the shared memory object has not been established within the shared cache; and
(3) providing a communication link between the shared memory object and the communication component; and
using the shared memory object to read from and to write to database to thereby read the component from the database and to write to the component within the database;
wherein, when two or more clients access the same component, two or more communication component objects are communicatively coupled to the same shared memory object. - View Dependent Claims (66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79)
-
-
69. A process control system comprising:
-
a database located at a first physical location, wherein the database stores database components;
a multiplicity of client applications, wherein one of the client applications is located at a second physical location substantially geographically separated from the first physical location;
a communication link between the first physical location and the second physical location; and
a database server the provides access to the database components within the database by the multiplicity of client applications, the database server including;
a shared cache having a plurality of memory objects, wherein each of the memory objects communicates with the database and stores a copy of one of the database components being accessed by at least one of the multiplicity of clients; and
one or more communication objects associated with each of the client applications, wherein each of the communication objects communicates with an associated one of the client applications and with one of the memory objects;
wherein a memory object that is being accessed by two or more client applications is communicatively coupled to two or more communication objects.
-
Specification