Patent Publication Number: US-2021162896-A1

Title: Automated directional drilling system and method using steerable drilling motors

Description:
RELATED APPLICATIONS 
     This application is a Continuation of U.S. patent application Ser. No. 15/780,648, entitled “Automated Directional Drilling System and Method Using Steerable Drilling Motors”, filed on Jun. 1, 2018 (U.S. Patent Publication No. 2018/0347281), which is a National Stage Entry of PCT/US2016/064297, filed on Dec. 1, 2016, which claimed priority to and the benefit of U.S. Provisional Application No. 62/263,195, filed on Dec. 4, 2015, and U.S. Provisional Application No. 62/263,214, filed on Dec. 4, 2015, each of which is incorporated by reference herein in its entirety. 
    
    
     BACKGROUND 
     This disclosure relates generally to the field of directional drilling using steerable drilling motors. More specifically, the disclosure relates to methods and apparatus for automatically operating a drilling unit to cause a wellbore being drilled with a drill string using a steerable drilling motor. 
     Steerable drilling motors are used in directional drilling operations to cause a wellbore drilled through subsurface formations to follow a selected trajectory. To cause the trajectory to remain on a particular direction, the drill string may be rotated from the surface, causing the steerable motor housing to rotate therewith. Such rotation causes the drill string to drill the wellbore along a substantially continuous direction. To change the direction of the wellbore trajectory, the rotation of the drill string at the surface is stopped, and drilling progresses using only the rotation of a drill bit at the lower end of the drill string provided by the steerable drilling motor. The steerable drilling motor may be operated, for example, by flow of drilling fluid therethrough. The steerable drilling motor may have a bend in its housing, such that when rotation of the drill string is stopped, the wellbore trajectory turns in the direction of the inside of the bend in the motor housing. Such procedure is known as “slide” drilling, and may continue until wellbore survey information, such as may be obtained by a measurement while drilling (MWD) instrument disposed in the drill string, indicates that the wellbore trajectory has been reoriented to a new selected direction. At such time, rotation of the drill string may resume (so-called “rotary drilling”). 
     Various techniques are known in the art for improving performance of directional drilling operations using steerable drilling motors. See, for example, U.S. Pat. Nos. 6,802,378, 6,918,453, 7,096,979 and 7,810,584 all of which are issued to Haci et al. and U.S. Pat. No. 6,050,348 issued to Richarson et al. The techniques described in the foregoing patents include devices and methods for “rocking” the drill string during slide drilling and in some cases methods for changing from slide drilling to rotary drilling and back again, among other things. 
     SUMMARY 
     One aspect of the present disclosure relates to method for drilling a well. Such a method includes deploying a drill string in the wellbore, the drill string including a drill bit and a steerable drilling motor. The drill string is automatically rotated at the surface back and forth between first and second opposing rotational directions, rotating in the first direction until a first torque limit is exceeded and rotating in the second direction until a second torque limit is exceeded. A toolface of the steerable drilling motor and a differential pressure across the steerable drilling motor are measured while automatically rotating the drill string. A surface processor processes the measured toolface and differential pressure in combination with a target toolface and a target differential pressure to compute new first and second torque limits. The automatic rotating is repeated using the new first and second torque limits. 
     A system for drilling a well according to another aspect of the present disclosure includes a steerable drilling motor deployed in a drill string extending into the well, a surface motor configured to rotate the drill string from the surface, a toolface sensor configured to measure a toolface of the steerable drilling motor, a differential pressure sensor configured to measure a differential pressure across the steerable drilling motor, and a directional drilling controller in communication with the surface motor. The controller is configured to cause the surface motor to automatically rotate back and forth between first and second opposing rotational directions, automatically rotating in the first direction until a first torque limit is exceeded and automatically rotating in the second direction until a second torque limit is exceeded. The controller is further configured to receive toolface measurements from the toolface sensor and differential pressure measurements from the differential pressure sensor and to process the toolface measurements and the differential pressure measurements to compute new first and second torque limits while rotating the drill string. 
     This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Features and advantages of the described implementations can be more readily understood by reference to the following description taken in conjunction with the accompanying drawings. 
         FIG. 1  illustrates examples of equipment in a geologic environment; 
         FIG. 2  illustrates an example of a system and examples of types of holes; 
         FIG. 3  illustrates an example of a system; 
         FIG. 4  illustrates an example of a system; 
         FIG. 5  illustrates an example of a system; 
         FIG. 6  illustrates an example of a system and an example of a scenario; 
         FIG. 7  illustrates an example of a wellsite system; 
         FIG. 8  illustrates an example of a system; 
         FIG. 9  illustrates an example of a system; 
         FIG. 10  illustrates examples of computing and networking equipment; 
         FIG. 11  illustrates example components of a system and a networked system; 
         FIG. 12  is a block diagram of an example pipe rotation control and drill string axial movement control system; 
         FIG. 13  is a block diagram of an example method of using the system of  FIG. 12  according to embodiments of the present application; and 
         FIG. 14  is a block diagram of an example method of setting operating parameters of the system of  FIG. 12  according to embodiments of the present application. 
     
    
    
     DETAILED DESCRIPTION 
     The following description includes embodiments of the best mode presently contemplated for practicing the described implementations. This description is not to be taken in a limiting sense, but rather is made merely for the purpose of describing the general principles of the implementations. The scope of the described implementations should be ascertained with reference to the issued claims. 
     Well planning is a process by which a path of a well can be mapped, so as to reach a reservoir, for example, to produce fluids therefrom. As an example, constraints can be imposed on a design of a well, for example, a well trajectory may be constrained via one or more physical phenomena that may impact viability of a bore, ease of drilling, etc. Thus, for example, one or more constraints may be imposed based at least in part on known geology of a subterranean domain or, for example, presence of other wells in the area (e.g., collision avoidance). As an example, one or more other constraints may be imposed, for example, consider one or more constraints germane to capabilities of tools being used and/or one or more constraints related to drilling time and risk tolerance. 
     As an example, a well plan can be generated based at least in part on imposed constraints and known information. As an example, a well plan may be provided to a well owner, approved, and then implemented by a drilling service provider (e.g., a directional driller or “DD”). 
     As an example, a well design system can account for one or more capabilities of a drilling system or drilling systems that may be utilized at a wellsite. As an example, a drilling engineer may be called upon to take such capabilities into account, for example, as one or more of various designs and specifications are created. 
     As an example, a well design system, which may be a well planning system, may take into account automation. For example, where a wellsite includes wellsite equipment that can be automated, for example, via a local and/or a remote automation command, a well plan may be generated in digital form that can be utilized in a well drilling system where at least some amount of automation is possible and desired. For example, a digital well plan can be accessible by a well drilling system where information in the digital well plan can be utilized via one or more automation mechanisms of the well drilling system to automate one or more operations at a wellsite. 
       FIG. 1  shows an example of a geologic environment  120 . In  FIG. 1 , the geologic environment  120  may be a sedimentary basin that includes layers (e.g., stratification) that include a reservoir  121  and that may be, for example, intersected by a fault  123  (e.g., or faults). As an example, the geologic environment  120  may be outfitted with any of a variety of sensors, detectors, actuators, etc. For example, equipment  122  may include communication circuitry to receive and/or to transmit information with respect to one or more networks  125 . Such information may include information associated with downhole equipment  124 , which may be equipment to acquire information, to assist with resource recovery, etc. Other equipment  126  may be located remote from a well site and include sensing, detecting, emitting or other circuitry. Such equipment may include storage and communication circuitry to store and to communicate data, instructions, etc. As an example, one or more pieces of equipment may provide for measurement, collection, communication, storage, analysis, etc. of data (e.g., for one or more produced resources, etc.). As an example, one or more satellites may be provided for purposes of communications, data acquisition, geolocation, etc. For example,  FIG. 1  shows a satellite in communication with the network  125  that may be configured for communications, noting that the satellite may additionally or alternatively include circuitry for imagery (e.g., spatial, spectral, temporal, radiometric, etc.). 
       FIG. 1  also shows the geologic environment  120  as optionally including equipment  127  and  128  associated with a well that includes a substantially horizontal portion that may intersect with one or more fractures  129 . For example, consider a well in a shale formation that may include natural fractures, artificial fractures (e.g., hydraulic fractures) or a combination of natural and artificial fractures. As an example, a well may be drilled for a reservoir that is laterally extensive. In such an example, lateral variations in properties, stresses, etc. may exist where an assessment of such variations may assist with planning, operations, etc. to develop the reservoir (e.g., via fracturing, injecting, extracting, etc.). As an example, the equipment  127  and/or  128  may include components, a system, systems, etc. for fracturing, seismic sensing, analysis of seismic data, assessment of one or more fractures, injection, production, etc. As an example, the equipment  127  and/or  128  may provide for measurement, collection, communication, storage, analysis, etc. of data such as, for example, production data (e.g., for one or more produced resources). As an example, one or more satellites may be provided for purposes of communications, data acquisition, etc. 
       FIG. 1  also shows an example of equipment  170  and an example of equipment  180 . Such equipment, which may be systems of components, may be suitable for use in the geologic environment  120 . While the equipment  170  and  180  are illustrated as land-based, various components may be suitable for use in an offshore system. As shown in  FIG. 1 , the equipment  180  can be mobile as carried by a vehicle; noting that the equipment  170  can be assembled, disassembled, transported and re-assembled, etc. 
     The equipment  170  includes a platform  171 , a derrick  172 , a crown block  173 , a line  174 , a traveling block assembly  175 , drawworks  176  and a landing  177  (e.g., a monkeyboard). As an example, the line  174  may be controlled at least in part via the drawworks  176  such that the traveling block assembly  175  travels in a vertical direction with respect to the platform  171 . For example, by drawing the line  174  in, the drawworks  176  may cause the line  174  to run through the crown block  173  and lift the traveling block assembly  175  skyward away from the platform  171 ; whereas, by allowing the line  174  out, the drawworks  176  may cause the line  174  to run through the crown block  173  and lower the traveling block assembly  175  toward the platform  171 . Where the traveling block assembly  175  carries pipe (e.g., casing, etc.), tracking of movement of the traveling block  175  may provide an indication as to how much pipe has been deployed. 
     A derrick can be a structure used to support a crown block and a traveling block operatively coupled to the crown block at least in part via line. A derrick may be pyramidal in shape and offer a suitable strength-to-weight ratio. A derrick may be movable as a unit or in a piece by piece manner (e.g., to be assembled and disassembled). 
     As an example, drawworks may include a spool, brakes, a power source and assorted auxiliary devices. Drawworks may controllably reel out and reel in line. Line may be reeled over a crown block and coupled to a traveling block to gain mechanical advantage in a “block and tackle” or “pulley” fashion. Reeling out and in of line can cause a traveling block (e.g., and whatever may be hanging underneath it), to be lowered into or raised out of a bore. Reeling out of line may be powered by gravity and reeling in by a motor, an engine, etc. (e.g., an electric motor, a diesel engine, etc.). 
     As an example, a crown block can include a set of pulleys (e.g., sheaves) that can be located at or near a top of a derrick or a mast, over which line is threaded. A traveling block can include a set of sheaves that can be moved up and down in a derrick or a mast via line threaded in the set of sheaves of the traveling block and in the set of sheaves of a crown block. A crown block, a traveling block and a line can form a pulley system of a derrick or a mast, which may enable handling of heavy loads (e.g., drill string, pipe, casing, liners, etc.) to be lifted out of or lowered into a bore. As an example, line may be about a centimeter to about five centimeters in diameter as, for example, steel cable. Through use of a set of sheaves, such line may carry loads heavier than the line could support as a single strand. 
     As an example, a derrick person may be a rig crew member that works on a platform attached to a derrick or a mast. A derrick can include a landing on which a derrick person may stand. As an example, such a landing may be about 10 meters or more above a rig floor. In an operation referred to as trip out of the hole (TOH), a derrick person may wear a safety harness that enables leaning out from the work landing (e.g., monkeyboard) to reach pipe in located at or near the center of a derrick or a mast and to throw a line around the pipe and pull it back into its storage location (e.g., fingerboards), for example, until it a time at which it may be desirable to run the pipe back into the bore. As an example, a rig may include automated pipe-handling equipment such that the derrick person controls the machinery rather than physically handling the pipe. 
     As an example, a trip may refer to the act of pulling equipment from a bore and/or placing equipment in a bore. As an example, equipment may include a drill string that can be pulled out of the hole and/or place or replaced in the hole. As an example, a pipe trip may be performed where a drill bit has dulled or has otherwise ceased to drill efficiently and is to be replaced. 
       FIG. 2  shows an example of a wellsite system  200  (e.g., at a wellsite that may be onshore or offshore). As shown, the wellsite system  200  can include a mud tank  201  for holding mud and other material (e.g., where mud can be a drilling fluid), a suction line  203  that serves as an inlet to a mud pump  204  for pumping mud from the mud tank  201  such that mud flows to a vibrating hose  206 , a drawworks  207  for winching drill line or drill lines  212 , a standpipe  208  that receives mud from the vibrating hose  206 , a kelly hose  209  that receives mud from the standpipe  208 , a gooseneck or goosenecks  210 , a traveling block  211 , a crown block  213  for carrying the traveling block  211  via the drill line or drill lines  212  (see, e.g., the crown block  173  of  FIG. 1 ), a derrick  214  (see, e.g., the derrick  172  of  FIG. 1 ), a kelly  218  or a top drive  240 , a kelly drive bushing  219 , a rotary table  220 , a drill floor  221 , a bell nipple  222 , one or more blowout preventers (BOPS)  223 , a drill string  225 , a drill bit  226 , a casing head  227  and a flow pipe  228  that carries mud and other material to, for example, the mud tank  201 . 
     In the example system of  FIG. 2 , a borehole  232  is formed in subsurface formations  230  by rotary drilling; noting that various example embodiments may also use directional drilling. 
     As shown in the example of  FIG. 2 , the drill string  225  is suspended within the borehole  232  and has a drill string assembly  250  that includes the drill bit  226  at its lower end. As an example, the drill string assembly  250  may be a bottom hole assembly (BHA). 
     The wellsite system  200  can provide for operation of the drill string  225  and other operations. As shown, the wellsite system  200  includes the platform  211  and the derrick  214  positioned over the borehole  232 . As mentioned, the wellsite system  200  can include the rotary table  220  where the drill string  225  pass through an opening in the rotary table  220 . 
     As shown in the example of  FIG. 2 , the wellsite system  200  can include the kelly  218  and associated components, etc., or a top drive  240  and associated components. As to a kelly example, the kelly  218  may be a square or hexagonal metal/alloy bar with a hole drilled therein that serves as a mud flow path. The kelly  218  can be used to transmit rotary motion from the rotary table  220  via the kelly drive bushing  219  to the drill string  225 , while allowing the drill string  225  to be lowered or raised during rotation. The kelly  218  can pass through the kelly drive bushing  219 , which can be driven by the rotary table  220 . As an example, the rotary table  220  can include a master bushing that operatively couples to the kelly drive bushing  219  such that rotation of the rotary table  220  can turn the kelly drive bushing  219  and hence the kelly  218 . The kelly drive bushing  219  can include an inside profile matching an outside profile (e.g., square, hexagonal, etc.) of the kelly  218 ; however, with slightly larger dimensions so that the kelly  218  can freely move up and down inside the kelly drive bushing  219 . 
     As to a top drive example, the top drive  240  can provide functions performed by a kelly and a rotary table. The top drive  240  can turn the drill string  225 . As an example, the top drive  240  can include one or more motors (e.g., electric and/or hydraulic) connected with appropriate gearing to a short section of pipe called a quill, that in turn may be screwed into a saver sub or the drill string  225  itself. The top drive  240  can be suspended from the traveling block  211 , so the rotary mechanism is free to travel up and down the derrick  214 . As an example, a top drive  240  may allow for drilling to be performed with more joint stands than a kelly/rotary table approach. In either the kelly/rotary table implementation or top drive implementation, a surface motor  220 A or  240 A, respectively, may be operated to cause rotation of the rotary table  220  or top drive  240 . The motor  220 A or  240 A may be, for example and without limitation, an electric motor, a pneumatic motor or an hydraulic motor. 
     In the example of  FIG. 2 , the mud tank  201  can hold mud, which can be one or more types of drilling fluids. As an example, a wellbore may be drilled to produce fluid, inject fluid or both (e.g., hydrocarbons, minerals, water, etc.). 
     In the example of  FIG. 2 , the drill string  225  (e.g., including one or more downhole tools) may be composed of a series of pipes threadably connected together to form a long tube with the drill bit  226  at the lower end thereof. As the drill string  225  is advanced into a wellbore for drilling, at some point in time prior to or coincident with drilling, the mud may be pumped by the pump  204  from the mud tank  201  (e.g., or other source) via a the lines  206 ,  208  and  209  to a port of the kelly  218  or, for example, to a port of the top drive  240 . The mud can then flow via a passage (e.g., or passages) in the drill string  225  and out of ports located on the drill bit  226  (see, e.g., a directional arrow). As the mud exits the drill string  225  via ports in the drill bit  226 , it can then circulate upwardly through an annular region between an outer surface(s) of the drill string  225  and surrounding wall(s) (e.g., open borehole, casing, etc.), as indicated by directional arrows. In such a manner, the mud lubricates the drill bit  226  and carries heat energy (e.g., frictional or other energy) and formation cuttings to the surface where the mud (e.g., and cuttings) may be returned to the mud tank  201 , for example, for recirculation (e.g., with processing to remove cuttings, etc.). 
     The mud pumped by the pump  204  into the drill string  225  may, after exiting the drill string  225 , form a mud cake that lines the wellbore which, among other functions, may reduce friction between the drill string  225  and surrounding wall(s) (e.g., borehole, casing, etc.). A reduction in friction may facilitate advancing or retracting the drill string  225 . During a drilling operation, the entire drill string  225  may be pulled from a wellbore and optionally replaced, for example, with a new or sharpened drill bit, a smaller diameter drill string, etc. As mentioned, the act of pulling a drill string out of a hole or replacing it in a hole is referred to as tripping. A trip may be referred to as an upward trip or an outward trip or as a downward trip or an inward trip depending on trip direction. 
     As an example, consider a downward trip where upon arrival of the drill bit  226  of the drill string  225  at a bottom of a wellbore, pumping of the mud commences to lubricate the drill bit  226  for purposes of drilling to enlarge the wellbore. As mentioned, the mud can be pumped by the pump  204  into a passage of the drill string  225  and, upon filling of the passage, the mud may be used as a transmission medium to transmit energy, for example, energy that may encode information as in mud-pulse telemetry. 
     As an example, mud-pulse telemetry equipment may include a downhole device configured to effect changes in pressure in the mud to create an acoustic wave or waves upon which information may modulated. In such an example, information from downhole equipment (e.g., one or more modules of the drill string  225 ) may be transmitted uphole to an uphole device, which may relay such information to other equipment for processing, control, etc. 
     As an example, telemetry equipment may operate via transmission of energy via the drill string  225  itself. For example, consider a signal generator that imparts coded energy signals to the drill string  225  and repeaters that may receive such energy and repeat it to further transmit the coded energy signals (e.g., information, etc.). 
     As an example, the drill string  225  may be fitted with telemetry equipment  252  that includes a rotatable drive shaft, a turbine impeller mechanically coupled to the drive shaft such that the mud can cause the turbine impeller to rotate, a modulator rotor mechanically coupled to the drive shaft such that rotation of the turbine impeller causes said modulator rotor to rotate, a modulator stator mounted adjacent to or proximate to the modulator rotor such that rotation of the modulator rotor relative to the modulator stator creates pressure pulses in the mud, and a controllable brake for selectively braking rotation of the modulator rotor to modulate pressure pulses. In such example, an alternator may be coupled to the aforementioned drive shaft where the alternator includes at least one stator winding electrically coupled to a control circuit to selectively short the at least one stator winding to electromagnetically brake the alternator and thereby selectively brake rotation of the modulator rotor to modulate the pressure pulses in the mud. 
     In the example of  FIG. 2 , an uphole control and/or data acquisition system  262  may include circuitry to sense pressure pulses generated by telemetry equipment  252  and, for example, communicate sensed pressure pulses or information derived therefrom for process, control, etc. 
     The assembly  250  of the illustrated example includes a logging-while-drilling (LWD) module  254 , a measuring-while-drilling (MWD) module  256 , an optional module  258 , a roto-steerable system and motor  260 , and the drill bit  226 . 
     The LWD module  254  may be housed in a suitable type of drill collar and can contain one or a plurality of selected types of logging tools. It will also be understood that more than one LWD and/or MWD module can be employed, for example, as represented at by the module  256  of the drill string assembly  250 . Where the position of an LWD module is mentioned, as an example, it may refer to a module at the position of the LWD module  254 , the module  256 , etc. An LWD module can include capabilities for measuring, processing, and storing information, as well as for communicating with the surface equipment. In the illustrated example, the LWD module  254  may include a seismic measuring device. 
     The MWD module  256  may be housed in a suitable type of drill collar and can contain one or more devices for measuring characteristics of the drill string  225  and the drill bit  226 . As an example, the MWD tool  254  may include equipment for generating electrical power, for example, to power various components of the drill string  225 . As an example, the MWD tool  254  may include the telemetry equipment  252 , for example, where the turbine impeller can generate power by flow of the mud; it being understood that other power and/or battery systems may be employed for purposes of powering various components. As an example, the MWD module  256  may include one or more of the following types of measuring devices: a weight-on-bit measuring device, a torque measuring device, a vibration measuring device, a shock measuring device, a stick slip measuring device, a direction measuring device, and an inclination measuring device. 
       FIG. 2  also shows some examples of types of holes that may be drilled. For example, consider a slant hole  272 , an S-shaped hole  274 , a deep inclined hole  276  and a horizontal hole  278 . 
     As an example, a drilling operation can include directional drilling where, for example, at least a portion of a well includes a curved axis. For example, consider a radius that defines curvature where an inclination with regard to the vertical may vary until reaching an angle between about 30 degrees and about 60 degrees or, for example, an angle to about 90 degrees or possibly greater than about 90 degrees. 
     As an example, a directional well can include several shapes where each of the shapes may aim to meet particular operational demands. As an example, a drilling process may be performed on the basis of information as and when it is relayed to a drilling engineer. As an example, inclination and/or direction may be modified based on information received during a drilling process. 
     As an example, deviation of a bore may be accomplished in part by use of a downhole motor and/or a turbine. As to a motor, for example, a drill string can include a positive displacement motor (PDM). 
     As an example, a system may be a steerable system and include equipment to perform method such as geosteering. As an example, a steerable system can include a PDM or of a turbine on a lower part of a drill string which, just above a drill bit, a bent sub can be mounted. As an example, above a PDM, MWD equipment that provides real time or near real time data of interest (e.g., inclination, direction, pressure, temperature, real weight on the drill bit, torque stress, etc.) and/or LWD equipment may be installed. As to the latter, LWD equipment can make it possible to send to the surface various types of data of interest, including for example, geological data (e.g., gamma ray log, resistivity, density and sonic logs, etc.). 
     The coupling of sensors providing information on the course of a well trajectory, in real time or near real time, with, for example, one or more logs characterizing the formations from a geological viewpoint, can allow for implementing a geosteering method. Such a method can include navigating a subsurface environment, for example, to follow a desired route to reach a desired target or targets. 
     As an example, a drill string can include an azimuthal density neutron (AND) tool for measuring density and porosity; a MWD tool for measuring inclination, azimuth and shocks; a compensated dual resistivity (CDR) tool for measuring resistivity and gamma ray related phenomena; one or more variable gauge stabilizers; one or more bend joints; and a geosteering tool, which may include a motor and optionally equipment for measuring and/or responding to one or more of inclination, resistivity and gamma ray related phenomena. 
     As an example, geosteering can include intentional directional control of a wellbore based on results of downhole geological logging measurements in a manner that aims to keep a directional wellbore within a desired region, zone (e.g., a pay zone), etc. As an example, geosteering may include directing a wellbore to keep the wellbore in a particular section of a reservoir, for example, to minimize gas and/or water breakthrough and, for example, to maximize economic production from a well that includes the wellbore. 
     Referring again to  FIG. 2 , the wellsite system  200  can include one or more sensors  264  that are operatively coupled to the control and/or data acquisition system  262 . As an example, a sensor or sensors may be at surface locations. As an example, a sensor or sensors may be at downhole locations. As an example, a sensor or sensors may be at one or more remote locations that are not within a distance of the order of about one hundred meters from the wellsite system  200 . As an example, a sensor or sensor may be at an offset wellsite where the wellsite system  200  and the offset wellsite are in a common field (e.g., oil and/or gas field). 
     As an example, one or more of the sensors  264  can be provided for tracking pipe, tracking movement of at least a portion of a drill string, etc. Additional sensors will be explained below with reference to  FIG. 12 . 
     As an example, the system  200  can include one or more sensors  266  that can sense and/or transmit signals to a fluid conduit such as a drilling fluid conduit (e.g., a drilling mud conduit). For example, in the system  200 , the one or more sensors  266  can be operatively coupled to portions of the standpipe  208  through which mud flows. As an example, a downhole tool can generate pulses that can travel through the mud and be sensed by one or more of the one or more sensors  266 . In such an example, the downhole tool can include associated circuitry such as, for example, encoding circuitry that can encode signals, for example, to reduce demands as to transmission. As an example, circuitry at the surface may include decoding circuitry to decode encoded information transmitted at least in part via mud-pulse telemetry. As an example, circuitry at the surface may include encoder circuitry and/or decoder circuitry and circuitry downhole may include encoder circuitry and/or decoder circuitry. As an example, the system  200  can include a transmitter that can generate signals that can be transmitted downhole via mud (e.g., drilling fluid) as a transmission medium. 
     As an example, one or more portions of a drill string may become stuck. The term stuck can refer to one or more of varying degrees of inability to move or remove a drill string from a bore. As an example, in a stuck condition, it might be possible to rotate pipe or lower it back into a bore or, for example, in a stuck condition, there may be an inability to move the drill string axially in the bore, though some amount of rotation may be possible. As an example, in a stuck condition, there may be an inability to move at least a portion of the drill string axially and rotationally. 
     As to the term “stuck pipe”, the can refer to a portion of a drill string that cannot be rotated or moved axially. As an example, a condition referred to as “differential sticking” can be a condition whereby the drill string cannot be moved (e.g., rotated or reciprocated) along the axis of the bore. Differential sticking may occur when high-contact forces caused by low reservoir pressures, high wellbore pressures, or both, are exerted over a sufficiently large area of the drill string. Differential sticking can have time and financial cost. 
     As an example, a sticking force can be a product of the differential pressure between the wellbore and the reservoir and the area that the differential pressure is acting upon. This means that a relatively low differential pressure (delta p) applied over a large working area can be just as effective in sticking pipe as can a high differential pressure applied over a small area. 
     As an example, a condition referred to as “mechanical sticking” can be a condition where limiting or prevention of motion of the drill string by a mechanism other than differential pressure sticking occurs. Mechanical sticking can be caused, for example, by one or more of junk in the hole, wellbore geometry anomalies, cement, keyseats or a buildup of cuttings in the annulus. 
       FIG. 3  shows an example of a system  300  that includes various equipment for evaluation  310 , planning  320 , engineering  330  and operations  340 . For example, a drilling workflow framework  301 , a seismic-to-simulation framework  302 , a technical data framework  303  and a drilling framework  304  may be implemented to perform one or more processes such as a evaluating a formation  314 , evaluating a process  318 , generating a trajectory  324 , validating a trajectory  328 , formulating constraints  334 , designing equipment and/or processes based at least in part on constraints  338 , performing drilling  344  and evaluating drilling and/or formation  348 . 
     In the example of  FIG. 3 , the seismic-to-simulation framework  302  can be, for example, the PETREL® framework (Schlumberger Limited, Houston, Tex.) and the technical data framework  303  can be, for example, the TECHLOG® framework (Schlumberger Limited, Houston, Tex.). 
     As an example, a framework can include entities that may include earth entities, geological objects or other objects such as wells, surfaces, reservoirs, etc. Entities can include virtual representations of actual physical entities that are reconstructed for purposes of one or more of evaluation, planning, engineering, operations, etc. 
     Entities may include entities based on data acquired via sensing, observation, etc. (e.g., seismic data and/or other information). An entity may be characterized by one or more properties (e.g., a geometrical pillar grid entity of an earth model may be characterized by a porosity property). Such properties may represent one or more measurements (e.g., acquired data), calculations, etc. 
     A framework may be an object-based framework. In such a framework, entities may include entities based on pre-defined classes, for example, to facilitate modeling, analysis, simulation, etc. A commercially available example of an object-based framework is the MICROSOFT™.NET™ framework (Redmond, Wash.), which provides a set of extensible object classes. In the .NET™ framework, an object class encapsulates a module of reusable code and associated data structures. Object classes can be used to instantiate object instances for use in by a program, script, etc. For example, borehole classes may define objects for representing boreholes based on well data. 
     As an example, a framework can include an analysis component that may allow for interaction with a model or model-based results (e.g., simulation results, etc.). As to simulation, a framework may operatively link to or include a simulator such as the ECLIPSE® reservoir simulator (Schlumberger Limited, Houston Tex.), the INTERSECT® reservoir simulator (Schlumberger Limited, Houston Tex.), etc. 
     The aforementioned PETREL® framework provides components that allow for optimization of exploration and development operations. The PETREL® framework includes seismic to simulation software components that can output information for use in increasing reservoir performance, for example, by improving asset team productivity. Through use of such a framework, various professionals (e.g., geophysicists, geologists, well engineers, reservoir engineers, etc.) can develop collaborative workflows and integrate operations to streamline processes. Such a framework may be considered an application and may be considered a data-driven application (e.g., where data is input for purposes of modeling, simulating, etc.). 
     As an example, one or more frameworks may be interoperative and/or run upon one or another. As an example, consider the commercially available framework environment marketed as the OCEAN® framework environment (Schlumberger Limited, Houston, Tex.), which allows for integration of add-ons (or plug-ins) into a PETREL® framework workflow. The OCEAN® framework environment leverages .NET™ tools (Microsoft Corporation, Redmond, Wash.) and offers stable, user-friendly interfaces for efficient development. In an example embodiment, various components may be implemented as add-ons (or plug-ins) that conform to and operate according to specifications of a framework environment (e.g., according to application programming interface (API) specifications, etc.). 
     As an example, a framework can include a model simulation layer along with a framework services layer, a framework core layer and a modules layer. The framework may include the commercially available OCEAN® framework where the model simulation layer can include or operatively link to the commercially available PETREL® model-centric software package that hosts OCEAN® framework applications. In an example embodiment, the PETREL® software may be considered a data-driven application. The PETREL® software can include a framework for model building and visualization. Such a model may include one or more grids. 
     As an example, the model simulation layer may provide domain objects, act as a data source, provide for rendering and provide for various user interfaces. Rendering may provide a graphical environment in which applications can display their data while the user interfaces may provide a common look and feel for application user interface components. 
     As an example, domain objects can include entity objects, property objects and optionally other objects. Entity objects may be used to geometrically represent wells, surfaces, reservoirs, etc., while property objects may be used to provide property values as well as data versions and display parameters. For example, an entity object may represent a well where a property object provides log information as well as version information and display information (e.g., to display the well as part of a model). 
     As an example, data may be stored in one or more data sources (or data stores, generally physical data storage devices), which may be at the same or different physical sites and accessible via one or more networks. As an example, a model simulation layer may be configured to model projects. As such, a particular project may be stored where stored project information may include inputs, models, results and cases. Thus, upon completion of a modeling session, a user may store a project. At a later time, the project can be accessed and restored using the model simulation layer, which can recreate instances of the relevant domain objects. 
     As an example, the system  300  may be used to perform one or more workflows. A workflow may be a process that includes a number of worksteps. A workstep may operate on data, for example, to create new data, to update existing data, etc. As an example, a workflow may operate on one or more inputs and create one or more results, for example, based on one or more algorithms. As an example, a system may include a workflow editor for creation, editing, executing, etc. of a workflow. In such an example, the workflow editor may provide for selection of one or more pre-defined worksteps, one or more customized worksteps, etc. As an example, a workflow may be a workflow implementable at least in part in the PETREL® software, for example, that operates on seismic data, seismic attribute(s), etc. 
     As an example, seismic data can be data acquired via a seismic survey where sources and receivers are positioned in a geologic environment to emit and receive seismic energy where at least a portion of such energy can reflect off subsurface structures. As an example, a seismic data analysis framework or frameworks (e.g., consider the OMEGA® framework, marketed by Schlumberger Limited, Houston, Tex.) may be utilized to determine depth, extent, properties, etc. of subsurface structures. As an example, seismic data analysis can include forward modeling and/or inversion, for example, to iteratively build a model of a subsurface region of a geologic environment. As an example, a seismic data analysis framework may be part of or operatively coupled to a seismic-to-simulation framework (e.g., the PETREL® framework, etc.). 
     As an example, a workflow may be a process implementable at least in part in the OCEAN® framework. As an example, a workflow may include one or more worksteps that access a module such as a plug-in (e.g., external executable code, etc.). 
     As an example, a framework may provide for modeling petroleum systems. For example, the commercially available modeling framework marketed as the PETROMOD® framework (Schlumberger Limited, Houston, Tex.) includes features for input of various types of information (e.g., seismic, well, geological, etc.) to model evolution of a sedimentary basin. The PETROMOD® framework provides for petroleum systems modeling via input of various data such as seismic data, well data and other geological data, for example, to model evolution of a sedimentary basin. The PETROMOD® framework may predict if, and how, a reservoir has been charged with hydrocarbons, including, for example, the source and timing of hydrocarbon generation, migration routes, quantities, pore pressure and hydrocarbon type in the subsurface or at surface conditions. In combination with a framework such as the PETREL® framework, workflows may be constructed to provide basin-to-prospect scale exploration solutions. Data exchange between frameworks can facilitate construction of models, analysis of data (e.g., PETROMOD® framework data analyzed using PETREL® framework capabilities), and coupling of workflows. 
     As mentioned, a drill string can include various tools that may make measurements. As an example, a wireline tool or another type of tool may be utilized to make measurements. As an example, a tool may be configured to acquire electrical borehole images. As an example, the fullbore Formation Microlmager (FMI) tool (Schlumberger Limited, Houston, Tex.) can acquire borehole image data. A data acquisition sequence for such a tool can include running the tool into a borehole with acquisition pads closed, opening and pressing the pads against a wall of the borehole, delivering electrical current into the material defining the borehole while translating the tool in the borehole, and sensing current remotely, which is altered by interactions with the material. 
     Analysis of formation information may reveal features such as, for example, vugs, dissolution planes (e.g., dissolution along bedding planes), stress-related features, dip events, etc. As an example, a tool may acquire information that may help to characterize a reservoir, optionally a fractured reservoir where fractures may be natural and/or artificial (e.g., hydraulic fractures). As an example, information acquired by a tool or tools may be analyzed using a framework such as the TECHLOG® framework. As an example, the TECHLOG® framework can be interoperable with one or more other frameworks such as, for example, the PETREL® framework. 
       FIG. 4  shows an example of a system  400  that includes a client layer  410 , an applications layer  440  and a storage layer  460 . As shown the client layer  410  can be in communication with the applications layer  440  and the applications layer  440  can be in communication with the storage layer  460 . 
     The client layer  410  can include features that allow for access and interactions via one or more private networks  412 , one or more mobile platforms and/or mobile networks  414  and via the “cloud”  416 , which may be considered to include distributed equipment that forms a network such as a network of networks. 
     In the example of  FIG. 4 , the applications layer  440  includes the drilling workflow framework  301  as mentioned with respect to the example of  FIG. 3 . The applications layer  440  also includes a database management component  442  that includes one or more search engines modules. 
     As an example, the database management component  442  can include one or more search engine modules that provide for searching one or more information that may be stored in one or more data repositories. As an example, the STUDIO E&amp;P™ knowledge environment (Schlumberger Ltd., Houston, Tex.) includes STUDIO FIND™ search functionality, which provides a search engine. The STUDIO FIND™ search functionality also provides for indexing content, for example, to create one or more indexes. As an example, search functionality may provide for access to public content, private content or both, which may exist in one or more databases, for example, optionally distributed and accessible via an intranet, the Internet or one or more other networks. As an example, a search engine may be configured to apply one or more filters from a set or sets of filters, for example, to enable users to filter out data that may not be of interest. 
     As an example, a framework may provide for interaction with a search engine and, for example, associated features such as features of the STUDIO FIND™ search functionality. As an example, a framework may provide for implementation of one or more spatial filters (e.g., based on an area viewed on a display, static data, etc.). As an example, a search may provide access to dynamic data (e.g., “live” data from one or more sources), which may be available via one or more networks (e.g., wired, wireless, etc.). As an example, one or more modules may optionally be implemented within a framework or, for example, in a manner operatively coupled to a framework (e.g., as an add-on, a plug-in, etc.). As an example, a module for structuring search results (e.g., in a list, a hierarchical tree structure, etc.) may optionally be implemented within a framework or, for example, in a manner operatively coupled to a framework (e.g., as an add-on, a plug-in, etc.). 
     In the example of  FIG. 4 , the applications layer  440  can include communicating with one or more resources such as, for example, the seismic-to-simulation framework  302 , the drilling framework  304  and/or one or more sites, which may be or include one or more offset wellsites. As an example, the applications layer  440  may be implemented for a particular wellsite where information can be processed as part of a workflow for operations such as, for example, operations performed, being performed and/or to be performed at the particular wellsite. As an example, an operation may involve directional drilling, for example, via geosteering. 
     In the example of  FIG. 4 , the storage layer  460  can include various types of data, information, etc., which may be stored in one or more databases  462 . As an example, one or more servers  464  may provide for management, access, etc., to data, information, etc., stored in the one or more databases  462 . As an example, the module  442  may provide for searching as to data, information, etc., stored in the one or more databases  462 . 
     As an example, the module  442  may include features for indexing, etc. As an example, information may be indexed at least in part with respect to wellsite. For example, where the applications layer  440  is implemented to perform one or more workflows associated with a particular wellsite, data, information, etc., associated with that particular wellsite may be indexed based at least in part on the wellsite being an index parameter (e.g., a search parameter). 
     As an example, the system  400  of  FIG. 4  may be implemented to perform one or more portions of one or more workflows associated with the system  300  of  FIG. 3 . For example, the drilling workflow framework  301  may interact with the technical data framework  303  and the drilling framework  304  before, during and/or after performance of one or more drilling operations. In such an example, the one or more drilling operations may be performed in a geologic environment (see, e.g., the environment  150  of  FIG. 1 ) using one or more types of equipment (see, e.g., equipment of  FIGS. 1 and 2 ). 
       FIG. 5  shows an example of a system  500  that includes a computing device  501 , an application services block  510 , a bootstrap services block  520 , a cloud gateway block  530 , a cloud portal block  540 , a stream processing services block  550 , one or more databases  560 , a management services block  570  and a service systems manager  590 . 
     In the example of  FIG. 5 , the computing device  501  can include one or more processors  502 , memory  503 , one or more interfaces  504  and location circuitry  505  or, for example, one of the one or more interfaces  504  may be operatively coupled to location circuitry that can acquire local location information. For example, the computing device  501  can include GPS circuitry as location circuitry such that the approximate location of the computer device  501  can be determined. While GPS is mentioned (Global Positioning System), location circuitry may employ one or more types of locating techniques. For example, consider one or more of GLONASS, GALILEO, BeiDou-2, or another system (e.g., global navigation satellite system, “GNSS”). As an example, location circuitry may include cellular phone circuitry (e.g., LTE, 3G, 4G, etc.). As an example, location circuitry may include WiFi circuitry. 
     As an example, the application services block  510  can be implemented via instructions executable using the computing device  501 . As an example, the computing device  501  may be at a wellsite and part of wellsite equipment. As an example, the computing device  501  may be a mobile computing device (e.g., tablet, laptop, etc.) or a desktop computing device that may be mobile, for example, as part of wellsite equipment (e.g., doghouse equipment, rig equipment, vehicle equipment, etc.). 
     As an example, the system  500  can include performing various actions. For example, the system  500  may include a token that is utilized as a security measure to assure that information (e.g., data) is associated with appropriate permission or permissions for transmission, storage, access, etc. 
     In the example of  FIG. 5 , various circles are shown with labels A to H. As an example, A can be a process where an administrator creates a shared access policy (e.g., manually, via an API, etc.); B can be a process for allocating a shared access key for a device identifier (e.g., a device ID), which may be performed manually, via an API, etc.); C can be a process for creating a “device” that can be registered in a device registry and for allocating a symmetric key; D can be a process for persisting metadata where such metadata may be associated with a wellsite identifier (e.g., a well ID) and where, for example, location information (e.g., GPS based information, etc.) may be associated with a device ID and a well ID; E can be a process where a bootstrap message passes that includes a device ID (e.g., a trusted platform module (TPM) chip ID that may be embedded within a device) and that includes a well ID and location information such that bootstrap services (e.g., of the bootstrap services block  520 ) can proceed to obtain shared access signature (SAS) key(s) to a cloud service endpoint for authorization; F can be a process for provisioning a device, for example, if not already provisioned, where, for example, the process can include returning device keys and endpoint; G can be a process for getting a SAS token using an identifier and a key; and H can be a process that includes being ready to send a message using device credentials. Also shown in  FIG. 5  is a process for getting a token and issuing a command for a well identifier (see label Z). 
     As an example, Shared Access Signatures can be an authentication mechanism based on, for example, SHA-256 secure hashes, URIs, etc. As an example, SAS may be used by one or more Service Bus services. SAS can be implemented via a Shared Access Policy and a Shared Access Signature, which may be referred to as a token. As an example, for SAS applications using the AZURE™.NET SDK with the Service Bus, .NET libraries can use SAS authorization through the SharedAccessSignatureTokenProvider class. 
     As an example, where a system gives an entity (e.g., a sender, a client, etc.) a SAS token, that entity does not have the key directly, and that entity cannot reverse the hash to obtain it. As such, there is control over what that entity can access and, for example, for how long access may exist. As an example, in SAS, for a change of the primary key in the policy, Shared Access Signatures created from it will be invalidated. 
     As an example, the system  500  of  FIG. 5  can be implemented for provisioning of rig acquisition system and/or data delivery. 
     As an example, a method can include establishing an Internet of Things (IoT) hub or hubs. As an example, such a hub or hubs can include one or more device registries. In such an example, the hub or hubs may provide for storage of metadata associated with a device and, for example, a per-device authentication model. As an example, where location information indicates that a device (e.g., wellsite equipment, etc.) has been changed with respect to its location, a method can include revoking the device in a hub. 
     As an example, such an architecture utilized in a system such as, for example, the system  500 , may include features of the AZURE™ architecture (AZURE is a mark of Microsoft Corporation, Redmond, Wash.). As an example, the cloud portal block  540  can include one or more features of an AZURE™ portal that can manage, mediate, etc. access to one or more services, data, connections, networks, devices, etc. 
     As an example, the system  500  can include a cloud computing platform and infrastructure, for example, for building, deploying, and managing applications and services (e.g., through a network of datacenters, etc.). As an example, such a cloud platform may provide PaaS and IaaS services and support one or more different programming languages, tools and frameworks, etc. 
       FIG. 6  shows an example of a system  600  associated with an example of a wellsite system  601  and also shows an example scenario  602 . As shown in  FIG. 6 , the system  600  can include a front-end  603  and a back-end  605  from an outside or external perspective (e.g., external to the wellsite system  601 , etc.). In the example of  FIG. 6 , the system  600  includes a drilling framework  620 , a stream processing and/or management block  640 , storage  660  and optionally one or more other features that can be defined as being back-end features. In the example of  FIG. 6 , the system  600  includes a drilling workflow framework  610 , a stream processing and/or management block  630 , applications  650  and optionally one or more other features that can be defined as being front-end features. 
     As an example, a user operating a user device can interact with the front-end  603  where the front-end  603  can interact with one or more features of the back-end  605 . As an example, such interactions may be implemented via one or more networks, which may be associated with a cloud platform (e.g., cloud resources, etc.). 
     As to the example scenario  602 , the drilling framework  620  can provide information associated with, for example, the wellsite system  601 . As shown, the stream blocks  630  and  640 , a query service  685  and the drilling workflow framework  610  may receive information and direct such information to storage, which may include a time series database  662 , a blob storage database  664 , a document database  666 , a well information database  668 , a project(s) database  669 , etc. As an example, the well information database  668  may receive and store information such as, for example, customer information (e.g., from entities that may be owners of rights at a wellsite, service providers at a wellsite, etc.). As an example, the project database  669  can include information from a plurality of projects where a project may be, for example, a wellsite project. 
     As an example, the system  600  can be operable for a plurality of wellsites, which may include active and/or inactive wellsites and/or, for example, one or more planned wellsites. As an example, the system  600  can include various components of the system  300  of  FIG. 3 . As an example, the system  600  can include various components of the system  400  of  FIG. 4 . For example, the drilling workflow framework  610  can be a drilling workflow framework such as the drilling workflow framework  301  and/or, for example, the drilling framework  620  can be a drilling framework such as the drilling framework  304 . 
       FIG. 7  shows an example of a wellsite system  700 , specifically,  FIG. 7  shows the wellsite system  700  in an approximate side view and an approximate plan view along with a block diagram of a system  770 . 
     In the example of  FIG. 7 , the wellsite system  700  can include a cabin  710 , a rotary table  722 , drawworks  724 , a mast  726  (e.g., optionally carrying a top drive, etc.), mud tanks  730  (e.g., with one or more pumps, one or more shakers, etc.), one or more pump buildings  740 , a boiler building  742 , an HPU building  744  (e.g., with a rig fuel tank, etc.), a combination building  748  (e.g., with one or more generators, etc.), pipe tubs  762 , a catwalk  764 , a flare  768 , etc. Such equipment can include one or more associated functions and/or one or more associated operational risks, which may be risks as to time, resources, and/or humans. 
     As shown in the example of  FIG. 7 , the wellsite system  700  can include a system  770  that includes one or more processors  772 , memory  774  operatively coupled to at least one of the one or more processors  772 , instructions  776  that can be, for example, stored in the memory  774 , and one or more interfaces  778 . As an example, the system  770  can include one or more processor-readable media that include processor-executable instructions executable by at least one of the one or more processors  772  to cause the system  770  to control one or more aspects of the wellsite system  700 . In such an example, the memory  774  can be or include the one or more processor-readable media where the processor-executable instructions can be or include instructions. As an example, a processor-readable medium can be a computer-readable storage medium that is not a signal and that is not a carrier wave. 
       FIG. 7  also shows a battery  780  that may be operatively coupled to the system  770 , for example, to power the system  770 . As an example, the battery  780  may be a back-up battery that operates when another power supply is unavailable for powering the system  770 . As an example, the battery  780  may be operatively coupled to a network, which may be a cloud network. As an example, the battery  780  can include smart battery circuitry and may be operatively coupled to one or more pieces of equipment via a SMBus or other type of bus. 
     In the example of  FIG. 7 , services  790  are shown as being available, for example, via a cloud platform. Such services can include data services  792 , query services  794  and drilling services  796 . As an example, the services  790  may be part of a system such as the system  300  of  FIG. 3 , the system  400  of  FIG. 4  and/or the system  600  of  FIG. 6 . 
     As an example, a system such as, for example, the system  300  of  FIG. 3  may be utilized to perform a workflow. Such a system may be distributed and allow for collaborative workflow interactions and may be considered to be a platform (e.g., a framework for collaborative interactions, etc.). 
     As an example, one or more systems can be utilized to implement a workflow that can be performed collaboratively. As an example, the system  300  of  FIG. 3  can be operated as a distributed, collaborative well-planning system. The system  300  can utilize one or more servers, one or more client devices, etc. and may maintain one or more databases, data files, etc., which may be accessed and modified by one or more client devices, for example, using a web browser, remote terminal, etc. As an example, a client device may modify a database or data files on-the-fly, and/or may include “sandboxes” that may permit one or more client devices to modify at least a portion of a database or data files optionally off-line, for example, without affecting a database or data files seen by one or more other client devices. As an example, a client device that includes a sandbox may modify a database or data file after completing an activity in the sandbox. 
     In some examples, client devices and/or servers may be remote with respect to one another and/or may individually include two or more remote processing units. As an example, two systems can be “remote” with respect to one another if they are not physically proximate to one another; for example, two devices that are located at different sides of a room, in different rooms, in different buildings, in different cities, countries, etc. may be considered “remote” depending on the context. In some embodiments, two or more client devices may be proximate to one another, and/or one or more client devices and a server may be proximate to one another. 
     As an example, various aspects of a workflow may be completed automatically, may be partially automated, or may be completed manually, as by a human user interfacing with a software application. As an example, a workflow may be cyclic, and may include, as an example, four stages such as, for example, an evaluation stage (see, e.g., the evaluation equipment  310 ), a planning stage (see, e.g., the planning equipment  320 ), an engineering stage (see, e.g., the engineering equipment  330 ) and an execution stage (see, e.g., the operations equipment  340 ). As an example, a workflow may commence at one or more stages, which may progress to one or more other stages (e.g., in a serial manner, in a parallel manner, in a cyclical manner, etc.). 
     As an example, a workflow can commence with an evaluation stage, which may include a geological service provider evaluating a formation (see, e.g., the evaluation block  314 ). As an example, a geological service provider may undertake the formation evaluation using a computing system executing a software package tailored to such activity; or, for example, one or more other suitable geology platforms may be employed (e.g., alternatively or additionally). As an example, the geological service provider may evaluate the formation, for example, using earth models, geophysical models, basin models, petrotechnical models, combinations thereof, and/or the like. Such models may take into consideration a variety of different inputs, including offset well data, seismic data, pilot well data, other geologic data, etc. The models and/or the input may be stored in the database maintained by the server and accessed by the geological service provider. 
     As an example, a workflow may progress to a geology and geophysics (“G&amp;G”) service provider, which may generate a well trajectory (see, e.g., the generation block  324 ), which may involve execution of one or more G&amp;G software packages. Examples of such software packages include the PETREL® framework. As an example, a G&amp;G service provider may determine a well trajectory or a section thereof, based on, for example, one or more model(s) provided by a formation evaluation (e.g., per the evaluation block  314 ), and/or other data, e.g., as accessed from one or more databases (e.g., maintained by one or more servers, etc.). As an example, a well trajectory may take into consideration various “basis of design” (BOD) constraints, such as general surface location, target (e.g., reservoir) location, and the like. As an example, a trajectory may incorporate information about tools, bottom-hole assemblies, casing sizes, etc., that may be used in drilling the well. A well trajectory determination may take into consideration a variety of other parameters, including risk tolerances, fluid weights and/or plans, bottom-hole pressures, drilling time, etc. 
     As an example, a workflow may progress to a first engineering service provider (e.g., one or more processing machines associated therewith), which may validate a well trajectory and, for example, relief well design (see, e.g., the validation block  328 ). Such a validation process may include evaluating physical properties, calculations, risk tolerances, integration with other aspects of a workflow, etc. As an example, one or more parameters for such determinations may be maintained by a server and/or by the first engineering service provider; noting that one or more model(s), well trajectory(ies), etc. may be maintained by a server and accessed by the first engineering service provider. For example, the first engineering service provider may include one or more computing systems executing one or more software packages. As an example, where the first engineering service provider rejects or otherwise suggests an adjustment to a well trajectory, the well trajectory may be adjusted or a message or other notification sent to the G&amp;G service provider requesting such modification. 
     As an example, one or more engineering service providers (e.g., first, second, etc.) may provide a casing design, bottom-hole assembly (BHA) design, fluid design, and/or the like, to implement a well trajectory (see, e.g., the design block  338 ). In some embodiments, a second engineering service provider may perform such design using one of more software applications. Such designs may be stored in one or more databases maintained by one or more servers, which may, for example, employ STUDIO® framework tools, and may be accessed by one or more of the other service providers in a workflow. 
     As an example, a second engineering service provider may seek approval from a third engineering service provider for one or more designs established along with a well trajectory. In such an example, the third engineering service provider may consider various factors as to whether the well engineering plan is acceptable, such as economic variables (e.g., oil production forecasts, costs per barrel, risk, drill time, etc.), and may request authorization for expenditure, such as from the operating company&#39;s representative, well-owner&#39;s representative, or the like (see, e.g., the formulation block  334 ). As an example, at least some of the data upon which such determinations are based may be stored in one or more database maintained by one or more servers. As an example, a first, a second, and/or a third engineering service provider may be provided by a single team of engineers or even a single engineer, and thus may or may not be separate entities. 
     As an example, where economics may be unacceptable or subject to authorization being withheld, an engineering service provider may suggest changes to casing, a bottom-hole assembly, and/or fluid design, or otherwise notify and/or return control to a different engineering service provider, so that adjustments may be made to casing, a bottom-hole assembly, and/or fluid design. Where modifying one or more of such designs is impracticable within well constraints, trajectory, etc., the engineering service provider may suggest an adjustment to the well trajectory and/or a workflow may return to or otherwise notify an initial engineering service provider and/or a G&amp;G service provider such that either or both may modify the well trajectory. 
     As an example, a workflow can include considering a well trajectory, including an accepted well engineering plan, and a formation evaluation. Such a workflow may then pass control to a drilling service provider, which may implement the well engineering plan, establishing safe and efficient drilling, maintaining well integrity, and reporting progress as well as operating parameters (see, e.g., the blocks  344  and  348 ). As an example, operating parameters, formation encountered, data collected while drilling (e.g., using logging-while-drilling or measuring-while-drilling technology), may be returned to a geological service provider for evaluation. As an example, the geological service provider may then re-evaluate the well trajectory, or one or more other aspects of the well engineering plan, and may, in some cases, and potentially within predetermined constraints, adjust the well engineering plan according to the real-life drilling parameters (e.g., based on acquired data in the field, etc.). 
     Whether the well is entirely drilled, or a section thereof is completed, depending on the specific embodiment, a workflow may proceed to a post review (see, e.g., the evaluation block  318 ). As an example, a post review may include reviewing drilling performance. As an example, a post review may further include reporting the drilling performance (e.g., to one or more relevant engineering, geological, or G&amp;G service providers). 
     Various activities of a workflow may be performed consecutively and/or may be performed out of order (e.g., based partially on information from templates, nearby wells, etc. to fill in any gaps in information that is to be provided by another service provider). As an example, undertaking one activity may affect the results or basis for another activity, and thus may, either manually or automatically, call for a variation in one or more workflow activities, work products, etc. As an example, a server may allow for storing information on a central database accessible to various service providers where variations may be sought by communication with an appropriate service provider, may be made automatically, or may otherwise appear as suggestions to the relevant service provider. Such an approach may be considered to be a holistic approach to a well workflow, in comparison to a sequential, piecemeal approach. 
     As an example, various actions of a workflow may be repeated multiple times during drilling of a wellbore. For example, in one or more automated systems, feedback from a drilling service provider may be provided at or near real-time, and the data acquired during drilling may be fed to one or more other service providers, which may adjust its piece of the workflow accordingly. As there may be dependencies in other areas of the workflow, such adjustments may permeate through the workflow, e.g., in an automated fashion. In some embodiments, a cyclic process may additionally or instead proceed after a certain drilling goal is reached, such as the completion of a section of the wellbore, and/or after the drilling of the entire wellbore, or on a per-day, week, month, etc. basis. 
     Well planning can include determining a path of a well that can extend to a reservoir, for example, to economically produce fluids such as hydrocarbons therefrom. Well planning can include selecting a drilling and/or completion assembly which may be used to implement a well plan. As an example, various constraints can be imposed as part of well planning that can impact design of a well. As an example, such constraints may be imposed based at least in part on information as to known geology of a subterranean domain, presence of one or more other wells (e.g., actual and/or planned, etc.) in an area (e.g., consider collision avoidance), etc. As an example, one or more constraints may be imposed based at least in part on characteristics of one or more tools, components, etc. As an example, one or more constraints may be based at least in part on factors associated with drilling time and/or risk tolerance. 
     As an example, a system can allow for a reduction in waste, for example, as may be defined according to LEAN. In the context of LEAN, consider one or more of the following types of waste: Transport (e.g., moving items unnecessarily, whether physical or data); Inventory (e.g., components, whether physical or informational, as work in process, and finished product not being processed); Motion (e.g., people or equipment moving or walking unnecessarily to perform desired processing); Waiting (e.g., waiting for information, interruptions of production during shift change, etc.); Overproduction (e.g., production of material, information, equipment, etc. ahead of demand); Over Processing (e.g., resulting from poor tool or product design creating activity); and Defects (e.g., effort involved in inspecting for and fixing defects whether in a plan, data, equipment, etc.). As an example, a system that allows for actions (e.g., methods, workflows, etc.) to be performed in a collaborative manner can help to reduce one or more types of waste. 
     As an example, a system can be utilized to implement a method for facilitating distributed well engineering, planning, and/or drilling system design across multiple computation devices where collaboration can occur among various different users (e.g., some being local, some being remote, some being mobile, etc.). In such a system, the various users via appropriate devices may be operatively coupled via one or more networks (e.g., local and/or wide area networks, public and/or private networks, land-based, marine-based and/or areal networks, etc.). 
     As an example, a system may allow well engineering, planning, and/or drilling system design to take place via a subsystems approach where a wellsite system is composed of various subsystem, which can include equipment subsystems and/or operational subsystems (e.g., control subsystems, etc.). As an example, computations may be performed using various computational platforms/devices that are operatively coupled via communication links (e.g., network links, etc.). As an example, one or more links may be operatively coupled to a common database (e.g., a server site, etc.). As an example, a particular server or servers may manage receipt of notifications from one or more devices and/or issuance of notifications to one or more devices. As an example, a system may be implemented for a project where the system can output a well plan, for example, as a digital well plan, a paper well plan, a digital and paper well plan, etc. Such a well plan can be a complete well engineering plan or design for the particular project. 
       FIG. 8  shows a schematic diagram depicting an example of a drilling operation of a directional well in multiple sections. The drilling operation depicted in  FIG. 8  includes a wellsite drilling system  800  and a field management tool  820  for managing various operations associated with drilling a bore hole  850  of a directional well  817 . The wellsite drilling system  800  includes various components (e.g., drill string  812 , annulus  813 , bottom hole assembly (BHA)  814 , kelly  815 , mud pit  816 , etc.). As shown in the example of  FIG. 8 , a target reservoir may be located away from (as opposed to directly under) the surface location of the well  817 . In such an example, special tools or techniques may be used to ensure that the path along the bore hole  850  reaches the particular location of the target reservoir. 
     As an example, the BHA  814  may include sensors  808 , a rotary steerable system  809 , and a bit  810  to direct the drilling toward the target guided by a pre-determined survey program for measuring location details in the well. Furthermore, the subterranean formation through which the directional well  817  is drilled may include multiple layers (not shown) with varying compositions, geophysical characteristics, and geological conditions. Both the drilling planning during the well design stage and the actual drilling according to the drilling plan in the drilling stage may be performed in multiple sections (e.g., sections  801 ,  802 ,  803  and  804 ) corresponding to the multiple layers in the subterranean formation. For example, certain sections (e.g., sections  801  and  802 ) may use cement  807  reinforced casing  806  due to the particular formation compositions, geophysical characteristics, and geological conditions. 
     In the example of  FIG. 8 , a surface unit  811  may be operatively linked to the wellsite drilling system  800  and the field management tool  820  via communication links  818 . The surface unit  811  may be configured with functionalities to control and monitor the drilling activities by sections in real-time via the communication links  818 . The field management tool  820  may be configured with functionalities to store oilfield data (e.g., historical data, actual data, surface data, subsurface data, equipment data, geological data, geophysical data, target data, anti-target data, etc.) and determine relevant factors for configuring a drilling model and generating a drilling plan. The oilfield data, the drilling model, and the drilling plan may be transmitted via the communication link  818  according to a drilling operation workflow. The communication links  818  may include a communication subassembly. 
     During various operations at a wellsite, data can be acquired for analysis and/or monitoring of one or more operations. Such data may include, for example, subterranean formation, equipment, historical and/or other data. Static data can relate to, for example, formation structure and geological stratigraphy that define the geological structures of the subterranean formation. Static data may also include data about a bore, such as inside diameters, outside diameters, and depths. Dynamic data can relate to, for example, fluids flowing through the geologic structures of the subterranean formation over time. The dynamic data may include, for example, pressures, fluid compositions (e.g. gas oil ratio, water cut, and/or other fluid compositional information), and states of various equipment, and other information. 
     The static and dynamic data collected via a bore, a formation, equipment, etc. may be used to create and/or update a three dimensional model of one or more subsurface formations. As an example, static and dynamic data from one or more other bores, fields, etc. may be used to create and/or update a three dimensional model. As an example, hardware sensors, core sampling, and well logging techniques may be used to collect data. As an example, static measurements may be gathered using downhole measurements, such as core sampling and well logging techniques. Well logging involves deployment of a downhole tool into the wellbore to collect various downhole measurements, such as density, resistivity, etc., at various depths. Such well logging may be performed using, for example, a drilling tool and/or a wireline tool, or sensors located on downhole production equipment. Once a well is formed and completed, depending on the purpose of the well (e.g., injection and/or production), fluid may flow to the surface (e.g., and/or from the surface) using tubing and other completion equipment. As fluid passes, various dynamic measurements, such as fluid flow rates, pressure, and composition may be monitored. These parameters may be used to determine various characteristics of a subterranean formation, downhole equipment, downhole operations, etc. 
     To facilitate the processing and analysis of data, simulators may be used to process data. Data fed into the simulator(s) may be historical data, real time data or combinations thereof. Simulation through one or more of the simulators may be repeated or adjusted based on the data received. As an example, oilfield operations can be provided with wellsite and non-wellsite simulators. The wellsite simulators may include a reservoir simulator, a wellbore simulator, and a surface network simulator. The reservoir simulator may solve for hydrocarbon flowrate through the reservoir and into the wellbores. The wellbore simulator and surface network simulator may solve for hydrocarbon flowrate through the wellbore and the surface gathering network of pipelines. 
       FIG. 9  shows an example of a system  900  that includes various components that can be local to a wellsite and includes various components that can be remote from a wellsite. As shown, the system  900  includes a Maestro block  902 , an Opera block  904 , a Core &amp; Services block  906  and an Equipment block  908 . These blocks can be labeled in one or more manners other than as shown in the example of  FIG. 9 . In the example of  FIG. 9 , the blocks  902 ,  904 ,  906  and  908  can be defined by one or more of operational features, functions, relationships in an architecture, etc. 
     As an example, the blocks  902 ,  904 ,  906  and  908  may be described in a pyramidal architecture where, from peak to base, a pyramid includes the Maestro block  902 , the Opera block  904 , the Core &amp; Services block  906  and the Equipment block  908 . 
     As an example, the Maestro block  902  can be associated with a well management level (e.g., well planning and/or orchestration) and can be associated with a rig management level (e.g., rig dynamic planning and/or orchestration). As an example, the Opera block  904  can be associated with a process management level (e.g., rig integrated execution). As an example, the Core &amp; Services block  906  can be associated with a data management level (e.g., sensor, instrumentation, inventory, etc.). As an example, the Equipment block  908  can be associated with a wellsite equipment level (e.g., wellsite subsystems, etc.). 
     As an example, the Maestro block  902  may receiving information from a drilling workflow framework and/or one or more other sources, which may be remote from a wellsite. 
     In the example of  FIG. 9 , the Maestro block  902  includes a plan/replan block  922 , an orchestrate/arbitrate block  924  and a local resource management block  926 . In the example of  FIG. 9 , the Opera block  904  includes an integrated execution block  944 , which can include or be operatively coupled to blocks for various subsystems of a wellsite such as a drilling subsystem, a mud management subsystem (e.g., a hydraulics subsystem), a casing subsystem (e.g., casings and/or completions subsystem), and, for example, one or more other subsystems. In the example of  FIG. 9 , the Core &amp; Services block  906  includes a data management and real-time services block  964  (e.g., real-time or near real-time services) and a rig and cloud security block  968  (see, e.g., the system  500  of  FIG. 5  as to provisioning and various type of security measures, etc.). In the example of  FIG. 9 , the Equipment block  908  is shown as being capable of providing various types of information to the Core &amp; Services block  906 . For example, consider information from a rig surface sensor, a LWD/MWD sensor, a mud logging sensor, a rig control system, rig equipment, personnel, material, etc. In the example, of  FIG. 9 , a block  970  can provide for one or more of data visualization, automatic alarms, automatic reporting, etc. As an example, the block  970  may be operatively coupled to the Core &amp; Services block  906  and/or one or more other blocks. 
     As mentioned, a portion of the system  900  can be remote from a wellsite. For example, to one side of a dashed line appear a remote operation command center block  992 , a database block  993 , a drilling workflow framework block  994 , a SAP/ERP block  995  and a field services delivery block  996 . Various blocks that may be remote can be operatively coupled to one or more blocks that may be local to a wellsite system. For example, a communication link  912  is illustrated in the example of  FIG. 9  that can operatively couple the blocks  906  and  992  (e.g., as to monitoring, remote control, etc.), while another communication link  914  is illustrated in the example of  FIG. 9  that can operatively couple the blocks  906  and  996  (e.g., as to equipment delivery, equipment services, etc.). Various other examples of possible communication links are also illustrated in the example of  FIG. 9 . 
     As an example, the system  900  of  FIG. 9  may be a field management tool. As an example, the system  900  of  FIG. 9  may include a drilling framework (see, e.g., the drilling frameworks  304  and  620 ). As an example, blocks in the system  900  of  FIG. 9  that may be remote from a wellsite may include various features of the services  790  of  FIG. 7 . 
     As an example, a wellbore can be drilled according to a drilling plan that is established prior to drilling. Such a drilling plan, which may be a well plan, can set forth equipment, pressures, trajectories and/or other parameters that define drilling process for a wellsite. As an example, a drilling operation may then be performed according to the drilling plan (e.g., well plan). As an example, as information is gathered, a drilling operation may deviate from a drilling plan. Additionally, as drilling or other operations are performed, subsurface conditions may change. Specifically, as new information is collected, sensors may transmit data to one or more surface units. As an example, a surface unit may automatically use such data to update a drilling plan (e.g., locally and/or remotely). 
     As an example, the drilling workflow framework  994  can be or include a G&amp;G system and a well planning system. As an example, a G&amp;G system corresponds to hardware, software, firmware, or a combination thereof that provides support for geology and geophysics. In other words, a geologist who understands the reservoir may decide where to drill the well using the G&amp;G system that creates a three-dimensional model of the subsurface formation and includes simulation tools. The G&amp;G system may transfer a well trajectory and other information selected by the geologist to a well planning system. The well planning system corresponds to hardware, software, firmware, or a combination thereof that produces a well plan. In other words, the well plan may be a high-level drilling program for the well. The well planning system may also be referred to as a well plan generator. 
     In the example of  FIG. 9 , various blocks can be components that may correspond to one or more software modules, hardware infrastructure, firmware, equipment, or any combination thereof. Communication between the components may be local or remote, direct or indirect, via application programming interfaces, and procedure calls, or through one or more communication channels. 
     As an example, various blocks in the system  900  of  FIG. 9  can correspond to levels of granularity in controlling operations of associated with equipment and/or personnel in an oilfield. As shown in  FIG. 9 , the system  900  can include the Maestro block  902  (e.g., for well plan execution), the Opera block  904  (e.g., process manager collection), the Core &amp; Services block  906 , and the Equipment block  908 . 
     The Maestro block  902  may be referred to as a well plan execution system. For example, a well plan execution system corresponds to hardware, software, firmware or a combination thereof that performs an overall coordination of the well construction process, such as coordination of a drilling rig and the management of the rig and the rig equipment. A well plan execution system may be configured to obtain the general well plan from well planning system and transform the general well plan into a detailed well plan. The detailed well plan may include a specification of the activities involved in performing an action in the general well plan, the days and/or times to perform the activities, the individual resources performing the activities, and other information. 
     As an example, a well plan execution system may further include functionality to monitor an execution of a well plan to track progress and dynamically adjust the plan. Further, a well plan execution system may be configured to handle logistics and resources with respect to on and off the rig. As an example, a well plan execution system may include multiple sub-components, such as a detailer that is configured to detail the well planning system plan, a monitor that is configured to monitor the execution of the plan, a plan manager that is configured to perform dynamic plan management, and a logistics and resources manager to control the logistics and resources of the well. In one or more embodiments, a well plan execution system may be configured to coordinate between the different processes managed by a process manager collection (see, e.g., the Opera block  904 ). In other words, a well plan execution system can communicate and manage resource sharing between processes in a process manager collection while operating at, for example, a higher level of granularity than process manager collection. 
     As to the Opera block  904 , as mentioned, it may be referred to as a process manager collection. In one or more embodiments, a process manager collection can include functionality to perform individual process management of individual domains of an oilfield, such as a rig. For example, when drilling a well, different activities may be performed. Each activity may be controlled by an individual process manager in the process manager collection. A process manager collection may include multiple process managers, whereby each process manager controls a different activity (e.g., activity related to the rig). In other words, each process manager may have a set of tasks defined for the process manager that is particular to the type of physics involved in the activity. For example, drilling a well may use drilling mud, which is fluid pumped into well in order to extract drill cuttings from the well. A drilling mud process manager may exist in a process manager collection that manages the mixing of the drilling mud, the composition, testing of the drilling mud properties, determining whether the pressure is accurate, and performing other such tasks. The drilling mud process manager may be separate from a process manager that controls movement of drill pipe from a well. Thus, a process manager collection may partition activities into several different domains and manages each of the domains individually. Amongst other possible process managers, a process manager collection may include, for example, a drilling process manager, a mud preparation and management process manager, a casing running process manager, a cementing process manager, a rig equipment process manager, and other process managers. Further, a process manager collection may provide direct control or advice regarding the components above. As an example, coordination between process managers in a process manager collection may be performed by a well plan execution system. 
     As to the Core &amp; Service block  906  (e.g., a core services block or CS block), it can include functionality to manage individual pieces of equipment and/or equipment subsystems. As an example, a CS block can include functionality to handle basic data structure of the oilfield, such as the rig, acquire metric data, produce reports, and manages resources of people and supplies. As an example, a CS block may include a data acquirer and aggregator, a rig state identifier, a real-time (RT) drill services (e.g., near real-time), a reporter, a cloud, and an inventory manager. 
     As an example, a data acquirer and aggregator can include functionality to interface with individual equipment components and sensor and acquire data. As an example, a data acquirer and aggregator may further include functionality to interface with sensors located at the oilfield. 
     As an example, a rig state identifier can includes functionality to obtain data from the data acquirer and aggregator and transform the data into state information. As an example, state information may include health and operability of a rig as well as information about a particular task being performed by equipment. 
     As an example, RT drill services can include functionality to transmit and present information to individuals. In particular, the RT drill services can include functionality to transmit information to individuals involved according to roles and, for example, device types of each individual (e.g., mobile, desktop, etc.). In one or more embodiments, information presented by RT drill services can be context specific, and may include a dynamic display of information so that a human user may view details about items of interest. 
     As an example, in one or more embodiments, a reporter can include functionality to generate reports. For example, reporting may be based on requests and/or automatic generation and may provide information about state of equipment and/or people. 
     As an example, a wellsite “cloud” framework can correspond to an information technology infrastructure locally at an oilfield, such as an individual rig in the oilfield. In such an example, the wellsite “cloud” framework may be an “Internet of Things” (IoT) framework. As an example, a wellsite “cloud” framework can be an edge of the cloud (e.g., a network of networks) or of a private network. 
     As an example, an inventory manager can be a block that includes functionality to manage materials, such as a list and amount of each resource on a rig. 
     In the example of  FIG. 9 , the Equipment block  908  can correspond to various controllers, control unit, control equipment, etc. that may be operatively coupled to and/or embedded into physical equipment at a wellsite such as, for example, rig equipment. For example, the Equipment block  908  may correspond to software and control systems for individual items on the rig. As an example, the Equipment block  908  may provide for monitoring sensors from multiple subsystems of a drilling rig and provide control commands to multiple subsystem of the drilling rig, such that sensor data from multiple subsystems may be used to provide control commands to the different subsystems of the drilling rig and/or other devices, etc. For example, a system may collect temporally and depth aligned surface data and downhole data from a drilling rig and transmit the collected data to data acquirers and aggregators in core services, which can store the collected data for access onsite at a drilling rig or offsite via a computing resource environment. 
     In one or more embodiments, a method can include performing dynamic scheduling of a plan, which can include rescheduling of a plan. In such an example, a plan may be revised at least in part. As an example, a plan can be a well plan or, for example, a portion of a well plan. As an example, various components at various levels of granularity may be configured to continually monitor performance of tasks at a corresponding level of granularity of a component and, for example, update the plan based on state information about the performance of tasks. 
     As used in the following discussion, components in different levels of granularity may each have an individual plan that is based on the level of granularity. For example, a well plan execution system plan can be an overall plan for a well or entire oilfield while a process manager collection process manages performance of domain plans that can be specific to a respective process of a manager&#39;s domain. As an example, a well plan execution system may monitor and schedule tasks at a level that differs from that of an individual process manager level. For example, a well plan execution system may controls the execution of activities by process managers. As an example, a well plan execution system may enable interrelationships between process managers such that, for example, control information due to a delay of one process manager is transmitted to another process manager. 
     As an example, a plan can be a set of events or activities to be carried out to change the state of a well or a component thereof from a first state to a second state (e.g., a desired state) for the well or component thereof. In such an example, a plan may define, for one or more events: a list of any tasks in the plan that are to precede the task, an action to which the task relates, and a condition for the task. The condition may be, for example, an authorizing precondition detailing criterion that should happen before the task may be performed, a confirming condition defining when performance of the task is complete, and a failure condition defining when the performance of the task may be in error. For example, the failure condition may be the value of states of oilfield equipment that is indicative of a failure to comply with the plan and a call for rescheduling. 
     Performing tasks according to the plan may include, based upon a determination that one or more defined predecessor tasks for one or more tasks have been completed, and further starting at least one task of the plan, independently of time, based upon a determination that a pre-authorizing condition has been met. Performance of a task may be continually monitored to check for a failure condition being satisfied, and to check whether any confirming condition is satisfied. In some embodiments, the plan is scheduled according to time. In other embodiments, management of the plan is time independent. 
     As an example, one or more obstacles may occur in implementation of a plan. Thus, for example, in one or more embodiments, a method may continuously reassess state(s) of a system; regenerate a plan that regenerates a sequence of tasks in a second way (e.g., an optimal way). In one or more embodiments, regeneration can be performed continually taking into account a current state of an oilfield and a second state of the oilfield (e.g., desired state of the oilfield). In some embodiments, regeneration of a plan is performed when a failure condition is determined to exist. 
     In some embodiments, each portion of a system can be continuously and/or continually reassessed as to its state and a method can include generating a plan based on current state(s) to achieve a desired state for one or more portions of the system. In other words, the process managers of process manager collection, when executing a plan, may continually obtain state information from equipment (e.g., one or more subsystems through the core services) to identify one or more relevant states of the system. If the state information indicates a delay or failure condition, then the corresponding process managers of process manager collection may re-plan to achieve the desired state. For example, the process manager may automatically regenerate the sequence of tasks within the domain or level of granularity of the process manager. 
     If the re-planning is not possible in a process manager&#39;s domain, then re-planning may be elevated to a next level of granularity. For example, the re-planning from a particular process manager&#39;s domain may be elevated to the well plan execution system domain (e.g., passed from one level to another level). 
     As an example, a well planning system may have engineering expertise to make design choices for an overall plan. In such a scenario, a well plan execution system may regenerate a plan optionally without involving the well planning system, for example, as long as the new plan does not substantially alter engineering of the well. In particular, a well plan execution system might track resources that are being used by each of a plurality of process managers, but might not, for example, track one or more individual tasks of each of the plurality of process managers. Thus, when a process manager is re-planning, a well plan execution system might track which resources are available before, during, and/or after re-planning without having data regarding the details of the plan. In some embodiments the same re-planning may be used for multiple process managers and, in in some cases, a well plan execution system. In other embodiments, at least some components of the system may use a different re-planning engine. 
     In one or more embodiments, dependency information is maintained at various levels of granularity and managed at the various levels of granularity. Thus, if a component performs planning (e.g., re-planning, etc.) that cause a delay in a dependent task, the component may institute a change in the dependent task. If the change is with respect to a different domain, then the component may notify the process manager directly, or notify well plan execution system of the change. 
     In some embodiments, a method or methods may be executed by a computing system.  FIG. 10  shows an example of a system  1000  that can include one or more computing systems  1001 - 1 ,  1001 - 2 ,  1001 - 3  and  1001 - 4 , which may be operatively coupled via one or more networks  1009 , which may include wired and/or wireless networks. 
     As an example, a system can include an individual computer system or an arrangement of distributed computer systems. In the example of  FIG. 10 , the computer system  1001 - 1  can include one or more modules  1002 , which may be or include processor-executable instructions, for example, executable to perform various tasks (e.g., receiving information, requesting information, processing information, simulation, outputting information, etc.). 
     As an example, a module may be executed independently, or in coordination with, one or more processors  1004 , which is (or are) operatively coupled to one or more storage media  1006  (e.g., via wire, wirelessly, etc.). As an example, one or more of the one or more processors  1004  can be operatively coupled to at least one of one or more network interface  1007 . In such an example, the computer system  1001 - 1  can transmit and/or receive information, for example, via the one or more networks  1009  (e.g., consider one or more of the Internet, a private network, a cellular network, a satellite network, etc.). 
     As an example, the computer system  1001 - 1  may receive from and/or transmit information to one or more other devices, which may be or include, for example, one or more of the computer systems  1001 - 2 , etc. A device may be located in a physical location that differs from that of the computer system  1001 - 1 . As an example, a location may be, for example, a processing facility location, a data center location (e.g., server farm, etc.), a rig location, a wellsite location, a downhole location, etc. 
     As an example, a processor may be or include a microprocessor, microcontroller, processor module or subsystem, programmable integrated circuit, programmable gate array, or another control or computing device. 
     As an example, the storage media  1006  may be implemented as one or more computer-readable or machine-readable storage media. As an example, storage may be distributed within and/or across multiple internal and/or external enclosures of a computing system and/or additional computing systems. 
     As an example, a storage medium or storage media may include one or more different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories, magnetic disks such as fixed, floppy and removable disks, other magnetic media including tape, optical media such as compact disks (CDs) or digital video disks (DVDs), BLUERAY® disks, or other types of optical storage, or other types of storage devices. 
     As an example, a storage medium or media may be located in a machine running machine-readable instructions, or located at a remote site from which machine-readable instructions may be downloaded over a network for execution. 
     As an example, various components of a system such as, for example, a computer system, may be implemented in hardware, software, or a combination of both hardware and software (e.g., including firmware), including one or more signal processing and/or application specific integrated circuits. 
     As an example, a system may include a processing apparatus that may be or include a general purpose processors or application specific chips (e.g., or chipsets), such as ASICs, FPGAs, PLDs, or other appropriate devices. 
       FIG. 11  shows components of a computing system  1100  and a networked system  1110 . The system  1100  includes one or more processors  1102 , memory and/or storage components  1104 , one or more input and/or output devices  1106  and a bus  1108 . According to an embodiment, instructions may be stored in one or more computer-readable media (e.g., memory/storage components  1104 ). Such instructions may be read by one or more processors (e.g., the processor(s)  1102 ) via a communication bus (e.g., the bus  1108 ), which may be wired or wireless. The one or more processors may execute such instructions to implement (wholly or in part) one or more attributes (e.g., as part of a method). A user may view output from and interact with a process via an I/O device (e.g., the device  1106 ). According to an embodiment, a computer-readable medium may be a storage component such as a physical memory storage device, for example, a chip, a chip on a package, a memory card, etc. 
     According to an embodiment, components may be distributed, such as in the network system  1110 . The network system  1110  includes components  1122 - 1 ,  1122 - 2 ,  1122 - 3 , . . .  1122 -N. For example, the components  1122 - 1  may include the processor(s)  1102  while the component(s)  1122 - 3  may include memory accessible by the processor(s)  1102 . Further, the component(s)  1122 - 2  may include an I/O device for display and optionally interaction with a method. The network may be or include the Internet, an intranet, a cellular network, a satellite network, etc. 
     As an example, a device may be a mobile device that includes one or more network interfaces for communication of information. For example, a mobile device may include a wireless network interface (e.g., operable via IEEE 802.11, ETSI GSM, BLUETOOTH®, satellite, etc.). As an example, a mobile device may include components such as a main processor, memory, a display, display graphics circuitry (e.g., optionally including touch and gesture circuitry), a SIM slot, audio/video circuitry, motion processing circuitry (e.g., accelerometer, gyroscope), wireless LAN circuitry, smart card circuitry, transmitter circuitry, GPS circuitry, and a battery. As an example, a mobile device may be configured as a cell phone, a tablet, etc. As an example, a method may be implemented (e.g., wholly or in part) using a mobile device. As an example, a system may include one or more mobile devices. 
     As an example, a system may be a distributed environment, for example, a so-called “cloud” environment where various devices, components, etc. interact for purposes of data storage, communications, computing, etc. As an example, a device or a system may include one or more components for communication of information via one or more of the Internet (e.g., where communication occurs via one or more Internet protocols), a cellular network, a satellite network, etc. As an example, a method may be implemented in a distributed environment (e.g., wholly or in part as a cloud-based service). 
     As an example, information may be input from a display (e.g., consider a touchscreen), output to a display or both. As an example, information may be output to a projector, a laser device, a printer, etc. such that the information may be viewed. As an example, information may be output stereographically or holographically. As to a printer, consider a 2D or a 3D printer. As an example, a 3D printer may include one or more substances that can be output to construct a 3D object. For example, data may be provided to a 3D printer to construct a 3D representation of a subterranean formation. As an example, layers may be constructed in 3D (e.g., horizons, etc.), geobodies constructed in 3D, etc. As an example, holes, fractures, etc., may be constructed in 3D (e.g., as positive structures, as negative structures, etc.). 
       FIG. 12  shows a block diagram of functional components of an example embodiment of the uphole control and/or data acquisition system (e.g.,  262  in  FIG. 2 ). The uphole control and/or data acquisition system  262  may include a drill string rotation control system to control rotational operation of the top drive ( 240  in  FIG. 2 ) or rotary table ( 220  in  FIG. 2 ). Such drill string rotation control system may include a torque related parameter sensor  1253 , e.g., a torque sensor. The torque related parameter sensor  1253  may provide measurements related to the torque applied to the drill string ( 225  in  FIG. 2 ) at the surface by the top drive ( 240  in  FIG. 2 ) or the kelly (if used with a rotary table  220 , see  FIG. 2 ). The torque related parameter sensor  1253  may implemented, for example, as a strain gage disposed in the rotary table ( 220  in  FIG. 2 ) or the top drive ( 240  in  FIG. 2 ). The torque related parameter sensor  1253 , as explained above may also be implemented, for example and without limitation, as a current measurement device for an electric motor driven rotary table or top drive motor (e.g., surface motor  220 A or  240 A in  FIG. 2 ), as a pressure sensor for an hydraulically operated top drive or rotary table motor, or as an angle of rotation sensor for measuring drill string rotation. In principle, the torque related parameter sensor  1253  may be any sensor that measures a parameter that can be directly or indirectly related to the amount of torque applied to the drill string ( 225  in  FIG. 2 ) proximate to the surface. 
     The output of the torque related parameter sensor  1253  may be received as input to a processor  1255 . In some embodiments, output of a drilling fluid pressure sensor  1249  and/or one or more sensors  1251  of the MWD/LWD modules ( 256 ,  254  in  FIG. 2 ) or steering tool (not shown) may also be provided as input to the processor  1255 . The drilling fluid pressure sensor  1249  is in pressure communication with the interior of the drill string ( 225  in  FIG. 2 ) and produces a signal corresponding to the pressure of drilling fluid pumped through the drill string by the mud pump ( 204  in  FIG. 2 ). A particular input from the MWD/LWD modules ( 256 ,  254  in  FIG. 2 ) or steering tool may be the orientation angle with respect to geomagnetic north or geodetic direction and Earth&#39;s gravity of a bend in the housing of a steerable drilling motor as measured by a toolface angle sensor  1251 . The foregoing measured angle may be referred to as “toolface angle”, or “toolface.” Toolface may be measured with reference to geomagnetic or geodetic direction when the wellbore is inclined from vertical below a selected threshold inclination angle, as a non-limiting example five degrees. Above the threshold wellbore inclination angle, the toolface may be measured with reference to the uppermost surface of the wellbore, known as “high side” toolface. 
     The processor  1255  may be part of the system described with reference to  FIG. 10  and  FIG. 11  or may be a separate processor. The processor  1255  may be any programmable general purpose processor such as a programmable logic controller (PLC), or may be one or more general purpose programmable computers. The processor  1255  may receive user input from user input devices, such as a keyboard  1257 . Other user input devices such as touch screens, keypads, and the like may also be used. The processor  1255  may also provide visual output to a display  1259 . 
     The processor  1255  may also provide control signal output to a drill string rotation controller  1261  that operates the respective surface motor ( 220 A or  240 A) in the top drive ( 240  in  FIG. 2 ) or rotary table (see  220   FIG. 2 ) to rotate the drill string ( 225  in  FIG. 2 ) from the surface as will be further explained below. 
     The drill string rotation controller  1261  may be implemented, for example, as a servo panel (not shown separately) that attaches to a manual control panel for the top drive ( 240  in  FIG. 2 ). One such servo panel is provided with a service sold under the service mark SLIDER, which is a service mark of Schlumberger Technology Corporation, Sugar Land, Tex. The drill string rotation controller  1261  may also be implemented as direct control to the top drive motor ( 240 A in  FIG. 2 ) power input (e.g., as electric current controls or variable orifice hydraulic valves). The type of and configuration of the drill string rotation controller  1261  is not a limit on the scope of the present disclosure. 
     The processor  1255  may also accept as input signals from a hookload sensor  1226 . The hookload sensor  1226  measures a weight load suspended by the kelly or top drive which may then be related to the axial force (weight) applied to the drill bit ( 226  in  FIG. 2 ). The processor  1255  may also provide output signals to an automated draw works control  1223  which automatically operates draw works ( FIG. 2 ) to raise or lower the drill string ( 225  in  FIG. 2 ). 
     An example embodiment may use a set of measurements that may include, but are not limited to, the surface measured torque related parameter, drilling fluid pressure, hookload and toolface to calculate an optimum WOB required to perform slide drilling at a specific toolface In the present example embodiment, the processor  1255  may be programed to operate the drill string rotation controller  1261  to rotate the surface motor ( 220 A or  240 A in  FIG. 2 ) to cause corresponding rotation of the drill string ( 225  in  FIG. 2 ) in a first direction for a first selected amount of time programmed into a timer  1255 A. The processor  1255  may then operate the drill string rotation controller  1261  to rotate the surface motor and thus the drill string ( 225  in  FIG. 2 ) in the opposite direction for a second selected amount of time programmed into the timer  1255 A. The timer  1255 A may be part of the processor  1255  or may be a separate device in signal communication with the processor  1255 . Rotating the drill string in the first direction for the first selected amount of time and then in the opposite direction for the second selected amount of time may be referred to as a “cycle.” The first and second selected amounts of time may be the same or may be different as will be further explained below. 
     The foregoing cycle may be repeated until the system is disengaged, e.g., by switching off the processor  1255  and drill string rotation controller  1261 . 
     One possible use of the above described method would be to reduce friction between the drill string ( 225  in  FIG. 2 ) and the wellbore in any stage of well construction. Another possible use of the above described method would be to control one or more drilling performance variables such as, but not limited to, differential pressure across the steerable drilling motor (e.g., as measured, e.g., by an increase in pressure at the pressure sensor  1249 ) or the rate of penetration (ROP) of the drill string into the wellbore. A user of the system/method could change the length of time for each portion of the cycle in order to optimize performance of the system. Optimization in the present context may include, without limitation, maximizing ROP, maintaining a substantially constant differential pressure across the steerable drilling motor. 
     Another aspect of the present disclosure relates to selecting the first and second amounts of time as the basis for cumulatively rotating the drill string in one direction in order to change the orientation of the steerable drilling motor ( 1 ). In the present example embodiment the drill string would be rotated in only one direction for a selected amount of time. One implementation may use the processor  1255  to measure the elapsed time of each rotation cycle. At the start of a forward or reverse rotation of the drill string, the processor  1255  may send a control signal to the drill string rotation controller  1261  to cause the top drive motor ( 240  in  FIG. 2 ) to rotate forward (clockwise) or reverse (counter-clockwise) and start the timer  1255 A. The processor  1255  may monitor the timer  1255 A until it reaches a predetermined forward or reverse rotation time. When the predetermined rotation time is reached, the processor  1255  will operate the drill string rotation controller  1261  to stop rotation of the drill string. This would product a one-time clockwise or counter clockwise rotary displacement of the drill string at the surface. 
     In one embodiment, a human user may use measurements from the MWD module ( 256  in  FIG. 2 ) to decide how much (in angular displacement) and in what direction it is desired to change the orientation (toolface) of the steerable drilling motor. The user may enter into the processor  1255 , e.g., using, e.g., the keyboard  1257  or other human machine interface (HMI) a rotation direction and rotation time and execute a one-time clockwise or counter-clockwise rotational displacement of the drill string ( 225  in  FIG. 2 ). Based on observations of subsequent MWD module ( 256  in  FIG. 2 ) measurements of steerable drilling motor assembly orientation (e.g., as may be made by the MWD module or a steering tool), the user may enter a new rotation direction and time to execute another one-time rotational displacement of the drill string. The user may repeat this process, changing the time and rotation direction, until the desired steerable drilling motor orientation (toolface) is obtained. 
     In some embodiments, the processor  1255  may use information from the MWD module ( 256  in  FIG. 2 ), such as measurements from the toolface angle sensor  1251 , or other information system or data source, to determine when the orientation of the steerable drilling motor needs to be changed. The processor  1255  may execute a set of rules or calibrations to determine the amount of time and direction required to execute a single or series of one-time clockwise or counter-clockwise rotational displacements of the drill string that would result in the desired steerable drilling motor orientation. Another implementation of this embodiment would use the processor  1255  to calculate a correlation between drill string rotation time and rotation direction and their combined effect on the steerable drilling motor assembly&#39;s orientation so as to minimize the number of one-time drill string rotational corrections required to obtain the desired steerable drilling motor orientation. 
     Another aspect of the present disclosure relates to the use of a continuous series of timed surface-induced drill pipe rotations to maintain a desired steerable drilling motor housing rotational orientation while drilling a curved portion of a well. In this section of the well it may be necessary to hold the steerable drilling motor at particular toolface orientation while drilling ahead to produce a curved wellbore along a specific trajectory/well plan. Because of torque from the drill bit ( 226  in  FIG. 2 ), a reactive torque acts on the steerable drilling motor in the opposite rotation direction to the drill bit and is transmitted through the drill string ( 225  in  FIG. 2 ) The drill string ( 225  in  FIG. 2 ) may therefore have a tendency to rotate in the direction opposite to the direction of rotation of the drill bit ( 226  in  FIG. 2 ). One implementation of a method according to the present disclosure may cause the processor  1255  to execute a selected number of forward, selected time duration rotations of the drill string in a direction opposite to the drill string orientation changes produced by reactive torque acting through the steerable drilling motor. Another implementation may increase or decrease the time duration of such rotations to actively change or passively allow the change of the steerable drilling motor orientation to a desired drilling motor housing bend angle (“toolface”) orientation. 
     Another aspect of methods according to the present disclosure may be to have the processor  1255  execute a continuous series of forward and reverse timed rotation cycles, but through user input or measurements, e.g., from the toolface angle sensor  1251  increase or decrease the time of the forward rotation so as to maintain a desired steerable drilling motor orientation. This method may also be applied in order to control one or more drilling performance variables such as, but not limited to, differential pressure across the steerable drilling motor or the rate of penetration (ROP) of the drill string into the wellbore. 
     Another aspect of a method according to the present disclosure relates to a technique for cycle rotation (as defined above) of the drill string on a time basis around a “neutral point.” The neutral point for a timed rotation cycle would be the position the pipe returns to after rotating it at the surface in one direction for a selected amount of time, then rotating in the opposite direction for the same amount of time. Because of dynamic features in the well and surface or downhole drilling equipment, the neutral point is only an approximate point and may change in any one cycle from the beginning of one rotation direction to the end of the opposite direction rotation. In the use of the present embodiment of a method when the steerable drilling motor toolface orientation changes from the desired orientation, the time duration of rotation in each direction in each cycle may be changed to move the neutral point to a new orientation relative to its existing orientation. The foregoing may be performed by temporarily changing the time period of the first or second direction of motion for one or more cycles. The time difference between the periods of rotation would produce a net clockwise or counterclockwise change to the position of the neutral point when the original rotation periods are restored. The change in time required to produce the desired change in neutral point, and ultimately a change in the steerable drilling motor orientation, could be estimated by a human user or computer (e.g., the processor  1255 ) and implemented by the human drilling unit or implemented automatically using the system as explained with reference to  FIG. 12 . 
     Another aspect of methods according to the present disclosure may be related to a combined implementation system that performs the methods described above with those described in U.S. Pat. No. 6,802,378 issued to Haci et al. and its derivative works. Such a combined method may alternate between the use of time-based drill string rotation control with torque-based drill string rotation control in order to optimize the performance of the system. In one implementation of this method where torque measurement is available, a computer system, e.g., the processor  55 , may use time based rocking (cycles) in the curve portion of well construction until the measured drag in the wellbore becomes sufficient such that torque based drill string rotation is feasible or may be preferred. Another implementation may use a computer system, e.g., processor  1255 , or user input to correlate measured torque to rotation elapsed times. The processor  1255  or other computer may determine a relationship between measured torque (e.g., using sensor  1253 ) and rotation time (e.g., using timer  1255 A) in one direction, the opposite direction or both directions. Once a relationship between rotation time and measured torque is determined, the processor  1255  may implement automatic rotation of the drill string in the one direction unit a first time corresponding to a first selected torque value is reached. In some embodiments, once the first time is elapsed, the processor  1255  may operate the drill string rotation controller  1261  to automatically reverse rotation of the drill string until a second corresponding time is elapsed. Various embodiments may comprise any drill string rotational speed with respect to time during the selected or determined time interval (or combination thereof) that is fit for purpose, e.g., and without limitation linear, exponential, curvilinear, logarithmic. The rotational speed with respect to time within the time interval may be derived through interpolation, smoothing, regression analysis, statistical inference, extrapolation, and the like. 
     An automatic directional drilling system according to the above example embodiments in the present disclosure may provide improved drilling efficiency and reduce the amount of user input required, thus reducing the possibility of operator caused error in function of the system. 
     In some example embodiments, a method and system are provided for controlling the toolface (TF) and differential pressure (ΔP) with rotation of and axial movement of the drill string ( 225  in  FIG. 2 ) using the top drive ( 240  in  FIG. 2 ) or rotary table ( 220  in  FIG. 2 ) and automated draw works control  1223  in a coordinated manner while measuring several drilling parameters. Differential pressure in the present context means a change in measured pressure of the drilling fluid, using, e.g., pressure sensor  1249 , from a baseline drilling fluid pressure measured with the drill string ( 225  in  FIG. 2 ) positioned such that the drill bit ( 226  in  FIG. 2 ) is not on the bottom of the wellbore or in a position that the bit otherwise does not exert substantial torque. With certain types of drilling motors, for example, positive displacement hydraulic motors, the drilling fluid pressure will increase over the baseline pressure in relation to the amount of axial force applied to the drill bit ( 226  in  FIG. 2 ) and, correspondingly, the torque exerted by the drilling motor acting through the drill bit until the drilling motor reaches its maximum torque capacity and ceases rotation (“stalls”). 
     In an example embodiment according to the present disclosure, the automatic draw works control  1223  may be used to reach and maintain a specific axial loading or “weight on bit” (WOB). The top drive ( 240  in  FIG. 2 ) may be used to control the rotational motion of the drill string ( 225  in  FIG. 2 ) from the surface. In the present example method, the top drive ( 240  in  FIG. 2 ) is operated to manage drill string drag against the wellbore wall and drilling motor reactive torque so as to affect slide drilling direction (toolface orientation) and differential pressure (change in measured drilling fluid pressure). An example embodiment of a method according to the present disclosure uses a set of measurements that may include, but are not limited to, surface measured torque, surface measured drilling fluid pressure, hookload and toolface (TF) to calculate an optimum WOB required to perform slide drilling at a specific toolface orientation and differential pressure. 
     One example embodiment of such a method is illustrated in flow chart form in  FIG. 13 . The HMI  1257 ,  1259  allows a user to input a desired toolface orientation and differential pressure to the system controller, e.g., the processor  1255 . The processor  1255  may accept as input, at  1372 , measurements including top drive torque (torque applied at the surface to the drill string), standpipe (drilling fluid) pressure, hookload (axial load suspended by the draw works), and toolface angle as measured by the MWD/LWD system. The processor  1255  may calculate top drive operating limits, including maximum torque, drill string rotation speed and direction, and operates the drill string rotation controller ( 1261  in  FIG. 12 ) such that the top drive ( 240  in  FIG. 2 ) is operated within such limits. The processor  1255  may also calculate an automatic draw works control  1223  weight on bit setpoint and communicates this value to the automatic draw works control  1223 . While the drill string rotation controller  1261  and automatic draw works control  1223  perform their respective controlling functions, the processor  1255  accepts as input measurements of toolface orientation and drilling mud pressure and compares these to the preselected or “target” toolface and target drilling fluid pressure values input by the user through the HMI  1257 ,  1259 . The processor  1255  will then calculate new top drive operating limits and a new automatic draw works control WOB setpoint. 
     In other embodiments, the HMI  1257 ,  1259  shown in  FIG. 13  may be implemented as a software interface on a local or remote computer that can communicate with another software application that controls the top drive ( 240  in  FIG. 2 ) and automatic draw works control  1223 . The HMI  1257 ,  1259  provides, among other parameters, the desired toolface angle and desired differential pressure (i.e., drilling mud pressure above the “off bottom” pressure) to be obtained during slide drilling and communicates the foregoing values to the processor  1255 . 
     A variation of the present example embodiment may be to have another dependent computer or computer system calculate the slide drilling toolface angle and differential pressure setpoints and provide these directly to the processor  1255  to be executed using the method described above. 
     In some embodiments of the present example method, and referring to  FIG. 14 , the processor  1255  may use any of a number of different algorithms or methods to calculate the operating limits and setpoints used by the other components of the system. The foregoing algorithms and methods are shown generally at  1474  in  FIG. 14  as “learning software.” Examples of learning software for calculating operating limits and setpoints include, without limitation, a knowledge based rule system, a Bayesian network, or an artificial neural network. One particular embodiment of the processor  1255  operating limit and setpoint calculations is an empirical model (which may be implemented as learning software  1474 ). The empirical model may require a set of initial conditions, shown at  1476  to perform calculations. The initial conditions may be entered by a human user through the HMI, set by default to a value in the model, or may be obtained from continuous or discrete measurements of wellbore and/or drilling conditions, shown by measurements at  1472  in  FIG. 14 . The learning software  1474  may be used to adjust the operating parameters of the empirical model in order to match its behavior to wellbore conditions during drilling operations. In an example embodiment, the learning software  1474  may be implemented as part of the system ( 900  in  FIG. 9 ) and/or the stream processing and/or management block ( 630 / 640  in  FIG. 6 ). 
     The processor  1255  may provide the desired weight in terms of (WOB) or, in another example, the processor  1255  may provide the desired WOB in terms of hookload, taking into account the drag between the drill string and the wellbore wall as modified by rocking the drill string during slide drilling. 
     One possible use for a method according to the present disclosure is to improve the performance of an existing slide drilling method. One category of slide drilling methods includes oscillating (or “rocking”) the drill string to reduce drag without changing toolface orientation. One such method, for example, as described in U.S. Pat. No. 6,802,378 issued to Haci et al. to perform drill string rocking includes rocking the drill string (e.g.,  225  in  FIG. 2 ) between predetermined values in opposite rotation directions of surface or top drive torque. A method according to the present disclosure may be applied to improve sliding while rocking to selected torque values in opposed rotation directions by calculating the required top drive torque limits for each rotation direction as well as the optimum weight on bit to reach and maintain the desired toolface and drilling mud (differential) pressure. 
     Another possible use for a method according to the present disclosure is to perform slide drilling while building a curved portion of a directional wellbore. When methods according to the present disclosure are used for such purpose, the amount of drag in the wellbore, i.e., friction between the drill string and the wellbore wall is very small and the reactive torque generated by the steerable drilling motor and bit components are more readily transmitted to the surface along the drill string as a result. Example embodiments of the present method may be applied to calculate the required top drive operating parameters (e.g., rocking torque limits) and automatic draw works control weight on bit setpoint necessary to obtain the desired toolface orientation and differential pressure while building the curved portion of the wellbore. In the present example embodiment of method of rocking the drill string between selected torque limits, the processor  1255  or other computer or controller may calculate the top drive torque limits required to counteract the steerable drilling motor reactive torque and maintain the desired toolface and differential pressure. 
     In one example embodiment of a method according to the present disclosure, the controller may communicate directly with the automatic draw works control ( 1223  in  FIG. 12 ). Such communication may be implemented in any one of a number of different forms including, but not limited to wired electrical signals, a software API, or wireless communication such as Institute of Electrical and Electronics Engineers (IEEE) 802.11 (b), (g), (n) or (ac) wireless communication protocol, or BLUETOOTH wireless communication protocol. BLUETOOTH is a registered trademark of Bluetooth Special Interest Group, Inc., 5209 Lake Washington Boulevard NE, Suite 350, Kirkland, Wash., 98033. 
     In another example embodiment of a method according to the present disclosure, the processor  1255  may not communicate directly with the automatic draw works control ( 1223  in  FIG. 12 ), but instead communicate the desired weight using a HMI (e.g.,  1257 ,  1259  in  FIG. 12 ) to a human user of the draw works control. The human user may operate the draw works manually to maintain a selected hookload (which may be converted into a selected weight on the drill bit ( 226  in  FIG. 2 ). In another example embodiment of a method according to the present disclosure, the processor  1255  may communicate with the top drive ( 240  in  FIG. 2 ), e.g., using the drill string rotation controller ( 1261  in  FIG. 12 ) and change the operating limits it uses to obtain a desired toolface and/or differential pressure using only rotation of the top drive ( 240  in  FIG. 2 ) and measurements of torque, drilling fluid pressure, toolface angle (e.g., from the MWD system or a steering tool) and hookload available from the various sensors described with reference to  FIG. 12 . 
     Although only a few examples have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the examples. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures. Thus, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface, in the environment of fastening wooden parts, a nail and a screw may be equivalent structures. It is the express intention of the applicant not to invoke 35 U.S.C. § 112(f) for any limitations of any of the claims herein, except for those in which the claim expressly uses the words “means for” together with an associated function.