The present disclosure describes apparatus, systems, and methods for determining multiphase fluid flow properties.
Multiphase fluid flow, such as a fluid flow with a combination of oil, gas, and water, is frequently encountered in the exploitation of oil and natural gas. Determining the individual phase flow rate of multiphase flow is important for optimizing the performance of oil well production and enhancing oil recovery. However, the complex flow structure and interfacial effect have made the accurate direct measurement a challenging problem.
In an example implementation, a well system includes a conduit configured to flow a multiphase fluid from a hydrocarbon production well to or on a terranean surface, the multiphase fluid includes at least one of a liquid phase or a gas phase; an ultrasonic tomographic multiphase flow meter (UMM) fluidly coupled to the conduit to receive the multiphase fluid there through; one or more fluid measurement sensors positioned to measure one or more properties of the multiphase fluid; and a machine-learning (ML) control system that includes at least one hardware processor operable to execute instructions stored on a tangible, non-transitory memory to perform operations. The operations include (i) identifying one or more ultrasonic waveforms generated by the UMM from the multiphase fluid; (ii) identifying measured properties of the multiphase fluid from the one or more fluid measurement sensors; (iii) determining multiphase fractions of the multiphase fluid from the one or more ultrasonic waveforms with a first ML model; (iv) determining a total flow rate of the multiphase fluid from the measured properties of the multiphase fluid with a second ML model; and (v) determining a volumetric flow rate of the at least one of the liquid phase or the gas phase based on the determined multiphase fraction and the determined total flow rate.
In an aspect combinable with the example implementation, the liquid phase includes a water phase and an oil phase.
In another aspect combinable with any of the previous aspects, the second ML model includes a virtual flow meter model.
In another aspect combinable with any of the previous aspects, the operation (iv) includes predicting the total flow rate with the virtual flow meter model based on the measured properties of the multiphase fluid.
In another aspect combinable with any of the previous aspects, the virtual flow meter model includes an ML trained model from historical measured flow rates of the multiphase fluid and historical properties of the multiphase fluid measured by the one or more fluid measurement sensors.
In another aspect combinable with any of the previous aspects, the operation (iii) includes determining a liquid fraction of the liquid phase based at least in part on a sound velocity profile of the multiphase fluid determined from the one or more ultrasonic waveforms with the first ML model; and determining a void fraction of the gas phase based at least in part on the one or more ultrasonic waveforms with the first ML model.
In another aspect combinable with any of the previous aspects, the operation of determining the void fraction includes predicting the void fraction based on a flow regime of the multiphase fluid with the first ML model.
In another aspect combinable with any of the previous aspects, the operations further include correlating the liquid fraction and the void fraction based on the flow regime of the multiphase fluid to correct the determined liquid and gas fractions.
In another aspect combinable with any of the previous aspects, the determined liquid fraction includes a water cut of the multiphase fluid.
In another aspect combinable with any of the previous aspects, the operations further include correcting an estimated volumetric flow rate of the liquid phase and an estimate of volumetric flow rate of the gas phase with a third ML model to determine the volumetric flow rate of the liquid phase and the gas phase.
In another aspect combinable with any of the previous aspects, the operation of correcting the estimated volumetric flow rate of the liquid phase and an estimate of volumetric flow rate of the gas phase includes using the third ML model to correct the estimated volumetric flow rates based at least in part on a superficial velocity of the multiphase fluid.
In another example implementation, a method includes flowing a multiphase fluid from a hydrocarbon production well through a conduit, the multiphase fluid including at least one of a liquid phase or a gas phase; measuring, with an ultrasonic tomographic multiphase flow meter (UMM) fluidly coupled to the conduit, one or more ultrasonic waveforms generated by the UMM from the multiphase fluid; measuring one or more properties of the multiphase fluid with one or more fluid measurement sensors coupled to the conduit; identifying the one or more ultrasonic waveforms and the one or more properties with a machine-learning (ML) control system that includes at least one hardware processor operable to execute instructions stored on a tangible, non-transitory memory; determining, with the ML control system, multiphase fractions of the multiphase fluid from the one or more ultrasonic waveforms with a first ML model; determining, with the ML control system, a total flow rate of the multiphase fluid from the measured properties of the multiphase fluid with a second ML model; and determining, with the ML control system, a volumetric flow rate of the at least one of the liquid phase or the gas phase based on the determined multiphase fraction and the determined total flow rate.
In an aspect combinable with the example implementation, the liquid phase includes a water phase and an oil phase.
In another aspect combinable with any of the previous aspects, the second ML model includes a virtual flow meter model.
In another aspect combinable with any of the previous aspects, determining, with the ML control system, the total flow rate of the multiphase fluid includes predicting, with the ML control system, the total flow rate with the virtual flow meter model based on the measured properties of the multiphase fluid.
In another aspect combinable with any of the previous aspects, the virtual flow meter model includes an ML trained model from historical measured flow rates of the multiphase fluid and historical properties of the multiphase fluid measured by the one or more fluid measurement sensors.
In another aspect combinable with any of the previous aspects, determining, with the ML control system, multiphase fractions of the multiphase fluid includes determining, with the ML control system, a liquid fraction of the liquid phase based at least in part on a sound velocity profile of the multiphase fluid determined from the one or more ultrasonic waveforms with the first ML model; and determining, with the ML control system, a void fraction of the gas phase based at least in part on the one or more ultrasonic waveforms with the first ML model.
In another aspect combinable with any of the previous aspects, determining the void fraction includes predicting the void fraction based on a flow regime of the multiphase fluid with the first ML model.
Another aspect combinable with any of the previous aspects further includes correlating, with the ML control system, the liquid fraction and the void fraction based on the flow regime of the multiphase fluid to correct the determined liquid and gas fractions.
In another aspect combinable with any of the previous aspects, the determined liquid fraction includes a water cut of the multiphase fluid.
Another aspect combinable with any of the previous aspects further includes correcting an estimated volumetric flow rate of the liquid phase and an estimate of volumetric flow rate of the gas phase with a third ML model to determine the volumetric flow rate of the liquid phase and the gas phase.
In another aspect combinable with any of the previous aspects, correcting the estimated volumetric flow rate of the liquid phase and an estimate of volumetric flow rate of the gas phase includes using the third ML model to correct the estimated volumetric flow rates based at least in part on a superficial velocity of the multiphase fluid.
In another example implementation, an apparatus including a tangible, non-transitory computer-readable media that includes instructions operable, when executed by one or more hardware processors, to cause the one or more hardware processors to perform operations including identifying one or more ultrasonic waveforms generated by an ultrasonic tomographic multiphase flow meter (UMM) from a multiphase fluid that includes at least one of a liquid phase or a gas phase; identifying measured properties of the multiphase fluid from the one or more fluid measurement sensors; determining multiphase fractions of the multiphase fluid from the one or more ultrasonic waveforms with a first ML model; determining a total flow rate of the multiphase fluid from the measured properties of the multiphase fluid with a second ML model; and determining a volumetric flow rate of the at least one of the liquid phase or the gas phase based on the determined multiphase fraction and the determined total flow rate.
In an aspect combinable with the example implementation, the liquid phase includes a water phase and an oil phase.
In another aspect combinable with any of the previous aspects, the second ML model includes a virtual flow meter model.
In another aspect combinable with any of the previous aspects, the operation (iv) includes predicting the total flow rate with the virtual flow meter model based on the measured properties of the multiphase fluid.
In another aspect combinable with any of the previous aspects, the virtual flow meter model includes an ML trained model from historical measured flow rates of the multiphase fluid and historical properties of the multiphase fluid measured by the one or more fluid measurement sensors.
In another aspect combinable with any of the previous aspects, the operation (iii) includes determining a liquid fraction of the liquid phase based at least in part on a sound velocity profile of the multiphase fluid determined from the one or more ultrasonic waveforms with the first ML model; and determining a void fraction of the gas phase based at least in part on the one or more ultrasonic waveforms with the first ML model.
In another aspect combinable with any of the previous aspects, the operation of determining the void fraction includes predicting the void fraction based on a flow regime of the multiphase fluid with the first ML model.
In another aspect combinable with any of the previous aspects, the operations further include correlating the liquid fraction and the void fraction based on the flow regime of the multiphase fluid to correct the determined liquid and gas fractions.
In another aspect combinable with any of the previous aspects, the determined liquid fraction includes a water cut of the multiphase fluid.
In another aspect combinable with any of the previous aspects, the operations further include correcting an estimated volumetric flow rate of the liquid phase and an estimate of volumetric flow rate of the gas phase with a third ML model to determine the volumetric flow rate of the liquid phase and the gas phase.
In another aspect combinable with any of the previous aspects, the operation of correcting the estimated volumetric flow rate of the liquid phase and an estimate of volumetric flow rate of the gas phase includes using the third ML model to correct the estimated volumetric flow rates based at least in part on a superficial velocity of the multiphase fluid.
Implementations of methods and systems for determining multiphase fluid flow properties according to the present disclosure may include one or more of the following features. For example, implementations according to the present disclosure can provide for a robust metering workflow and advanced machine learning based data analytics system that allows an enhanced operational envelop of multiphase flow metering. As another example, implementations according to the present disclosure can provide for machine learning (ML) virtual flow metering. As another example, implementations according to the present disclosure can provide for a robust estimation of oil/gas/water multiphase flow phase fractions with an ML approach. As a further example, implementations according to the present disclosure can provide for a robust estimation of oil/gas/water multiphase flow volumetric rates with an ML approach. As a further example, implementations according to the present disclosure can provide for a real-time insight into the multiphase flow pattern and help the operators to monitor the production. In addition, implementations according to the present disclosure can forecast the flow rates estimation for production planning.
The details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
As shown, the well system 10 accesses a subterranean formation 40 and provides access to hydrocarbons located in such subterranean formation 40. In an example implementation of system 10, the system 10 may be used for a production operation in which the hydrocarbons may be produced from the subterranean formation 40 within the wellbore tubular 17 (for example, as a production tubing or casing). However, tubular 17 may represent any tubular member positioned in the wellbore 20 such as, for example, coiled tubing, any type of casing, a liner or lining, another downhole tool connected to a work string (in other words, multiple tubulars threaded together), or other form of tubular member.
A drilling assembly (not shown) may be used to form the wellbore 20 extending from the terranean surface 12 and through one or more geological formations in the Earth. One or more subterranean formations, such as subterranean zone 40, are located under the terranean surface 12. As will be explained in more detail below, one or more wellbore casings, such as a surface casing 30 and intermediate casing 35, may be installed in at least a portion of the wellbore 20. In some embodiments, a drilling assembly used to form the wellbore 20 may be deployed on a body of water rather than the terranean surface 12. For instance, in some embodiments, the terranean surface 12 may be an ocean, gulf, sea, or any other body of water under which hydrocarbon-bearing formations may be found. In short, reference to the terranean surface 12 includes both land and water surfaces and contemplates forming and developing one or more well systems 10 from either or both locations.
In some embodiments of the well system 10, the wellbore 20 may be cased with one or more casings. As illustrated, the wellbore 20 includes a conductor casing 25, which extends from the terranean surface 12 shortly into the Earth. A portion of the wellbore 20 enclosed by the conductor casing 25 may be a large diameter borehole. Additionally, in some embodiments, the wellbore 20 may be offset from vertical (for example, a slant wellbore). Even further, in some embodiments, the wellbore 20 may be a stepped wellbore, such that a portion is drilled vertically downward and then curved to a substantially horizontal wellbore portion. Additional substantially vertical and horizontal wellbore portions may be added according to, for example, the type of terranean surface 12, the depth of one or more target subterranean formations, the depth of one or more productive subterranean formations, or other criteria.
Downhole of the conductor casing 25 may be the surface casing 30. The surface casing 30 may enclose a slightly smaller borehole and protect the wellbore 20 from intrusion of, for example, freshwater aquifers located near the terranean surface 12. The wellbore 20 may than extend vertically downward. This portion of the wellbore 20 may be enclosed by the intermediate casing 35.
Wellbore fluid 50 (for example, a multiphase fluid) flows from the tubular 17 into a wellhead 100, through the multiphase flow meter 110, and to a separation assembly 130, which separates the constituents of the wellbore fluid 50 into, for instance, separate flows of oil, gas, and water. However, as the wellbore fluid 50 flows through the multiphase flow meter 110, the wellbore fluid 50 is still a multiphase mixture of oil, gas, and water. As shown the ML control system 120 is communicably coupled (wired or wirelessly) to the multiphase flow meter 110 in order to receive or otherwise reference flow data produced by the multiphase flow meter 110 by the wellbore fluid 50. In some aspects, the multiphase flow meter 110 is an ultrasonic tomographic multiphase flow meter (UMM) 110 measures the ultrasonic waveforms though transducer pairs of the meter.
For example, because gas and liquid with obvious density and sound velocity difference have well-recognized characteristics, and its non-radioactive and non-intrusive nature, a UMM can be applied in multiphase flow metering. Various experimental mechanisms can achieve some aspects of flow metering, for example, water-cut, void fraction, flow regime detection, etc. However, the combination of the UMM 110 and ML control system 120 can provide for an otherwise undeveloped ML solution of robust multiphase fractions and volumetric flow rates metering.
The ML control system 120 may be any computing device operable to receive, transmit, process, and store any appropriate data associated with operations described in the present disclosure. The illustrated ML control system 120 includes application 133). The application 133 is any type of application that allows the ML control system 120 to request and view content on the ML control system 120. In some implementations, the application 133 can be and/or include a web browser. In some implementations, the application 133 can use parameters, metadata, and other information received at launch to access a particular set of data associated with the ML control system 120. Further, although illustrated as a single application 133, the application 133 may be implemented as multiple applications in the ML control system 120.
The illustrated ML control system 120 further includes an interface 136, a processor 134, and a memory 132. The interface 136 is used by the ML control system 120 for communicating with other systems in a distributed environment—including, for example, the UMM 110—that may be connected to a network. Generally, the interface 136 comprises logic encoded in software and/or hardware in a suitable combination and operable to communicate with, for instance, the UMM 110, a network, and/or other computing devices. Such systems are often referred to in practice as data “historians.” More specifically, the interface 136 may comprise software supporting one or more communication protocols associated with communications such that a network or interface's hardware is operable to communicate physical signals within and outside of the ML control system 120.
Regardless of the particular implementation, “software” may include computer-readable instructions, firmware, wired or programmed hardware, or any combination thereof on a tangible medium (transitory or non-transitory, as appropriate) operable when executed to perform at least the processes and operations described herein. Indeed, each software component may be fully or partially written or described in any appropriate computer language including C, C++, Java, Visual Basic, ABAP, assembler, Perl, Python, .NET, Matlab, any suitable version of 4GL, as well as others. While portions of the software illustrated in
The processor 134 executes instructions and manipulates data to perform the operations of the ML control system 120. The processor 134 may be a central processing unit (CPU), a blade, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), graphics processing unit (GPU), or another suitable component. Generally, the processor 134 executes instructions and manipulates data to perform the operations of the ML control system 120.
Although illustrated as a single memory 132 in
The illustrated ML control system 120 is intended to encompass any computing device such as a desktop computer, laptop/notebook computer, wireless data port, smart phone, smart watch, wearable computing device, personal data assistant (PDA), tablet computing device, one or more processors within these devices, or any other suitable processing device. For example, the ML control system 120 may comprise a computer that includes an input device, such as a keypad, touch screen, or other device that can accept user information, and an output device that conveys information associated with the operation of the ML control system 120 itself, including digital data, visual information, or a GUI.
As illustrated in
Workflow 300 can include step 302, which includes performing ultrasonic metering of a multiphase fluid flow. For example, as wellbore fluid 50 passes through the UMM 110, the UMM 110 can operate to measure the ultrasonic waveforms though transducer pairs as the wellbore fluid 50 passes there through. Turning briefly to
Once the waveforms are obtained by the UMM 110, they can be used in travel time estimations for all transducer pairs of the UMM 110 by the ML control system 120. For example,
Workflow 300 can also include step 304, which includes determining an oil/water fraction (also called water cut). For example, once the ML control system 120 determines the sound velocity profile, the ML control system 120 can determine the oil/water fraction from the sound velocity profile via an ML regression. For example,
Workflow 300 can also include step 306, which includes determining a void fraction of the multiphase fluid. For example, the ML control system 120 can execute an ML-based data analysis technique that can be used to determine a cross-sectional void fraction of the multiphase fluid (in other words, wellbore fluid 50) through the energy of the ultrasonic pulse signals of the UMM 110 (or other available phase-cut metering). For example, different void fraction and flow rates can develop different flow patterns, for example, slug flow, churn flow, and bubble flow. Those flow patterns could be characterized by ultrasonic pulse signals.
For example,
In some aspects, the ML control system 120 correlates water and oil fractions and the void fraction to improve the operation envelope with gas. For instance, due to a complex flow structure and interfacial effect, the multiphase flow can form different flow regimes under a combination of gas and liquid volumetric flux.
In some aspects, one or more ML models 138 of water/oil and void fraction can be significantly affected by the flow regime of the multiphase fluid (such as wellbore fluid 50). Therefore, in some aspects, the ML control system 120 can correlate water-cut and void fraction to correct the estimation under the particular flow regime of the wellbore fluid 50 to improve operation envelope, especially in circumstances of high gas flow. The difference of estimated water-cut and actual water-cut under varying gas flow rate can be modeled with an ML algorithm (for example, a deep neural network regressor) for the correction of robust water-cut estimation. For example,
Workflow 300 can also include step 308, which includes determining a multiphase fraction of the multiphase fluid, such as wellbore fluid 50. For example, the ML control system 120 can determine the multiphase fractions of oil, water, and gas based on the determined water cut (which indicates the water fraction and oil fraction) and the determined void fraction (which indicates the gas fraction). Thus, in the wellbore fluid 50 that passes through the UMM 110, the ML control system 120 calculated fractions of each phase of the wellbore fluid 50 that, as described later, can be used to determine volumetric flow rates of each phase in combination with total flow rates.
Workflow 300 can also include step 310, which includes receiving measurements from downhole and wellhead sensors (for example, pressure, temperature, ESP, etc.). For example, downhole and wellhead sensors can measure data that can be processed to determine a total volumetric flow of a multiphase fluid (such as wellbore fluid 50) that, for example, does not account for the different phase flows.
In some aspects, for example, the total flow rate is desirable in oil and gas production, which might be measured by a flow meter. A physical meter can be used on a per-well basis. However, a flow meter can also be installed at a central location like a manifold so that the production from individual wells are passed through the meter one at a time in a controlled manner.
Workflow 300 can also include step 312, which includes generating a virtual flow meter and performing virtual flow metering. For example, the ML control system 120 can utilize the data from both the downhole and wellhead sensors and one or more physical flow meters in a well system to generate a virtual flow meter. An example of a virtual flow meter 1000 generated by the ML control system 120 from a multiphase flow meter (MPFM) (and/or other downhole and wellhead sensor data) is shown in
In some aspects, the virtual flow meter 1000 can be generated by the ML control system 120 through historical data of measured flow rates and other sensor data by utilizing physics formulation and/or advanced data analytics (for example, in an ML approach). Then the flow rate is predicted by the trained model 1005 with production sensor data. In an example implementation,
Workflow 300 can also include step 314, which includes performing (optionally) virtual flow forecasting. For example, the optional virtual flow forecasting is a model that can forecast the future flow rates based on the historical flow rates, instead of using sensors data for instantaneous prediction as in virtual flow metering. The forecasted flow rate may be combined with VFM prediction to improve the accuracy of result.
Workflow 300 can also include step 316, which includes determining total flow rates for the multiphase fluid. For example, the validated model 1005 can then be used by the ML control system 120 to predict production flow rate data (for example, of wellbore fluid 50) correlated with production sensor data. As shown in
Workflow 300 can also include step 318, which includes determining volumetric flow rates of the different phases of the multiphase fluid. For example, once the ML control system 120 determines the total flow rates of liquid and gas in the multiphase flow in step 316 and the fractions of each phase in step 308, the ML control system 120 can use these determinations to then calculate or determine the particular volumetric flow rate of the oil, water, and gas in the multiphase fluid. For example, it can be of interest to estimate individual volumetric flow rates in production flow metering of, for example, wellbore fluid 50. The volumetric flow rates can be strongly related to the estimation of cross-sectional water/oil fraction and void fraction via the ultrasonic multiphase flow metering of UMM 110. However, there can be a difference in cross-sectional water-cut fraction and volumetric flow fraction of water due to superficial velocity, which can be corrected by the ML control system 120 with an ML model.
Once corrected, the ML control system 120 can estimate volumetric flow rates of the multiphase fluid fractions with the total flow rates (from 316) and cross-sectional water/oil and void fractions (from 308). The estimation can be based on an ML model 138, such as an ML analytic model such as Random Forests regressor.
Method 1700 can continue at step 1704, which includes measuring, with a UMM, one or more ultrasonic waveforms generated by the UMM from the multiphase fluid. For example, an ultrasonic tomographic multiphase flow meter or other non-radioactive and non-intrusive flow measurement device can be coupled within the conduit such that the multiphase fluid flows through the UMM. The UMM can measure or detect ultrasonic waveforms though transducer pairs of the UMM.
Method 1700 can continue at step 1706, which includes measuring one or more properties of the multiphase fluid with one or more fluid measurement sensors (for example, pressure, temperature, ESP, etc.) coupled to the conduit. For example, physical flow meters (different than the UMM) can also be physically and fluidly coupled with the conduit to make flow measurements of the total volumetric flow of the multiphase fluid flow. Other sensors that can measure fluid properties from which, for example, a total volumetric flow can be determined are also included in step 1706.
Method 1700 can continue at step 1708, which includes identifying the one or more ultrasonic waveforms and the one or more properties with a machine-learning (ML) control system. For example, an ML control system (for example, a microprocessor based control system that executes one or more ML models or data analytics) can be communicably coupled to the UMM and the one or more fluid measurement sensors (for example, either in real time or subsequent to flow of the multiphase fluid through the conduit). The measured ultrasonic waveforms and the one or more properties can be received at or otherwise exposed to the ML control system.
Method 1700 can continue at step 1710, which includes determining, with the ML control system, multiphase fractions of the multiphase fluid from the one or more ultrasonic waveforms with a first ML model. For example, the ML control system can provide an ML-based estimation of the cross-sectional water/oil fraction through, for instance, ultrasonic sound speed or tomography metering from the UMM, using ML image processing and inversion algorithms applied to estimated travel times between transducer pairs to compute a sound velocity profile. Further, the ML control system can provide an ML-based estimation of a cross-sectional void fraction through the measured energy of the ultrasonic pulse signals corrected according to fluid flow regime of the multiphase fluid.
Method 1700 can continue at step 1712, which includes determining, with the ML control system, a total flow rate of the multiphase fluid from the measured properties of the multiphase fluid with a second ML model. For example, the total flow rate can be estimated with a virtual flow meter generated by the ML control system, which can be built through historical data of measured flow rates of the multiphase fluid through sensor data by utilizing physics formulation and/or advanced data analytics.
Method 1700 can continue at step 1714, which includes determining, with the ML control system, a volumetric flow rate of the at least one liquid phase and the at least one gas phase based on the determined multiphase fraction and the determined total flow rate. For example, through a ML model (such as Random Forests regressor), the ML control system can estimate the volumetric flow rates of the liquid fraction (and each liquid fraction in the case of oil and water) as well as the gas fraction according to the previously determined or estimated total flow rates and cross-sectional water/oil and void fractions, respectively. In some aspects, the ML control system corrects the estimated individual volumetric flow rates of the liquid fractions based on a superficial velocity of the multiphase fluid flow.
The controller 1800 includes a processor 1810, a memory 1820, a storage device 1830, and an input/output device 1840. Each of the components 1810, 1820, 1830, and 1840 are interconnected using a system bus 1850. The processor 1810 is capable of processing instructions for execution within the controller 1800. The processor may be designed using any of a number of architectures. For example, the processor 1810 may be a CISC (Complex Instruction Set Computers) processor, a RISC (Reduced Instruction Set Computer) processor, or a MISC (Minimal Instruction Set Computer) processor.
In one implementation, the processor 1810 is a single-threaded processor. In another implementation, the processor 1810 is a multi-threaded processor. The processor 1810 is capable of processing instructions stored in the memory 1820 or on the storage device 1830 to display graphical information for a user interface on the input/output device 1840.
The memory 1820 stores information within the controller 1800. In one implementation, the memory 1820 is a computer-readable medium. In one implementation, the memory 1820 is a volatile memory unit. In another implementation, the memory 1820 is a non-volatile memory unit.
The storage device 1830 is capable of providing mass storage for the controller 1800. In one implementation, the storage device 1830 is a computer-readable medium. In various different implementations, the storage device 1830 may be a floppy disk device, a hard disk device, an optical disk device, a tape device, flash memory, a solid state device (SSD), or a combination thereof.
The input/output device 1840 provides input/output operations for the controller 1800. In one implementation, the input/output device 1840 includes a keyboard and/or pointing device. In another implementation, the input/output device 1840 includes a display unit for displaying graphical user interfaces.
The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, for example, in a machine-readable storage device for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, solid state drives (SSDs), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) or LED (light-emitting diode) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer. Additionally, such activities can be implemented via touchscreen flat-panel displays and other appropriate mechanisms.
The features can be implemented in a control system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), peer-to-peer networks (having ad-hoc or static members), grid computing infrastructures, and the Internet.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. For example, example operations, methods, or processes described herein may include more steps or fewer steps than those described. Further, the steps in such example operations, methods, or processes may be performed in different successions than that described or illustrated in the figures. Accordingly, other implementations are within the scope of the following claims.
This application claims priority under 35 U.S.C. § 119 to U.S. Provisional Patent Application Ser. No. 63/277,022, filed on Nov. 8, 2021, the entire contents of which are incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
63277022 | Nov 2021 | US |