Cutting pipes in wellbores using downhole autonomous jet cutting tools

11624265 · 2023-04-11

Assignee

Inventors

Cpc classification

International classification

Abstract

A downhole autonomous jet cutting tool includes a main body with a generally cylindrical configuration. The main body includes a locking unit actuable to engage the tool to an inner surface of the pipe, a hydraulic motor with a rotor and a stator, and a rotatable jet cutting nozzle assembly operable to emit a stream of fluid to cut the pipe. The tool also includes a sensor module to detect interactions between the pipe and walls of the wellbore and a control unit in electronic communication with the sensor module and the locking unit. The control unit can identify, based on output of the sensor module, a location where interaction between the pipe and the walls of the wellbore limits downhole movement of the pipe, actuate the locking unit to engage the tool in the inner surface of the pipe, and initiate the stream of fluid from the nozzle assembly.

Claims

1. A downhole autonomous jet cutting tool configured to cut a pipe in a wellbore, the downhole autonomous jet cutting tool comprising: a main body having a generally cylindrical configuration such that the main body limits a downhole flow of fluids past the autonomous jet cutting tool between the autonomous jet cutting tool and the pipe when the tool is deployed in the pipe, the main body comprising: a locking unit actuable to engage the tool to an inner surface of the pipe; and a hydraulic motor comprising a rotor and a stator; and a jet cutting nozzle assembly rotatable by the rotor and operable to emit a stream of fluid to cut the pipe; a sensor module operable to detect interactions between the pipe and walls of the wellbore, the sensor module comprising at least one of: an acoustic transmitter and an acoustic receiver, the acoustic transmitter oriented to send an acoustic signal radially outward relative to an axis of the tool: or an electromagnetic transmitter and an electromagnetic receiver, the electromagnetic transmitter oriented to generate a magnetic field radially outward relative to an axis of the tool; and a control unit in electronic communication with the sensor module and the locking unit, the control unit configured to: identify, based on output of the sensor module, a location where interaction between the pipe and the walls of the wellbore limits downhole movement of the pipe based on at least one of: a change in attenuation of the acoustic signal: or a difference between electromagnetic sensor outputs; actuate the locking unit to engage the tool in the inner surface of the pipe; and initiate the stream of fluid from the jet cutting nozzle assembly.

2. The downhole autonomous jet cutting tool of claim 1, wherein the locking unit comprises a packer.

3. The downhole autonomous jet cutting tool of claim 2, wherein the locking unit comprises slips.

4. The downhole autonomous jet cutting tool of claim 1, wherein the sensor module comprises an acoustic transmitter oriented to send an acoustic signal radially outward relative to an axis of the tool.

5. The downhole autonomous jet cutting tool of claim 4, wherein the acoustic signal has a frequency of 20-30 kHz.

6. The downhole autonomous jet cutting tool of claim 1, wherein the sensor module comprises an electromagnetic transmitter oriented to generate magnetic field radially outward relative to an axis of the tool.

7. The downhole autonomous jet cutting tool of claim 1, wherein the sensor module comprises an ultrasonic sensor.

8. The downhole autonomous jet cutting tool of claim 1, wherein the hydraulic motor comprises a rotor embedded inside a stator and the jet cutting nozzle assembly is rotationally fixed to the rotor.

9. The downhole autonomous jet cutting tool of claim 8, wherein the body further comprises rubber baffles extending radially outward.

10. The downhole autonomous jet cutting tool of claim 1, wherein initiating the stream of fluid from the jet cutting nozzle assembly comprises opening a valve in the main body to permit drilling fluid to enter the main body and exit the jet cutting nozzle assembly.

11. The downhole autonomous jet cutting tool of claim 10, wherein the rotor rotates in response to the drilling fluid flowing through the main body.

12. A method for cutting a pipe in a wellbore, the method comprising: dropping a downhole autonomous jet cutting tool in a pipe, the downhole autonomous jet cutting tool controlled by a flow rate and configured to identify a location where interaction between the pipe and walls of the wellbore limits a downhole movement of the pipe; sensing the pipe with a sensor module until it reaches the location where interaction between the pipe and the walls of the wellbore limits a downhole movement of the pipe, the sensor module comprising at least one of: an acoustic transmitter and an acoustic receiver, the acoustic transmitter oriented to send an acoustic signal radially outward relative to an axis of the tool; or an electromagnetic transmitter and an electromagnetic receiver, the electromagnetic transmitter oriented to generate a magnetic field radially outward relative to an axis of the tool; receiving a signal from the sensor module with an identified location based on at least one of: a change in attenuation of the acoustic signal; or a difference between electromagnetic sensor outputs; sending a signal to the tool to: actuate a locking unit to lock the downhole autonomous jet cutting tool in a position proximate to the location where interaction between the pipe and the walls of the wellbore limits a downhole movement of the pipe; and initiate a flow of fluid from a cutting nozzle of the tool to cut the pipe.

Description

DESCRIPTION OF DRAWINGS

(1) FIG. 1 is a schematic view of a drilling system including a downhole autonomous jet cutting tool.

(2) FIG. 2A is a schematic view of components in a downhole autonomous jet cutting tool.

(3) FIG. 2B is a schematic view of the jet cutting nozzle assembly of the autonomous jet cutting tool of FIG. 2A.

(4) FIGS. 3A-3C are schematic views of different scenarios for a stuck pipe incident.

(5) FIGS. 4A-4C are schematic views of a downhole autonomous jet cutting tool in various stages of operation.

(6) FIG. 5 is a schematic view of a downhole autonomous jet cutting tool with a sensor module configuration incorporating an acoustic sensor.

(7) FIGS. 6A-6B are schematic views of a downhole autonomous jet cutting tool with a sensor module configuration incorporating an ultrasonic sensor.

(8) FIGS. 7A-7B are schematic views of a downhole autonomous jet cutting tool with a sensor module configuration incorporating a transceiver array.

(9) FIGS. 8A-8B are schematic views of a downhole autonomous jet cutting tool with a sensor module configuration incorporating electromagnetic wave-based sensors.

(10) FIG. 9 is a flowchart showing a method for cutting a pipe in a wellbore.

(11) FIG. 10 is a block diagram of an example computer system.

DETAILED DESCRIPTION

(12) This specification describes downhole autonomous jet cutting tools and methods that can be used to locate and cut a stuck pipe in a wellbore. These tools are not supported from the surface and do not require prior knowledge of the “stuck” pipe location. The tools and methods described in this specification provide an approach in which the downhole autonomous jet cutting tool is dropped or pumped down in a drill pipe to reach the location of the “stuck” pipe and to perform pipe cutting without being supported from the surface (for example, on a wire-line). This downhole autonomous jet cutting tool includes a body and a sensor module. In operation, the jet cutting tool is dropped into drill pipe and moves downhole with fluid being pumped downhole. Once the sensor module detects the “stuck” location of the pipe, the cutting tool anchors itself near the “stuck” location and starts cutting the stuck pipe.

(13) FIG. 1 is a schematic view of a drilling system 100. The drilling system 100 includes a derrick 102 that supports a downhole portion 113 of the drilling system 100. The downhole portion 113 of drilling system 100 includes a drill string 120 formed of multiple connected drill pipes and a drill bit 121 attached at the downhole end of drill string 120. The drilling system 100 is shown being used to drill a wellbore 116 into a subsurface formation 114. The wellbore 116 is illustrated as having a casing 118 but not all wellbores are cased.

(14) A drilling fluid 111 (sometimes referred to as drilling mud) is pumped down the drill string 120 and returns up an annulus between the drill string 120 and walls of the wellbore 116. A circulation pump 106 draws drilling fluid 111 from a mud pit 112 and pumps the drilling fluid 111 into the drill string 120. Conduits 104, 108, and 110 provide hydraulic connections between the circulation pump 106 and the drill string 120, between the wellbore 116 and the mud pit 112, and between the mud pit 112 and the circulation pump 106. The conduits can include hose, pipe, open channels, filters, or combinations of these components capable of handling the desired pressures and flowrates.

(15) Sometimes during drilling, the drill string 120 gets stuck, for example, due to an accumulation of cuttings, due to differential pressure between the drill string 120 and the wellbore 116, or due to the geometry of the wellbore 116. When a drill string 120 gets stuck, the drilling crew is unable to move the drill string down to continue drilling, nor can they pull the string out-of-hole. FIGS. 3A-3B, described in more detail below, illustrates the drill string 120 becoming stuck due to various different conditions.

(16) Referring again to FIG. 1, a downhole autonomous jet cutting tool 122 is dropped into the drill string 120. As described in more detail below, downhole autonomous jet cutting tool 122 can detect a location where drill string 120 is stuck and cut drill string 120 at or near that location. The downhole autonomous jet cutting tool 122 can be an independent, autonomous unit that includes a main body 124 and a sensor module 126. In the illustrated tool, the main body 124 and the sensor module 126 are attached to each another with the sensor module 126 positioned at the downhole end of the main body 124. In some tools, the sensor module 126 is incorporated inside the main body 124 of tool 122. As illustrated, drilling fluid 111 being pumped down the drill string 120 pushes the downhole autonomous jet cutting tool 122 down drill string 120. In some embodiments, tool 122 can be propelled by wheels, a tractor, or other suitable conveyance method, in addition to or instead of being propelled by pumped fluid.

(17) FIGS. 2A and 2B are schematic views of downhole autonomous jet cutting tool 122. In the illustrated embodiment, main body 124 and the sensor module 126 of tool 122 are mechanically attached to each other at a connection 123. For example, connection 123 can comprise a female downhole end of the main body 124 with internal threading receiving a male uphole end of the sensor module 126 with external threading. In some embodiments, connection 123 can be a temporary connection that allows sensor module 126 to disconnect from main body 124 after tool 122 has reached a suitable location downhole as determined based on sensor data from sensor module 126 (such that the function of sensor module 126 may no longer be required).

(18) In the illustrated embodiments, main body 124 includes a locking unit 136, a main valve 137, a control unit 138, a hydraulic motor 143, and a jet cutting nozzle assembly 148. Locking unit 136 in the illustrated embodiment include grip elements 139 which can comprise packers or slips and which, when activated, grip the inner surface of drill string 120 so as to prevent the axial and rotational movement of main body 124 (but not prevent rotational movement of hydraulic motor 143 or jet cutting nozzle assembly 148). In some embodiments, grip elements 139 can include tapered elements that are forced against the inner surface of drill string 120 by releasing of pre-pressurized pistons.

(19) Main valve 137 can be a solenoid-operated valve or other suitable valve. When open, and as described in more detail with respect to FIG. 2B, main valve 137 allows fluid (such as drilling fluid 111) to flow to hydraulic motor 143. Control unit 138 can be, can be a component of, or can be in wired or wireless communication with, a computer such as computer 1020 described in reference to FIG. 10. Control unit 138 can transmit commands to open or close main valve 137. As described in more detail below, control unit 138 can in some embodiments also send and receive other signals (such as sensor measurements from sensor module 126) to, for example, determine the location where drill string 120 is stuck or perform some or all of the other algorithms, computations, or calculations described herein.

(20) Sensor module 126 can include transmitter 210, receiver 212, or other or additional sensors, instrumentation and signal processing circuits, connecting probes, and data storing and processing devices (such as some or all of the components described in reference to FIG. 10). As described in more detail below, sensor module 126 can generate, for example, magnetic fields or acoustic waves to determine a stuck point location of the drill string 120. In some embodiments, sensor module 126 can be or can comprise (for example) sensor module 500 of FIG. 5, sensor module 600 of FIGS. 6A and 6B, sensor module 700 of FIGS. 7A and 7B, or sensor module 800 of FIGS. 8A and 8B.

(21) In the configuration shown in FIG. 2A, main valve 137 is closed and grip elements 139 are not activated. The size and generally cylindrical configuration of main body 124 limits the downhole flow of fluids past tool 122 between the tool and the inner surface of drill string 120, thus causing tool 122 to be carried downhole by the force of drilling fluid 111 being pumped through the drilling system 100. In some embodiments, main body 124 can also include external features that further limit the downhole flow of the pumping drilling fluid 111 past the autonomous jet cutting tool 122, thus increasing the force or speed at which the tool travels downhole. For example, in the illustrated embodiment, main body 124 includes rubber baffles 146 that extend radially outward that from the rest of the main body 124.

(22) When tool 122 has reached a suitable location within drill string 120 (such as, for example, a location where drill string 120 is stuck, as described in more detail below), control unit 138 can transmit signals to activate grip elements 139 and open main valve 137, as shown in FIG. 2B. In the configuration shown in FIG. 2B, fluid (such as drilling fluid 111) can travel in a downhole direction into hydraulic motor 143. Hydraulic motor 143 can in some embodiments be a positive-displacement motor including a rotor 142 embedded inside a stator 140. Jet cutting nozzle assembly 148 is attached to and extends from the downhole end of rotor 142. In the illustrated embodiment, jet cutting nozzle assembly 148 and rotor 142 are a single piece. With main valve 137 open, drilling fluid 111 (or another suitable fluid) can flow through rotor-stator clearance 151, thus rotating rotor 142 and jet cutting nozzle assembly 148. Bearing seals 152 allow rotation of nozzle assembly 148 but prevent leakage of fluid. After the fluid leaves the rotor-stator clearance 151, it flows through ports into cutting nozzle 149. The force of the fluid from cutting nozzle 149 can cut through and sever drill string 120, thus freeing the upper portion of drill string 120 from the stuck portion and allowing the upper portion to be retrieved from the well. In some embodiments, jet cutting nozzle assembly 148 comprises a single cutting nozzle 149; in other embodiments, jet cutting nozzle assembly can comprise multiple nozzles (for example, two nozzles, or three nozzles, or four or more nozzles). In some embodiments, the flow rate through cutting nozzle 149 can be controlled by controlling the rate of fluid pumped by the surface circulation pump (such as pump 106 of FIG. 1).

(23) Control unit 138 can be in wired or wireless communication with sensor module 126 such that control unit 138 can receive output from and send inputs to sensor module 126. As described in more detail below, output from the sensor module 126 may indicate the location where the drill string is stuck or the control unit 138 may interpret the output from the sensor module 126 to calculate and identify the location where the drill string is stuck. As previously discussed, where the drill string is stuck indicates a location where the interaction between the drill string 120 and walls of the wellbore 116 limits a movement of the drill string 120. A variety of events can impose limitations on the downhole movement of the drill string 120 at the contact interface between the drill string 120 and the wellbore 116.

(24) FIGS. 3A-3C are schematic views of different scenarios for a stuck pipe incident. FIG. 3A shows a drill string 120 stuck in wellbore 116 due to accumulation of cuttings 170. FIG. 3B shows a drill string 120 stuck due to differential pressure 180 between the drill string 120 and the wellbore 116. FIG. 3C shows a drill string 120 stuck due to the geometry of the wellbore 116. In these scenarios, the part of the drill pipe above the stuck point can be pulled up from the surface into a state of tension. The part of the drill pipe right below the stuck point is in a relaxed state. At the stuck point, a section of the drill string 120 makes contact with, and is held against, a wall of the wellbore. If a stuck pipe cannot be freed by other methods, the last option is to sever the pipe and perform a sidetrack to resume drilling the well. Prior to performing the sidetrack operation, the exact location and depth where the drill pipe is stuck is determined. The drill pipe is then severed at this point and a fishing operation is performed to recover the part of the drill string above the stuck point. The goal is to remove the string pipe at the greatest depth possible and, therefore, maintain the most of the depth of the well drilled and recover the most of the drill string.

(25) FIGS. 4A-4C are schematic views of a downhole autonomous jet cutting tool 122 in various stages of operation. The drill string 120 is illustrated as making contact with the wall of the wellbore 116 and getting stuck at a location 200 within subsurface formation 114. When the stuck pipe situation is identified, operators may try to free the drill string 120 by various methods. These include spotting acids, using jars, or applying cycles of high-force pick-ups and slack-offs. If unable to free the stuck pipe, the operators can drop the downhole autonomous jet cutting into the drill string 120 (see FIG. 4B). The downhole autonomous jet cutting tool 122 travels with the drilling fluid at a controlled speed down the drill string 120. The flow rate of the drilling fluid can control the travel speed of the downhole autonomous jet cutting tool 122. Although able to travel all the way to the bottom hole assembly (BHA), the cutting tool 122 is activated and fixed in position where the tool identifies the stuck pipe location using the sensor module 126. For example, the sensor module 126 can sense properties of the drill string 120 and the sensor module 126 or the control unit identify the stuck point location 200 by the transition between a portion of the drill string 120 in tension and a portion of the drill string 120 in a relaxed state, that is, wherein drill string 120 is only subject to its own weight. Once the stuck point 200 is located, the control unit 138 receives an output from the sensor module 126 and sends a signal to activate the grip elements 139 to engage with the inner surface of drill string 120 and open main valve 137 to allow drilling fluid to flow through the cutting tool 122 (as shown in FIG. 2B), thereby anchoring tool 122 in place. With main valve 137 opened, rotor 142 rotates with the nozzle assembly 148, and flow through the nozzle 149 can circumferentially cut and sever drill string 120.

(26) FIG. 5 is a schematic view of a downhole autonomous jet cutting tool 122 with a sensor module 500 incorporating an acoustic sensor. The sensor module 500 can include an acoustic transmitter 210, an acoustic receiver 212, sensor circuitry 224, a microcontroller 226, a connector probe 225 (for example, connector probes commercially available from Flow Control, Victrex, or Hermetic Solutions), and a plurality of through-chip vias 228. In some embodiments, the sensor module includes a micro-electromechanical system (MEMS) sensors and communication modules. The sensor module can include a three dimensional large-scale integration (3D-LSI) technology. This type of 3D integration can reduce the overall size of the sensor module and the cost of the overall tool. The smaller size technology enables a packing of a large number of sub modules such as sensors, microcontrollers, and communications in a compartment. The sensor circuitry 224 and microcontroller 226 can be stacked-type sub-modules and can be interconnected with short signal paths of through-chip vias 228 or through-silicon vias (TSVs). This configuration can also be aligned to eliminate vibration. The sensor module can include a protective cover to protect the sub modules from the harsh downhole environment. The protective cover can include chemical coatings (for example, polymers, epoxy, or resin-based materials) or material that can withstand continuous exposure to the harsh downhole environment.

(27) The acoustic transmitter 210 can be oriented to send an acoustic signal radially outward relative to an axis of the tool 122. For example, the acoustic transmitter 210 of some sensor modules can emit an acoustic signal at a frequency between 20 and 30 kilohertz (kHz). The acoustic signal travels through a section of the drill string 120 or the casing 118 and the drilling fluid inside and outside the drill string 120 (see FIG. 4B). The acoustic wave can travel in an extensional or flexural mode, and the amplitude of the acoustic signal is measured at the acoustic receiver 212. The acoustic signal is then converted into attenuation by obtaining the ratio of amplitude between the transmitter 210 and the receiver 212. This change in attenuation of the acoustic signal allows the control unit 138 to identify the depth of the stuck location 200 where interaction between the string 120 and the walls of the wellbore 116 limits downhole movement of the string 120. In some examples, the sensor module 126 can include a plurality of receivers 212 spaced apart from the transmitter 210, and multiple transmitters 210 and receivers 212 around the sensor module 126. In some examples, the spacing between the transmitter and the receiver is between three and ten feet. Higher attenuation and lower signal amplitude can be an indication of a stuck pipe location where the drill pipe is in direct contact with the wellbore wall. At portions of the drill string 120 other than the stuck pipe location, the attenuation is typically lower and the signal amplitude is higher because the drill pipe is inside the wellbore but contacts the drilling fluid only. The acoustic sensor can include piezoelectric materials (for example, quartz, langasite, lithium niobate, titanium oxide, lead zirconate titanate, other materials exhibiting piezoelectricity, or combination thereof).

(28) FIGS. 6A-6B are schematic views of a downhole autonomous jet cutting tool 122 with a sensor module 600 incorporating an ultrasonic sensor. The sensor module 600 is substantially similar to the sensor module 500 but incorporates top and bottom ultrasonic sensors 250, 252 in place of the acoustic sensors. The sensor module 600 can in some embodiments include rotating transducers with a motor enabling them to rotate around the sensor module 600 as the downhole autonomous jet cutting tool 122 is traveling downhole. The microelectronics 224, 226, and 228 perform signal processing and analysis to determine the stuck point 200 by comparing the sensor outputs from the top sensor 250 and the bottom sensor 252. This sensor module 600 uses an ultrasonic pulse echo technique. The transceiver 238 transmits an acoustic pulse at a frequency and listens for the “echo” from this pulse. In some embodiments, the frequency is between 200 and 700 kHz. The pulse propagates back and forth and creates additional pulses at the receiver 240 (for example, an “echo” train). The sound propagation time is determined by the sound velocity and by the associated elastic constant. The time evolution of the amplitude of the received pulse is defined by the sound attenuation. In an example, a pulse would reflect back from the interface between the drill string 120 and the drilling fluid 112 or at the interface between the casing 118 and the wall of the wellbore 116. Some of the energy is reflected and some is refracted. At a stuck pipe location, the attenuation will be lower and the amplitude of the echo pulse higher. The transceivers can be spaced apart and able to communicate with one another. The spacing can be between three and ten feet. As the autonomous jet cutting tool 122 travels downhole, the transceivers are constantly acquiring and comparing data. As a result of the spacing, one transceiver reaches the stuck point 200 before the other. This acoustic change between the transceivers can be used to determine the depth of the stuck point 200. In an example, if one transceiver is not exactly at the stuck point location the change in acoustic contrast may still be apparent, thus enabling determination of the stuck point or at least an axial range within which is the stuck point.

(29) FIGS. 7A-7B are schematic views of a downhole autonomous jet cutting tool 122 with a sensor module 700 incorporating transceiver arrays 262. The sensor module 700 is substantially similar to the sensor module 500 but incorporates transmitters and receivers configured as transceiver arrays 262. This configuration enables full coverage of the drill string 120. A similar methodology of having two transducer arrays spaced apart can be utilized to determine the stuck point depth (as shown in FIG. 5).

(30) FIGS. 8A-8B are schematic views of a downhole autonomous jet cutting tool 122 with a sensor module 800 incorporating electromagnetic wave-based sensors 272. The sensor module 800 is substantially similar to the sensor module 500 but incorporates transmitters and receivers configured as electromagnetic wave-based sensors 272. The sensor module 800 can include two electromagnets spaced apart and able to communicate with each other downhole. As the downhole autonomous jet cutting tool 122 travels downhole, the electromagnets generate a magnetic field and an increased tension or torque is applied to the drill string 120. In an example, a steel drill pipe is demagnetized due to the deformation caused by tension or torque applied to the drill string 120. The section of the drill string 120 above the stuck point 200 is also demagnetized but the section below the stuck point 200 retains its ferromagnetic properties. In this case, the two electromagnets record a low or no magnetic flux density at the section of the drill pipe above the stuck point 200. In an example, when one of the electromagnets reaches the stuck point 200, or is below the stuck point 200, a clear magnetic contrast is obtained between the magnetic flux density values above and below the stuck point 200. The magnetic sensors 272 can detect magnetic fields from electromagnets. The magnetic sensors can be thin film sensors (for example, giant magnetoresistance sensors (GMRs), tunneling magnetoresistance sensors (TMRs), and Hall sensors). In some embodiments, the MEMS technology, the magnetic sensor, and the electromagnet can be integrated into a single device. In another example, a magnetic sensor can be fabricated as a MEMS device that operates with less power than larger sensors such as fluxgate magnetometers. In some examples, both the magnetic and the acoustic type sensors maybe integrated into one sensor module.

(31) FIG. 9 is a flowchart of a method 900 for cutting a pipe in a wellbore in accordance with some embodiments of the present disclosure. During drilling operations, a pipe is stuck within the wellbore. A downhole autonomous jet cutting tool is dropped inside a drill pipe (902). The downhole autonomous jet cutting tool senses properties of the drill pipe until the sensor module detects the change in sensor output such as a change in attenuation acoustic wave (904). This change is correlated to detecting and identifying the stuck pipe location and the depth of the “stuck” location. The real-time data from the sensor module is transmitted to the control unit within the downhole autonomous jet cutting tool. The control unit processes the received data using the data processing system to determine if the tool has reached the stuck point. The control unit then sends a signal (906) to open the main valve to allow flow through the tool and actuate the grip elements to anchor the tool in position. Once the downhole autonomous jet cutting tool is anchored in place, flow through the tool powers the jet cutting nozzle assembly to start cutting the stuck pipe (908). Once the cutting is completed, the cut pipe is fished and retrieved to the surface.

(32) FIG. 10 is a block diagram of an example computer system 1024 used to provide computational functionalities associated with described algorithms, methods, functions, processes, flows, and procedures described in the present disclosure, according to some implementations of the present disclosure. The illustrated computer 1020 is intended to encompass any computing device such as a server, a desktop computer, a laptop/notebook computer, a wireless data port, a smartphone, a personal data assistant (PDA), a tablet computing device, or one or more processors within these devices, including physical instances, virtual instances, or both. The computer 1020 can include input devices such as keypads, keyboards, and touch screens that can accept user information. Also, the computer 1020 can include output devices that can convey information associated with the operation of the computer 1020 The information can include digital data, visual data, audio information, or a combination of information. The information can be presented in a graphical user interface (UI) (or GUI). In some embodiments, the control unit of the downhole autonomous jet cutting cool of the present disclosure (such as control unit 138 of FIGS. 2A and 2B) can be, can be a component of, or can be in wired or wireless communication with computer 1020 or its components or other components. Computer 1020 can in some embodiments be located at a surface location (in whole or in part) and in some embodiments can be located at a subsurface or downhole location (in whole or in part).

(33) The computer 1020 can serve in a role as a client, a network component, a server, a database, a persistency, or components of a computer system for performing the subject matter described in the present disclosure. The illustrated computer 1020 is communicably coupled with a network 1002. In some implementations, one or more components of the computer 1020 can be configured to operate within different environments, including cloud-computing-based environments, local environments, global environments, and combinations of environments.

(34) At a high level, the computer 1020 is an electronic computing device operable to receive, transmit, process, store, and manage data and information associated with the described subject matter. According to some implementations, the computer 1020 can also include, or be communicably coupled with, an application server, an email server, a web server, a caching server, a streaming data server, or a combination of servers.

(35) The computer 1020 can receive requests over network 1002 from a client application (for example, executing on another computer 1020). The computer 1020 can respond to the received requests by processing the received requests using software applications. Requests can also be sent to the computer 1020 from internal users (for example, from a command console), external (or third) parties, automated applications, entities, individuals, systems, and computers. Each of the components of the computer 1020 can communicate using a system bus 1010. In some implementations, any or all of the components of the computer 1020, including hardware or software components, can interface with each other or the interface 1004 (or a combination of both), over the system bus 1010. Interfaces can use an application programming interface (API) 1014, a service layer 1016, or a combination of the API 1014 and service layer 1016. The API 1014 can include specifications for routines, data structures, and object classes. The API 1014 can be either computer-language independent or dependent. The API 1014 can refer to a complete interface, a single function, or a set of APIs.

(36) The service layer 1016 can provide software services to the computer 1020 and other components (whether illustrated or not) that are communicably coupled to the computer 1020. The functionality of the computer 1020 can be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer 1016, can provide reusable, defined functionalities through a defined interface. For example, the interface can be software written in JAVA, C++, or a language providing data in extensible markup language (XML) format. While illustrated as an integrated component of the computer 1020, in alternative implementations, the API 1014 or the service layer 1016 can be stand-alone components in relation to other components of the computer 1020 and other components communicably coupled to the computer 1020. Moreover, any or all parts of the API 1014 or the service layer 1016 can be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of the present disclosure.

(37) The computer 1020 includes an interface 1004. Although illustrated as a single interface 1004 in FIG. 10, two or more interfaces 1004 can be used according to particular needs, desires, or particular implementations of the computer 1020 and the described functionality. The interface 1004 can be used by the computer 1020 for communicating with other systems that are connected to the network 1002 (whether illustrated or not) in a distributed environment. Generally, the interface 1004 can include, or be implemented using, logic encoded in software or hardware (or a combination of software and hardware) operable to communicate with the network 1002. More specifically, the interface 1004 can include software supporting one or more communication protocols associated with communications. As such, the network 1002 or the interface's hardware can be operable to communicate physical signals within and outside of the illustrated computer 1020.

(38) The computer 1020 includes a processor 1006. Although illustrated as a single processor 1006 in FIG. 10, two or more processors 1006 can be used according to particular needs, desires, or particular implementations of the computer 1020 and the described functionality. Generally, the processor 1006 can execute instructions and can manipulate data to perform the operations of the computer 1020, including operations using algorithms, methods, functions, processes, flows, and procedures as described in the present disclosure.

(39) The computer 1020 also includes a database 1022 that can hold data for the computer 1020 and other components connected to the network 1002 (whether illustrated or not). For example, database 1022 can be an in-memory, conventional, or a database storing data consistent with the present disclosure. In some implementations, database 1022 can be a combination of two or more different database types (for example, hybrid in-memory and conventional databases) according to particular needs, desires, or particular implementations of the computer 1020 and the described functionality. Although illustrated as a single database 1022 in FIG. 10, two or more databases (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer 1020 and the described functionality. While database 1022 is illustrated as an internal component of the computer 1020, in alternative implementations, database 1022 can be external to the computer 1020.

(40) The computer 1020 also includes a memory 1008 that can hold data for the computer 1020 or a combination of components connected to the network 1002 (whether illustrated or not). Memory 1008 can store any data consistent with the present disclosure. In some implementations, memory 1008 can be a combination of two or more different types of memory (for example, a combination of semiconductor and magnetic storage) according to particular needs, desires, or particular implementations of the computer 1020 and the described functionality. Although illustrated as a single memory 1008 in FIG. 10, two or more memories 1008 (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer 1020 and the described functionality. While memory 1008 is illustrated as an internal component of the computer 1020, in alternative implementations, memory 1008 can be external to the computer 1020.

(41) The application 1012 can be an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer 1020 and the described functionality. For example, application 1012 can serve as one or more components, modules, or applications. Further, although illustrated as a single application 1012, the application 1012 can be implemented as multiple applications 1012 on the computer 1020. In addition, although illustrated as internal to the computer 1020, in alternative implementations, the application 1012 can be external to the computer 1020.

(42) The computer 1020 can also include a power supply 1018. The power supply 1018 can include a rechargeable or non-rechargeable battery that can be configured to be either user- or non-user-replaceable. In some implementations, the power supply 1018 can include power-conversion and management circuits, including recharging, standby, and power management functionalities. In some implementations, the power-supply 1018 can include a power plug to allow the computer 1020 to be plugged into a wall socket or a power source to, for example, power the computer 1020 or recharge a rechargeable battery.

(43) There can be any number of computers 1020 associated with, or external to, a computer system containing computer 1020, with each computer 1020 communicating over network 1002. Further, the terms “client,” “user,” and other appropriate terminology can be used interchangeably, as appropriate, without departing from the scope of the present disclosure. Moreover, the present disclosure contemplates that many users can use one computer 1020 and one user can use multiple computers 1020.

(44) Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, intangibly embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Software implementations of the described subject matter can be implemented as one or more computer programs. Each computer program can include one or more modules of computer program instructions encoded on a tangible, non-transitory, computer-readable computer-storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively, or additionally, the program instructions can be encoded in/on an artificially-generated propagated signal. The example, the signal can be a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. The computer-storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of computer-storage mediums.

(45) The terms “data processing apparatus,” “computer,” and “electronic computer device” (or equivalent as understood by one of ordinary skill in the art) refer to data processing hardware. For example, a data processing apparatus can encompass all kinds of apparatus, devices, and machines for processing data, including by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also include special purpose logic circuitry including, for example, a central processing unit (CPU), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some implementations, the data processing apparatus or special purpose logic circuitry (or a combination of the data processing apparatus or special purpose logic circuitry) can be hardware- or software-based (or a combination of both hardware- and software-based). The apparatus can optionally include code that creates an execution environment for computer programs, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of execution environments. The present disclosure contemplates the use of data processing apparatuses with or without conventional operating systems, for example LINUX, UNIX, WINDOWS, MAC OS, ANDROID, or IOS.

(46) A computer program, which can also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language. Programming languages can include, for example, compiled languages, interpreted languages, declarative languages, or procedural languages. Programs can be deployed in any form, including as stand-alone programs, modules, components, subroutines, or units for use in a computing environment. A computer program can, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, for example, one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files storing one or more modules, sub programs, or portions of code. A computer program can be deployed for execution on one computer or on multiple computers that are located, for example, at one site or distributed across multiple sites that are interconnected by a communication network. While portions of the programs illustrated in the various figures may be shown as individual modules that implement the various features and functionality through various objects, methods, or processes, the programs can instead include a number of sub-modules, third-party services, components, and libraries. Conversely, the features and functionality of various components can be combined into single components as appropriate. Thresholds used to make computational determinations can be statically, dynamically, or both statically and dynamically determined.

(47) The methods, processes, or logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The methods, processes, or logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, for example, a CPU, an FPGA, or an ASIC.

(48) Computers suitable for the execution of a computer program can be based on one or more of general and special purpose microprocessors and other kinds of CPUs. The elements of a computer are a CPU for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a CPU can receive instructions and data from (and write data to) a memory. A computer can also include, or be operatively coupled to, one or more mass storage devices for storing data. In some implementations, a computer can receive data from, and transfer data to, the mass storage devices including, for example, magnetic, magneto optical disks, or optical disks. Moreover, a computer can be embedded in another device, for example, a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device such as a universal serial bus (USB) flash drive.

(49) Computer readable media (transitory or non-transitory, as appropriate) suitable for storing computer program instructions and data can include all forms of permanent/non-permanent and volatile/non-volatile memory, media, and memory devices. Computer readable media can include, for example, semiconductor memory devices such as random access memory (RAM), read only memory (ROM), phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices. Computer readable media can also include, for example, magnetic devices such as tape, cartridges, cassettes, and internal/removable disks. Computer readable media can also include magneto optical disks and optical memory devices and technologies including, for example, digital video disc (DVD), CD ROM, DVD+/−R, DVD-RAM, DVD-ROM, HD-DVD, and BLURAY. The memory can store various objects or data, including caches, classes, frameworks, applications, modules, backup data, jobs, web pages, web page templates, data structures, database tables, repositories, and dynamic information. Types of objects and data stored in memory can include parameters, variables, algorithms, instructions, rules, constraints, and references. Additionally, the memory can include logs, policies, security or access data, and reporting files. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

(50) Implementations of the subject matter described in the present disclosure can be implemented on a computer having a display device for providing interaction with a user, including displaying information to (and receiving input from) the user. Types of display devices can include, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), a light-emitting diode (LED), and a plasma monitor. Display devices can include a keyboard and pointing devices including, for example, a mouse, a trackball, or a trackpad. User input can also be provided to the computer through the use of a touchscreen, such as a tablet computer surface with pressure sensitivity or a multi-touch screen using capacitive or electric sensing. Other kinds of devices can be used to provide for interaction with a user, including to receive user feedback, for example, sensory feedback including visual feedback, auditory feedback, or tactile feedback. Input from the user can be received in the form of acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to, and receiving documents from, a device that is used by the user. For example, the computer can send web pages to a web browser on a user's client device in response to requests received from the web browser.

(51) The term “graphical user interface,” or “GUI,” can be used in the singular or the plural to describe one or more graphical user interfaces and each of the displays of a particular graphical user interface. Therefore, a GUI can represent any graphical user interface, including, but not limited to, a web browser, a touch screen, or a command line interface (CLI) that processes information and efficiently presents the information results to the user. In general, a GUI can include a plurality of user interface (UI) elements, some or all associated with a web browser, such as interactive fields, pull-down lists, and buttons. These and other UI elements can be related to or represent the functions of the web browser.

(52) Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back end component, for example, as a data server, or that includes a middleware component, for example, an application server. Moreover, the computing system can include a front-end component, for example, a client computer having one or both of a graphical user interface or a Web browser through which a user can interact with the computer. The components of the system can be interconnected by any form or medium of wireline or wireless digital data communication (or a combination of data communication) in a communication network. Examples of communication networks include a local area network (LAN), a radio access network (RAN), a metropolitan area network (MAN), a wide area network (WAN), Worldwide Interoperability for Microwave Access (WIMAX), a wireless local area network (WLAN) (for example, using 802.11 a/b/g/n or 802.20 or a combination of protocols), all or a portion of the Internet, or any other communication system or systems at one or more locations (or a combination of communication networks). The network can communicate with, for example, Internet Protocol (IP) packets, frame relay frames, asynchronous transfer mode (ATM) cells, voice, video, data, or a combination of communication types between network addresses.

(53) The computing system can include clients and servers. A client and server can generally be remote from each other and can typically interact through a communication network. The relationship of client and server can arise by virtue of computer programs running on the respective computers and having a client-server relationship.

(54) Cluster file systems can be any file system type accessible from multiple servers for read and update. Locking or consistency tracking may not be necessary since the locking of exchange file system can be done at application layer. Furthermore, Unicode data files can be different from non-Unicode data files.

(55) While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented, in combination, in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations, separately, or in any suitable sub-combination. Moreover, although previously described features may be described as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can, in some cases, be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

(56) Particular implementations of the subject matter have been described. Other implementations, alterations, and permutations of the described implementations are within the scope of the following claims as will be apparent to those skilled in the art. While operations are depicted in the drawings or claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed (some operations may be considered optional), to achieve desirable results. In certain circumstances, multitasking or parallel processing (or a combination of multitasking and parallel processing) may be advantageous and performed as deemed appropriate.

(57) Moreover, the separation or integration of various system modules and components in the previously described implementations should not be understood as requiring such separation or integration in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

(58) Accordingly, the previously described example implementations do not define or constrain the present disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of the present disclosure.

(59) Furthermore, any claimed implementation is considered to be applicable to at least a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer system comprising a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method or the instructions stored on the non-transitory, computer-readable medium.

(60) A number of embodiments of these systems and methods have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of this disclosure. Accordingly, other embodiments are within the scope of the following claims.