Many companies rely on material processing systems for mechanical movement of materials from one location to another. Material processing systems can be especially useful for transporting heavy or bulky materials. For example, a mining company may rely on a material processing system—with a conveyor network—to support the extraction of valuable materials or geological materials from the earth. For example, a material processing system can be a drilling processing system (e.g., drilling rig) that is an integrated system that drills wells, such as oil or water wells, in the earth's subsurface. Drilling rigs can be massive structures housing equipment used to drill water wells, oil wells, or natural gas extraction wells.
Conventional material processing systems (e.g., drilling processing systems) are not configured with a computing infrastructure and logic for performing drilling operations associated with real time optimization. For example, drilling operations use multiple isolated sources of information with limited options for real time optimization. Conventional material processing systems that implement optimization efforts are directed to reducing non-productive time (NPT) and have little effect on reducing invisible lost time (ILT). ILT can account for up to three times the cost of the NPT cost. Moreover, analytical tools for drilling and completions teams focus on engineering and office support but give no direct support to field personnel, thus hampering the discovery of actionable recommendations. As such, a more comprehensive material processing system—having an alternative basis for material processing configurations and operations—can improve techniques provided using material processing systems.
Various aspects of the technology described herein are generally directed to systems, methods, and computer storage media, for among other things, providing drilling advisory recommendation using a drilling advisory engine in a material processing system that supports drilling operations. A drilling advisory recommendation identifies prescriptions (e.g., an arrangement of components and settings) in the material processing system to support real time optimization of drilling operations. The drilling advisory engine can be implemented as a real time prescriptive tool for operators (e.g., field personnel) to offer guidance for drilling operations. Inputs into the drilling advisory engine and the drilling advisory recommendation (i.e., prescriptions) can be provided in near-real time. Operationally, the drilling advisory engine can leverage a combination of machine learning (ML) statistics and physical models to effectively reduce Invisible Lost Time (ILT). ILT can refer to time wasted compared to a best-practice benchmark.
In operation, the drilling advisory engine accesses real time drilling sensor data associated with the material processing system (e.g., drilling processing system). The drilling advisory engine also accesses historical drilling data and contextual drilling data. The real time drilling sensor data and the historical drilling data and contextual drilling data can be processed through one or more drilling advisory machine learning models (e.g., Rate of Penetration (ROP) optimization model and a connections model) to generate the drilling advisory recommendation that supports reacting to changing conditions and activities associated with drilling operations. The drilling advisory engine supports data ingestion, data processing, and activity recognition; continuously-updating machine learning, statistical models, and physical models; and data contextualization and prescription that can be provided to drilling operations.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The technology described herein is described in detail below with reference to the attached drawing figures, wherein:
Overview
By way of background, a material processing system can be a drilling processing system (e.g., drilling rig) that is an integrated system that drills wells, such as oil or water wells, in the earth's subsurface. Drilling rigs can be massive structures housing equipment used to drill water wells, oil wells, or natural gas extraction wells. Oil and gas drilling involves five separate stages of production: exploration, drilling, production, refining, and distribution. In the exploration phase, potential new drilling fields and identified and analyzed to determine the likelihood of containing enough oil or gas to justify the high costs of drilling, production, refining, and distribution. Some formations may have significant oil or gas, but present significant drilling challenges.
The material processing system can extract a particular material property from the material. For example, the material processing system can include components that support extracting a valuable mineral from ores that are in a continuous flow process in the material processing system. The material processing system can also include on-premise gathering of data. Data can be gathered—using sensors and computing components where computing components process the data—to calibrate and improve the material processing system. For example, sensors can measure different types of variables where the data is gathered and stored in a database.
Conventional material processing systems (e.g., drilling processing systems) are not configured with a computing infrastructure and logic for performing drilling operations associated with real time optimization. For example, drilling operations use multiple isolated sources of information with limited options for real time optimization. Conventional material processing systems that implement optimization efforts are directed toward reducing non-productive time (NPT) and have little effect on reducing invisible lost time (ILT). ILT accounts for up to three times the cost of the NPT cost. For example, oil and gas drilling is challenging and expensive with drilling rigs and trained technicians generating high hourly costs. While the formation location determination is the start of the drilling process managing exploration and development costs ensure profitability as the well is created and brought online.
Downhole activities contribute significantly to costs and operational time, yet may be difficult to improve, as each well presents challenges due to unknowns in the formation and behavior of the rock face. In this way, drilling incurs significant costs as drilling rigs are complex and the field personnel needed to operate the rigs need to be highly trained specialists. Moreover, analytical tools for drilling and completions teams focus on engineering and office support but give no direct support to field personnel, thus hampering the discovery of actionable recommendations. As such, a more comprehensive material processing system—having an alternative basis for material processing configurations and operations—can improve techniques provided using material processing systems.
Embodiments of the present disclosure are directed to providing drilling advisory recommendations using a drilling advisory engine in a material processing system that supports drilling operations. A drilling advisory recommendation identifies prescriptions (e.g., an arrangement of components and settings) in the material processing system to support real time optimization of drilling operations. The drilling advisory engine can be implemented as an artificial intelligence drilling advisory engine that operates as a real time prescriptive tool for operators (e.g., field personnel) to offer guidance for drilling operations. Inputs into the drilling advisory engine and the drilling advisory recommendation (e.g., prescriptions) can be provided in near-real time. Operationally, the drilling advisory engine can leverage a combination of machine learning (ML) statistics and physical models to effectively reduce Invisible Lost Time (ILT). ILT can refer to time wasted compared to a best-practice benchmark.
Operationally, the drilling advisory engine accesses real time drilling sensor data associated with the material processing system (e.g., drilling processing system). The drilling advisory engine also accesses historical drilling data and contextual drilling data. The real time drilling sensor data and the historical drilling data and contextual drilling data can be processing through one or more drilling advisory machine learning models (e.g., Rate of Penetration (ROP) optimization model and a connections model) to generate the drilling advisory recommendation that supports reacting to changing conditions and activities associated with drilling operations. The drilling advisory engine supports data ingestion, data processing, and activity recognition; continuously-updating machine learning, statistical models, and physical models; and data contextualization and prescription that can be provided to drilling operations. Advantageously, the drilling advisory engine of the material processing system can support efficient performance of drilling operations based on ILT.
At a high level, a material processing system that includes a drilling system provides a holistic approach and methodology to orchestrate a set of material processing system components (e.g., modules)—based on drilling operations being performed on a drill site—in order to provide drilling advisory recommendations (e.g., drilling operations prescriptions) on a continuous basis. For example, the material processing system can specifically include a Rate of Penetration (ROP) optimization model that is adaptable to real time operations based on continuously training a plurality of drilling advisory models and orchestrating competitions among plurality of drilling advisory models to select a best performing model at each time. And, a connections (PXX) model can be provided with dynamic targeting, offering recommendations (e.g., to field personnel) that are achievable and adapt to latest performance and well conditions.
Operationally, the drilling advisory engine receives real time sensor data from a drilling rig. The drilling advisory engine also receives historical drilling information and contextual drilling information. The historical drilling information and the contextual drilling information can be processed to quickly learn and react on the changing conditions and activities of drilling operations. The drilling advisory engine supports a plurality of drilling advisory operations. The drilling advisory operations include data-based operations (e.g., data ingestion, data processing, and activity recognition), model-based operations (e.g., continuously-updated machine learning, statistical, and physical models), and analysis-based operations (e.g., data contextualization and prescription for field personnel).
With reference to the data-based operations, data ingestion can include ingesting real time sensor data. In particular, the real time sensor data can be WITSML (well-site information transfer standard markup language) data. The real time sensor data is time-based rig sensor data (e.g., weight on bit—WOB; rotations per minute—RPM; and bit depth). Data ingestion can also include ingesting historical drilling information and contextual drilling information including lithological formations, drilling sections, etc. Data processing can include data cleaning that includes fixing or removing incorrect, corrupted, incorrectly formatted, duplicate, or incomplete data within a dataset. In this way, data processing ensures consistency of the data used, by processing outliers, missing values, or incoherent values. The data-based operations also include activity recognition that includes a process for determining an activity being performed at each point in time.
Drilling operations can generally be associated with penetration of ground below the setting depth of structural or conductor casing, using a drilling rig capable of performing the permitted well work, and for purposes other than setting structural or conductor casing; drilling operations includes the running of casing, cementing, and other downhole work performed ancillary to formation evaluation, and operations necessary to complete and equip the well so that formation fluids can be safely brought to the surface. Drilling activity recognition can include determining which drilling activities (or attributes of drilling activities) are being performed. For example, an artificial intelligence model (e.g., activity recognition machine learning model) that is trained on historical datasets of drilling information can be used to process input data and make predictions on a current drilling activity associated with sensor data, historical drilling information and contextual drilling information.
With reference to model-based operations associated with continuously updating machine learning models, statistical models, and physical models. The different models can learn from recent and historical patterns to provide a direct prescription (e.g., a drilling advisory recommendation). Several different types of models can be implemented to generate prescriptions associated with drilling operations. One aspect of model-based operations includes Rate of Penetration (ROP) optimization. Machine learning algorithms are implemented to optimize ROP (i.e., rate of penetration as a measure of drilling speed). Machine learning models associated with ROP can be used to provide recommendations on rotary drilling levers (e.g., weight on bit—WOB; surface revolutions per minute—RPM; and flow rate).
Another aspect of model-based operations includes connections (PXX). PXX includes statistical models to provide prescriptions on appropriate durations of routine operations when making or breaking connections. Connections can refer to events when drill pipes are screwed (i.e., connected) in/out or tripping that includes moving upwards/downwards the drill pipe. Model-based operations can be associated with tripping (i.e., surge and swab), where tripping model-based operations include computational fluid dynamic models that estimate a maximum safe speed at which a tripping operation can be performed. Model-based operations also include hole-cleaning. Hole-cleaning is associated with a combination of physical and machine learning models to showcase friction factor and deviation plots and also to trigger alerts on hole cleaning conditions on the hole while drilling.
Analysis-based operations can include data contextualization and prescription. Prescriptions can specifically be generated and communicated to field personnel. Data contextualization can include live monitoring of drilling operations and providing ex-post reporting. Analysis-based operations can include dynamic targeting prescriptions for in routine operations to ensure prescriptions are both feasible and challenging for field performing the tasks at each point in time.
Advantageously, the drilling advisory engine provides for efficiency in drilling operations associated with ILT. The drilling advisory engine in the material processing systems provides a holistic view on downhole ILT associated with drilling operations. The machine learning models support providing fast and adaptive prescriptions by leveraging real time data and processes. In this way, direct recommendations are provided to guide field personnel, making recommendations actionable and fast to operate. ML are continuously updated with recent real time data with limited set of historical data.
Aspects of the technical solution can be described by way of examples and with reference to
The material processing system 100 provides an operating environment for processing a material (e.g., drilling oil or gas). For example, the material processing system 100 can be a drilling processing system (e.g., drilling rig) that is an integrated system that drills wells, such as oil or water wells, in the earths subsurface. The material processing system 100 includes the material processing engine 110 that supports hardware and software operations in material processing system. For example, the material processing engine 110 can help receive and communicate configurations (e.g., drilling advisory recommendations) and controller signals (e.g., via material processing sensors 100B, material processing configuration interface 110C, and material processing engine client 110C) to support a continuous flow processing of a material. Other variations and combinations of material processing systems and physical manufacturing processes are contemplated with embodiments described herein
The material processing engine 110 can include the drilling advisory engine 110A associated with drilling advisory recommendation interface data 110B as described herein in more detail. The material processing engine 110 can operate with a material processing engine client 110C that is operationally coupled to a material processing engine interface 110D. The material processing engine client 110C can be a device that provides an interface for assisting (e.g., material processing system operators, field personnel) with user interactions with the material processing engine 110 and other components of the material processing system 100. The material processing engine client 110C can be part of an optimization platform that supports generating configuration files (e.g., drilling advisory recommendations, concentration grade recommendations, optimal control configuration, blending flow configuration files, or overflow management configurations files) that can be used as input and controls for components of the material processing system 100. Other variations and combination of material processing engines and materials processing engine clients for generating and implementing configurations associated with components a material processing system are contemplated with embodiment described herein.
With reference to
With continued reference to
Drilling teams would benefit from real-time prescriptive information that is targeted at maximizing performance. Aspects discussed herein provide a real-time prescriptive tool for field personnel that assists in operational efficiency and also provides continuous guidance. Office personnel configure the artificial intelligence (AI) and input necessary technical information. Rig sensor data (e.g., real time sensor data) can be contextualized (e.g., using historical drilling information 150, and contextual drilling information 160) with planning information, daily drilling reports (DDR), and any third party software available. Machine learning models (e.g., drilling advisory models) are executed, trained, and retrained in real-time. A customized interactive user interface can display optimal parameter recommendations (e.g., drilling advisory recommendations) as well as time targets for each field activity. Field personnel then follow the recommendations, saving minutes from each activity and can also send feedback as part of the continuous improvement process.
Advantageously, the drilling advisory in real-time solution leverages real-time analysis from historical wells and best practices and offers real-time prescriptions. The adaptive models can retrain in real-time to provide recommendations that reflect the current reality. The dynamic targets presented to field personnel in real-time can be based on the capabilities of the equipment, crew, and well conditions. Performance can be both measured and corrected continuously in real-time.
The drilling advisory in real-time solution incorporates prescriptive models for five activities: rotary drilling, connections, washing/reaming, tripping in/out, and casing run. Activity recognition operates in real-time and can be based on advanced multivariable analysis with machine learning enabled conditional logic. Field personnel receive instructions and activity time targets on interactive user interface screens for each of the five activities.
At the same time, attempting to use machine learning techniques in the drilling environments have been difficult, as the techniques require vast amounts of data for every field and need to analyze similar events across multiple wells, hindering feasible use.
There is a need for real time drilling advisories that are targeted at maximizing performance. Aspects described herein provide real time prescriptions for drilling parameters and target all major downhole activities to reduce operational time. Both the inputs used and the prescriptions offered are made in near real time and take a holistic approach to most drilling operations.
Turning to
The drilling advisory engine 110A uses a combination of machine learning and physical computing models to offer “one truth” recommendations. The architecture and models 104C may be customized to each client's engineering rules, organization, and data. Customized screen 108C may be an interactive user activity screen used by field personnel 110. The customized screen 108C provides current and relevant information in an easy to understand presentation, so the field personnel 110C does not need to consult with a field engineer before implementing the recommendations. The field personnel 110C can follow the recommendations, which provide a holistic approach that includes all variables and most downhole activities. Real-time sensor data and instruction compliance data 112C are transmitted from the drilling operation to the office 102C.
Turning to
Connections 106D optimization provide dynamic time target estimations in real-time to enable drilling crew and performance engineers to monitor drilling connection activities and times. After connections 106D are optimized, washing/reaming 108D occurs. During washing/reaming 108D the hole is cleaned. Cleaning practices can be based on machine learning with historical data and physical friction factor models to optimize washing/reaming 208 operations.
After washing/reaming 108D tripping 110D can be performed on the wellbore. Tripping is the physical act of pulling the drill string out of the wellbore and then running it back in. Tripping can be accomplished by physically breaking out or disconnecting every two or three joints of drill pipe, known as a stand, and racking them vertically in the derrick. When feasible the driller will start each successive trip on a different break so that after several trips, fresh pipe dope will have been applied, when running back in the hole, to every segment of the drill string. Recommendations from tripping 110D can be based on a surge and swab physical model, historical, and target performance, such as tripping speed optimization. After tripping 210 a casing run 112D is performed. During casing 112D a large diameter pipe is assembled and inserted into a recently drilled section of a borehole. The casing is set inside the drilled borehole to protect and support the well stream. The casing run speed can be optimized based on the actual casing run time based on percentile estimations in real-time and may be monitored by drilling crew and performance engineers.
Turning to
A further analysis is performed in decision block 114E, which determines if an evaluation has been made in the last predefined distance (e.g., 100 feet) of drilling. If an analysis has been performed in the last predefined distance, then the current model continues to be used in block 120E. If no analysis has been performed in the last predefined distance of drilling then in decision block 118E a further evaluation determines if the correct model was chosen. If the correct model was chosen in block 114E, then in block 120E, operations continue using that model. If the correct model was not chosen, then, in response to decision block 118E, the machine learning models are retrained in block 122E.
Turning to
Turning to
Turning to
Turning to
Turning to
Turning to
Aspects of the technical solution can be described by way of examples and with reference to
With reference to
The material processing engine 110 provides the drilling advisory engine 110A that accesses real time sensor data (e.g., via material processing sensors 100B) of drilling operations. The drilling advisory engine 110A also accesses historical drilling information and contextual drilling information associated with a drilling site. The drilling advisory engine 110A further operates to analyze input data using two or more advisory models (e.g., a machine learning model, a statistical model, or a physical model). The two or more drilling advisory models are associated with drilling operations features that support generating drilling advisory recommendations that identify prescriptions for drilling operations at drilling sites. The two or more drilling advisory models can include a Rate of Penetration optimization (ROP) model and a connections model. The ROP optimization models support optimizing rate of penetration as a measure of drilling speed, and the connection model provides prescriptions associated with durations of routine operations of the drilling operations. The two or more drilling advisory models can be configured to operate in continuous competition mode, where a first drilling advisory model is trained with lithologic formations from previous well, a second drilling advisory model is trained with recent drilling data, and a third drilling model is trained with lithologic formations of the drilling a current well of the drilling site.
The drilling advisory engine 110A also supports a plurality of drilling advisory operations including data-based operations, model-based operations, and analysis-based operations for drilling advisory recommendations that include prescriptions for changing conditions and activities of drilling operations. Data-based operations can include data ingestion, data processing, and activity recognition associated with real time sensor data of drilling operations, historical drilling information, and contextual drilling information. The model-based operations comprise continuously updating two or more drilling advisory models that are employed to reduce Invisible Lost Time in drilling operations. The analysis-based operation include contextualizing and generating drilling advisory recommendations that include dynamically targeted prescriptions for routine operations of the drilling operations.
The drilling advisory engine 110B generates a drilling advisory recommendation for the drilling operations of the drilling site. The drilling advisory recommendation is associated with a plurality of drilling advisory recommendation interfaces. The drilling advisory recommendation interfaces including a drilling screen, a connection screen, a tripping screen, a casing screen, and a cleaning screen. The drilling screen comprises drilling advisory interface recommendation data associated with rotations per minute, weight-on-bit, flow, and rate of penetration. The connection screen comprises drilling advisory interface recommendation data associated with time left to complete connections and fastest connection. The tripping screen comprises drilling advisory recommendation data associated with a minimum target speed, an actual speed, a maximum target speed, and a current trip performance. The casing screen comprises drilling advisory recommendation data associated with a minimum target speed, an actual speed, a maximum target speed, and a current trip performance. The cleaning screen comprises drilling advisory recommendation data associated a hookload, a free rotating TOR, a standard pipe pressure, a measured depth, and one or more alerts.
With reference to
At block 16, access input data comprising real time sensor data of drilling operations, historical drilling information, and contextual drilling information associated with a drilling site. At block 18, analyze the input data using two or more drilling advisory models. At block 20, generate a drilling advisory recommendation for the drilling operations of the drilling site. At block 22, communicate the drilling advisory recommendation.
At block 24, communicate a request for a drilling advisory recommendation associated with real time sensor data of drilling operations, historical drilling information, and contextual drilling information. At block 26, receive the drilling advisory recommendation for the drilling operations, the drilling advisory recommendation is generated based on two or more drilling advisory models. At block 28, cause generation of drilling advisory recommendation interface data associated with the drilling advisory recommendation.
With reference to
Turning to
Turning to
Turning to
Referring now to
Data centers can support distributed computing environment 600 that includes cloud computing platform 610, rack 620, and node 630 (e.g., computing devices, processing units, or blades) in rack 620. The technical solution environment can be implemented with cloud computing platform 610 that runs cloud services across different data centers and geographic regions. Cloud computing platform 610 can implement fabric controller 640 component for provisioning and managing resource allocation, deployment, upgrade, and management of cloud services. Typically, cloud computing platform 610 acts to store data or run service applications in a distributed manner. Cloud computing infrastructure 610 in a data center can be configured to host and support operation of endpoints of a particular service application. Cloud computing infrastructure 610 may be a public cloud, a private cloud, or a dedicated cloud.
Node 630 can be provisioned with host 650 (e.g., operating system or runtime environment) running a defined software stack on node 630. Node 630 can also be configured to perform specialized functionality (e.g., compute nodes or storage nodes) within cloud computing platform 610. Node 630 is allocated to run one or more portions of a service application of a tenant. A tenant can refer to a customer utilizing resources of cloud computing platform 610. Service application components of cloud computing platform 610 that support a particular tenant can be referred to as a tenant infrastructure or tenancy. The terms service application, application, or service are used interchangeably herein and broadly refer to any software, or portions of software, that run on top of, or access storage and compute device locations within, a datacenter.
When more than one separate service application is being supported by nodes 630, nodes 630 may be partitioned into virtual machines (e.g., virtual machine 652 and virtual machine 654). Physical machines can also concurrently run separate service applications. The virtual machines or physical machines can be configured as individualized computing environments that are supported by resources 660 (e.g., hardware resources and software resources) in cloud computing platform 610. It is contemplated that resources can be configured for specific service applications. Further, each service application may be divided into functional portions such that each functional portion is able to run on a separate virtual machine. In cloud computing platform 610, multiple servers may be used to run service applications and perform data storage operations in a cluster. In particular, the servers may perform data operations independently but exposed as a single device referred to as a cluster. Each server in the cluster can be implemented as a node.
Client device 680 may be linked to a service application in cloud computing platform 610. Client device 680 may be any type of computing device, which may correspond to computing device 600 described with reference to
Having briefly described an overview of embodiments of the present invention, an example operating environment in which embodiments of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention. Referring initially to
The invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc. refer to code that perform particular tasks or implement particular abstract data types. The invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, etc. The invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With reference to
Computing device 700 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 700 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media.
Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 700. Computer storage media excludes signals per se.
Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
Memory 712 includes computer storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Computing device 700 includes one or more processors that read data from various entities such as memory 712 or I/O components 720. Presentation component(s) 716 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
I/O ports 718 allow computing device 700 to be logically coupled to other devices including I/O components 720, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
Having identified various components utilized herein, it should be understood that any number of components and arrangements may be employed to achieve the desired functionality within the scope of the present disclosure. For example, the components in the embodiments depicted in the figures are shown with lines for the sake of conceptual clarity. Other arrangements of these and other components may also be implemented. For example, although some components are depicted as single components, many of the elements described herein may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Some elements may be omitted altogether. Moreover, various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software, as described below. For instance, various functions may be carried out by a processor executing instructions stored in memory. As such, other arrangements and elements (e.g., machines, interfaces, functions, orders, and groupings of functions) can be used in addition to or instead of those shown.
Embodiments described in the paragraphs below may be combined with one or more of the specifically described alternatives. In particular, an embodiment that is claimed may contain a reference, in the alternative, to more than one other embodiment. The embodiment that is claimed may specify a further limitation of the subject matter claimed.
The subject matter of embodiments of the invention is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
For purposes of this disclosure, the word “including” has the same broad meaning as the word “comprising,” and the word “accessing” comprises “receiving,” “referencing,” or “retrieving.” Further the word “communicating” has the same broad meaning as the word “receiving,” or “transmitting” facilitated by software or hardware-based buses, receivers, or transmitters using communication media described herein. In addition, words such as “a” and “an,” unless otherwise indicated to the contrary, include the plural as well as the singular. Thus, for example, the constraint of “a feature” is satisfied where one or more features are present. Also, the term “or” includes the conjunctive, the disjunctive, and both (a or b thus includes either a or b, as well as a and b).
For purposes of a detailed discussion above, embodiments of the present invention are described with reference to a distributed computing environment; however the distributed computing environment depicted herein is merely exemplary. Components can be configured for performing novel aspects of embodiments, where the term “configured for” can refer to “programmed to” perform particular tasks or implement particular abstract data types using code. Further, while embodiments of the present invention may generally refer to the technical solution environment and the schematics described herein, it is understood that the techniques described may be extended to other implementation contexts.
Embodiments of the present invention have been described in relation to particular embodiments which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present invention pertains without departing from its scope.
From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects hereinabove set forth together with other advantages which are obvious and which are inherent to the structure.
It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features or sub-combinations. This is contemplated by and is within the scope of the claims.
Number | Date | Country | |
---|---|---|---|
20240133269 A1 | Apr 2024 | US |