Data distribution service and database management systems bridge
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-007/00
G06F-012/00
G06F-017/00
G06F-017/30
출원번호
UP-0253504
(2005-10-18)
등록번호
US-7533128
(2009-07-01)
발명자
/ 주소
Sanchez, Fernando Crespo
Joshi, Rajive
Pardo Castellote, Gerardo
출원인 / 주소
Real Time Innovations, Inc.
대리인 / 주소
Beyer Law Group LLP
인용정보
피인용 횟수 :
13인용 특허 :
31
초록▼
A bridge to integrate representation of global data space in Data Distribution Service (DDS) and Data Management Systems (DBMS). The DDS concept of a keyed topic and a type is mapped to the DBMS notion of a keyed table and schema representing data-object instances. Rules are specified for translatin
A bridge to integrate representation of global data space in Data Distribution Service (DDS) and Data Management Systems (DBMS). The DDS concept of a keyed topic and a type is mapped to the DBMS notion of a keyed table and schema representing data-object instances. Rules are specified for translating between a DBMS table record and the DDS wire format representation. Four bridge components are possible: Bridge-DDS-DBMS-Publication to store outgoing published data; Bridge-DDSDBMS-Subscription to store incoming subscribed data; Bridge-DBMS-DDS-Publication to publish changes to a DBMS table; and Bridge-DBMS-DDS-Subscription to update a DBMS Table based on received data subscriptions from the network. Mechanisms are provided for preventing publication of data seen by DDS, and for preventing application of changes already made in a DBMS table. Use cases include: data caching in a database; automatic persistency of all (or selected) global data-objects; distributing database contents; and multi-vendor database content transfer.
대표청구항▼
What is claimed is: 1. A computer-implemented method having at least one processor for unifying storage and distribution of data objects common to a set of user applications spread across a plurality of nodes coupled together to achieve a global data space, the method comprising: in a distribution
What is claimed is: 1. A computer-implemented method having at least one processor for unifying storage and distribution of data objects common to a set of user applications spread across a plurality of nodes coupled together to achieve a global data space, the method comprising: in a distribution view of the global data space, carrying out distribution operations related to the distribution of data among the nodes comprising the global data space, wherein the data objects are organized into strongly-typed named topics and the distribution operations are enabled by middleware, executing on the nodes, to coordinate communication of changes to one or more user-defined data objects, wherein each user application may function as either or both of a data publisher and data subscriber to at least one of the strongly-typed named topics, and wherein the communication of changes to one or more user-defined data objects includes the middleware communicating changes to one or more user-defined data objects on a named topic from a data publisher user application for that named topic to at least one data subscriber user application for that named topic; in a storage view of the global data space, carrying out storage operations related to the storage of data local to the nodes comprising the global data space; mapping the storage operations and the distribution operations based on properties of the operations such that a storage operation automatically causes a distribution operation and a distribution operation automatically causes a storage operation, wherein the mapping step includes mapping between an operation for database modification and an operation for data distribution such that changes to a user data-object instance in the global data space made by a particular node via a data distribution write operation are propagated into a data storage operation with respect to the particular node. 2. The method of claim 1, wherein: carrying out a distribution operation and carrying out a storage operation is with respect to a particular data object instance via a distribution operation application programming interface (API) and a storage operation application programming interface (API), respectively. 3. The method of claim 1, wherein: the distribution operation API is configured such that the particular data object instance is accessible via distribution operation characteristics; and the storage operation API is configured such that the particular data object instance is accessible via storage operation characteristics. 4. The method of claim 1, wherein: the mapping step is carried out by bridge functionality associated with the nodes. 5. The method of claim 4, wherein: a particular portion of the bridge functionality is associated with each node and is configured to map the storage operations and the distribution operations with respect to that node. 6. The method of claim 5, wherein: the particular portion of the bridge functionality being configured to map the storage operations and the distribution operations with respect to a node includes the particular portion of the bridge functionality being configured to map among parameters of each storage operation and corresponding parameters of each distribution operation. 7. The method of claim 6, wherein: the particular portion of the bridge functionality being configured to map among parameters of each storage operation and corresponding parameters of each distribution operation includes the particular portion of the bridge functionality being configured to map between an operation for database modification and an operation for data distribution. 8. The method of claim 1, further comprising: filtering a particular operation that would otherwise be automatically caused based on an operation mapping, in response to a determination that the particular operation has already been carried out. 9. The method of claim 7, wherein: being configured to map between an operation for database modification and an operation for data distribution includes being configured to propagate changes to a user data-object instance in the global data space made by a particular node via a data distribution write operation into a data storage operation with respect to the particular node. 10. The method of claim 7, wherein: being configured to map between an operation for database modification and an operation for data distribution includes being configured to propagate changes to a local user data-object instance made by a particular node as a result of a data distribution data access operation into a data storage operation with respect to the particular node. 11. The method of claim 7, wherein: being configured to map between an operation for database modification and an operation for data distribution includes being configured to propagate a local data modification operation with respect to the particular node into changes to a user data-object instance in the global data space via a data distribution write operation. 12. The method of claim 11, wherein: being configured to propagate a local data modification operation with respect to the particular node into changes to a user data-object instance in the global data space via a data distribution write operation is accomplished using a dynamically-linked library. 13. The method of claim 11, wherein: being configured to propagate a local data modification operation with respect to the particular node into changes to a user data-object instance in the global data space via a data distribution write operation is accomplished using a standalone daemon. 14. The method of claim 7, wherein; being configured to map between an operation for database modification and an operation for data distribution includes being configured to update the local storage with respect to the particular node in response to a changes to a user data-object instance in the global-data space via a data distribution data access operation. 15. The method of claim 14, wherein: being configured to update the local storage with respect to the particular node in response to a changes to a user data-object instance in the global-data space via a data distribution data access operation is accomplished using a dynamically-linked library. 16. The method of claim 14, wherein: being configured to update the local storage with respect to the particular node in response to a changes to a user data-object instance in the global-data space via a data distribution data access operation is accomplished using a standalone daemon. 17. The method of claim 1, wherein: the propagation of changes to the user data object instance in the global data space into the data storage operation is according to a data storage quality of service policy. 18. The method of claim 1, wherein: wherein the propagation is according to a set of functions or reflective type codes to propagate changes from a user datawriter in the data distribution view of the global data space to appropriate associated tables in the storage view of the global data space, optionally maintaining a rolling history. 19. The method of claim 1, wherein: the mapping step further includes mapping between an operation for database modification and an operation for data distribution such that changes to a local user data-object instance made by a particular node as a result of a data distribution data access operation are propagated into a data storage operation with respect to the particular node. 20. The method of claim 19, wherein: wherein the propagation into a data storage operation with respect to the particular node is according to a set of functions or reflective type codes to propagate changes from a user datareader in the data distribution view of the global data space to appropriate associated tables in the storage view of the global data space, optionally maintaining a rolling history. 21. The method of claim 19, wherein: the mapping step further includes filtering out changes to a local user data object instance that have already been propagated into a data storage operation, so that the changes are not propagated again. 22. The method of claim 1, wherein: the mapping step further includes mapping between an operation for database modification and an operation for data distribution such that a data storage operation with respect to the particular node is propagated into changes to a user data-object instance via a data distribution write operation. 23. The method of claim 22, wherein: the mapping step further includes monitoring the database for the changes. 24. The method of claim 23, wherein: the monitoring is event based. 25. The method of claim 23, wherein: the monitoring is by polling. 26. The method of claim 22, wherein: the mapping step further includes filtering out changes in the database that have already been propagated so that the changes are not propagated again. 27. The method of claim 22, further comprising: processing a publication indication that indicates tables in the database to be published via the data distribution write operations and the user data-object instances in the global data space to which to publish. 28. The method of claim 1, wherein: the mapping step further includes mapping between an operation for database modification and an operation for data distribution such that the local storage is updated with respect to the particular node in response to changes to a user data-object instance in the global-data space accessed by the node via a data distribution data access operation. 29. The method of claim 28, wherein: the data storage operations with respect to data storage local to a particular node are configured according to parameters characterizing the local data storage. 30. The method of claim 29, wherein: the parameters characterizing the local data storage include vendor-specific characteristics. 31. The method of claim 29, wherein: the mapping between an operation for database modification and an operation for data distribution is performed by a database updater that updates appropriate tables in the local storage based on changes received by a reader of the data distribution data access operation. 32. The method of claim 29, further comprising: processing a subscription indication that indicates tables in the database to be automatically updated based on changes to user data-object instances in the global data space via data distribution data access operations. 33. The method of claim 29, wherein: the mapping step further includes filtering out modifications to the database that have already been propagated so that the changes are not made again. 34. The method of claim 1, wherein: mapping the storage operations and the distribution operations includes mapping a semantic model of the storage operations and a semantic model of the distribution operations. 35. The method of claim 34 wherein: mapping a semantic model of the storage operations and a semantic model of the distribution operations includes mapping a semantic model of the storage operations to a semantic model of the distribution operations. 36. The method of claim 34, wherein: mapping a semantic model of the storage operations and a semantic model of the distribution operations includes mapping a semantic model of the distribution operations to a semantic model of the storage operations. 37. The method of claim 34, wherein: the semantic model of the storage operations and the semantic model of the distribution operations are such that a domain in the data distribution view of the global data space maps to a database in the storage view of the global data space. 38. The method of claim 37, wherein: the semantic model of the storage operations and the semantic model of the distribution operations are such that a topic in the data distribution view of the global data space maps to a table in the storage view of the global data space. 39. The method of claim 38, wherein: the semantic model of the storage operations and the semantic model of the distribution operations are such that an user data-object instance, identified by instance key fields, in the data distribution view of the global data space maps to a row of a table, identified by a primary key, in the storage view of the global data space. 40. The method of claim 39, wherein: a write( ) or variation of a write( ) data distribution operation maps to an insert/update row storage operation. 41. The method of claim 39, wherein: a dispose( ) or variation of a dispose( ) data distribution operation maps to a delete row storage operation. 42. The method of claim 1, wherein: mapping the storage operations and the distribution operations includes mapping a data representation used by the storage operations and a data representation used by the distribution operations. 43. The method of claim 42, wherein: the data representation of the storage operations and the data representation of the distribution operations are such that interface description language instructions for distribution operations is mapped to SQL instructions for storage operations. 44. The method of claim 42, wherein; the data representation of the storage operations and the data representation of the distribution operations are such that interface description language identifiers for distribution operations are mapped to SQL identifiers for storage operations. 45. The method of claim 42, wherein: the data representation of the storage operations and the data representation of the distribution operations are such that interface description language types for distribution operations are mapped to SQL Table Schema for storage operations. 46. The method of claim 45, wherein: interface description language structures are mapped to SQL tables, such that the SQL table columns correspond to the fields in the interface description language structure. 47. The method of claim 45, wherein: interface description language unions are mapped to SQL tables, such that the SQL table columns correspond to the case statements and the fields in the union, in the interface description language structure. 48. The method of claim 45, wherein: interface description language structures and unions are mapped to SQL tables, such that, for nested structures or unions, an SQL column corresponds to flattened out field names in the interface description language. 49. The method of claim 42, wherein: user data in the data representation used for distribution operations is mapped to user data in the data representation used for storage operations, such that user data in the data representation used for distribution operations is converted to a corresponding table row representation using either type specific functions or a reflective type code. 50. The method of claim 42, wherein: user data in the data representation used for distribution operations is mapped to user data in the data representation used for storage operations, such that user data in the data representation used for storage operations is converted to a corresponding distribution operations format using either the table schema or a reflective type code. 51. The method of claim 42, further comprising: maintaining a rolling history of samples of a data distribution data-object instance in a storage table. 52. The method of claim 42, wherein: mapping a data representation used by the storage operations and a data representation used by the distribution operations includes mapping table schema identifiers used by the storage operations and type identifiers used by the distribution operations. 53. The method of claim 52, wherein: mapping table schema identifiers used by the storage operations and type identifiers used by the distribution operations includes mapping table schema identifiers used by the storage operations to type identifiers used by the distribution operations. 54. The method of claim 52, wherein: mapping table schema identifiers used by the storage operations and type identifiers used by the distribution operations includes mapping type identifiers used by the distribution operations to table schema identifiers used by the storage operations. 55. The method of claim 42, wherein: mapping a data representation used by the storage operations and a data representation used by the distribution operations includes mapping primitive types used by the storage operations and primitive types used by the distribution operations. 56. The method of claim 55, wherein: mapping primitive types used by the storage operations and primitive types used by the distribution operations includes mapping primitive types used by the storage operations to primitive types used by the distribution operations. 57. The method of claim 55, wherein: mapping primitive types used by the storage operations and primitive types used by the distribution operations includes mapping primitive types used by the distribution operations to primitive types used by the storage operations. 58. The method of claim 42, wherein: mapping a data representation used by the storage operations and a data representation used by the distribution operations includes mapping complex types used by the storage operations and representations of the complex types used by the distribution operations. 59. The method of claim 58, wherein: mapping complex types used by the storage operations and complex types used by the distribution operations includes mapping complex types used by the distribution operations to complex types used by the storage operations. 60. The method of claim 58, wherein: the complex type is an unbounded sequence. 61. The method of claim 58, wherein: the complex type is a bounded sequence or an array. 62. The method of claim 58, wherein: mapping a data representation used by the storage operations and a data representation used by the distribution operations includes: mapping a SQL Table schema that is the data representation used by the storage operations to interface definition language types that is the data representation used by the distribution operations. 63. The method of claim 42, wherein: mapping a data representation used by the storage operations and a data representation used by the distribution operations includes: mapping interface definition language types that is the data representation used by the distribution operations to a SQL Table schema that is the data representation used by the storage operations. 64. The method of claim 1, wherein: the mapping step includes, within a node, mapping data distribution data access operations having a particular property to corresponding data store operations. 65. The method of claim 1, wherein: the mapping step includes, within a node, mapping a data distribution access operation relative to a particular topic to a data storage operation for that topic. 66. The method of claim 65, further comprising: within the node, processing data accessed via a data distribution access operation to discover a topic; and configuring local data storage of that node to accommodate automatic data storage operations for that topic. 67. The method of claim 1, wherein: the mapping step includes, for local data storage within a node, mapping data modification operations for a particular table with respect to local storage to corresponding data distribution write operations. 68. The method of claim 1, wherein: the distribution operations related to the distribution of data among the nodes comprising the global data space are carried out according to a Data Distribution Service standard promulgated by Object Management Group.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (31)
Agrawal Mukul (Plymouth MN) Orrock James E. (Eden Prairie MN) Patiath Pradip K. (Brooklyn Park MN) Rachor Lloyd A. (Brooklyn Park MN), Advanced equipment control system.
Steinman Jethro F. ; Salpakari Pekka M.,FIX ; Rehikainen Hannu J.,FIX ; Ollikainen Matti H.,FIX ; Chernoquzov Alexander V. ; Narayan Shashank S., Call mechanism for static and dynamic linked functions within an object-oriented controller using heterogeneous development tool sets.
Launey Reuel O. (Arlington VA) Grendler Peter A. (Silver Spring MD) Packham Donald L. (Fort Lauderdale FL) Battaglia James M. (Kettering MD) Levine Howard E. (Adelphi MD), Expandable home automation system.
Burns Harry A. ; Larson Brent H. ; Brown Larry K., Local device and process diagnostics in a process control network having distributed control functions.
Noss Jeffrey S. (Bay Village OH), Method and apparatus for modification of a prerecorded programmed sequence of motions during execution thereof by a robo.
Shah Mahesh V. ; McDaniel David W. ; Vatteroni James R. ; Jaggers Stephen B. ; Worline Mark E., Method and platform for interfacing between application programs performing telecommunications functions and an operating system.
Bohrer Kathryn Ann ; Carey James E. ; Carlson Brent A.,SEX ; Graser Timothy ; Nilsson Anders,NOX ; Vlissides John M., Method of developing a software system using object oriented technology.
Alex Bernaden, III ; Gaylon M. Decious ; John E. Seem ; Kirk H. Drees ; Jonathan D. West ; William R. Kuckuk, Method of programming and executing object-oriented state machine logic in a controller.
Hapner Mark W. ; Cattell Roderic G., Methods and apparatus for managing a database in a distributed object operating environment using persistent and transi.
Goiffon David A. ; Hartmann Gerald E. ; Johnson David R., Object management system supporting the use of application domain knowledge mapped to technology domain knowledge.
Nixon Mark ; Havekost Robert B. ; Jundt Larry O. ; Stevenson Dennis ; Ott Michael G. ; Webb Arthur,GBX ; Lucas Mike,GBX, Process control system using a process control strategy distributed among multiple control elements.
Todd, Stephen James Paul; Ayres, Malcolm David; Holloway, Timothy Nicholas; Holdsworth, Simon Anthony James; Schmidt, Marc-Thomas; Taylor, Michael George, Publish/subscribe data processing with subscription points for customized message processing.
Gloudeman Jeffrey J. ; Gottschalk Donald A. ; Rasmussen David E. ; Wainscott ; Jr. Barrett G., Software components for a building automation system based on a standard object superclass.
Kleewein James Charles ; Lin Eileen Tien ; Mukai Tina Louise ; Wang Yun, System and method for providing a single application program interface for heterogeneous databases.
de Campos Ruiz, Alejandro; Pardo-Castellote, Gerardo; López Vega, José María; Crespo Sanchez, Fernando, Bridging data distribution services domains based on discovery data.
Jun, Hyung Kook; Lee, Soo Hyung; Kim, Kyeong Tae; Kim, Jae Hyuk; Kim, Won Tae; Park, Seung Min, DDS structure with scalability and adaptability and node constituting the same.
Lindsay, Bruce Gilbert; Raphael, Roger C.; Taylor, Paul Sherwood, Method and system for distributed task dispatch in a multi-application environment based on consensus.
Lindsay, Bruce Gilbert; Raphael, Roger C.; Taylor, Paul Sherwood, Method and system for distributed task dispatch in a multi-application environment based on consensus.
Lindsay, Bruce Gilbert; Raphael, Roger C.; Taylor, Paul Sherwood, System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.