This disclosure relates generally to hydrocarbon accounting system and more particularly to method and system for managing end to end data flow across a hydrocarbon accounting system.
Hydrocarbon accounting is a critical business process for production and finance process for oil and gas firm. A user, in hydrocarbon accounting, executes production and commercial allocation for produced and exported hydrocarbon fluids to respective producing entity and to respective partners of the field. Availability and accuracy of production data is key for executing such process. Here, the data generated from the field instruments are associated with a tag and the data is processed and flows through a processing system before a hydrocarbon accounting system consumes it.
Manual monitoring of such data flow is a tedious process and requires more time to collect, analyze, and debug failures at each level. Further, manual monitoring is prone to human error.
In one embodiment, a method for managing data flow across a hydrocarbon accounting system is disclosed. The method includes identifying, by a computing device, at least one failed tag from a plurality of tags associated with a plurality of location nodes in a hydrocarbon data management and processing system, wherein the at least one failed tag fails to provide associated attribute values. The method further includes identifying, by the computing device, at least one source tag associated with the at least one failed tag. The method further includes retrieving, by the computing device, attribute values of the at least one source tag and a source mapping associated with the at least one failed tag, wherein a source mapping for a failed tag comprises mapping of each source tag upstream of the failed tag in the hydrocarbon data management and processing system. The method includes comparing, by the computing device, attribute values retrieved from at least one successful tag from the plurality of tags and the at least one source tag with an associated predefined threshold range. The method further includes generating, by the computing device, at least one notification message for each of the at least one failed tag, and one or more of the at least one successful tag and one or more of the at least one source tag having attribute values outside the associated predefined threshold range. The method includes performing, by the computing device, a self-healing technique based on the at least one notification message.
In another embodiment, a system for managing data flow across a hydrocarbon accounting system is disclosed. The system includes a processor and a memory communicatively coupled to the processor and having processor instructions stored thereon, causing the processor, on execution to identify at least one failed tag from a plurality of tags associated with a plurality of location nodes in a hydrocarbon data management and processing system, wherein the at least one failed tag fails to provide associated attribute values; identify at least one source tag associated with the at least one failed tag; retrieve attribute values of the at least one source tag and a source mapping associated with the at least one failed tag, wherein a source mapping for a failed tag comprises mapping of each source tag upstream of the failed tag in the hydrocarbon data management and processing system; compare attribute values retrieved from at least one successful tag from the plurality of tags and the at least one source tag with an associated predefined threshold range; generate at least one notification message for each of the at least one failed tag, and one or more of the at least one successful tag and one or more of the at least one source tag having attribute values outside the associated predefined threshold range; and perform a self-healing technique based on the at least one notification message.
In yet another embodiment, a non-transitory computer-readable storage medium is disclosed, the non-transitory computer-readable storage medium has instructions stored thereon, causing a computing device that includes one or more processors to perform steps including identifying at least one failed tag from a plurality of tags associated with a plurality of location nodes in a hydrocarbon data management and processing system, wherein the at least one failed tag fails to provide associated attribute values; identifying at least one source tag associated with the at least one failed tag; retrieving attribute values of the at least one source tag and a source mapping associated with the at least one failed tag, wherein a source mapping for a failed tag comprises mapping of each source tag upstream of the failed tag in the hydrocarbon data management and processing system; comparing attribute values retrieved from at least one successful tag from the plurality of tags and the at least one source tag with an associated predefined threshold range; generating at least one notification message for each of the at least one failed tag, and one or more of the at least one successful tag and one or more of the at least one source tag having attribute values outside the associated predefined threshold range; and performing a self-healing technique based on the at least one notification message.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.
Exemplary embodiments are described with reference to the accompanying drawings. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
Additional illustrative embodiments are listed below. In one embodiment,
Various attribute values captured by the field instruments and the sensors installed in the hydrocarbon data production and processing facility are communicated to a computing device 108, via a network 110. Network 110 may be a wired or a wireless network and the examples may include, but are not limited to the Internet, Wireless Local Area Network (WLAN), Wi-Fi, Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX), and General Packet Radio Service (GPRS). Computing device 108, for example, may be an application server, a laptop, a desktop, or a tablet. Computing device 108 processes these attribute values to manage data flow across the hydrocarbon accounting system 128. To this end, computing device 108 includes a processor 112 that is communicatively coupled to a memory 114, which may be a non-volatile memory or a volatile memory. Examples of non-volatile memory, may include, but are not limited to a flash memory, a Read Only Memory (ROM), a Programmable ROM (PROM), Erasable PROM (EPROM), and Electrically EPROM (EEPROM) memory. Examples of volatile memory may include, but are not limited Dynamic Random Access Memory (DRAM), and Static Random-Access memory (SRAM).
Memory 114 further includes various modules that enable computing device 108 to manage data flow across the hydrocarbon accounting system 128. The modules are explained in detail in conjunction with
Control system 120 also interacts, via network 110, with each of upstream part 102, midstream part 104, and downstream part 106. Control system 120 is a gathering and a regulating station for field instruments and sensors based on predefined logics to run the operations seamlessly and without any disruption. Control system 120 may include a process control system or a Supervisory Control And Data Acquisition (SCADA) system (not shown in
Data Historian system 122 records and retrieves production and process data by time. It additionally stores the information in a time series database that can efficiently store data with minimal disk space and fast retrieval. The data is then utilized by other modules to plot trends, perform modelling, calculate production, and derive results that are required by a business entity.
Well modeling and data processing system 124 derives theoretical production volume by combined calculation of well model and critical well parameters, which is then used to calculate production rates. Well model may be derived from well test results and well simulation. Data points so derived are fed into well modeling and data processing system 124 through different connected system for processing into cleansed data system 126 and hydrocarbon accounting system 128.
Cleansed data system 126 is the primary source of production data for hydrocarbon accounting system 128. Cleansed data system 126 includes processed data, for example, total volume of production, average of various parameters, or calculated data made up of multiple data points. The raw data to perform all these calculations is retrieved from well modelling and data processing system 124 and data historian system 122. The tags of these data configured in hydrocarbon accounting system 128 are used to retrieve data from cleansed data system 126 on a scheduled time through a scheduled job. Thus, it is critical for cleansed data system 126 to be up and running to make data available for consumption by hydrocarbon accounting system 128.
Hydrocarbon accounting system 128 further includes a production data validation and management system, an allocation calculation engine, and a reporting interface (not shown in
Referring now to
As depicted in
Referring now to
At step 302, computing device 108 identifies one or more failed tag from the plurality of tags. The one or more failed tag are so termed, as they fail to provide associated attribute values. By way of an example, a tag may have been mapped to an attribute value of pressure measured by a pressure transmitter at a given location node in the hydrocarbon data management and processing system. If computing device 108 fails to retrieve this attribute value of pressure, the tag is identified as a failed tag. In an embodiment, once computing device 108 retrieves attribute values associated with the plurality of tags, computing device 108 write them into a relational DB (for example, but not limited to SQL DB) in a defined structure.
Thereafter, at step 304, computing device 108 identifies one or more source tags associated with the one or more failed tags. In an embodiment, computing device 108 pings the one or more failed tags retrieved from the database associated with hydrocarbon accounting module 202 into a database associated with cleansed data system 126, via cleansed data module 204, in order to retrieve attribute values associated with the one or more failed tags and to identify the one or more source tags associated with the one or more failed tags.
At step 306, computing device 108 retrieves attribute values of the one or more source tags and a source mapping associated with the one or more failed tags. A source mapping for a failed tag includes mapping of each source tag upstream of the failed tag in the hydrocarbon data management and processing system. In an embodiment, computing device 108 pings the one or more failed tags and their associated status, which are still not updating in the relational DB, to well modelling and data processing system 124, via well modelling and data processing module 206 in order to retrieve attribute value of the one or more source tags and their status along with the source mapping details of tags required for well modelling, if they are associated with the one or more failed tags.
Data historian module 208 includes final raw attribute values in the hydrocarbon data management and processing system, retrieved from data historian system 122. In other words, data historian module 208 includes on-field attribute values of field instruments or sensors associated with the one or more failed source tag and associated failed tags. Thus, in an embodiment, computing device 108 pings all failed and non-updating source tags out of well modelling and data processing system 124 into data historian system 122 to check associated attribute values. As a result, it is inferred whether the field instruments or sensors have been generating data points required for monitoring and allocation at hydrocarbon accounting system 128.
At step 308, computing device 108 compares attribute values retrieved from one or more successful tags from the plurality of tags and the one or more source tags with an associated predefined threshold range. The one or more successful tags are identified based on the total number of the plurality of tags and the number of failed tags. In other words, the one or more successful tags are identified by subtracting the number of failed tags from the total number of plurality of tags. Each attribute value is expected to be within the associated predefined threshold range. By way of an example, pressure within a pipeline at a given location node should not be less than a minimum pressure and should not be more than a maximum pressure. In other words, predefined business rules are created for each attribute value. This enables computing device 108 to keep a check on attribute values.
Thereafter, at step 310, computing device 108 generates one or more notification messages for each of the one or more failed tags. Additionally, at step 310, computing device 108 generates notification messages for at least one of the one or more successful tags and at least one of the one or more source tags that have attribute values outside the associated predefined threshold range. In other words, data points for the attribute values, which breach the business rules and calculation configuration, are notified. Each of the one or more notification messages include information related to an affected location node and a corrective action for the affected location node. By way of an example, a notification message would include information regarding the field instrument or sensor that is identified as breaching an associated predefined threshold range. The notification message would also include a corrective action for that field instrument or sensor. By way of another example, the notification message would include information regarding a failure node within the data flow channel between various modules in memory 114. In an embodiment, computing device 108 may compare attribute value retrieved from a successful tag with one or more source tags upstream of the successful tag. In other words, attribute values of a tag in hydrocarbon accounting module 202 is sequentially compared with attribute value of the tag in upstream modules, i.e., cleansed data module 204, well modelling and data processing module 206, data historian module 208, and control module 210, in order to keep a check. As a result, computing device 108 is able to track attribute values for a tag that flows from one module to another in computing device 108.
Based on the one or more notification messages, computing device 108, at step 312, performs a self-healing technique to implement a corrective action. After retrieving attribute values and status of the one or more failed tags from different data flow systems, an end-to-end view of the data status would be obtained. As a result, a failure node from the data flow channel is easily identified. Additionally, the respective stakeholders or owners of the failure node would get a system-triggered notification to take necessary action. Thus, the turnaround time for making the data available for accounting and reporting would be reduced significantly.
It will be apparent to a person skilled in the art that the method is not limited to hydrocarbon accounting system 128 and is applicable in all domains or systems where data is mapped to a specific tag and flows through a set of system processing the tag and creating a network of tags.
Referring now to
Thereafter, at step 410, one or more failed source tags from the one or more source tags are identified. The one or more source tags fails to provide associated attribute values. Then, at step 412, on-field attribute values of sensors or field instruments associated with the one or more failed source tags and associated failed tags is determined. The on-field attribute values may be determined by a person working on field. At step 414, attribute values retrieved for tags are compared with associated predefined threshold range. For each tag that has an attribute value outside an associated predefined threshold range, at step 416, one or more notification messages are shared with an associated stakeholder to implement a corrective action. This has been explained in detail in conjunction with
Referring now to
In a similar manner, specific jobs are scheduled in cleansed data module 204 and well modelling and data processing module 206, in order to carry out various processing of attribute values associated with tag. If any of these specific jobs fail, it could disrupt the data flow between the modules in memory 114. Similar to hydrocarbon accounting module 202, status of these jobs are monitored by fetching their status from respective databases (for example, database associated with cleansed data module 204, in case of a scheduled job within cleansed data module 204 fails). This status is then written back into the relational DB.
System elements may also include various communication links or interfaces that connect various system elements or modules in the hydrocarbon data management and processing system. These interface may be monitored by pinging each server in the communication link and capturing its status in the relational DB. If any ping fails, the communication link or interface is interpreted to have failed. Additionally, various attributes for a communication link may include performance, capacity utilization, and uptime of the communication link.
Attributes associated with other system elements may also include CPU utilization and disk space utilization. Additionally, compatibility of the various system elements or module and users would may also be assessed, whenever any system element undergoes an upgrade or is modified.
In response to detecting the abnormalities, one or more abnormality notification messages are generated at step 504. The one or more abnormality notification messages include details related to the abnormalities and associated preventive actions. Thereafter, at step 506, preventive action is implemented to avoid failure of the system elements in response to detecting the abnormalities. By way of an example, when the scheduler in hydrocarbon accounting system 128 is about to fail, an abnormality notification message that includes details of the probable failure and prevention actions, is mailed to a stakeholder associated with hydrocarbon accounting system 128, via hydrocarbon accounting module 202. The stakeholder may implement the preventive action to prevent the failure. Stakeholder are similarly notified when scheduled jobs may fail in cleansed data system 126 and well modelling and data processing system 124, via respective modules in memory 114. By way of another example, any abrupt change in utilization of CPU or space or communication link would be captured and abnormality notifications may be sent to the respective stakeholders indicating a preventive action that may be taken in order to avoid any disruption.
One or more of the suggested preventive actions may fail. Thus, at step 508, failed system elements resulting from failed preventive actions are identified. At step 510, self-healing technique to automatically rectify the failed system elements are applied. By way of an example, when the scheduler associated with hydrocarbon accounting module 202 fails, it may be self-started as part of self-healing technique.
Referring now to
Referring now to
Processor 704 may be disposed in communication with one or more input/output (I/O) devices via an I/O interface 706. I/O interface 706 may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS/2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE 802.n/b/g/n/x, Bluetooth, cellular (e.g., code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc.
Using I/O interface 706, computer system 702 may communicate with one or more I/O devices. For example, an input device 708 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (e.g., accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, visors, etc. An output device 710 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like), audio speaker, etc. In some embodiments, a transceiver 712 may be disposed in connection with processor 704. Transceiver 712 may facilitate various types of wireless transmission or reception. For example, transceiver 712 may include an antenna operatively connected to a transceiver chip (e.g., TEXAS® INSTRUMENTS WILINK WL1283® transceiver, BROADCOM® BCM4550IUB8® transceiver, INFINEON TECHNOLOGIES® X-GOLD 618-PMB9800® transceiver, or the like), providing IEEE 802.11a/b/g/n, Bluetooth, FM, global positioning system (GPS), 2G/3G HSDPA/HSUPA communications, etc.
In some embodiments, processor 704 may be disposed in communication with a communication network 714 via a network interface 716. Network interface 716 may communicate with communication network 714. Network interface 716 may employ connection protocols including, without limitation, direct connect, Ethernet (e.g., twisted pair 501500/5000 Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE 802.11a/b/g/nix, etc. Communication network 714 may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (e.g., using Wireless Application Protocol), the Internet, etc. Using network interface 716 and communication network 714, computer system 702 may communicate with devices 718, 720, and 722. The devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (e.g., APPLE® IPHONE® smartphone, BLACKBERRY® smartphone, ANDROID® based phones, etc.), tablet computers, eBook readers (AMAZON® KINDLE® ereader, NOOK® tablet computer, etc.), laptop computers, notebooks, gaming consoles (MICROSOFT® XBOX® gaming console, NINTENDO® DS® gaming console, SONY® PLAYSTATION® gaming console, etc.), or the like. In some embodiments, computer system 702 may itself embody one or more of the devices.
In some embodiments, processor 704 may be disposed in communication with one or more memory devices (e.g., RAM 726, ROM 728, etc.) via a storage interface 724. Storage interface 724 may connect to memory 730 including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as serial advanced technology attachment (SATA), integrated drive electronics (IDE), IEEE-1394, universal serial bus (USB), fiber channel, small computer systems interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magneto-optical drive, optical drive, redundant array of independent discs (RAID), solid-state memory devices, solid-state drives, etc.
Memory 730 may store a collection of program or database components, including, without limitation, an operating system 732, user interface application 734, web browser 736, mail server 738, mail client 740, user/application data 742 (e.g., any data variables or data records discussed in this disclosure), etc. Operating system 732 may facilitate resource management and operation of computer system 702. Examples of operating systems 732 include, without limitation, APPLE® MACINTOSH® OS X platform, UNIX platform, Unix-like system distributions (e.g., Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), LINUX distributions (e.g., RED HAT®, UBUNTU®, KUBUNTU®, etc.), IBM® OS/2 platform, MICROSOFT® WINDOWS® platform (XP, Vista/7/8, etc.). APPLE® IOS® platform, GOOGLE® ANDROID® platform, BLACKBERRY® OS platform, or the like. User interface 734 may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to computer system 702, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc. Graphical user interfaces (GUIs) may be employed, including, without limitation, APPLE® Macintosh® operating systems' AQUA® platform, IBM® OS/2® platform, MICROSOFT® WINDOWS® platform (e.g., AERO® platform, METRO® platform, etc.), UNIX X-WINDOWS, web interface libraries (e.g., ACTIVEX® platform, JAVA® programming language, JAVASCRIPT® programming language, AJAX® programming language, HTML, ADOBE® FLASH® platform, etc.), or the like.
In some embodiments, computer system 702 may implement a web browser 736 stored program component. Web browser 736 may be a hypertext viewing application, such as MICROSOFT® INTERNET EXPLORER® web browser, GOOGLE® CHROME® web browser, MOZILLA® FIREFOX® web browser, APPLE® SAFARI® web browser, etc. Secure web browsing may be provided using HTTPS (secure hypertext transport protocol), secure sockets layer (SSL), Transport Layer Security (TLS), etc. Web browsers may utilize facilities such as AJAX, DHTML, ADOBE® FLASH® platform, JAVASCRIPT® programming language, JAVA® programming language, application programming interfaces (APis), etc. In some embodiments, computer system 702 may implement a mail server 738 stored program component. Mail server 738 may be an Internet mail server such as MICROSOFT® EXCHANGE® mail server, or the like. Mail server 738 may utilize facilities such as ASP, ActiveX, ANSI C++/C#, MICROSOFT .NET® programming language, CGI scripts, JAVA® programming language, JAVASCRIPT® programming language, PERL® programming language, PHP® programming language, PYTHON® programming language, WebObjects, etc. Mail server 738 may utilize communication protocols such as internet message access protocol (IMAP), messaging application programming interface (MAPI), Microsoft Exchange, post office protocol (POP), simple mail transfer protocol (SMTP), or the like. In some embodiments, computer system 702 may implement a mail client 740 stored program component. Mail client 740 may be a mail viewing application, such as APPLE MAIL® mail client, MICROSOFT ENTOURAGE® mail client, MICROSOFT OUTLOOK® mail client, MOZILLA THUNDERBIRD® mail client, etc.
In some embodiments, computer system 702 may store userlapplication data 742, such as the data, variables, records, etc. as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, secure databases such as ORACLE® database OR SYBASE® database. Alternatively, such databases may be implemented using standardized data structures, such as an array, hash, linked list, struct, structured text file (e.g., XML), table, or as object-oriented databases (e.g., using OBJECTSTORE® object database, POET® object database, ZOPE® object database, etc.). Such databases may be consolidated or distributed, sometimes among the various computer systems discussed above in this disclosure. It is to be understood that the structure and operation of the any computer or database component may be combined, consolidated, or distributed in any working combination.
It will be appreciated that, for clarity purposes, the above description has described embodiments of the invention with reference to different functional units and processors. However, it will be apparent that any suitable distribution of functionality between different functional units, processors or domains may be used without detracting from the invention. For example, functionality illustrated to be performed by separate processors or controllers may be performed by the same processor or controller. Hence, references to specific functional units are only to be seen as references to suitable means for providing the described functionality, rather than indicative of a strict logical or physical structure or organization.
Various embodiments of the invention provide method and system for managing end to end data flow across a hydrocarbon accounting system. A process driven data tracing mechanism is provided, which also incorporates automated self-healing for failed communication links and other system elements. The provided solution significantly reduced turnaround time for making data available for accounting and reporting. Moreover, this solution is applicable in all the domains or system where data is mapped to a specific tag and flows through a set of system processing the tag and creating a network of tags.
The specification has described method and system for managing end to end data flow across a hydrocarbon accounting system. The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. Examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
It is intended that the disclosure and examples be considered as exemplary only, with a true scope and spirit of disclosed embodiments being indicated by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
201741030883 | Aug 2017 | IN | national |