Language selection

Search

Patent 2984296 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2984296
(54) English Title: SYSTEMS AND METHODS FOR COMMUNICATING DOWNHOLE DATA
(54) French Title: SYSTEMES ET METHODES DE COMMUNICATION DE DONNEES DE FOND DE TROU
Status: Examination
Bibliographic Data
(51) International Patent Classification (IPC):
  • E21B 47/18 (2012.01)
  • E21B 47/20 (2012.01)
(72) Inventors :
  • BRAISHER, STEVE (Canada)
  • EDLER, KARL (Canada)
  • SOOS, ANTAL (Canada)
(73) Owners :
  • PULSE DIRECTIONAL TECHNOLOGIES INC.
(71) Applicants :
  • PULSE DIRECTIONAL TECHNOLOGIES INC. (Canada)
(74) Agent: MCCARTHY TETRAULT LLP
(74) Associate agent:
(45) Issued:
(22) Filed Date: 2017-10-27
(41) Open to Public Inspection: 2018-04-28
Examination requested: 2022-09-08
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
62/414,556 (United States of America) 2016-10-28

Abstracts

English Abstract


Systems and methods for communicating downhole signals using a mud pulser. The
method
includes encoding data collected from a downhole sensor as symbols into
electrical pulses
received by the mud pulser; transmitting the electrical pulses as pressure
pulses through using the
mud pulser; converting the pressure pulses into full wave pressure signals;
processing the full
wave pressure signals to recover the symbols; and decoding the symbols to
provide the data.


Claims

Note: Claims are shown in the official language in which they were submitted.


22
WHAT IS CLAIMED IS:
1) A method for communicating downhole signals using a mud pulser, the
method
comprising:
encoding data collected from a downhole sensor as symbols into electrical
pulses
received by the mud pulser;
transmitting the electrical pulses as pressure pulses through use of the mud
pulser;
converting the pressure pulses into full wave pressure signals;
processing the full wave pressure signals to recover the symbols; and
decoding the symbols to provide the data.
2) The method of claim 1 wherein the mud pulser is a bottom mount linear
pulser.
3) The method of claim 1 or claim 2 wherein the symbols comprise a cyclic
block code
having four time slots per symbol.
4) The method of any one of claims 1 to 3 wherein the data comprises binary
data.
5) The method of any one of claims 1 to 4 wherein the data is encoded by a
directional unit
in a drill string.
6) The method of claim 5 wherein the data comprises at least one data frame
having a
synchronization header followed by information interspersed with at least one
synchronization
marker.
7) The method of claim 6 wherein the synchronization header does not
correlate to regular
symbols used in communication.
8) The method of claim 6 wherein the synchronization marker comprises a
long statistically
unlikely sequence different from the data and the synchronization header.

23
9) The method of claim 6 wherein the data frame comprises a survey header
following the
synchronization header.
10) The method of claim 9 wherein the survey header comprises meta-data
describing
subsequent information.
11) The method of claim 10 wherein the subsequent information comprises
directional unit
information.
12) The method of claim 11 wherein the directional unit information
comprises orientation of
the directional unit, data from the sensors in the drill string, or status
flags from any component
in the drill string.
13) The method of claim 6 wherein the data frame comprises a toolface
header following the
synchronization header.
14) The method of claim 13 wherein the toolface header comprises data from
any sensor or
system in the drill string.
15) The method of claim 13 wherein the data comprises background radiation
level, vibration
level, pressure in the annulus, formation resistivity, gamma spectra,
rotational orientation, RPM,
or directional radiation levels.
16) The method of any one of claims 6 to 15 wherein the pressure pulses are
converted into
pressure signals by at least one pressure transducer.
17) The method of claim 16 wherein converting the pressure pulses comprises
combining
readings from two or more pressure transducers to remove pump noise.
18) The method of any one of claims 6 to 17 wherein processing the full
wave pressure
signals comprises pre-filtering the full wave pressure signals.
19) The method of claim 18 wherein pre-filtering the full wave pressure
signals comprises
using an exponentially weighted moving average filter to determine the average
pressure value
and subtracting average pressure value from each value of the full wave
pressure signals.

')4
20) The method of claim 19 wherein pre-filtering the full wave pressure
signals comprises
using a low pass filter to remove high frequency noise in the full wave
pressure signals.
21) The method of any one of claims 17 to 20 wherein a neural network is
used to adjust
parameters of the pre-filtering of the full wave pressure signals or assist in
decoding the symbols.
22) The method of any one of claims 6 to 21 wherein processing the full
wave signals
comprises evaluating the full wave signals for correlations to synchronization
header, symbols,
and synchronization markers.
23) The method of any one of claims 6 to 22 wherein decoding the symbols
comprises:
correlating a value from the full wave pressure signals to possible symbols;
assigning confidence to each possible symbol;
selecting the symbol with the highest confidence; and
assembling the symbol into packets.
24) The method of claim 23 comprising:
calculating parity of the packets; and
interpreting the packet as data value where parity is correct.
25) The method of claim 24 wherein calculating parity comprises:
adding a parity symbol into the data packet; and
comparing the calculated parity with the parity symbol.
26) The method of claim 25 wherein the parity symbol comprises two parity
bits, with the
first bit corresponding to the first few symbols in the data and the second
bit corresponding to the
rest of the data.

25
27) The method of any one of claims I to 26 wherein the full wave pressure
signal is stored
in its entirety into a single file and processing is performed after a run of
the drill string is
complete.
28) The method of any one of claims 1 to 27 wherein the processing of the
full wave pressure
signals and the decoding of the symbols are performed by a processor.
29) A method of communicating downhole data comprising:
using the method of any one of claims 1 to 28 for a first set of data at a
first frequency;
and
using the method of any one of claims 1 to 28 for a second set of data at a
second
frequency.
30) A method of communicating downhole data comprising:
using the method of any one of claims 1 to 28 for a first set of data using
mud-pulse
communications; and
using the method of any one of claims 1 to 28 for a second set of data using
EM-pulse
communications.

Description

Note: Descriptions are shown in the official language in which they were submitted.


,
1
SYSTEMS AND METHODS FOR COMMUNICATING
DOWNHOLE DATA
100011 This is a Canadian Patent Application claiming priority to
United States provisional
Patent Application Serial No. 62/414,556, the entirety of which is hereby
incorporated by
reference.
FIELD OF THE INVENTION
[0002] The invention relates to systems and methods for communicating
downhole data.
BACKGROUND
[0003] In resource exploration, drill strings are used for drilling the
wellbore and assessing
downhole conditions. A typical drill string includes a bit, followed by a
series of inter-connected
downhole tools. Directly above the bit, there are "at-bit" tools which can be
connected together
with direct electrical contacts. Above those tools is the mud motor which
generally blocks direct
electrical connections. Above the mud motor, there is a second set of inter-
connected downhole
tools. Because direct wire contacts are blocked by the motor, communication
between the two
sets of tools is often achieved using electromagnetic (EM) pulses on the
outside of the drill
string.
[0004] Above the downhole tools, there is a long series of pipe
sections reaching to the
surface and the drilling rig. Mud is pumped down this pipe at a high pressure
and this mud turns
the mud motor and flows through the bit to help cut the borehole and clear the
cuttings at the
borehole.
[0005] Many downhole tools are used to acquire data about the
environment downhole
(e.g., information about the formation) and this data needs to be transmitted
to the surface. The
information can be used in different ways. For instance, a human operator may
use this data to
determine what needs to be done to steer the entire drill string towards the
desired target.
[0006] The downhole tools are generally powered with some combination
of batteries and
generators which turn the flow of mud into electrical power.
CA 2984296 2017-10-27

I
_
2
[0007] There are generally five kinds of pulses that are used to
transmit data from
downhole to the surface: mud pulses, EM pulses, sonic pulses, and direct wire
connections. Mud
pulses periodically restrict the flow of drilling fluid which causes pressure
variations which can
be detected on the surface. EM pulses use low frequency radio waves to send
information
upwards. Sonic pulses send sound waves into the metal body of the pipe to be
detected on the
surface. Direct wire connections are not used during drilling because they
would be destroyed
and all of the other communication mediums are very slow (i.e., measured in
bits per second),
and so there is a strong desire to transmit more data to the surface.
SUMMARY OF THE DISCLOSURE
[0008] One aspect of the invention provides a method for communicating
downhole signals
using a mud pulser. The method includes the steps of: (a) encoding data
collected from a
downhole sensor as symbols into electrical pulses received by the mud pulser;
(b) transmitting
the electrical pulses as pressure pulses through using the mud pulser; (c)
converting the pressure
pulses into full wave pressure signals; (d) processing the full wave pressure
signals to recover the
symbols; and (e) decoding the symbols to provide the data.
[0009] In some embodiments, the mud pulser is a bottom mount linear
pulser.
[0010] In some embodiments, the symbols comprise a cyclic block code
having four time
slots per symbol. In some embodiments, the data comprises binary data.
[0011] In some embodiments, the data is encoded by a directional unit
in a drill string. In
some embodiments, the data comprises at least one data frame having a
synchronization header
followed by information interspersed with at least one synchronization marker.
In some
embodiments, the synchronization header does not correlate to regular symbols
used in
communication. In some embodiments, the synchronization marker comprises a
long statistically
unlikely sequence different from the data and the synchronization header.
[0012] In some embodiments, the data frame comprises a survey header
following the
synchronization header. In some embodiments, the survey header comprises meta-
data
describing subsequent information. In some embodiments, the subsequent
information comprises
CA 2984296 2017-10-27

3
directional unit information. In some embodiments, the directional unit
information comprises
orientation of the directional unit or status flags from any component in the
drill string.
[0013] In some embodiments, the data frame comprises a toolface header
following the
synchronization header. In some embodiments, the toolface header comprises
data from any
sensor or system in the drill string. In some embodiments, the data comprises
background
radiation level, vibration level, or pressure in the annulus, formation
resistivity, gamma spectra,
rotational orientation, RPM, or directional radiation levels.
[0014] In some embodiments, the pressure pulses are converted into
pressure signals by at
least one pressure transducer. In some embodiments, converting the pressure
pulses comprises
combining readings from two or more pressure transducers to remove pump noise.
100151 In some embodiments, processing the full wave pressure signals
comprises pre-
filtering the full wave pressure signals. In some embodiments, pre-filtering
the full wave
pressure signals comprises using an exponentially weighted moving average
filter to determine
the average pressure value and subtracting average pressure value from each
value of the full
wave pressure signals. In some embodiments, pre-filtering the full wave
pressure signals
comprises using a low pass filter to remove high frequency noise in the full
wave pressure
signals. In some embodiments, a neural network is used to adjust parameters of
the pre-filtering
of the full wave pressure signals or assist in decoding the symbols.
[0016] In some embodiments, processing the full wave signals comprises
evaluating the
2 0 full wave signals for correlations to synchronization header, symbols,
and synchronization
markers.
[0017] In some embodiments, decoding the symbols comprises:
correlating a value from
the full wave pressure signals to possible symbols; assigning confidence to
each possible
symbol; selecting the symbol with the highest confidence; and assembling the
symbol into
packets.
[0018] In some embodiments, the method comprises further steps of
calculating parity of
the packets, and interpreting the packet as data value where parity is
correct. In some
embodiments, calculating parity comprises adding a parity symbol into the data
packet and
CA 2984296 2017-10-27

.
4
comparing the calculated parity with the parity symbol. In some embodiments,
the parity symbol
comprises two parity bits, with the first bit corresponding to the first few
symbols in the data and
the second bit corresponding to the rest of the data.
[0019] In some embodiments, the full wave pressure signals are stored
in their entirety into
a single file and processing is performed after a run of the drill string is
complete.
[0020] In some embodiments, the processing of the full wave pressure
signals and the
decoding of the symbols are performed by a processor.
[00211 In some embodiments, the method is used for a first set of data
at a first frequency
and a second set of data at a second frequency.
[0022] In another implementation, there is provided a method of
communicating downhole
data using any one of the foregoing methods for a first set of data at a first
frequency and using
any one of the foregoing methods for a second set of data at a second
frequency.
[0023] In another implementation, there is provided a method of
communicating downhole
data using any one of the foregoing methods for a first set of data using mud-
pulse
communication and using any of one of the foregoing methods for a second set
of data using
EM-pulse communications.
BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Features and advantages of the embodiments of the present
invention will become
apparent from the following detailed description, taken in combination with
the appended
drawings, in which:
[0025] Figure I illustrates a symbol encoding system according to an
embodiment of the
present disclosure.
[0026] Figure 2 illustrates the possible configurations of the valve
of the mud pulser and
the corresponding symbols according to an embodiment of the disclosure.
CA 2984296 2017-10-27

5
100271 Figures 3A to 3C illustrate exemplary packet structures used
for drill string
information according to an embodiment of the present disclosure.
[00281 Figure 4 illustrates the bit patterns for symbol encoding and
possible correction
according to an embodiment of the present disclosure.
[0029] Figure 5 illustrates the synchronization and data frame structure
according to an
embodiment of the present disclosure.
100301 Figure 6A illustrates a first synchronization header pattern
according to an
embodiment of the present disclosure.
[0031] Figure 6B illustrates a second synchronization header pattern
according to an
embodiment of the present disclosure.
100321 Figure 7 illustrates pre-filtering steps performed by a
controller according to an
embodiment of the present disclosure.
[0033] Figure 8 illustrates a first decimation and filtering stage
performed by a controller
according to an embodiment of the present disclosure.
100341 Figure 9 illustrates a second decimation and filtering stage
performed by a
controller according to an embodiment of the present disclosure.
[0035] Figure 10 illustrates base band data processing performed by a
controller according
to an embodiment of the present disclosure.
[0036] Figure 11 illustrates decoding of the symbols performed by a
controller according
to an embodiment of the present disclosure.
100371 Figure 12 illustrates data reconstruction performed by a
controller according to an
embodiment of the present disclosure.
[0038] Figure 13 illustrates the transmission of reconstructed data
using a server according
to an embodiment of the present disclosure.
CA 2984296 2017-10-27

6
[0039] Figure 14 illustrates communication between the controller and
the WebSocket
server according to an embodiment of the present disclosure.
[0040] Figure 15 illustrates an exemplary graphical user interface
according to an
embodiment of the present disclosure.
[0041] In the description which follows, like parts are marked throughout
the specification
and the drawings with the same respective reference numerals.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0042] The description which follows and the embodiments described
therein are provided
by way of illustration of an example or examples of particular embodiments of
the principles of
the present invention. These examples are provided for the purposes of
explanation and not
limitation of those principles and of the invention. In some instances,
certain structures and
techniques have not been described or shown in detail in order not to obscure
the invention.
[0043] The embodiments described herein relate to a method for
transmitting downhole
signals using a mud pulser. The method includes the steps of: (a) encoding
data collected from a
downhole sensor as symbols into electrical pulses received by the mud pulser;
(b) transmitting
the electrical pulses as pressure pulses through use of the mud pulser; (c)
converting the pressure
pulses into full wave pressure signals; (d) processing the full wave pressure
signals to recover the
symbols; and (e) decoding the symbols to provide the data.
[0044] Downhole tools are used in the drilling of wellbores in
formation during the
resource exploration and extraction processes. Typically, there are a number
of downhole
sensors and systems connected to a directional unit and a mud pulser. The
directional unit senses
the orientation of the drill string and also collects the data from the other
systems. The
directional unit then encodes this information into a series of electrical
pulses which the mud
pulser translates into open and close positions of its valve.
[0045] The opening and closing of the valve of the mud pulser creates
pressure pulses
which travel up the flowing column of mud to the surface where one or more
pressure
transducers are located.
CA 2984296 2017-10-27

7
[0046] Generally, the pressure transducers convert the pressure to
electrical signals which
are digitized and sent to a controller at the surface. The controller
interprets the pressure pulses
as information from the various sensors and systems downhole. In order for the
controller to be
able to interpret the pressure pulses as information from the various sensors
and systems, the
directional unit will encode the data in a way that the controller expects,
and the controller needs
to be able to see through the noise and distortion introduced by the flowing
mud and the pumps
that push the mud downhole.
[0047] The downhole tools used to create mud pulses generally fall
into two types: top
mount and bottom mount. The top mount pulsers are put on the very top of the
set of downhole
tools above the motor, while bottom mount pulsers are placed on the bottom of
that same tool
set. Typically, top mount pulsers use rotary fins to restrict the mud flow by
any desired amount,
while bottom mount pulsers use an on/off valve to create a pressure pulse. The
top mount pulsers
are often called rotary pulsers, while the bottom mount pulsers are called
linear pulsers because
of the linear motion which turns the valve on/off.
[0048] For bottom mount pulsers, there are industry standard encoding
schemes classified
as M-ary encodings, which are used to decide how information is to be written
in mud pulses. M-
ary encoding uses symbols which encode M bits per symbol. For example, binary
or '2-ary'
communication uses the symbols '0' and '1' to encode two bits. It is also
possible to encode
information into symbols of any length "M". The advantage is that the symbols
are easier to
recognize in noisy situations but the disadvantage is that the speed of
communication or
'bandwidth' is reduced.
[0049] In the context of drilling, M-ary is used to speak about
encoding schemes which
have multi-bit symbols that are made of discrete on/off pressure pulses. These
types of pulses are
easily made with an on/off bottom mount pulser.
[0050] Top mount pulsers can also be used to generate the same on/off
pulses as bottom
mount pulsers, but because they can rotate their fins in small increments they
are not restricted to
producing on/off style pulses. The result is that these top mount rotary
pulsers can produce much
more complex waveforms and encode information in the shape of those waveforms.
This type of
communication is called "full wave" because the resulting signal does not look
like a series of
CA 2984296 2017-10-27

8
on/off pulses but rather as a continuous variation in the mud pressure. The
advantage of this full
wave communication is that with small motions of the fins, more information
can be encoded.
[0051] While a rotary pulser can provide full wave communication, from
a tool string
design perspective, in some embodiments, it may be more advantageous to use a
linear pulser.
For instance, in some designs, when a mud generator is used for downhole power
instead of a
battery, the mud generator will fit on top of the tool string and the rotary
pulser cannot be used.
[0052] In the systems and methods described herein, full wave pressure
signals are
communicated to the surface using a bottom mount pulser. In some embodiments,
the bottom
mount pulser is cycled at a speed such that the resulting pressure signal
received at the surface is
a continuous wave.
[0053] Figure 1 illustrates a symbol encoding system 6 according to an
embodiment of the
present disclosure. In this embodiment, the encoding system uses a cyclic
block code made up
of four time slots per symbol. As illustrated, blocks 10 correspond to times
when the valve
is closed and the four symbols are labelled "01", "00", "10", and "11"
according to their
binary values. Each symbol shown as block 10 is generated from the adjacent
symbol by
shifting the pattern one time slot. The patterns shown as blocks 12 correspond
to situations
that differ from a valid symbol by the flipping of one time slot. The patterns
shown as
blocks 14 correspond to situations that differ from a valid symbol by the
flipping of two
time slots.
2 0 [0054] Figure 2 illustrates the possible configurations of the
valve of the mud pulser
and the corresponding symbols in symbol encoding system 6 according to one
embodiment
of the present disclosure. "C" means the valve of the mud pulser is closed and
"0" means
the valve of the mud pulser is open. As shown in Figure 2, in this embodiment
of the
symbol encoding system 6, the valid symbols are symbol "01" (Open, Open,
Closed,
Closed); symbol "00" (Closed, Open, Open, Closed); symbol "10" (Closed,
Closed, Open,
Open); and symbol "11" (Open, Closed, Closed, Opened). Other configurations
would be
invalid symbols. For instance, if the pattern received at the surface by the
controller is
Open, Open, Closed, Open (0000), it is not a valid symbol but is most likely a
corruption
of either the symbol "01" (00CC) or "11" (OCCO).
CA 2984296 2017-10-27

9
[0055] Figure 3 illustrates an exemplary data packet structure for the
symbol encoding
system 6 according to one embodiment of the present disclosure. Figure 3A
illustrates an
exemplary packet structure with a 11 bit pattern; Figure 3B illustrates an
exemplary packet
structure with an 8 bit pattern; and Figure 3C illustrates an exemplary packet
structure with a 15
bit pattern. In some embodiments, any of inclination (Inc), azimuth (Azm),
gravity (Gray),
magnetic toolface (MagF), magnetic dip angle (DipA), and temperature of the
drill string or
components in the drill string (11P) is encoded in an 11 bit pattern. In some
embodiments, any of
battery voltage (BatV), automatic toolface (aTFA), and gamma photons detected
per second
(Gama) is encoded in an 8 bit pattern. In some embodiments, annulus pressure
while drilling
(Apwd) is encoded in a 15 bit pattern. A person skilled in the art will prop-
am the directional
unit to encode different types of information using the applicable bit
patterns. In this
embodiment, all of the data from the downhole tools is converted from binary
into symbols. For
example, a data value, which may correspond to the inclination of the tool
string, that is 12
binary bits long, is to be transmitted to the surface. This value could be
translated into 6 symbols
in a total of 24 time slots. As shown in Figures 3A to 3C, for error
correction purposes, a further
symbol 16 (containing 2-bits of information) for parity can be added. The data
value and the
parity symbol together form a data packet. The first bit in the parity symbol
16 is calculated
downhole as the exclusive or (EXOR) of the data in the first two symbols of
the value while the
second parity bit corresponds to the EXOR of the rest of the bits in the
value.
2 0 [0056] When the controller receives the full wave pressure
signals, it correlates what it
receives with the possible configurations as shown in Figure 2. The controller
then assigns a
probability to the pressure information corresponding to each of the possible
symbols. Once it
has received enough symbols to complete a packet, the parity is calculated. If
the received parity
and computed parity symbols are the same, then the value is marked as "Parity
OK". Otherwise,
the parity information will be used by the controller to either correct the
value or mark the value
as "Parity FAILED".
[0057] Figure 4 illustrates an embodiment of parity correction and
failure according to an
embodiment of the disclosure. In Figure 4, the numbers 20 are the desired
correlation outcomes,
namely 00CC, OCCO, COOC, and CCOO. The decoded bits can be assigned as: for
COOC, the
CA 2984296 2017-10-27

10
decoded value is 00; for 00CC, the decoded value is 01; for CCOO, the decoded
value is 10;
and, for OCCO, the decoded value is 11.
100581 The numbers 22 are directly between two valid symbols and can
be associated with
one or the other depending on both the correlation probabilities and parity
check information.
Therefore, for COCC or 000C, the decoded value could be 00 or 01; for OCCC or
0000, the
decoded value could be 01 or 11; for COO or CCCO, the decoded value could be
11 or 10; and
for C000 or CCOC, the decoded value could be 10 or 00.
[0059] The numbers 24 are the invalid patterns OCOC, COCO, 0000, and
CCCC in the
middle of the circle and cannot be associated with a possible decoded value.
These values are not
used for further processing or analysis by the controller.
100601 When decoding for symbols from the full wave pressure signals,
the controller
chooses one of the four valid symbols based on the correlation probability
value (even if a non-
symbol pattern has the highest correlation probability). In the event there is
a parity failure, the
controller associates one of the numbers 22 in Figure 4 with the valid decoded
symbol (i.e.,
number 20) which was not chosen last time. The controller then re-runs the
parity check for the
newly associated number 20.
[0061] Where the first parity bit (which corresponds to the first two
symbols) fails but the
second parity bit does not fail, the parity symbol 16 and the decoding of the
first two symbols are
re-evaluated. From the decoded symbols, the controller checks the one with
lowest confidence.
If the first choice was one of the numbers 22, then the controller modifies
its interpretation of the
symbol decoded with the least confidence. Parity is then re-checked to
determine whether
changing the decoded number resolves the problem. If the first choice did not
lead to correction,
then the symbol with the next least confidence is used, and the process is
repeated. In this
embodiment, if a parity correction was made, the controller marks the
corrected data as "Parity
Corrected" and uses it for further processing and analysis. If no correction
can be found which
yields a packet with valid parity, then the data is marked as "Parity FAILED"
and the data is not
used. In other embodiments, other types of marking known to the person skilled
in the art may be
used. Where only the second bit of the parity symbol 16 fails, the controller
takes the foregoing
steps for the second group of data.
CA 2984296 2017-10-27

11
[0062] If there is an error in both bits of the parity symbol 16, then
a different set of steps
may be taken by the controller. In these steps, the controller first checks if
the symbol carrying
the parity information has the least confidence from both groups. If so, the
bits are flipped 180
degrees on the diagram as shown in Figure 2 and the parity is rechecked to
determine if this fixes
the parity error. If yes, then both of the bits in parity symbol 16 are
flipped and the controller
marks the data as "Parity Corrected".
[0063] If there is no solution in the parity symbol 16, the controller
may attempt correction
with the first two bits of the data set based on the process as described
above. If the parity of the
packet has not yet been corrected, the controller may attempt further
correction with the second
group of symbols using the process as described above.
[0064] To allow the controller to interpret the pressure pulses
created by the mud pulser,
synchronization is necessary. Figure 5 illustrates exemplary synchronization
and data frame
structures according to an embodiment of the present disclosure.
[0065] All communications from the directional unit to the surface
start with a
synchronization header followed by information interspersed with
synchronization markers. In
one embodiment, the synchronization header is selected in such a way that it
does not correlate
to the regular symbols used in communication, and is long. This structure of
the synchronization
header makes it distinctive and statistically unlikely, so that when the
controller receives it, the
controller can know that a data stream is starting. In some embodiments, the
synchronization
header has the pattern as illustrated in Figure 6A, which was previously
disclosed in JPL
Communication Systems Research Section, JPL Deep Space Network Progress
Report, 42-26. In
some embodiments, the synchronization header has the pattern as illustrated in
Figure 6B, which
was previously disclosed in IEEE Transactions on Communications, Vol. Com-20,
No. 2, April,
1972. In some embodiments, other types of synchronization headers may be used.
In some
embodiments, different types of synchronization headers, including those as
illustrated in Figures
6A and 6B, are used in combination.
[0066] In some embodiments, the synchronization marker is also a long
statistically
unlikely sequence which is different from both the data and the header. The
synchronization
CA 2984296 2017-10-27

,
12
markers are interspersed in long communications to give the controller a
chance to adjust timings
and
[0067] start decoding properly if the synchronization header was not
properly received or
some other error occurred.
[0068] In the embodiment illustrated in Figure 5, the data frame starts
with a
synchronization header and is followed by the survey header. In this
embodiment, the survey
header indicates whether or not the directional unit will be sending up
information acquired
while the drill string was lying still. In some embodiments, the survey header
comprises
describing subsequent information in the data frame. After the survey header,
the data frame
includes a toolface header (TH) which indicates if the directional unit will
be sending up
information while the drill string is in operation. The precise nature of the
survey and toolface
information can vary. While running, the marker is sent by the directional
unit after each set of
"N" toolface data sets. In one embodiment, "N" is equal to 10. In other
embodiments, "N" is less
than 10. In other embodiments, "N" is greater than 10. In some embodiments,
survey information
includes the orientation of the drill string and status flags for the various
sensors. In some
embodiments, toolface data includes drill string orientation, background
radiation level, vibration
level, and pressure. In some embodiments, any sensor data, including formation
resistivity,
spectral gamma, rotation per minute of the drill string, rotary steerable
piston pressure of the
rotary steerable tool (if present), and the like, can be encoded in the
toolface data or the survey
2 0 information.
[0069] In some embodiments, information from the drill string is
communicated in the
survey sequence (as soon as the mud-pump starts). In some embodiments,
information from the
drill string is communicated by the directional unit in the logging sequence,
which continues in a
loop after the survey sequence.
[0070] In some embodiments, an auto-survey sequence may be used. The auto-
survey
sequence interrupts the logging sequence after some interval and repeats the
survey sequence
information.
CA 2984296 2017-10-27

13
100711 In some embodiments, the directional unit of the drill string
can be programmed
with 4 or more survey sequences and 4 or more logging sequences. In some
embodiments, these
sequences can be selected by downlinking (e.g., sending information down to
the directional unit
by manipulating the mud pumps, sending an EM signal, or the like).
[0072] In one embodiment, the operator of the drill string knows with
certainty when the
directional unit will send up a synchronization header after the pumps have
been turned on. In
some embodiments, a window for time is chosen to search for the
synchronization header and the
moment of maximum correlation is presumed to be the moment of reception. In
some
embodiments, operators are warned with display flags where the correlation
between the
synchronization header and the received signal did not hit a pre-programmed
limit. In some
embodiments, data values displayed to the operator are coloured according to
their parity results
(for example, black for "Parity OK", blue for "Parity Corrected" and red for
"Parity FAILED").
Other manners of communicating the parity result known to a person skilled in
the art may also
be used.
[0073] Before the synchronization sequences or symbols can be read, the
controller will
perform processing on the digitized pressure readings.
[0074] In one embodiment, if there are two pressure transducers placed
some distance apart
on the pipe carrying mud downhole, the first step is to combine the two
readings to cancel as
much pump noise as possible. After that, the controller conducts pre-filtering
of the digital
pressure values using the process as shown in Figure 7. In this embodiment,
the controller uses
an exponentially weighted moving average (EWMA) filter to determine the
average pressure
value (rcDCestimate) which is subtracted from the digitized pressure readings.
In some
embodiments, the controller uses another EWMA filter to smooth the resulting
signals, and the
controller applies a low pass filter to remove high frequency noise from the
digitized pressure
readings. In some embodiments, the controller uses the EWMA filter to
determine the average
pressure value when there is only input from one transducer.
[0075] In some embodiments, the controller conducts further processing
of the digitized
pressure readings. Figures 8 and 9 illustrate further filtering to remove
frequency components in
the readings that cannot be part of the stream of signals or synchronization.
CA 2984296 2017-10-27

14
100761 Figure 8 describes a first decimation stage undertaken by the
controller. Upon
completion of the first decimation stage, the process illustrated in Figure 9,
the second
decimation stage, is undertaken by the controller. Decimation is the process
of reducing the
sampling rate of a signal that is known to a person skilled in the art.
Decimation reduces the data
rate or the size of the data by reducing high-frequency signal components with
a low-pass filter
and down-sampling the filtered signal. The first and second decimation stages
as shown in
Figures 8 and 9 filter and remove frequency components in the signal that
could not be part of
the stream of signal or synchronization sequences.
100771 The processes as described in Figures 7, 8, and 9 constitute
pre-processing to
provide the minimum quantity of numbers which retain the signal information
for input into the
correlation routines. In some embodiments, over-sampling at 500 samples per
second is done to
capture all of the spectral information in the signal. Higher frequencies are
filtered out and the
average pressure value (rcDCestimate) removed by the controller using the
processes as shown
in Figure 7. The decimation processes illustrated in Figures 8 and 9 further
remove aliasing and
reduce the number of data points that have to be processed at later stages.
Once the input data
stream (i.e., the digitized pressure readings) has had all unnecessary
frequency components
removed, the controller begins the decoding process of the data stream.
[0078] In some embodiments, a neural network is used to adjust
parameters of the pre-
filtering of the full wave pressure signals or assist in decoding the symbols.
[0079] In the illustrated embodiment, the controller receives the cleaned
input data stream
with an estimate of the average pressure value and performs the process as
described in Figure
10 on the input data stream. In this embodiment, the controller looks for
correlations to the
synchronization sequences and symbols. The result is a stream of decoded
packets with parity
information.
2 5 100801 In the illustrated embodiment, the controller interprets
the decoded packets as data
values using a "BitCollectorInterpreter" which operates in a manner based on
the directional
unit's configuration for communicating downhole signals. This knowledge about
the directional
unit is determined before the drill string is lowered into the ground and is
stored in the
"ConfigurationDataSt" shown in Figure 10. The BitCollectorInterpreter is a
component that
CA 2984296 2017-10-27

15
takes the decoded bits and bytes after parity correction and associates them
with their meanings.
In some embodiments, some bytes describe the inclination, others describe the
azimuth, and yet
others describe some other types of information. The precise correspondence
between bits and
their meanings changes from job to job and is described by the survey and
logging sequences.
An example survey sequence might be: "GVO:u12.0:P GV1:u12.0:P GV2:u12.0:P
Inc:11:P
Azm:12:P Gray:10:P MagF:10:P DipA:10:P BatV:8:P Bat2:P" which describes that
the first 12
bits are generic variable 0 which corresponds to the rotary steerable tool's
inclination setting
encoded in 'u' format, followed by a nested parity bit and then followed by
other data variables.
The BitCollector Interpreter is preprogrammed with instructions on how to
assign meaning to the
bits. The BitCollectorInterpreter of the controller receives the bits, follows
pre-programmed
instructions, and assigns meaning to the decoded data. Once the meanings are
assigned, they can
be displayed to a user by a graphical user interface. In some embodiments, the
interpreted values
are shown to the human operator by the graphical user interface (GUI). In some
embodiments,
the interpreted values are stored into memory and communicated to other
devices. In most
embodiments, both are done at the same time.
100811 Within the base band data processing as described herein, the
controller decodes the
symbols and assembles the decoded symbols into data packets. In one
embodiment, the
controller decodes the symbols using the processes as shown schematically in
Figure 11.
Generally, the controller takes the values from a circular buffer and computes
the cross-
correlation between the signal and possible patterns, such as the
configurations as shown in
Figure 2. The controller uses discrete formula commonly known to a person
skilled in the art to
compute the cross-correlation between the signal and possible patterns. In the
illustrated
embodiment, the cross-correlation provides 16 numbers labeled 0 to 15 and at
the "sort-
descendent" step, these numbers are sorted by the controller in descending
order. Out of these 16
possibilities, only 4 are valid symbols and the controller selects the symbol
with the highest
correlation to the received signal for this time slot. This symbol is then
added to the received
data. The received data is then assembled using the processes shown
schematically in Figure 12.
[0082] Figure 12 schematically illustrates the assembly of decided
symbols into data
packets according to one embodiment. Generally, in data reconstruction, the
symbols are
assembled into packets, the parity is computed, and parity corrections are
applied as described
CA 2984296 2017-10-27

16
herein. The result is a data packet marked with its meaning and its parity
status (e.g., OK,
ERROR, or CORRECTED). The controller uses the "BitAssembler" to assemble the
data
packet. These packets are then interpreted as values and displayed to the
user.
[0083] Once the downhole data has been interpreted by the controller,
the data can be
displayed or used in a variety of ways. In one embodiment, the interpreted
downhole data is
logged and distributed over first the local area network (LAN) and then over
the wide area
network (WAN). As illustrated in Figure 13, the data from the controller 50 is
first sent to a
WebSocket server 52 operating on the well site 45, such as in the same
computer as the
controller 50. Other devices 54 on the same well site can connect to this
server via
communication frameworks known to a person skilled in the art, such as WiFi,
Bluetooth, and
the like, and view the same through a graphical user interface such as that
shown in Figure 15.
The WebSocket server 52 can also make an attempt to connect to a second server
58 using the
Internet. If successful, other devices 56 could view the same data provided
they have the correct
credentials and can connect to the Internet.
[0084] In one embodiment, the controller communicates with the WebSocket
server using
the processes illustrated in Figure 14. WebSockets are used to provide a
communication interface
compatible with the standard TCP port for HTTP. The result is that the data
can flow to a display
within a standard web browser or to an app in a device like a smart phone or
tablet. The
main FPSR.cpp produces a stream of data values associated with their meanings
(such as
2 0 inclination (Inc), azimuth (Azm), gamma photons detected per second
(Gama), and the like).
This information is coupled to the WS Q FPSR.cpp program which makes it
available over a
websocket interface. The chat server is another program that connects to the
WS_Q_FPSR.cpp
program, reads the data stream, and distributes it to all of the terminals
that are connected to the
chat server. In some embodiments, these terminals have graphical user
interfaces similar to that
as shown in Figure 15. In some embodiments, the data is displayed differently.
Multiple users
can then view and interact with the data as it is being decoded through the
Internet using
different computing devices, such as personal computers, tablets, smart
phones, and the like.
[0085] In one embodiment, the data can be displayed using a graphical
user interface 100
as illustrated in Figure 15. In this embodiment, the graphical user interface
shows the filtered
CA 2984296 2017-10-27

17
pump pressure, the interpreted values, and a rosebud to help the operator
visualize the situation.
In some embodiments, the system comprises a login/password protection feature
to ensure only
authorized individuals may view the downhole data.
100861 While a number of exemplary aspects and implementations have
been discussed
above, those skilled in the art will recognize certain modifications,
permutations, additions, sub-
combinations thereof, including:
= Data compression algorithms may be applied to data being pulsed up by the
mud pulser.
= While only one pulser is discussed in the embodiment described herein,
more than one
pulser may be used to communicate the data.
= Where more than one pulser is used, each pulser may pulse the information at
different
frequencies.
= While one controller is discussed in the embodiment described herein,
more than one
controller or a combination of central controller and subcontroller may be
used to
perform the conversion, processing, filtering, and decoding steps described
herein.
= The information from each run of the drill string may be stored in a set of
files and
analyzed at a later time.
= In some embodiments, a pause marker may be introduced between toolface
sequences
and the synchronization markers in order to save power downhole when it is not
necessary to send continuous data.
= Other data computed by the controller relating to the data stream may be
displayed to the
operator (e.g., in a graphical user interface such as that of Figure 15),
including data
signal to noise ratio, quality, confidence, and decoding success. If any of
these values
drops, it is a sign that the communication is problematic.
= The controller may be part of a surface receiver.
[0087] Some advantages of the embodiments described herein include:
CA 2984296 2017-10-27

18
= Faster communication may allow more data to reach the surface in the same
amount of
time.
= The method may allow more reliable communication in the presence of pump
noise.
= The ability to communicate for a period of more than a minute while the
pumps are
coming up to pressure reduces time and cost; the first information can be
available in a
short time (e.g., 15 seconds) after drilling starts thus reducing the time
needed per survey.
= The ability to re-synchronize without stopping to re-survey reduces time
and costs.
[0088] Unless the context clearly requires otherwise, throughout the
description and the
claims: "comprise," "comprising," and the like are to be construed in an
inclusive sense, as
opposed to an exclusive or exhaustive sense; that is to say, in the sense of
"including, but not
limited to". "Connected," "coupled," or any variant thereof, means any
connection or coupling,
either direct or indirect, between two or more elements; the coupling or
connection between the
elements can be physical, logical, or a combination thereof. "Herein,"
"above," "below," and
words of similar import, when used to describe this specification shall refer
to this specification
as a whole and not to any particular portions of this specification. "Or" in
reference to a list of
two or more items, covers all of the following interpretations of the word:
any of the items in the
list, all of the items in the list, and any combination of the items in the
list. The singular forms
"a," "an," and "the" also include the meaning of any appropriate plural forms.
[0089] Words that indicate directions such as "vertical,"
"transverse", "horizontal,"
"upward," "downward," "forward," "backward," "inward," "outward", "vertical,"
"transverse,"
"left," "right," "front," "back" ," "top," "bottom," "below," "above,"
"under," and the like, used in
this description and any accompanying claims (where present) depend on the
specific orientation
of the apparatus described and illustrated. The subject matter described
herein may assume
various alternative orientations. Accordingly, these directional terms are not
strictly defined and
should not be interpreted narrowly.
[0090] Embodiments may be implemented using specifically designed
hardware,
configurable hardware, programmable data processors configured by the
provision of software
CA 2984296 2017-10-27

=
19
(which may optionally comprise "firmware") capable of executing on the data
processors,
special purpose computers or data processors that are specifically programmed,
configured, or
constructed to perform one or more steps in a method as explained in detail
herein and/or
combinations of two or more of these. Examples of specifically designed
hardware are: logic
circuits, application-specific integrated circuits ("ASICs"), large scale
integrated circuits
("LSIs"), very large scale integrated circuits ("VLSIs"), and the like.
Examples of configurable
hardware are: one or more programmable logic devices such as programmable
array logic
("PALs"), programmable logic arrays ("PLAs"), and field programmable gate
arrays
("FPGAs")). Examples of programmable data processors are: microprocessors,
digital signal
processors ("DSPs"), embedded processors, graphics processors, math co-
processors, general
purpose computers, server computers, cloud computers, mainframe computers,
computer
workstations, and the like. For example, one or more data processors in a
control circuit for a
device may implement methods as described herein by executing software
instructions in a
program memory accessible to the processors.
[0091] Processing may be centralized or distributed. Where processing is
distributed,
information including software and/or data may be kept centrally or
distributed. Such
information may be exchanged between different functional units by way of a
communications
network, such as a Local Area Network (LAN), Wide Area Network (WAN), or the
Internet,
wired or wireless data links, electromagnetic signals, or other data
communication channel.
[0092] For example, while processes or blocks are presented in a given
order, alternative
examples may perform routines having steps, or employ systems having blocks,
in a different
order, and some processes or blocks may be deleted, moved, added, subdivided,
combined,
and/or modified to provide alternative or subcombinations. Each of these
processes or blocks
may be implemented in a variety of different ways. Also, while processes or
blocks are at times
2 5 shown as being performed in series, these processes or blocks may
instead be performed in
parallel, or may be performed at different times.
[0093] In addition, while elements are at times shown as being
performed sequentially,
they may instead be performed simultaneously or in different sequences. It is
therefore intended
CA 2984296 2017-10-27

-)0
that the following claims are interpreted to include all such variations as
are within their intended
scope.
[0094] Software and other modules may reside on servers, workstations,
personal
computers, tablet computers, image data encoders, image data decoders, PDAs,
color-grading
tools, video projectors, audio-visual receivers, displays (such as
televisions), digital cinema
projectors, media players, and other devices suitable for the purposes
described herein. Those
skilled in the relevant art will appreciate that aspects of the system can be
practised with other
communications, data processing, or computer system configurations, including:
Internet
appliances, hand-held devices, wearable computers, all manner of cellular or
mobile phones,
multi-processor systems, microprocessor-based or programmable consumer
electronics (e.g.,
video projectors, audio-visual receivers, displays, such as televisions, and
the like), set-top
boxes, color-grading tools, network PCs, mini-computers, mainframe computers,
and the like.
[0095] The invention may also be provided in the form of a program
product. The program
product may comprise any non-transitory medium which carries a set of computer-
readable
instructions which, when executed by a data processor, cause the data
processor to execute a
method. Program products according to the invention may be in any of a wide
variety of forms.
The program product may comprise, for example, non-transitory media such as
magnetic data
storage media including floppy diskettes, hard disk drives, optical data
storage media including
CD ROMs, DVDs, electronic data storage media including ROMs, flash RAM,
EPROMs,
hardwired or preprogrammed chips (e.g., EEPROM semiconductor chips),
nanotechnology
memory, or the like. The computer-readable signals on the program product may
optionally be
compressed or encrypted.
[0096] In some embodiments, the invention may be implemented in
software. For greater
clarity, "software" includes any instructions executed on a processor, and may
include (but is not
limited to) firmware, resident software, microcode, and the like. Both
processing hardware and
software may be centralized or distributed (or a combination thereof), in
whole or in part, as
known to those skilled in the art. For example, software and other modules may
be accessible via
local memory, via a network, via a browser or other application in a
distributed computing
context, or via other means suitable for the purposes described above.
CA 2984296 2017-10-27

21
[0097] Where a component is referred to above, unless otherwise
indicated, reference to
that component (including a reference to a "means") should be interpreted as
including as
equivalents of that component, any component which performs the function of
the described
component (i.e., that is functionally equivalent), including components which
are not structurally
equivalent to the disclosed structure which performs the function in the
illustrated exemplary
embodiments of the invention.
100981 Specific examples of systems, methods and apparatuses have been
described herein
for purposes of illustration. These are only examples. The technology provided
herein can be
applied to systems other than the example systems described above. Many
alterations,
modifications, additions, omissions and permutations are possible within the
practice of this
invention. This invention includes variations on described embodiments that
would be apparent
to the skilled addressee, including variations obtained by: replacing
features, elements and/or
acts with equivalent features, elements and/or acts; mixing and matching of
features, elements
and/or acts from different embodiments; combining features, elements and/or
acts from
embodiments as described herein with features, elements and/or acts of other
technology; and/or
omitting combining features, elements and/or acts from described embodiments.
[00991 It is therefore intended that the following appended claims and
claims hereafter
introduced are interpreted to include all such modifications, permutations,
additions, omissions
and sub-combinations as may reasonably be inferred. The scope of the claims
should not be
limited by the preferred embodiments set forth in the examples, but should be
given the broadest
interpretation consistent with the description as a whole.
CA 2984296 2017-10-27

Representative Drawing

Sorry, the representative drawing for patent document number 2984296 was not found.

Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Maintenance Fee Payment Determined Compliant 2024-09-05
Maintenance Request Received 2024-09-05
Amendment Received - Response to Examiner's Requisition 2024-03-12
Amendment Received - Voluntary Amendment 2024-03-12
Inactive: Report - No QC 2023-11-15
Examiner's Report 2023-11-15
Maintenance Request Received 2023-09-14
Letter Sent 2022-10-17
Request for Examination Requirements Determined Compliant 2022-09-08
Request for Examination Received 2022-09-08
Maintenance Request Received 2022-09-08
All Requirements for Examination Determined Compliant 2022-09-08
Maintenance Request Received 2021-09-17
Common Representative Appointed 2020-11-07
Change of Address or Method of Correspondence Request Received 2020-09-23
Maintenance Request Received 2020-09-23
Common Representative Appointed 2019-10-30
Common Representative Appointed 2019-10-30
Maintenance Request Received 2019-08-12
Application Published (Open to Public Inspection) 2018-04-28
Inactive: Cover page published 2018-04-27
Inactive: IPC assigned 2017-12-04
Inactive: IPC assigned 2017-12-04
Inactive: First IPC assigned 2017-12-04
Inactive: Filing certificate - No RFE (bilingual) 2017-11-08
Application Received - Regular National 2017-11-06

Abandonment History

There is no abandonment history.

Maintenance Fee

The last payment was received on 2024-09-05

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Fee History

Fee Type Anniversary Year Due Date Paid Date
Application fee - standard 2017-10-27
MF (application, 2nd anniv.) - standard 02 2019-10-28 2019-08-12
MF (application, 3rd anniv.) - standard 03 2020-10-27 2020-09-23
MF (application, 4th anniv.) - standard 04 2021-10-27 2021-09-17
MF (application, 5th anniv.) - standard 05 2022-10-27 2022-09-08
Request for examination - standard 2022-10-27 2022-09-08
MF (application, 6th anniv.) - standard 06 2023-10-27 2023-09-14
MF (application, 7th anniv.) - standard 07 2024-10-28 2024-09-05
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
PULSE DIRECTIONAL TECHNOLOGIES INC.
Past Owners on Record
ANTAL SOOS
KARL EDLER
STEVE BRAISHER
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Description 2024-03-11 21 1,514
Claims 2024-03-11 4 182
Abstract 2017-10-26 1 13
Description 2017-10-26 21 1,106
Claims 2017-10-26 4 124
Drawings 2017-10-26 1 17
Confirmation of electronic submission 2024-09-04 1 60
Amendment / response to report 2024-03-11 31 7,206
Filing Certificate 2017-11-07 1 205
Reminder of maintenance fee due 2019-07-01 1 111
Courtesy - Acknowledgement of Request for Examination 2022-10-16 1 423
Maintenance fee payment 2023-09-13 4 97
Examiner requisition 2023-11-14 3 184
Maintenance fee payment 2019-08-11 1 38
Maintenance fee payment 2020-09-22 4 93
Change to the Method of Correspondence 2020-09-22 4 93
Maintenance fee payment 2021-09-16 4 95
Maintenance fee payment 2022-09-07 4 85
Request for examination 2022-09-07 4 91