IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0222555
(2002-08-16)
|
발명자
/ 주소 |
- Nixon,Mark
- Chatkoff,Teresa
- Gilbert,Stephen
|
출원인 / 주소 |
- Fisher Rosemount Systems, Inc.
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
27 인용 특허 :
29 |
초록
▼
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 proc
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.
대표청구항
▼
What is claimed is: 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
What is claimed is: 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. 2. The database server of claim 1, further including a notify thread having a notify engine adapted to detect a change made to the database component within the database and to notify the memory store gate of the detected change. 3. The database server of claim 2, wherein the memory store gate notifies the server components communicating with the memory store gate of the detected change and wherein the notified server components notify the clients with which the notified server components communicate of the detected change. 4. The database server of claim 2, wherein the notify thread further includes a map which maps the database component stored in the database to the memory store gate and wherein the notify engine uses the map to notify the memory store gate of the detected change. 5. The database server of claim 4, wherein the memory store gate includes a unique identifier and registers the unique identifier with the map and wherein the memory store uses a transactional object to read the database component from or to write the database component to the database and wherein the transactional object registers a database component location for the database component with the map to be associated with the unique identifier. 6. The database server of claim 2, further including a runtime thread including a runtime notify engine adapted to detect changes made with respect to the database component made by applications executed outside of the database and to notify the memory store gate of the detected change to the database component. 7. The database server of claim 1, wherein the server component of each of the client threads is capable of reading from and writing to the memory store. 8. The database server of claim 1, wherein one of the server components communicates with one of the multiple clients via a slow communication link. 9. The database server of claim 1, wherein the slow communication link is a satellite communication link. 10. The database server of claim 1, further including a lock manager which causes the memory store gate to prevent writes to the memory store. 11. The database server of claim 10, wherein the lock manager causes the memory store gate to prevent writes to the memory store by each of the clients except one of the clients when the one of the clients is writing to the memory store. 12. The database server of claim 1, wherein the database is a configuration database and the database component is a configuration component related to the configuration of a process control network. 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. 14. The database server of claim 13, further including a notify thread having a notify engine adapted to detect a change made to one of the database components and to notify one of the memory store gates of the detected change. 15. The database server of claim 14, wherein the one of the memory store gates notifies the server components communicating with the one of the memory store gates of the detected change and wherein the notified server components notify the clients with which the notified server components communicate of the detected change. 16. The database server of claim 15, wherein the notified server components provide the detected change to the clients with which the notified server component communicate. 17. The database server of claim 13, further including a lock manager which causes each of the memory store gates to prevent writes to the associated memory store. 18. The database server of claim 17, wherein the two of the memory store gates have a parent/child relationship so that one of the two memory store gates is a parent memory store gate and the other of the two memory store gates is a child memory store gate and wherein the lock manager causes a lock of the child memory store gate when the lock manager causes a lock of the parent memory store gate. 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. 20. The database server of claim 19, wherein the first element further establishes a memory store gate associated with the memory store and wherein the memory store gate is adapted to communicate with the server components in two or more of the client threads to provide access to the associated memory store by each of the server components in the two or more client threads when two or more clients are accessing the database component. 21. The database server of claim 20, wherein the memory store uses a transactional object to access the database component within the database. 22. The database server of claim 20, further including a notify thread having a notify engine and a map, wherein the notify engine detects a change to the database component within the database and uses the map to notify the memory store gate of the detected change. 23. The database server of claim 22, wherein the memory store gate notifies all of the server components to which the memory store gate communicates of the detected change to the database component and wherein the notified server components notify the clients with which the notified server components communicate of the detected change. 24. The database server of claim 22, wherein the memory store gate causes the memory store to read the database component from the database when the notify engine notifies the memory store gate of the detected change to the database component within the database. 25. The database server of claim 22, wherein the notify thread uses a change list generated by the database to detect the change to the database component within the database. 26. The database server of claim 22, further including a runtime services notify thread adapted to detect a change to the database component based on the operation of runtime applications executed within the process control system and to notify the memory store gate of the detected change. 27. The database server of claim 19, wherein at least one of the server components is adapted to communicate with one of the multiple clients via a satellite communication link. 28. The database server of claim 19, wherein at least one of the server components is adapted to communicate with one of the multiple clients via a cellular communication link. 29. The database server of claim 19, wherein at least one of the server components is adapted to communicate with one of the multiple clients via a wireless communication link. 30. The database server of claim 19, wherein at least one of the server components is adapted to communicate with one of the multiple clients via a telephone communication link. 31. The database server of claim 19, further including a locking manager adapted to lock the memory store when one of the multiple clients is accessing the memory store to prevent access to the memory store by the others of the multiple clients. 32. The database server of claim 19, further including a context memory and wherein the memory store uses a first portion of the context memory when communicating with the database on behalf of a first one of the clients and uses a second and different portion of the context memory when communicating with the configuration database on behalf of a second one of the clients. 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. 34. The method of claim 33, wherein creating the storage object includes creating a storage object gate associated with the storage object, wherein the storage object gate is adapted to communicate with the server components in the first and second client threads to provide access to the storage object by each of the server components in the first and second client threads. 35. The method of claim 34, including using a transactional object to access the database component within the database and to provide communications between the storage object and the database. 36. The method of claim 34, further including detecting a change to the database component within the database and notifying the storage object gate of the change. 37. The method of claim 36, further including using the storage object gate to notify all of the server components to which the storage object gate communicates of the detected change to the database component and including the step of communicating the detected change to the database component from the notified server components to the clients with which the notified server components communicate. 38. The method of claim 37, further including causing the storage object to read the database component from the database when the change to the database component is detected. 39. The method of claim 37, wherein communicating the detected change from the notified server components to the clients includes using a satellite communication link to communicate between one of the server components and one of the clients. 40. The method of claim 37, wherein communicating the detected change from the notified server components to the clients includes using a wireless communication link to communicate between one of the server components and one of the clients. 41. The method of claim 37, wherein communicating the detected change to the database component from the notified server components to the clients includes using a telephone line communication link to communicate between one of the server components and one of the clients. 42. The method of claim 37, further including locking the storage object when one of the multiple clients is accessing the storage object to prevent access to the storage object by the others of the multiple clients. 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. 44. The method of claim 43, further including detecting a change to one of the components and notifying each of the clients accessing the one of the components of the detected change. 45. The method of claim 44, further including causing the shared memory object for the one of the components to read the changed component from the database. 46. The method of claim 44, further including locking one of the shared memory objects when one of the communication components accesses the one of the shared memory objects to thereby prevent other ones of the communication objects from accessing the shared memory component when the one of the communication objects accesses the shared memory object.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.