Systems and methods are disclosed relating to hydrocarbon production allocation. In an example, an allocation system can receive well performance data for one or more wells and constraints data. The allocation system includes a trained machine learning (ML) model. The trained ML model can be used to predict a production volume for the one or more wells based on the well performance data and the constraints data. A production volume of the one or more wells can be adjusted based on the predicted production volume.
Legal claims defining the scope of protection, as filed with the USPTO.
. A method comprising:
. The method of, further comprising repeating the receiving, predicting, and adjusting steps to optimize the production volume of the one or more wells over time.
. The method of, further comprising
. The method of, wherein the predicting comprises:
. The method of, wherein the well performance data comprises production data, reservoir data, and equipment performance data.
. The method of, wherein the predicted production volume is a first predicted production volume, the method further comprising:
. The method of, further comprising:
. The method of, wherein the ML model is a first ML model, and the preprocessing comprises predicting using a data prediction model missing data points in the historical production data, the data prediction model corresponding to a second ML model.
. The method of, wherein the second ML model is a Long Short-Term Memory Network (LSTM).
. The method of, wherein the preprocessing comprises identifying and removing using an outlier detector anomalies and/or inconsistent data points in the historical production data.
. The method of, wherein the outlier detector comprises a Z-score method or an inter-quartile (IQR) method.
. The method of, wherein the preprocessing comprises generating one or more features based on the historical production data, the one or more features being used in training the ML model.
. The method of, further comprising partitioning, using a data partitioner, the processed datainto a training dataset for training the ML model and a testing dataset for validating the ML model.
. The method of, further comprising:
. The method of, further comprising selecting an ML algorithm from a number of ML algorithms for use as the ML model.
. The method of, wherein the ML model is a constraint satisfaction neural network (CSNN).
. A system comprising:
. The system of, wherein the ML model is a first trained ML model, and the one or more computing platform are configured to preprocess to:
. A method comprising:
. The method of, wherein the predicted production volume is a first predicted production volume, the method further comprising:
Complete technical specification and implementation details from the patent document.
This disclosure relates to hydrocarbons, and more particularly, to hydrocarbon production allocation.
A reservoir is a subsurface formation containing accumulations of hydrocarbons (e.g., oil and gas) in porous rocks. The reservoir rocks have enough porosity to store hydrocarbons and sufficient permeability to allow these hydrocarbons to flow through the rock. Reservoirs are the natural, underground containers of oil and gas, formed over millions of years from the decomposition of organic matter under heat and pressure. The goal of hydrocarbon production is to extract the hydrocarbons safely and efficiently from the reservoir to the surface. To extract the hydrocarbons, a wellbore (e.g., a hole) is drilled into a planet (e.g. Earth) to access a hydrocarbon reservoir. The term “wellbore” refers to an actual drilled hole and/or tunnel that extends from a surface down into the reservoir. The wellbore can be lined with casing and/or cement to stabilize the hole to prevent a movement of subsurface fluids, and isolate different subsurface formations encountered while drilling. The wellbore serves as a conduit through which the hydrocarbons are brought from the reservoir to the surface.
A well refers to a complete system for extraction of the hydrocarbon from the reservoir. The well can encompass the wellbore as well as the surface and downhole equipment used for production. The downhole equipment can include, but not limited to, the casing, tubing, pumps, valves, sensors, instrumentalities and/or other machinery designed to control and manage the extraction of the hydrocarbons. Thus, a wellbore includes downhole equipment for accessing the hydrocarbons to the equipment that pumps the hydrocarbons to the surface and controls the flow.
Various details of the present disclosure are hereinafter summarized to provide a basic understanding. This summary is not an extensive overview of the disclosure and is neither intended to identify certain elements of the disclosure nor to delineate the scope thereof. Rather, the primary purpose of this summary is to present some concepts of the disclosure in a simplified form prior to the more detailed description that is presented hereinafter.
According to an embodiment, a method can include receiving, at an allocation system, well performance data for one or more wells and constraints data, predicting, using a machine learning (ML) model of the allocation system, a production volume for the one or more wells based on the well performance data and the constraints data, and adjusting a production volume of the one or more wells based on the predicted production volume.
According to another embodiment, a system can include one or more computing platforms configured to: receive input data for training an ML algorithm. The input data can include historical production data, historical reservoir data, and historical equipment performance data. The one or more computing platforms can be configured to preprocess the input data to provide processed input data for training the ML algorithm, train the ML algorithm to provide a trained ML model for predicting a production volume for the one or more wells based on the processed input data, and employ the trained ML model to adjust a production volume of the one or more wells based on the predicted production volume.
In yet another embodiment, a method can include receiving, at an ML training system, input data for training a ML algorithm. The input data can include historical production data, historical reservoir data, and historical equipment performance data. The method can include preprocessing, using a data input processor of the ML training system, the input data to provide processed input data for training the ML algorithm, modifying a loss function to include one or more penalty terms to account for one or more constraints for one or more wells, training, using an ML engine of the ML training system, the ML algorithm according to the modified loss function to provide a trained ML model for predicting a production volume for the one or more wells based on the processed input data, outputting, using the ML training system, the trained ML model for use in an allocation system in response to the training, receiving, at an allocation system, well performance data for one or more wells and constraints data, predicting, using the trained ML model of the allocation system, a production volume for the one or more wells based on the well performance data and the constraints data, simulating, using a simulator, a reservoir model to evaluate an outcome of the predicted production volume for the one or more wells, updating, using the allocation system, the predicted production volume for the one or more wells based on the simulation of the reservoir model, and adjusting a production volume of the one or more wells based on the predicted production volume.
Any combinations of the various embodiments and implementations disclosed herein can be used in a further embodiment, consistent with the disclosure. These and other aspects and features can be appreciated from the following description of certain embodiments presented herein in accordance with the disclosure and the accompanying drawings and claims.
Embodiments of the present disclosure will now be described in detail with reference to the accompanying Figures. Like elements in the various figures may be denoted by like reference numerals for consistency. Further, in the following detailed description of embodiments of the present disclosure, numerous specific details are set forth to provide a more thorough understanding of the claimed subject matter. However, it will be apparent to one of ordinary skill in the art that the embodiments disclosed herein may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description. Additionally, it will be apparent to one of ordinary skill in the art that the scale of the elements presented in the accompanying Figures may vary without departing from the scope of the present disclosure.
According to one or more examples, a system is disclosed for hydrocarbon production allocation, which is referred to herein as an allocation system, and uses thereof. The allocation system addresses a series of complex technical challenges inherent to managing and optimizing a vast network of interconnected wells, pipelines, facilities, and/or equipment. Optimization is important for maximizing production and minimizing costs, all while adhering to various constraints including equipment capacities, transportation limitations, regulatory requirements, and/or contractual obligations. The complexity and interdependencies within a production network make it difficult to allocate resources effectively and optimize hydrocarbon production as changes in one part of the production network can significantly impact others. In some examples, to address this, the allocation system can use a multi-optimization approach, selecting appropriate optimization protocols based on historical or user-defined trends.
Another significant challenge with existing hydrocarbon production allocation and optimization is an uncertain behavior of hydrocarbon reservoirs, influenced by factors like changing pressures, fluid dynamics, and/or geological heterogeneity, which complicates a prediction of production performance. The allocation system disclosed herein uses a data-driven approach to minimize these uncertainties, which enhances prediction accuracy. Furthermore, accurate production allocation depends on high-quality timely data. In practice, data can be incomplete, inaccurate, and/or delayed, which reduces the effectiveness of allocation decisions when physics-based models are used. The allocation system disclosed herein can employ a data anomaly detection and correlation workflow (method) in this process to improve computation speed and/or accuracy.
Operational constraints also pose a considerable challenge, as allocation strategies must account for a range of limitations while trying to maximize production efficiency, a task made difficult by a dynamic nature of objective functions. The allocation system disclosed herein supports both maximization and minimization approaches to reconcile differences in model predictions and user objectives. Additionally, a dynamic nature of hydrocarbon production necessitates real-time decision-making, a challenge for traditional static allocation strategies, which may not adapt quickly enough to changing conditions. The allocation system disclosed herein minimizes user involvement, facilitating more dynamic decision-making.
Moreover, balancing multiple objectives such as maximizing production, optimizing asset utilization, minimizing downtime, and fulfilling contractual obligations presents a complex task. Existing methods are based on rule-based systems and linear programming models, and struggle with a complexity and dynamic nature of these challenges. Existing methods require significant manual effort to update and maintain, may not effectively handle uncertainty, leading to suboptimal decisions, and may not fully utilize available data, missing out on valuable insights that could improve hydrocarbon production allocation decisions.
The allocation system disclosed herein provides a framework for optimizing hydrocarbon production allocation, such as in an oil and/or gas industry. The allocation system utilizes artificial intelligence (AI) and data process techniques to optimize hydrocarbon production allocation in the hydrocarbon industry. For example, the allocation system can be used for optimizing an allocation of hydrocarbon production. In some instances, one or more machine learning (ML) algorithms can be employed to analyze a wide range of data, including production data, reservoir characteristics, equipment capacities, export limitations, and historical production records. The one or more ML algorithms can be used to capture complex interdependencies, identify patterns, and generate models for optimization. The allocation system can be used to perform in-depth analysis of the input variables to identify relationships, trends, and anomalies. The allocation system can leverage ML techniques to understand historical production records, reservoir behavior, and equipment capabilities. The allocation system can utilize an optimization framework that considers multiple factors, such as contractual obligations, equipment capacities, transportation limitations, and market demand. The allocation system can formulate optimization models and use one or more algorithms to determine the optimal hydrocarbon production allocation plan. Furthermore, the allocation system can incorporate real-time monitoring capabilities, and continuously collect data from wells and sensors. This enables dynamic adjustments and optimization in response to changing conditions, ensuring efficient production allocation, and minimizing downtime. The allocation system can also provide decision support tools that assist operators in making informed decisions regarding production allocation. The allocation system can be configured to offer insights, recommendations, and visualizations to facilitate effective resource management and operational decision-making. By combining AI algorithms, data analysis, optimization frameworks, real-time monitoring, and decision support, the allocation system, as disclosed herein, allows for accurate and optimized allocation of hydrocarbons, addressing the technical problems related to resource calculation, contractual obligations, resource management, operational efficiency, regulatory compliance, and reservoir evaluation. Accordingly, the allocation system addresses the technical complexities and uncertainties inherent in hydrocarbon production and improves a hydrocarbon production allocation process by making it more efficient, effective, and accurate. The allocation system enables users and/or other systems to make more informed data-driven decisions, which enhances operational efficiency and increases profitability.
is an example of a block diagram of an allocation systemfor hydrocarbon production allocation. The allocation systemcan be used to optimize hydrocarbon production at one or more wells, referred to herein as wells. Well performance refers to how effectively and/or efficiently a well produces hydrocarbons (e.g., oil, gas, water, or a combination thereof). Well performance can influence or impact an overall hydrocarbon production of a production field, as each individual well contributes to a total output of the production field (total hydrocarbon production). In some instances, well behavior can impact an operation and productivity of other wells or a reservoir as a whole. The allocation systemcan be used to provide a hydrocarbon production allocation plancorresponding to production volumes (e.g., in a given unit) for the wells, which is referred to herein as a plan. The production volume of each well can be influenced by one or more factors such as pressure, temperature, reservoir characteristics, and/or equipment being used. The allocation systemis configured with a trained ML modelthat is programmed to determine (predict) a performance of each well and an impact of each well on overall hydrocarbon production from a reservoir. Through use of AI, the allocation systemcan be configured to handle complexities and uncertainties inherent in hydrocarbon production, making the hydrocarbon allocation process more efficient, effective, and accurate. The plancan be continuously updated so that the hydrocarbon production of the wellscan be optimized, such as over time. In some examples, the plancan be used for adjusting one or more parameters of each of the wells, such that the wellsprovide hydrocarbons at a specified production volume. The one or more parameters that can be adjusted can include: a flow rate (production volume), pressure, and/or temperature of the wells. Accordingly, the allocation systemcan be used to optimize or adjust an allocation of production volumes among the wellsso that an overall efficiency and production of the production fieldis maximized, while ensuring a longevity of the reservoir and in some instances minimizing environmental impact.
The allocation systemcan be implemented using one or more modules, shown in block form in the drawings. The one or more modules can be in software or hardware form, or a combination thereof. In some examples, the allocation systemcan be implemented as machine readable instructions for execution on a computing platform, as shown in. The computing platformcan include one or more computing devices selected from, for example, a desktop computer, a server, a controller, a blade, a mobile phone, a tablet, a laptop, a personal digital assistant (PDA), and the like.
The computing platformcan include a processorand a memory. By way of example, the memorycan be implemented, for example, as a non-transitory computer storage medium, such as volatile memory (e.g., random access memory), non-volatile memory (e.g., a hard disk drive, a solid-state drive, a flash memory, or the like), or a combination thereof. The processorcan be implemented, for example, as one or more processor cores. The memorycan store machine-readable instructions that can be retrieved and executed by the processorto implement the allocation system. Each of the processorand the memorycan be implemented on a similar or a different computing platform. The computing platformcan be implemented in a cloud computing environment (for example, as disclosed herein) and thus on a cloud infrastructure. In such a situation, features of the computing platformcan be representative of a single instance of hardware or multiple instances of hardware executing across the multiple of instances (e.g., distributed) of hardware (e.g., computers, routers, memory, processors, or a combination thereof). Alternatively, the computing platformcan be implemented on a single dedicated server or workstation.
The allocation systemcan include a data monitoring system. The data monitoring systemcan collect (e.g., receive, retrieve, query, etc.) production datafrom a data acquisition system. The data acquisition systemcan be located on a platform, which can be located or used at the production field. The production fieldcan be an offshore or onshore production field, such as an oil and/or gas production field. While examples are described herein relative to an offshore production field environment, those skilled in the art having reference to this specification will readily recognize that this invention is also applicable to the management of terrestrial hydrocarbon production fields, and of individual wells and groups of wells. The data acquisition systemcan be in communication with one or more instrumentations used at the wells. Thus, the data acquisition systemcan be coupled to the one or more instrumentations. The data acquisition systemcan include one or more computing and processing systems that can be used at a production area (or location), and which manage acquisition of measurements from the one or more instrumentations. The instrumentations can include one or more of, but not limited to, sensors, transducers, and transmitters. The data acquisition systemcan communicate the measurements corresponding to the production datato the data monitoring system, which can be over a wireless and/or wired communication link. In some examples, each wellcan have its own data acquisition system and communicate the measurements to the data monitoring system. In some examples, the data acquisition systemcan be deployed near multiple wells in the production field, and as such can manage the communication of measurements from those multiple wells in a same or similar manner as disclosed herein.
The data monitoring systemcan be configured to continuously (or periodically in some instances) collect data from the data acquisition system. The collected data (the production data) can be used to generate the planor dynamically adjust the planto optimize hydrocarbon production rates (per well) and thus minimize downtime. Thus, as well conditions change, the allocation systemcan adjust the planfor the production field. There can be any number of wells at production fieldand thus there can be more or less than three wells as shown in. The data monitoring systemcan be configured to integrate into the data acquisition systemto receive up-to-date data on production performance. In some examples, the data monitoring systemcan include one or more application program interfaces (APIs) that can be programmed to communicate with the data acquisition systemto receive or retrieve the production data.
For example, the production datacan identify each well (well type) and can specify for each well one or more flow rates (e.g., a volume of fluid produced by a well per unit of time), pressures and/or temperatures. The data monitoring systemcan also receive equipment performance dataand reservoir data. The equipment performance datacan characterize equipment capacities (or capabilities), such as pump rates, compressor capacities, and/or pipeline capacities for the one or more wells. The reservoir datacan include reservoir characteristics of the wells, such as geological information (e.g., one or more of well type, rock type, porosity, permeability, structural features, stratigraphy information, reservoir geometry, etc.) and/or fluid properties (e.g., one or more of viscosity, gas-to-oil ratio (GOR), formation water salinity, phase behavior, etc.). The equipment performance dataand/or the reservoir datacan be retrieved from or provided by a database, in some instances.
The allocation systemincludes an optimizerthat can be programmed to optimize the hydrocarbon production of the production fieldby adjusting a product volume of the wellsand/or specifying the production volume for the wells. In some examples, the optimizerincludes the trained ML model. The optimizercan use the trained ML modelto determine (e.g., predict) the production volume for the wells. The trained ML modelcan determine the production volume for the wellsaccording to one or more constraints, which can be specified by constraint data. The constraint datacan specify one or more restrictions and/or constraints, such as limitations. The limitations can include one or more: regulatory requirements, contractual obligations, export constraints, production constraints, market demand, and/or transportation capacities (or limitations). The production data, the equipment performance data, and reservoir datacan be referred to herein collectively as well performance data.
The trained ML modelcan be provided by an ML training system (e.g., a ML training system), such as disclosed herein. The trained ML modelcan be programmed to identify correlations and/or patterns in the well performance datato understand the performance of the wellsand respective impact on overall hydrocarbon production. The output of the trained ML modelcan be used to optimize the allocation of hydrocarbon production volumes among the wells, ensuring efficient resource utilization. The trained ML modelcan analyze equipment capacities, such as pumps, compressors, and/or pipelines. In some examples, the trained ML modelcan be provided with historical performance data. The historical performance data can be used for model validation and testing, adapting the trained ML modelto changing conditions, refinement and optimization, anomaly detection and correction, scenario analysis and planning, and/or customization of the trained ML modelfor a well or field. For example, the trained ML modelcan be continuously (or periodically) provided with historical data which allows for ongoing validation and testing of the model's accuracy and predictive capabilities. It helps ensure that the model remains relevant and accurate over time, especially as new patterns or trends emerge in the data. In some examples, trained ML modelcan be provided with updated historical data to configure the trained modelto adapt to hydrocarbon reservoir and production systems changes (e.g., environment changes), ensuring that a model's predictions are reflective of current conditions. In some examples, the trained ML modelcan analyze the historical performancedata to identify new patterns or anomalies that were not present or not recognized in an initial training dataset. This can lead to improvements in a model's predictive accuracy and operational efficiency. Thus, in some instances, the trained MIL modelcan continuously (or periodically) learn from the historical performance datafor the refinement and optimization of the model.
In some examples, providing the trained ML modelwith the historical performance dataon a continuous (or periodic) basis allows for the detection of anomalies or errors in the data that may affect production allocation decisions. This enables timely corrections and adjustments to be made, ensuring that the allocation plan is based on accurate and reliable data. In some examples, the historical performance datacan be used by a simulatorto simulate various production scenarios and evaluate the outcomes of different allocation strategies. This supports strategic planning and decision-making by providing insights into how changes in production allocation might impact overall production and efficiency. In some instances, one or more different wells or fields can exhibit unique characteristics and behaviors over time. Providing the trained ML modelwith the historical performance dataspecific to each well or field allows for the customization of a model's predictions (recommendations), ensuring that the model's predictions are tailored to specific characteristics and needs of each production site (or well).
By considering the constraints and/or capabilities of each piece of equipment, the trained ML modelcan determine the optimal allocation of hydrocarbon production volumes to maximize utilization and minimize bottlenecks. This ensures that hydrocarbon production is allocated in a way for the production fieldthat optimizes the capacity of the equipment, reducing inefficiencies and potential downtime.
The trained ML modelcan make predictions based on the constraint data. Thus, the trained ML modelcan be programmed to maximize hydrocarbon production rates of the wellswhile adhering to operational and/or contractual constraints. For example, the trained ML modelcan provide one or more predictions considering constraints and/or limitations. Thus, by analyzing historical export data, market demand, and/or export infrastructure constraints, the trained ML modelcan be used to optimize the allocation of hydrocarbon production volumes to meet contractual obligations while maximizing export volumes. Operators can use the predictions to make more informed decisions about the allocation of resources to different export routes or destinations, ensuring efficient utilization of export infrastructure. By processing and analyzing these input variables (e.g., the well performance dataand the constraint data), the allocation systemcan be used for making data-driven decisions and/or recommendations for hydrocarbon production allocation, resulting in improved efficiency, enhanced resource utilization, and maximization of production rates.
The predictions provided by the trained ML modelcan correspond to the planor can be included as part of the plan. In some examples, the allocation systemincludes a graphical user interface (GUI) generatorthat can provide a graphical user interface (GUI) with the planand rendered on an output device. The output devicecan be implemented as a display, a portable device (e.g., tablet, laptop, mobile phone, etc.), or as a stationary device (e.g., a desktop computer). Thus, the allocation systemcan provide a user interface or dashboard that presents an optimized production allocation plan to operators and decision-makers. In some examples, the user interface or dashboard can include visualizations, reports, and/or key performance indicators, which can be generated based on other data and/or algorithms to facilitate informed decision-making. Thus, the operators and/or decision-makers can access a user interface that presents the plan, real-time performance data, and key performance indicators, enabling them to make informed decisions and maximize production efficiency.
In some examples, the optimizerincludes a plan adjuster. The plan adjustercan be used for updating the planusing the new predictions provided by the trained ML model. For example, the trained ML modelcan provide an initial prediction (an initial plan) and the trained ML modelcan provide a subsequent prediction so that an updated production plan can be provided for the wells. The plan adjustercan compare the initial and subsequent predictions to update a current plan. Thus, the plan adjustercan dynamically adjust the planbased on real-time data (e.g., as new well performance data and/or constraints data is received by the allocation system). In some examples, the plan adjustercan optimize (or update) the planbased on user data, which can be provided by an input devicein response to a user. For example, the user datacan specify a change to the plan, such as the production volume of the wells.
In some examples, the allocation systemincludes a simulator. The simulatorcan be used to simulate a reservoir model, such as to evaluate one or more outcomes of each predicted production volume, enabling the allocation systemto further refine and improve its accuracy. The reservoir modelis a mathematical representation of a physical reservoir that includes the wells, capturing its geometry, heterogeneity, and/or physical properties. The reservoir modelcan be generated, for example, by a reservoir model generatorand can range from a simple homogeneous model to a complex model incorporating faults and/or fractures. For example, the reservoir model generatorcan integrate or include various types of data and/or information, such as one or more of geological data, petrophysical data, fluid properties data, historical production data, and the production volume for the wells. The reservoir model generatorcan provide the reservoir modelbased on the production volume of the wellsthat had been predicted by the trained ML model. The historical production data can include one or more of data on past production volumes, pressures, water cut, gas-oil ratios, and/or other relevant production metrics for each well), the petrophysical data can include one or more of information on rock properties (porosity, permeability, compressibility) and/or fluid properties (viscosity, density, phase behavior of oil, gas, and water), details about the well(e.g., their locations, trajectories, completions, stimulations (e.g., hydraulic fracturing), and/or production or injection histories, and can include a specified production volume for each well). Thus, the reservoir modelcan be generated to match or mimic actual reservoir performance.
The reservoir modelcan be simulated by the simulatorto predict an outcome of the plan, which can be provided as simulation data. For example, the simulatorcan use Monte Carlo simulation to predict the outcome of the plan. The predicted outcome of plancan present one or more predictive insights into a (potential) future performance of production operations under various scenarios. Simulation can also provide a secondary dataset that can be used to improve a predictive accuracy of the allocation system. For example, the simulation datacan characterize one or more of production forecasts (e.g., forecasts of future production volumes from each well or across a field, considering the current and projected conditions of the reservoir and operational capabilities), operational efficiency (e.g., how changes in operations could impact efficiency. This includes the potential effects of adjusting production rates, modifying shift schedules, or deploying new technologies), equipment utilization (e.g., predictions on equipment load, potential bottlenecks, or the likelihood of equipment failures, helping to plan maintenance and capital expenditures), economic implications (e.g., financial outcomes of different production scenarios, including costs, revenues, and profit margins, can be characterized, helping in budgeting and financial planning), risk analysis (e.g., provide a probabilistic assessment of risks associated with certain decisions, including the likelihood and potential impact of undesirable events), resource allocation (e.g., suggest how to allocate resources optimally, including human resources, equipment, and capital, under various operational scenarios), regulatory compliance (e.g., implications of regulatory changes, helping companies to understand whether they will remain compliant and what adjustments may be necessary), environmental impact (e.g., environmental impact of different operational strategies, aiding in sustainability planning and reporting), scenario planning (e.g., how different strategic decisions may play out, providing a basis for scenario planning and the development of contingency plans), market dynamics (e.g., how changes in the market, such as shifts in demand or price fluctuations, could impact production and sales strategies) and reservoir management (e.g., characterize the response of the reservoir to different extraction strategies, helping in planning for optimal recovery over the life of the reservoir). The simulation data can be used to create a dynamic model of a production environment that can help predict outcomes and guide decision-making. It is a representation of how the real-world system might behave in the future, given current data and hypothesized conditions. This outcome provides a virtual testing ground for strategies and decisions, allowing companies to explore the consequences of actions before they are taken in the real world.
The simulatorcan be used to run simulations based on different scenarios and given data types (e.g., various operational conditions and datasets that the allocation systemcan use for simulation in assisting decision-makers). For example, there are various possible situations that can could affect hydrocarbon production including, but not limited to, market fluctuations (e.g., changes in demand and price of oil and gas), operational changes (e.g., adjustments in production strategies due to new wells coming online or existing wells going offline), regulatory changes (e.g., shifts in legal requirements or environmental regulations that impact how production must be conducted), technological updates (e.g., incorporation of new technologies or practices in the production process), environmental conditions (e.g., variations in weather or geological events that could impact production alongside operating temperatures and pressures). Each of these scenarios could significantly influence the decision-making process, and the allocation systemcan simulate the potential outcomes of decisions under each different scenario. The given data type can include production data (e.g., Real-time and historical data on how much hydrocarbon is being extracted from each well), reservoir data (e.g., information on the geological properties and current conditions of the hydrocarbon reservoirs), equipment performance data (data on the operational status and efficiency of production equipment), and/or constraint data (e.g., information on any limitations or restrictions, such as capacity caps, maintenance schedules, or contractual obligations that must be met). The allocation systemcan use these data types to inform the simulations it runs for each scenario. For example, in a scenario where market demand decreases, the allocation systemcould simulate the impact of reducing production rates. If a new regulatory policy is introduced, the allocation systemcould simulate how adjusting production to meet these new regulations would affect overall output and compliance.
By running simulations with these considerations, the allocation systemcan provide decision-makers with a clearer understanding of the potential impacts of different strategies. This enables them to make more informed decisions, especially in times of uncertainty or when facing significant changes in external conditions. Using techniques like Monte Carlo simulations, which use randomness to predict the probability of different outcomes, the system can offer a range of results based on the current data and scenarios, feeding these predictions into reinforcement learning models to optimize decision-making further.
The capability to simulate different scenarios using AI is particularly useful during periods of uncertainty or significant shifts in regulatory policies for several reasons: risk assessment (e.g., uncertainty, whether due to market volatility, geopolitical events, or other factors, carries inherent risks. Simulations enable decision-makers to assess the potential impacts of these risks on production and plan accordingly), regulatory compliance (e.g., when regulatory policies change, companies must quickly adapt to remain compliant. Simulations can help anticipate the effects of new regulations on operations, allowing companies to make proactive adjustments), strategy planning (e.g., in uncertain times, long-term planning becomes challenging. Scenario simulations provide insights into a range of possible futures, helping companies to create flexible strategic plans that can accommodate different outcomes), financial forecasting (e.g., financial projections can be significantly affected by uncertainty and regulatory changes. Simulations allow companies to forecast various financial scenarios, aiding in budgeting and investment decisions), operational resilience (e.g., by simulating different scenarios, companies can identify potential vulnerabilities in their operations and take steps to mitigate them, increasing overall resilience), resource allocation (e.g., during uncertain periods, it can be crucial to allocate resources efficiently. AI simulations can suggest the best allocation strategies under various conditions, ensuring that resources are not wasted), maintaining competitive advantage (e.g., companies that can quickly adapt to change are more likely to maintain or gain a competitive advantage. Scenario simulations facilitate rapid adaptation by providing actionable intelligence), decision support (e.g., simulations act as a decision support tool, providing data-driven insights that help decision-makers choose the best courses of action when faced with uncertainty or regulatory changes), training and preparedness (e.g., simulations can be used to train staff on how to respond to different scenarios, ensuring that when real-world uncertainties arise, teams are prepared to manage them effectively), and market responsiveness (e.g., in volatile markets, the ability to predict and respond to changes can make the difference between profit and loss. Simulations help companies stay responsive and agile). The use of AI for scenario simulations can help users or companies navigate periods of uncertainty or regulatory change by providing a clearer understanding of potential impacts, allowing for informed decision-making, and ensuring agility and compliance in a changing environment.
In some examples, the trained ML modelcan provide a number of plans corresponding to a number of potential hydrocarbon production volumes for the wells. The simulatorcan run a number of different simulation scenarios to predict the outcomes of the plans. For example, the simulatorcan use techniques like Monte Carlo simulations to predict the outcomes of various allocation strategies in real-time. The ML modelcan use the output of simulations to refine its predictions and improve decision-making processes (predictive accuracy). This iterative feedback loop allows the ML modelto learn from simulated scenarios and enhance its accuracy over time. The ML modelcan use simulation outputs as a source of synthetic data to learn how different factors affect production. This allows the ML modelto make more informed predictions and provide better decision-making support, which becomes more refined with each iteration. In some examples, these predictions (the simulation data) can then be fed back into the trained ML modelto determine which of the various hydrocarbon allocation strategies is an optimal plan for the reservoir. If not used for dynamic adjustments, real-time simulations can belong to the decision support part of the allocation system. In some examples, the simulation datacan be provided to the GUI generatorand output on the output deviceto provide decision-makers with insights into potential outcomes, helping them make informed choices.
In some examples multiple plans for production allocation can be generated by running various simulations and using different scenarios and constraints. Selecting the most appropriate plan from these options involves a decision-making process based on predefined criteria that align with the company's objectives and constraints. For example, the selection can begin with identifying the primary optimization goals, which could include maximizing production, reducing costs, increasing profitability, or extending the life of the reservoir; Compliance with Constraints: Plans must adhere to operational constraints such as equipment capacities, transportation limitations, and regulatory requirements. Any plan that fails to meet these essential constraints is usually discarded; Risk Assessment: The selected plan should balance the potential rewards with the associated risks. Plans are evaluated based on their risk profiles, considering factors such as market volatility, political stability, and environmental risks; Financial Analysis: Economic factors such as cash flow, return on investment, and net present value are critical. The plan that provides the best financial outcome while considering the cost of implementation might be favored; Resilience to Uncertainty: In uncertain environments, the plan that offers the best resilience, or the ability to perform well across a range of unforeseen future scenarios, is often preferred; Scalability and Flexibility: The selected plan should be scalable to accommodate changes in production levels and flexible enough to allow adjustments in response to new information or changing conditions; Stakeholder Interests: The interests of all stakeholders, including investors, partners, local communities, and regulatory bodies, are considered. The plan that aligns with stakeholder expectations and contractual obligations is often chosen; Environmental Impact: Companies increasingly consider the environmental impact of their operations. The plan with the lowest environmental footprint that still meets production goals may be selected; Technical Feasibility: The practicality of implementing the plan with available technology and within a reasonable timeframe is a crucial factor; Model Confidence: The confidence level in the predictions made by the ML model for each plan can also influence the decision. Higher confidence levels typically lead to a preference for those plans; and/or Historical Performance: Plans that are similar to historically successful strategies might be given preference, assuming the underlying conditions have not changed significantly. After considering these criteria, decision-makers may use a scoring system, ranking each plan against these factors, or they may employ decision-making frameworks such as multi-criteria decision analysis (MCDA) to systematically evaluate and select the most suitable plan. The decision is often supported by visualization tools and dashboards that present a comprehensive view of the potential impact of each plan, facilitating an informed and balanced decision.
In some examples, the allocation systemis configured to use a dynamic adaptation approach for optimizing hydrocarbon production of the wells. The ML modelcan be implemented as a reinforced learning (RL) model. In some examples, the trained ML modelis initially trained using supervised learning according to one or more examples herein, and then the trained ML modelis refined using RL as it operates in a real world. For example, the trained ML modelcan receive the simulation dataand use that information to select an optimal (or best) plan among a number of plans that it has predicted for the production field. Such a hybrid approach leverages both supervised learning and RL, offering a practical solution for scenarios where initial training data is available but ongoing adaptation and optimization are required based on interaction with the environment. RL is a type of ML where a ML model, referred to as an agent, learns to make decisions by interacting with an environment. The agent learns from the outcomes of its actions, rather than from explicit predictions, to achieve a goal. The learning process is driven by rewards: positive feedback is given for actions that move the agent closer to its goal, and negative feedback for actions that move it away. Unlike supervised learning, RL does not require labeled input/output pairs and instead learns to map situations to actions based on the reward signal. For example, a model-free RL algorithm that learns a value of taking a given action in a given state can be used. The model-free RL algorithm can use a table (Q-table) to store Q-values, which are estimates of a total reward an agent can expect to receive by taking an action from a particular state. For example, the states could represent different conditions or scenarios in a production process, such as demand levels, resource availability, or any other relevant factors that might influence allocation decisions. Actions correspond to different allocation strategies (plans) that can be recommended. For instance, allocating more resources to one production line over another based on current demand and efficiency. The agent can receive rewards based on an efficiency of the plan. Efficiency can be measured in various ways, such as minimizing waste, maximizing output, and/or optimizing resource utilization. The reward is a way to quantify the success of an allocation strategy. Over time, through a process of exploration (trying out different actions to learn about their outcomes) and exploitation (using the knowledge gained to make better decisions), the agent can learn which actions (allocation strategies) lead to higher rewards in different states. In some examples, a Q-learning algorithm can be used by a trainer (e.g., the trainer) to update Q-values based on the rewards received, gradually improving the policy, the mapping from states to actions, to maximize the cumulative reward. For example, as the agent interacts with the environment, it continuously updates the Q-values based on the feedback (rewards) received for its actions. This enables the agent to adapt to changing conditions in the production environment. For example, if demand for a product increases, the agent can learn to allocate more resources to specific production, assuming such actions lead to higher rewards (e.g., higher sales revenue, lower storage costs). In essence, using Q-learning for production allocation in the allocation systemallows the allocation systemto adapt its strategies over time based on the outcomes of its actions. This approach leverages the power of RL to optimize decision-making processes in complex, variable environments without needing predefined rules or supervision.
Accordingly, using an RL model as the trained ML model, the allocation systemcan dynamically adapt to changing conditions in real time. For instance, if a piece of equipment fails or there is a sudden shift in market demand, the allocation systemcan adjust a production allocation strategy to minimize disruptions and maintain efficiency using the dynamic adaptation approach.
In some examples, a plan (e.g., the plan) can be used to automate various aspects of well operation by integrating with a Supervisory Control and Data Acquisition (SCADA) system, distributed control systems (DCS), or other industrial control systems (ICS). These systems can actuate equipment such as pumps, valves, and chokes, controlling the flow of hydrocarbons without human intervention. Thus, the allocation systemcan be used to automated control of production of a well, such as one of the wells. For example, the allocation systemprovides an optimal production volume for a specific well based on various inputs and simulations according to one or more examples herein. The allocation systemcommunicates the optimal production volume to the well's SCADA system or DCS, which is responsible for the real-time operational control of the well. A control system (e.g., of the SCADA system or DCS) can automatically adjust the settings on the well's equipment to meet the new production target. For instance, if the optimal production volume is higher than the current output, the control system might open a choke valve to increase the flow rate or adjust the speed of the submersible pump accordingly. In some examples, if the optimal production volume is lower, the control system would take the opposite action, reducing the flow by adjusting the valve or pump settings. Sensors can continuously monitor the well's output, pressure, temperature, and/or other relevant parameters to ensure that the production remains at the optimal level. This data is fed back to the SCADA system. If there is a deviation from the optimal production volume, the control system automatically makes further adjustments to bring the well back to the desired output level. While the system operates automatically, safety protocols are built-in to shut down operations if sensor readings indicate a potential hazard, such as a pressure spike suggesting a blowout. Manual overrides are also available for human operators to take control if necessary. The SCADA system logs all actions and changes in well performance, providing a dataset for further analysis by the allocation system, which can learn and optimize future production allocation plans. The allocation systemcan interface with the control system via an Industrial Internet of Things (IoT) platform, which allows seamless communication between the AI's software domain and the physical equipment. By using this automated approach, hydrocarbon production can be optimized in real-time, maximizing efficiency and responsiveness while minimizing the need for human intervention. Thus, in some instances, the allocation systemnot only informs the initial allocation plan but can play a role in ongoing operation and adjustment, with a feedback loop that continually refines the process based on live operational data.
Accordingly, the allocation systemoffers significant technical advantages in terms of adaptability, real-time decision-making, and handling vast amounts of data. Furthermore, the allocation systemcan be used to complement or support physics-driven models and/or can be combined with physics-driven models (e.g., the reservoir model) for improved hydrocarbon allocation and optimization. Physics-driven models are based on fundamental principles and laws of physics that describe the behavior of hydrocarbon reservoirs, flow dynamics, and other related processes. These models provide a foundational understanding of a system's behavior and capture underlying mechanisms of a hydrocarbon production process. In examples where data might be sparse or not available, physics-driven models can provide accurate predictions based on the known physical properties and behaviors of the system. The allocation systemis configured to identify patterns, trends, and relationships in large datasets, especially when the relationships might be nonlinear or too complex, such as for the physics-driven models. Physics-driven models provide a mechanistic understanding. In some examples, combining the allocation systemwith physics-driven models (the reservoir model) lead to a more robust and accurate modeling system. In some examples, physics-driven models can be used to validate and calibrate the trained ML model. For example, if the ML modelproduces results that are inconsistent with known physical principles, this is an indication that the ML modelmay need refinement.
is an example of a ML training systemthat can be used to provide the trained ML model, as shown. Thus, reference can be made to one or more examples ofin the example of. The ML training systemcan be implemented using one or more modules, shown in block form in the drawings. The one or more modules can be in software or hardware form, or a combination thereof. In some examples, the ML training systemcan be implemented as machine readable instructions for execution on a computing platform, such as the computing platform, as shown in. In some examples, the allocation system, as shown in, includes the ML training system.
The ML training systemcan be used to provide (output) the trained ML modelbased on input data. A ML algorithm is a set of rules and mathematical equations that specify how data is processed and/or patterns are learned. It is the methodology that is followed to transform input data into a predictive output. Examples of ML algorithms that can be used within the scope of this disclosure can include, but not limited to, linear regression, decision trees, neural networks (NNs), such as deep NNs, and support vector machines. By contrast, a ML model is an output of the ML algorithm run on (or trained on) data, such as the input data. The ML model represents what the ML algorithm has learned from a training process. For instance, after training a NN algorithm on a dataset of images to recognize cats, the weights and structure that encapsulate the learned patterns constitute the ML model. The ML model is used to make predictions on new unseen data. In some instances, a single ML algorithm can be used to generate multiple ML models depending on the data it is trained on and hyper-parameters (e.g., configuration settings used to structure the ML model and its learning process) used during training. For example, the same NN algorithm can be used to create one model for image recognition and another for voice recognition, each trained with different datasets and potentially using different network configurations. As such, a ML model is an instantiation of the ML algorithm that has been trained on data. For example, the ML model can include a (final) set of parameters (e.g., weights, biases) that have been adjusted during the training process. Accordingly, the trained ML modelis an instantiation of an ML algorithm.
The ML training systemincludes a ML model generatorthat can provide the trained ML modelbased on the input data. The input datacan include production data, reservoir data, equipment performance data. In some instances, the input datacan include constraint data. The input datacan be provided from one or more various data sources, such as disclosed herein. The production datacan be generated or captured over a period of time and can be referred to as historical production data. The production datacan be gathered from one or more data acquisition systems, such as the data acquisition system, as shown in. The production datacan identify each well (well type) and can include for each well one or more flow rates (e.g., a volume of fluid (e.g., oil, gas, water, or a combination thereof) produced by a well per unit of time), pressure (e.g., a pressure within a wellbore of the well) and/or temperature (e.g., a temperature of the hydrocarbons within the well). The reservoir datacan characterize reservoir characteristics of the well, such as geological information (e.g., one or more of well type, rock type, porosity, permeability, structural features, stratigraphy information, reservoir geometry, etc.) and/or fluid properties (e.g., one or more of viscosity, gas-to-oil ratio (GOR), formation water salinity, phase behavior, etc.). The reservoir datacan be generated or captured over a period of time and can be referred to as historical reservoir data. The equipment performance datacan characterize equipment capacities (or capabilities), such as pump rates, compressor capacities, and/or pipeline capacities. The equipment performance datacan be generated or captured over a period of time and can be referred to as historical equipment performance data. The constraint datacan identify one or more restrictions or constraints, such as limitations. The limitations can include regulatory requirements, contractual obligations, export constraints, production constraints, and/or transportation capacities (or limitations).
The ML model generatorincludes a data input processorto receive and process the input data(or a subset thereof, such as the production data, the reservoir data, the equipment performance data, and the constraint data) to provide processed data, which can be used for training a ML modelcorresponding to providing the trained ML model. Preprocessing these data types would ensure that the ML modelis trained on clean, accurate, and relevant information, which is essential for making precise predictions and decisions. Thus, the data input processorcan implement a preprocessing step to ensure quality and/or compatibility of data for ML training. The data input processorcan handle missing values, outliers and/or inconsistencies in the input data(e.g., the production data). The data input processorcan normalize and/or standardize the input datafor data compatibility and/or remove any data bias. For example, the data input processorcan apply one or more techniques to the input data, such as outlier detection, normalization, and imputation. The data input processorcan validate the input datafor quality and relevance.
For example, to predict missing data points in the input data(e.g., production data), the data input processorcan include a data prediction model. The data prediction modelcan correspond to an ML algorithm that has been trained to predict one or more missing data points in a time-series data set, such as one or more time-series data sets of the input data. Thus, in some examples, the data prediction modelcan be referred to as a trained time-series ML algorithm. In some examples, an ML enginecan include a trainerthat can be programmed to provide the data prediction model. The trainercan apply relevant training data (e.g., a subset of this data, known as test data in some instances, or all the data) to the time-series ML algorithm to train the time-series ML algorithm to provide the data prediction model(the trained time-series ML algorithm). As an example, the time-series ML algorithm can include a recurrent neural network (RNN), such as a Long Short-Term Memory Network (LSTM). A LSTM is suited for time-series data, such as production data in hydrocarbon industries, as these algorithms can remember past information and are sensitive to sequence of data. In some examples, the trainercan invoke a ML algorithm retrieverto retrieve a ML algorithm. The trainercan apply the relevant training data to the retrieved ML algorithm to produce the data prediction model.
In some examples, the data input processorcan include an outlier detector. The outlier detectorcan be used by the data input processorto identify and remove anomalies and/or inconsistent data points in the time-series data set. The outlier detectorcan include a Z-score method or an inter-quartile (IQR) method. In some instances, the data input processorcan include a feature generator. The feature generatorcan be used to provide one or more featuresbased on the input data, which can be used to provide meaningful insights for a ML algorithm establishing trends. Features in the context of machine learning (ML) are individual measurable properties or characteristics of the phenomena being observed. Essentially, features are input variables that are used by ML models to make predictions or decisions. Features can be derived from the raw data and are selected or engineered to improve the model's performance by providing relevant information that the model can learn from. In supervised ML, the featuresare distinct from labels. Labels are the data points that the model is attempting to predict, based on the features. For example, in a hydrocarbon production optimization scenario, the featurescan include variables, such as well pressure, temperature, flow rate, and equipment status, while the label could be the optimal production volume for a given well. Feature engineering is the process of selecting, modifying, or creating new features from the raw data to improve model accuracy. This can involve transforming data into a format that is more easily interpreted by the model, creating new variables that capture important information, or selecting a subset of available variables to reduce complexity and overfitting. While the data input processorprimarily processes the production data, there is the possibility of handling reservoir dataand equipment performance datain similar ways. This implies that features could potentially be extracted not only from production data but also from reservoir characteristics and equipment performance metrics. The validation and preprocessing of production datais also possible. Similar techniques could be applied to reservoir data and equipment performance data. This suggests a comprehensive approach to feature engineering, where multiple sources of data are considered to provide a comprehensive set of features for the ML model. This approach would allow the ML model to learn from a wide range of inputs, potentially leading to more accurate and robust predictions regarding hydrocarbon production optimization. In some examples, the data input processorincludes a data normalizer. The data normalizercan be used to transform data points and/or variables from the input data(e.g., production data) into a standard scale to ensure that the ML enginetrains the ML algorithm more efficiently.
The ML enginecan receive the processed dataand the featuresfor ML training. For example, the ML engineincludes a data partitionerto partition (e.g., split or divide) the processed datainto training dataand test data. In some examples, the traineruses the data partitionerto partition the processed data. The data partitionercan time-series split the processed datagiven this dataset's temporal nature. Unlike random splits, the data partitionercan ensure that a training dataset consists of data up to a certain point in time. The data partitionercan partition time-series data (the processed data) into the training dataand the test data, which can collectively define or form a dataset. According to the one or more examples herein, the datasetcan be derived from historical production data, reservoir characteristics, equipment capacities, and/or other relevant variables. For example, data from the most recent years can be reserved for validation (as the test data), while older data is used for training (as the training data). This ensures that the ML modelcan be trained on a comprehensive dataset that captures various production scenarios, seasonal trends, and/or anomalies. In some examples, the data partitionercan be programmed to use stratified sampling. By using stratified sampling, the data partitionercan provide the training dataand the test datawith a similar distribution of variables (e.g., one or more of well types, reservoir characteristics, etc.). This partitioning process, especially when it involves time-series split and potentially stratified sampling, is crucial for ensuring that the ML model is trained on a representative sample of the data that captures various production scenarios, seasonal trends, and anomalies. Stratified sampling is used to ensure that the ML modelis trained and tested on a representative sample of an entire dataset. The trainercan use the training datato train the ML model.
For example, the trainercan use the ML algorithm retrieverto retrieve a select ML algorithm from the ML algorithm databasefor training, which can correspond to the ML model, as shown in. In some examples, the traineris provided with the ML algorithm that is to be trained corresponding to the ML model. In some examples, the ML model generatorleverages a modular framework to support integration of diverse ML algorithms. Example ML algorithms can include, but not limited to, supervised ML algorithms, unsupervised ML algorithms, and RL ML algorithms. For example, the ML model generatorcan include an application program interface (API) that abstracts away underlying complexities to allow a user (or another software and/or system) to use different ML algorithms, as needed.
In some examples, the ML enginecan utilize one or more libraries such as TensorFlow, PyTorch, and/or Scikit-learn to define an ML model architecture. These libraries are equipped with tools and pre-built components for designing models, including various types of NN layers (such as convolutional, recurrent, and dense layers) in TensorFlow and PyTorch. For some ML tasks, Scikit-learn provides an assortment of ready-to-use algorithms with predefined model structures, facilitating rapid development and deployment. The choice of library for the ML enginecan depend on the specific needs of the optimization task, such as ML model complexity and computational resource availability.
For example, during a training stage, the trainercan apply the training datato the ML model. The ML modelcan be trained to identify correlations and/or patterns in the training data. The ML modelcan be trained according to a loss function. During the training stage, the trainercan adjust the one or more parameters of the ML modelto “learn” from the training data. The “learning” process of the ML modelcan be guided or be based on the loss function. The loss function can quantify how well the ML modelis performing (e.g., a lower loss indicates a better performance). During the training stage, the trainercan iteratively adjust one or more parameters (e.g., weights, biases, etc.) of the ML modelto minimize the loss function. For example, the trainercan calculate a gradient of the loss with respect to each parameter and update the parameters in a direction that reduces the loss, using an optimization algorithm, for example, Gradient Descent.
In some examples, the loss function can include constraint inputs for consideration of constraints in training of the ML model. The trainercan use the constraint datato populate the constraint inputs so that the “learning” of the ML modelis based on the constraint data. In examples in which the ML modelis a NN and is constrained, the ML model can be referred to as a constrained satisfaction neural network (CSNN). Thus, in some examples, the trained ML modelis a trained CSNN. In some examples, a constraint optimization technique can be used during training of the ML modelto constrain (using the constraint data) a prediction of the ML model. The neural network's architecture can be designed to consider constraints as part of the learning process. Thus, the ML modelin examples in which it is a NN, a learning objective (the loss function) can be adjusted to account for the constraints. For example, the loss function can be modified to include one or more terms that represent the constraints. For example, the loss function can be modified to add one or more penalty terms to the loss function. Example loss functions can include a mean squared error (e.g., for regression tasks) and cross-entropy (e.g., for classification tasks). The inclusion of the one or more penalty terms in the loss function is used to account for well constraints and allows the ML modelto consider operational limitations during an optimization process. The ML modelis trained according to the modified loss function to create the trained ML model, for example, for predicting production volumes.
By way of further example, the ML modelis a NN and is configured to optimize hydrocarbon production, and the constraint dataindicates that hydrocarbon production is not to exceed a specific limit (e.g., due to storage limitations or regulatory requirements), which can be referred to as a limit constraint. To integrate the limit constraint, the trainer generates a penalty term. The trainermodifies the loss function for the ML modeland adds the penalty term to the loss function. This term penalizes the ML modelwhen a predicted production level exceeds the specified limit. The penalty term can be a simple linear term or a more complex function (e.g., based on a complexity and information of the constraint data) designed to steeply increase the loss as the prediction moves further beyond a constraint threshold. During training, the NN learns to minimize the modified loss function, which now includes the penalty for violating the limit constraint. As a result, the NN not only learns to make accurate predictions but also to ensure that these predictions adhere to specified production limits.
Unknown
November 20, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.