Accessing and updating a configuration database from distributed physical locations within a process control system
First Claim
1. 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 clients, wherein each of the client threads includes a server component adapted to communicate with the memory store gate to gain access to the memory store and adapted to communicate 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.
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
46 Claims
-
1. 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 clients, wherein each of the client threads includes a server component adapted to communicate with the memory store gate to gain access to the memory store and adapted to communicate 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. 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 adapted to communicate with one of the memory store gates to gain access to the memory store associated with the one of the memory store gates and adapted to communicate 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. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. 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 adapted to establish, 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 adapted to establish a client thread for each of the multiple clients, wherein each of the client threads includes a server component adapted to communicate with one of the clients and adapted to communicate 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 (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method of providing multiple clients access to a database component stored in a database, the method comprising:
-
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 using the first client thread includes; creating a first communication component to communicate 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 using the second client thread includes, creating a second communication component to communicate 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 (34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. 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 being executed on a general-purpose computer and comprising:
-
performing the following three actions when a respective client requests access to a component within the database; (1) creating a respective communication component object within a database server to communicate with each respective 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, wherein the shared memory object is accessible by multiple communication component objects; and (3) providing a communication link between the shared memory object and the respective communication component objects; using the shared memory object to read from and to write to the database to thereby read the component from the database and to write to the component within the database; and communicating with the same shared memory object by two or more communication component objects when two or more clients access the same component. - View Dependent Claims (44, 45, 46)
-
Specification