In drilling operations, the speed at which a drilling bit breaks the rock to lengthen the wellbore is called the rate of penetration (ROP). ROP is expressed in unit length per unit time (e.g., foot per hour) and is a critical measure to quantify the drilling performance. Consequently, a high ROP indicates fast drilling operation and, as a result, reduced cost. ROP optimization depends on multiple parameters: static (e.g., developmental field, type of formation lithology, hole size, drilling bit design, bottom-hole assembly, drilling mud type) and dynamic (e.g., weight-on-bit (WOB), rotary speed (RPM), pump flow rate, torque, standpipe pressure, and mud rheological and gravitational properties). Aside from the engineering design and choices prior to initiating the drilling operation, drillers are traditionally in charge of manually adjusting the controllable parameters based on human recommendations with the goal of achieving the highest ROP possible. For example, the Drill-Off Test (DOT) procedure is a manual time consuming process where the driller physically tests many predefined RPM (revolutions per minute) and WOB combinations in drilling and observes corresponding ROP values to select a combination that results in the highest ROP. In particular, the WOB is the amount of downward force exerted on the drill bit and is normally measured in thousands of pounds. Weight-on-bit is provided by gravity acting on the large mass of the drill collars to provide the downward force needed for the bit to efficiently break the underlying rocks.
The drilling operation is a multidimensional process with many complex surface and downhole equipment to be observed and maintained. If focus was shed on the maximization of instantaneous ROP, then drilling equipment failure is likely, which results in hazardous events and often mandates the stopping of drilling operations; hence, non-productive time (NPT) is incurred. Therefore, the maximization of the average ROP is not necessarily equivalent to the optimization of the instantaneous ROP. Rather, it is equivalent to the maximization of the instantaneous ROP and minimization of NPT. In other words, the goal should be maximizing the instantaneous ROP while not incurring any additional NPT.
Blackbox optimization (BBO) is an optimization method where the objective function is a non-differentiable blackbox function, which is a mathematical function with no analytic description of the input/output relationship, but given an arbitrary input the blackbox function returns a pre-determined function value. In other words, the blackbox function is or includes an empirical function with no analytical input/output relationship.
In mathematics, the derivative of a function is sensitivity to change of the output value of the function value with respect to a change in the input value to the function. However, when an objective function not differentiable, derivative-based methods are often slow and tend to underperform due to their inability to cope with multiple optima. Conversely, derivative-free optimization (DFO) is an optimization method that does not use derivatives and can cope more efficiently with the vast solution space and multiple optima. In DFO, information regarding the derivative of the objective function is unavailable, unreliable or impractical to obtain. For example, the objective function may be non-smooth, or time-consuming to evaluate, or in some way noisy, so that methods that rely on derivatives or approximate derivatives via finite differences are of little use.
In general, in one aspect, the invention relates to a method for optimizing drilling performance of a drilling operation. The method includes determining, while advancing a drill bit during the drilling operation based on a plurality of drilling parameters specified by a user, a rate of penetration (ROP), acquiring, using a plurality of sensors disposed on a plurality of drilling equipment of a well, measurement data of each drilling equipment, wherein each measurement data represents a condition of a corresponding drilling equipment at a particular ROP during the drilling operation, determining, using an artificial intelligence method based on at least the measurement data of the plurality of drilling equipment, a non-linear relationship between the ROP, the plurality of drilling parameters, and the conditions of the plurality of drilling equipment, identifying a constraint specified by the user based at least on the conditions of the plurality of drilling equipment, determining, based at least on the non-linear relationship and the user specified constraint, a target value of the plurality of drilling parameters to optimize a pre-determined performance measure of the drilling operation, and further performing the drilling operation based on the target value of the plurality of drilling parameters.
In general, in one aspect, the invention relates to a data gathering and analysis system for optimizing drilling performance of a drilling operation. The data gathering and analysis system includes a processor and a memory coupled to the processor and storing instruction. The instructions, when executed by the processor, include functionality for determining, while advancing a drill bit during the drilling operation based on a plurality of drilling parameters specified by a user, a rate of penetration (ROP), acquiring, using a plurality of sensors disposed on a plurality of drilling equipment of a well, measurement data of each drilling equipment, wherein each measurement data represents a condition of a corresponding drilling equipment at a particular ROP during the drilling operation, determining, using an artificial intelligence method based on at least the measurement data of the plurality of drilling equipment, a non-linear relationship between the ROP, the plurality of drilling parameters, and the conditions of the plurality of drilling equipment, identifying a constraint specified by the user based at least on the conditions of the plurality of drilling equipment, determining, based at least on the non-linear relationship and the user specified constraint, a target value of the plurality of drilling parameters to optimize a pre-determined performance measure of the drilling operation, and further performing the drilling operation based on the target value of the plurality of drilling parameters.
data gathering and analysis system wellsite for performing a drilling operation of a well. The wellsite includes a rig having a plurality of drilling equipment of the well installed with a plurality of sensors, and a data gathering and analysis system including functionality for determining, while advancing a drill bit during the drilling operation based on a plurality of drilling parameters specified by a user, a rate of penetration (ROP), acquiring, using the plurality of sensors, measurement data of each drilling equipment, wherein each measurement data represents a condition of a corresponding drilling equipment at a particular ROP during the drilling operation, determining, using an artificial intelligence method based on at least the measurement data of the plurality of drilling equipment, a non-linear relationship between the ROP, the plurality of drilling parameters, and the conditions of the plurality of drilling equipment, identifying a constraint specified by the user based at least on the conditions of the plurality of drilling equipment, determining, based at least on the non-linear relationship and the user specified constraint, a target value of the plurality of drilling parameters to optimize a pre-determined performance measure of the drilling operation, and further performing the drilling operation based on the target value of the plurality of drilling parameters.
Other aspects and advantages will be apparent from the following description and the appended claims.
Specific embodiments of the disclosed technology will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
In the following detailed description of embodiments of the disclosure, numerous specific details are set forth in order to provide a more thorough understanding of the disclosure. However, it will be apparent to one of ordinary skill in the art that the disclosure 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.
Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as an adjective for an element (i.e., any noun in the application). The use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being only a single element unless expressly disclosed, such as using the terms “before”, “after”, “single”, and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
Embodiments of the invention provide a method and a system that use an ROP optimization technique (ROPOT) based on constrained blackbox (derivative-free) optimization. This real-time algorithm provides an adaptive setup to accommodate a large number of controllable drilling parameters as defined by the user to maximize the instantaneous ROP and minimize surface and downhole equipment failure instances, i.e., minimize potential non-productive time (NPT). Hence, the average ROP may be optimized for any given drilling operation and under any circumstances.
As shown in
In some embodiments disclosed herein, the well system (106) includes a rig (101), a wellbore (120), a well sub-surface system (122), a data gathering and analysis system (160), and a well control system (“control system”) (126). In the context of the drilling operation, the wellbore (120) is referred to as the target well. The well control system (126) may control various operations of the well system (106), such as well production operations, well drilling operation, well completion operations, well maintenance operations, and reservoir monitoring, assessment and development operations. In some embodiments, the well control system (126) includes a computer system.
The rig (101) is the machine used to drill a borehole to form the wellbore (120). Major components of the rig (101) include the drilling fluid tanks, the drilling fluid pumps (e.g., rig mixing pumps), the derrick or mast, the draw works, the rotary table or top drive, the drill string, the power generation equipment and auxiliary equipment. Drilling fluid, also referred to as “drilling mud” or simply “mud,” is used to facilitate drilling boreholes into the earth, such as drilling oil and natural gas wells. The main functions of drilling fluids include providing hydrostatic pressure to prevent formation fluids from entering into the borehole, keeping the drill bit cool and clean during drilling, carrying out drill cuttings, and suspending the drill cuttings while drilling is paused and when the drilling assembly is brought in and out of the borehole.
The wellbore (120) includes a bored hole (i.e., borehole) that extends from the surface (108) towards a target zone of the formation (104), such as the reservoir (102). An upper end of the wellbore (120), terminating at or near the surface (108), may be referred to as the “uphole” end of the wellbore (120), and a lower end of the wellbore, terminating in the formation (104), may be referred to as the “downhole” end of the wellbore (120). The wellbore (120) may facilitate the circulation of drilling fluids during drilling operations for the wellbore (120) to extend towards the target zone of the formation (104) (e.g., the reservoir (102)), facilitate the flow of hydrocarbon production (e.g., oil and gas) from the reservoir (102) to the surface (108) during production operations, facilitate the injection of substances (e.g., water) into the hydrocarbon-bearing formation (104) or the reservoir (102) during injection operations, or facilitate the communication of monitoring devices (e.g., logging tools) lowered into the formation (104) or the reservoir (102) during monitoring operations (e.g., during in situ logging operations).
In some embodiments, the well system (106) is provided with a bottom hole assembly (BHA) (151) attached to drill string (150) to suspend into the wellbore (120) for performing the well drilling operation. The bottom hole assembly (BHA) is the lowest part of a drill string and includes the drill bit, drill collar, stabilizer, mud motor, etc. A mud motor is a drilling motor that uses hydraulic horsepower of the drilling fluid to drive the drill bit during the drilling operation.
In some embodiments, the data gathering and analysis system (160) includes hardware and/or software with functionality for facilitating operations of the well system (106), such as well production operations, well drilling operation, well completion operations, well maintenance operations, and reservoir monitoring, assessment and development operations. For example, the data gathering and analysis system (160) may store drilling data records of drilling the wellbore (120) and associated offset wells (not shown). The data gathering and analysis system (160) may analyze the drilling data records to generate recommendations to facilitate drilling the wellbore (120) with an optimized rate of penetration (ROP). In this context, the data gathering and analysis system (160) is referred to as an ROP optimization advisory system. While the data gathering and analysis system (160) is shown at a well site, embodiments are contemplated where at least a portion of the data gathering and analysis system (160) is located away from well sites. In some embodiments, the data gathering and analysis system (160) may include a computer system that is similar to the computer system (500) described below with regard to
Measurement data from installed subsurface sensors are transmitted back to the surface for analysis using telemetry systems, such as through a wired pipe or wireless (e.g., acoustic, mud pulse, electromagnetic, etc.) telemetry. Measurement data generated by surface sensors or received from subsurface sensors are both transmitted to the data gathering and analysis unit (142) via wired or wireless communication, such as Bluetooth, Wi-Fi, mobile broadband, near field communications, Global System for Mobile Communications (GSM), etc. In some embodiments, a combination of two or more communication methods may be used, e.g., Wi-Fi and cable combination; near field communication, cable, and GSM combination, etc. In addition, the condition monitoring sensors (138) may be powered by embedded batteries, by wired power connections, or by energy harvesting method such as fluid turbines, solar panels, wind turbines, etc.
To facilitate the ROP optimization, the data gathering and analysis system (160) collects measurement data from surface and subsurface sensors among all condition monitoring sensors (138). In some embodiments, the measurement data from at least some sensors are streaming constantly to the data gathering and analysis system (160). In addition to or alternatively, the measurement data from other sensors are inputted periodically to the data gathering and analysis system (160). In some embodiments, the data gathering and analysis system (160) uses artificial intelligent methods, such as machine learning and deep learning models, to determine any non-linear relationships between conditions of certain drilling equipment and the ROP. In some embodiments, at least a portion of the measurement data are sent to remote computing resources using the communication unit (141). In such embodiments, analysis of the measurement data may also be performed in the Cloud, edge/fog servers, or using remote computer servers. Accordingly, analysis results from the remote computing resources are sent back to the rig (101) with via the communication unit (141).
In some embodiments, the communication unit (141) further communicates analysis results from the data gathering and analysis system (160) to the driller console (131) used by the driller to input the drilling parameters (e.g., WOB, RPM, Flow Rate, etc.) into the well control system (126) depicted in
In some embodiments, the analysis results include drilling parameter inputs that are directly sent to automated or semi-automated drilling equipment by the communication unit (141) without action or intervention from the driller. In some other embodiments, a confirmation from the driller is required before the drilling parameter inputs from the communication unit (141) are accepted by the automated/semi-automated drilling equipment.
Turning to
In one or more embodiments of the invention, the buffer (204) may be implemented in hardware (i.e., circuitry), software, or any combination thereof. The buffer (204) is configured to store data generated and/or used by the data gathering and analysis system (160). The data stored in the buffer (204) includes controllable input drilling parameters (205), non-controllable sensor measurements (206), blackbox function (207), machine-learned non-linear relationship (208), and drilling parameter target values (209).
The controllable input drilling parameters (205) are user specified drilling parameters for performing a drilling operation of a well. For example, the controllable input drilling parameters (205) may include weight-on-bit, drilling rotary speed, rig pump flow rate, etc.
The non-controllable sensor measurements (206) are measurement data acquired by condition monitoring sensors disposed on various pieces of drilling equipment, such as mud pumps, shale shakers, the top drive, the drill string, the rotating component device, and any other equipment of the drilling rig. The measurement data may represent one or more of standpipe pressure, return flow rate, bit condition, hole learning index, equivalent circulating density (ECD), top-drive torque, top-drive hydraulics and electronics condition, stuck-pipe index, surface and downhole drill string vibration, bottomhole-assembly condition, drilling mud properties, hole geometry, etc.
The blackbox function (207) is an empirical function representing a relationship between the controllable input drilling parameters (205), the non-controllable sensor measurements (206), and a pre-determined drilling performance measure to be optimized for the drilling operation. For example, the drilling performance measure may correspond to rate-of-penetration (ROP), cost per foot, number of run bits, total number of trips or a combination thereof of the drilling operation.
The machine-learned non-linear relationship (208) is a non-linear mathematical relationship (e.g., a formula, a function, an algorithm, etc.) representing a non-analytical portion of the blackbox function (207).
The drilling parameter target values (209) are a set of values of the non-controllable input drilling parameters (205) that, when applied to the drilling equipment, will lead to an optimal result of the drilling performance measure.
In one or more embodiments, the drilling modelling engine (201), the constrained optimization engine (201), and the drilling design engine (203) may be implemented in hardware (i.e., circuitry), software, or any combination thereof.
In one or more embodiments, the drilling modelling engine (201) is configured to generate the blackbox function (207) by applying machine learning or deep learning algorithms to the controllable input drilling parameters (205), the non-controllable sensor measurements (206) and a measured rate-of-penetration (ROP).
In one or more embodiments, the constrained optimization engine (202) is configured to generate target values of the drilling parameters to optimize a pre-determined performance measure of the drilling operation. In particular, the constrained optimization engine (202) iteratively applies a constrained optimization algorithm to the blackbox function (207) to determine the target values of drilling parameters while meeting the user specified constraints.
In one or more embodiments, the drilling design engine (203) is configured to generate an engineering design specification of the drilling parameters and drilling equipment for a subsequent drilling operation of a new well based on the blackbox function of the current drilling operation of the current well.
In one or more embodiments, the data gathering and analysis system (160) performs the functionalities described above using the method described in reference to
Turning to
Initially in Block 300, a rate of penetration (ROP) is determined while advancing a drill bit during a drilling operation. The drilling operation is performed based on drilling parameters (e.g., weight-on-bit, rotary speed, flow rate, etc.) specified by a user (e.g., by a drilling technician via a driller console). The ROP may be determined using a downhole sensor.
In Block 302, measurement data of each drilling equipment of the drilling operation is acquired using sensors disposed on multiple pieces of drilling equipment of the well. Each measurement data represents a condition of a corresponding drilling equipment at a particular ROP during the drilling operation. For example, condition monitoring sensors may be disposed on mud pumps, shale shakers, the top drive, the drill string (at surface or below surface), the rotating component device, and any other equipment of the drilling rig. The conditions of the drilling equipment may include one or more of standpipe pressure, return flow rate, bit condition, hole cleaning index, equivalent circulating density (ECD), top-drive torque, top-drive hydraulics and electronics condition, stuck-pipe index, surface and downhole drill string vibration, bottomhole-assembly condition, drilling mud properties, and hole geometry.
In Block 304, a blackbox function is generated that describes a relationship between a performance measure of the drilling operation with respect to the drilling parameters and the conditions of the drilling equipment. For example, the performance measure may be the ROP, cost per foot, total number of trips, a combination of these, etc. The blackbox function is formulated by the controllable drilling parameters as well as artificial intelligence method(s) based on at least the sensor measurement data of the drilling equipment to model and predict the drilling equipment and operation conditions. The AI method may be any suitable machine learning (ML) or other AI algorithm such as neural network algorithms, Naive Bayes, Decision Tree, vector-based algorithms such as Support Vector Machines, or regression based algorithms such as linear regression, unsupervised ML algorithms, etc.
The blackbox function or blackbox objective function is formulated by an SME and it is solved by using a derivative free optimization solver (some are considered to be AI algorithms), such as Bayesian optimization, evolution strategies, Nelder-Mead method, simulated annealing, genetic algorithms, particle swarm optimization, ant colony optimization, among others. In one example scenario, consider the vast solution space needed to be explored to find the best ROP. One may change the flow in, WOB, RPM, etc. Finding an optimal set of values would require an infinite number combinations of these values. As this is unfeasible, derivative free optimization algorithms aim to explore the solution space in a much more efficient way while considering a set of constraints or inequalities. While these derivative-free optimization algorithms do not guarantee to find the optimal value of a function, but often produce much better results than simply random trials.
A physics-based analytical portion of the blackbox function is generated based on physics formulas, such as hydraulics formula, torque and drag formula, geomechanics formula, etc. A non-analytical portion of the blackbox includes a machine-learned non-linear relationship between the ROP, the drilling parameters, and the conditions of the drilling equipment. For example, anomaly detection (e.g., principal component analysis, clustering, 1-class models, etc.), regression (e.g., artificial neural networks, convolutional neural networks, etc.), and/or multi-class classification models (e.g., random forest, support vector machine, etc.) may be used to generate the machine-learned non-linear relationship. Accordingly, the blackbox function is used as an objective function to represent the pre-determined performance measure of the drilling operation. In one or more embodiments, use of ML or physics-based models may be used to generate more sophisticated measurements that are taken as input for the optimization algorithm. For example, an ML model for the prediction of stuck pipe index may be used.
In Block 306, a constraint is specified by the user based at least on the conditions of the drilling equipment. The constraint defines an acceptable operating range of the conditions of the drilling equipment. For example, the acceptable range may include an extreme value (e.g., maximum, minimum) of one or more of top drive torque, weight-on-bit, fluid flow rate, stick-slip index, bit wear rate, stuck pipe probability index, and cuttings concentration in annulus, among others. Taking the stuck pipe index example from above, this index may be used as part of a constraint for the derivative free optimization algorithm. For example, a constraint may be “do not increase ROP at the expense of increasing the stuck pipe index.”
In Block 308, a target value of the drilling parameters is determined to optimize the blackbox function that represents the performance measure of the drilling operation. The target value is determined based at least on the non-linear relationship and the user specified constraint. In particular, the target value of the drilling parameters is determined by applying an iterative optimization algorithm to the blackbox function while meeting the user specified constraint. In other words, the blackbox function is designated as the objection function of the constrained derivative-free optimization algorithm, which may include Bayesian optimization algorithm, evolution strategies algorithm, Nelder-Mead method, simulated annealing algorithm, genetic algorithms, particle swarm optimization algorithm, ant colony optimization algorithm, among others.
In Block 310, the drilling operation is further performed based on the target value of the drilling parameters. As the drill bit advances during the drilling operation, the blackbox function is continuously updated based on real time condition monitoring sensor measurement data. Accordingly, the target value of the drilling parameters evolves in real time to optimize the drilling operation.
In Block 312, the drilling parameters of a subsequent drilling operation is specified based on the blackbox function. While the blackbox function is based on real time condition monitoring sensor measurement data acquired during the current drilling operation of the current well, the blackbox function is used as a surrogate or proxy for the subsequent drilling operation of a new well in the same geographical region as the current well. For example, the drilling parameters and drilling equipment may be specified in the engineering design of the subsequent drilling operation based on the blackbox function of the current drilling operation of the current well.
Turning to
The ROP optimization algorithm (402) includes physics-based (e.g., hydraulics, torque and drag, geomechanics, etc.) and machine learning algorithms (402b) that are used to model and predict the drilling equipment and operation conditions to capture aspects where sensors are missing or infeasible. The machine learning portion of the algorithms (402b) is used to generate empirical relationship(s), in addition to the physics-based analytical relationship(s), between various aspects of the input data (401) and the ROP. An objective function is generated based on the empirical relationship(s) as well as the physics-based analytical relationship(s) to represent a performance measure (e.g., ROP) of the drilling operation. Because the non-analytical aspect of the empirical relationship(s), the objective function is a blackbox function. For example, the objective function may represent the empirical relationship between ROP and the input data (401) with no analytical input/output relationship. As the drill bit advances during the drilling operation, the input data (401) are collected in real time for the physics-based and machine learning algorithms (402b) to continuously generate and adjust the objective function.
The equipment parameters (401a), measurements (401b), and modelling results (i.e., objective function) from the physics-based and machine learning algorithms (402b) are then fed to a real-time optimizer (402a) which generates, in real time and in an iterative fashion (detailed below), the recommended optimal combination of controllable input parameters (403a), which are target values of the equipment parameters (401a) that achieve an optimal output of the objective function. The optimization solution is constrained by the measurements (401b) and predictions obtained from the physics-based and machine learning algorithms (402b) to prevent equipment failure or undesired drilling conditions (403b), hence minimize NPT, while searching for optimal controllable parameters (403a) to maximize ROP. In addition to improving the drilling process operationally, the ROPOT may also be used to optimize the well drilling engineering design by using surrogate-based optimization which returns a data-driven proxy for ROP and NPT prediction to be used in optimizing the drilling engineering design of a new well.
The constrained optimization solution generated by the optimizer (402a) is mathematically represented as
The objective function f(x, y) may be formulated as ROP, cost per foot, total number of trips, and/or a combination of these objective functions, among others. However, the functional form of f(x, y) with respect to the drilling parameters (401a) (i.e., xk) and measurements (401b) (i.e., yk) is unknown and impractical to obtain. Therefore, the constrained optimization solution is to be solved by the optimizer (402a) using a blackbox (BBO) or derivative-free optimization (DFO) method.
The optimization algorithm (411) starts with an initial guess or seed, x0, which may be based on the optimal drilling parameter vector inferred from offset wells. The optimization algorithm (411) performs multiple iterations (413), where each iteration k involves a proposed sample drilling parameter vector xk that is evaluated by the blackbox function (412) along with sensor measurement vector yk to compute the objective function f(xk, yk), the constrained quantities (g(xk, yk) and h(xk, yk)), and the constraints (Cg
In addition to using the optimization workflow to determine optimized ROP during the drilling operation, the optimization workflow shown in
The ROPOT workflow depicted in
Three example ROPOT implementation scenarios (a), (b), and (c) are illustrated below. These examples emphasize the concept that ROPOT is flexible and adaptable to a vast variety of drilling operations and equipment. Note that these examples may be considered analogously for the surrogate-based ROPOT implementation. In each example, details about a given drilling operation sufficient to demonstrate the implementation of ROPOT are described while details of physics-based and machine learning models are omitted. Note that the objective function in all examples is the same f=f(x, y). Inequality and equality constraints are denoted as g=g(x, y) and h=h(x, y), respectively. Note that constraint limits and thresholds are only examples for demonstration and do not reflect any actual drilling data.
Embodiments of the invention have the following advantages: (1) improving optimization results of ROP, cost-per-foot, number of run bits, etc. by utilizing derivative-free optimization algorithms (genetic algorithms, simulated annealing, etc.), (2) using drilling models that do not rely on historical offset data, i.e., do not use a supervised learning algorithms, (3) independently optimizing each new drilling session (e.g., start of a new section, resume drilling operations after NPT, etc.), and (4) including and accounting for the operational constraints and inputs from physics-based (ECD, CCA, etc.) and machine learning models (stuck pipe index, lost circulation, etc.).
Embodiments may be implemented on a computer system.
The computer (500) can serve in a role as a client, network component, a server, a database or other persistency, or any other component (or a combination of roles) of a computer system for performing the subject matter described in the instant disclosure. The illustrated computer (500) is communicably coupled with a network (530). In some implementations, one or more components of the computer (500) may be configured to operate within environments, including cloud-computing-based, local, global, or other environment (or a combination of environments).
At a high level, the computer (500) is an electronic computing device operable to receive, transmit, process, store, or manage data and information associated with the described subject matter. According to some implementations, the computer (500) may also include or be communicably coupled with an application server, e-mail server, web server, caching server, streaming data server, business intelligence (BI) server, or other server (or a combination of servers).
The computer (500) can receive requests over network (530) from a client application (for example, executing on another computer (500)) and responding to the received requests by processing the said requests in an appropriate software application. In addition, requests may also be sent to the computer (500) from internal users (for example, from a command console or by other appropriate access method), external or third-parties, other automated applications, as well as any other appropriate entities, individuals, systems, or computers.
Each of the components of the computer (500) can communicate using a system bus (503). In some implementations, any or all of the components of the computer (500), both hardware or software (or a combination of hardware and software), may interface with each other or the interface (504) (or a combination of both) over the system bus (503) using an application programming interface (API) (512) or a service layer (513) (or a combination of the API (512) and service layer (513). The API (512) may include specifications for routines, data structures, and object classes. The API (512) may be either computer-language independent or dependent and refer to a complete interface, a single function, or even a set of APIs. The service layer (513) provides software services to the computer (500) or other components (whether or not illustrated) that are communicably coupled to the computer (500). The functionality of the computer (500) may be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer (513), provide reusable, defined business functionalities through a defined interface. For example, the interface may be software written in JAVA, C++, or other suitable language providing data in extensible markup language (XML) format or other suitable format. While illustrated as an integrated component of the computer (500), alternative implementations may illustrate the API (512) or the service layer (513) as stand-alone components in relation to other components of the computer (500) or other components (whether or not illustrated) that are communicably coupled to the computer (500). Moreover, any or all parts of the API (512) or the service layer (513) may be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of this disclosure.
The computer (500) includes an interface (504). Although illustrated as a single interface (504) in
The computer (500) includes at least one computer processor (505). Although illustrated as a single computer processor (505) in
The computer (500) also includes a memory (506) that holds data for the computer (500) or other components (or a combination of both) that may be connected to the network (530). For example, memory (506) may be a database storing data consistent with this disclosure. Although illustrated as a single memory (506) in
The application (507) is an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer (500), particularly with respect to functionality described in this disclosure. For example, application (507) can serve as one or more components, modules, applications, etc. Further, although illustrated as a single application (507), the application (507) may be implemented as multiple applications (507) on the computer (500). In addition, although illustrated as integral to the computer (500), in alternative implementations, the application (507) may be external to the computer (500).
There may be any number of computers (500) associated with, or external to, a computer system containing computer (500), each computer (500) communicating over network (530). Further, the term “client,” “user,” and other appropriate terminology may be used interchangeably as appropriate without departing from the scope of this disclosure. Moreover, this disclosure contemplates that many users may use one computer (500), or that one user may use multiple computers (500).
In some embodiments, the computer (500) is implemented as part of a cloud computing system. For example, a cloud computing system may include one or more remote servers along with various other cloud components, such as cloud storage units and edge servers. In particular, a cloud computing system may perform one or more computing operations without direct active management by a user device or local computer system. As such, a cloud computing system may have different functions distributed over multiple locations from a central server, which may be performed using one or more Internet connections. More specifically, cloud computing system may operate according to one or more service models, such as infrastructure as a service (IaaS), platform as a service (PaaS), software as a service (SaaS), mobile “backend” as a service (MBaaS), serverless computing, artificial intelligence (AI) as a service (AIaaS), and/or function as a service (FaaS).
While the disclosure has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments may be devised which do not depart from the scope of the disclosure as disclosed herein. Accordingly, the scope of the disclosure should be limited only by the attached claims.