Data regarding assets, such as oil wells, may be stored in more than one database. The identifier, such as a name, of an asset in one database may be different from the name of the same asset in another database. Data about an asset may be moved from one or more databases and stored in another database. Synchronizing such data can be a challenge.
While this specification is written about synchronization of data about hydrocarbon wells, the techniques described herein would apply to any asset. In particular, the techniques described herein would apply to any process where data from multiple sources is used in a merged fashion. In one example, data from sources 1 and 2 are used and then data from sources 2 and 3 are used. From these uses, a relationship between sources 1 and 3, that was not originally required but can be taken advantage of in other processes, is inferred.
Turning to
In one embodiment, database-system-1 106, database-system-2 110, and database-system-3 have no technical relationship; that is they have no shared code or database structures.
In one embodiment, each of the data-1 104 stored in database-system-1 106, the data-2 108 stored in database-system-2 110, and the data-3 112 stored in database-system-3 114 supports a respective, and possibly completely different, set of business processes and applications and is updated as necessary to support those business processes and applications.
A user reviewing database-system-1 106, database-system-2 110, and database-system-3 114 may not be able to determine that Well A, Well 1, and East-block well 1.1a refer to the same well. Further, in one embodiment, it is not necessary to know that Well A and East-block well 1.1a are not the same well because that relationship will be inferred, as described below.
Similarly, in one embodiment, a data share process 202, illustrated in
In one embodiment, illustrated in
In one embodiment, the inference processor 206 queries the relationship database 204 and determines that a relationship between the data-1 104 stored in database-system-1 106 and data-2 108 stored in database-system-2 110 is stored in the relationship database 204. In a different embodiment, the inference processor 206 queries the relationship database 204 and determines that no such relationship has been stored in the relationship database 204.
In one embodiment in which the relationship between data-1 104 and data-2 108 does not yet exist in the relationship database 204, shown in
In one embodiment, the interaction with the relationship database 204 and the user described in the preceding paragraph is done by the data share process 202 rather than the inference processor 206.
In either case, in one embodiment, the relationship between data-1 102 concerning Well A in database-system-1 106 and data-2 108 concerning Well 1 in database-system-2 110 is stored in the relationship database 204. In one embodiment, the data share process 202 can now move some or all of data-1 104 from database-system-1 106 to database-system-2 110 and store it with data-2 108 in database-system-2 110.
In one embodiment, illustrated in
In one embodiment, the inference processor 206 queries the relationship database 204 and determines that a relationship between the data-2 108 stored in database-system-2 110 and data-3 112 stored in database-system-3 114 has been stored in the relationship database 204. In a different embodiment, the inference processor 206 queries the relationship database 204 and determines that no such relationship has been stored in the relationship database 204.
In one embodiment in which the relationship between data-2 108 and data-3 112 does not yet exist in the relationship database 204, the inference processor 206 prompts a user 302 (represented by the “?” in
In one embodiment, the interaction with the relationship database 204 and the user is done by the data share process 202 rather than the inference processor 206.
In either case, in one embodiment, the relationship between the data-2 108 concerning Well 1 in database-system-2 110 and the data-3 112 concerning East-block well 1.1a is stored in the relationship database 204. In one embodiment, the data share process 202 can now move some or all of data-2 108 from database-system-2 110 to database-system-3 114 and store it with data-3 112 in database-system-3 114.
In one embodiment, illustrated in
Well A=Well 1 (from record 304)
Well 1=East-block well 1.1a (from record 402).
The inference processor 206 applies the algebraic transitive property (i.e., if A=B and B=C, then A=C) to arrive at the following inferred relationship:
Well A=East-block well 1.1a (inferred).
The inference processor 206 stores the inferred relationship between Well A and East-block well 1.1a in record 502 in the relationship database 204.
In one embodiment, the inference processor 206 optionally prompts the user 302 (represented by “Confirm that Well A=East-block well 1.1a” in
In one embodiment, illustrated in
In one embodiment, the inference processor 206 queries the relationship database 204 and finds record 502 which indicates that Well A=East-block well 1.1a and that there is a relationship between the data-1 104 stored in database-system-1 106 and any the data-3 112 stored in database-system-3 114. In one embodiment, the inference processor optionally prompts the user 302 with the relationship information and waits for a positive response before responding with the relationship to the data share process 202.
In one embodiment, the interaction with the relationship database 204 and the user described in the preceding paragraph is done by the data share process 202 rather than the inference processor 206. In one embodiment, the data share process 202 can now move data-1 104 from database-system-1 106 to database-system-3 114 and store it with data-3 112 in database-system-3 114.
In one embodiment of a general system, illustrated in
In one embodiment, one or more of the applications 704 could make use of the type of relationship information collected and inferred as discussed above with respect to
In one embodiment, the relationship database 204 contains confirmed relationship records, indicated by the squares with solid borders in the relationship database in
In one embodiment, the relationship database 204 contains inferred relationship records, indicated by the squares with dashed borders in the relationship database in
In one embodiment, an inferred relationship record is transformed into a confirmed relationship record upon confirmation by the user 302, such as, for example, the interaction (“Confirm that Well A=East-block well 1.1a”) shown in
In one embodiment, the inference processor 206 provides the user 302 with an interface through which the user 302 can review and confirm or reject the inferred relationship records.
In one embodiment, illustrated in
In one embodiment, an audit system 816 is capable of discovering and managing the pedigrees of the inferred relationships in the relationship database 204. In one embodiment, the audit system 816 accesses the relationship database 204 through the inference processor 206. In one embodiment, the audit system 816 directly accesses the relationship database 204.
In one embodiment, the inference processor 206 or the audit system 816 tracks problems in the relationship database 204. For example, suppose that the user 302 rejects the inference reflected in inferred relationship record 802. That rejection would call into question the inferences that derive from inferred relationship record 802, including inferred relationship record 810. Further, because inferred relationship record 810 has been brought into question, inferred relationship record 808, which is partially inferred from inferred relationship record 810, is also brought into question. In one embodiment, the inference processor resolves these questions by querying the user 302.
In use, in one embodiment, as shown in
In one embodiment, a relationship between the entity 1 data stored in the first system and entity 3 data stored in a third system, different from the first system and the second system, regarding an entity 3 is stored in the relationship database (block 904). This is illustrated, for example in
In one embodiment, a relationship between the entity 2 data and the entity 3 data is inferred by analyzing the relationship between the entity 1 data and the entity 2 data stored in the relationship database, and the relationship between the entity 1 data and the entity 3 data stored in the relationship database (block 906). This is illustrated, for example in
In one embodiment, the inferred relationship between the entity 2 data and the entity 3 data is stored in the relationship database (block 908). This is illustrated, for example, in
The stored inferred relationship between the entity 2 data and the entity 3 data is used to perform a task (block 910). This is illustrated in
In one embodiment, a computer system environment 1000 for the inference processor 206 and relationship database 204, illustrated in
In one embodiment, the processor 1004 interfaces with a local area network (“LAN”) 126 through the network interface 1014. In one embodiment, the processor 104 can communicate with other computers through the LAN 1026. In one embodiment, the processor has access to the Internet 1028 through the LAN 1026.
In one embodiment, a computer program to implement the techniques described herein is stored on a non-transitory computer readable medium 1030, such as a compact disk (“CD”), a digital versatile disc or digital video disc (“DVD”), an external solid state drive, or the like. In one embodiment, the medium 1030 is loaded into a storage device 1010, such as an optical drive, and the computer program is read from the medium and stored in the RAM 1006, the ROM 1008, or another storage device 1010, such as a hard drive. In one embodiment, the computer program is compiled and linked, if necessary, and further prepared for execution. In one embodiment, and executable image of the computer program is stored in the RAM 1006, the ROM 1008, or another storage device 1010, such as a hard drive. In one embodiment, the processor 1004 executes the executable image, receive inputs from the cursor control device 1018 and input device 1020, stores data in the RAM 1006 and/or ROM 1008, and produce outputs on the graphical user interface 1022 and the output device 1024.
In one embodiment, the inference processor 206 and the relationship database 204 provide users with a way to manage data about their assets, thereby providing a technique to manage the actual assets. Using the example of oil well 102, the recognition that Well A, Well 1, and East-block well 1.1a are all the same entity or asset allows a user to use all of the data about oil well 102 to make decisions about its maintenance. In addition, the same data can be used to make decisions about drilling wells near oil well 102 or in the same type of environment as oil well 102.
Further, users can use these same techniques to manage other assets, such as real estate, capital improvements, and other assets in which data may be found in a variety of systems.
The word “coupled” herein means a direct connection or an indirect connection.
The text above describes one or more specific embodiments of a broader invention. The invention also is carried out in a variety of alternate embodiments and thus is not limited to those described here. The foregoing description of an embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2012/062543 | 10/30/2012 | WO | 00 |