Language selection

Search

Patent 3026457 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: (11) CA 3026457
(54) English Title: SYSTEM AND METHOD FOR THE PASSIVE MONITORING AND REPORTING OF PRINTER-RELATED DATA ON USB CABLES
(54) French Title: SYSTEME ET PROCEDE POUR LA SURVEILLANCE ET DE COMMUNICATION PASSIVES DE DONNEES RELATIVES A UNE IMPRIMANTE SUR DES CABLES USB
Status: Granted and Issued
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04N 01/00 (2006.01)
(72) Inventors :
  • DOYLE, DANIEL SR. (United States of America)
  • ADESSO, PATRICK (United States of America)
  • CASTILLENTI, JILL (United States of America)
  • HECHT, GIDEON (United States of America)
  • LAUMAN, BRIAN (United States of America)
  • ROBINSON, SCOTT (United States of America)
  • DOYLE, DANIEL JR. (United States of America)
(73) Owners :
  • EMERGE PRINT MANAGEMENT, LLC
(71) Applicants :
  • EMERGE PRINT MANAGEMENT, LLC (United States of America)
(74) Agent: NORTON ROSE FULBRIGHT CANADA LLP/S.E.N.C.R.L., S.R.L.
(74) Associate agent:
(45) Issued: 2021-06-29
(86) PCT Filing Date: 2017-06-01
(87) Open to Public Inspection: 2017-12-21
Examination requested: 2019-03-07
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2017/035343
(87) International Publication Number: US2017035343
(85) National Entry: 2018-12-03

(30) Application Priority Data:
Application No. Country/Territory Date
15/172,210 (United States of America) 2016-06-03

Abstracts

English Abstract


ABSTRACT
Provided is a computer-implemented system and method for monitoring printer-
related
data on USB cables. A USB-compatible device comprising a field programmable
gate
array and a microprocessor is placed in-line between a non-networked computer
and a
printer and monitors the line for print-related data. Once detected, the print-
related data
is transmitted via a radio frequency to a base station. The base station
subsequently
compiles the print-related data and relays the data to a printer reporting
system.
CA 3026457 2020-02-19


French Abstract

L'invention concerne un système et un procédé mis en oeuvre par ordinateur pour la surveillance de données relatives à une imprimante sur des câbles USB. Un dispositif compatible USB comprenant un réseau prédiffusé programmable par l'utilisateur et un microprocesseur est placé en ligne entre un ordinateur hors réseau et une imprimante et il surveille la ligne par rapport à des données relatives à une impression. Une fois détectées, les données relatives à une impression sont transmises par l'intermédiaire d'une fréquence radio à une station de base. La station de base compile par la suite les données relatives à l'impression et relaie ces données à un système d'établissement de rapport d'imprimante.

Claims

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


What is claimed is:
1. A
system for passively monitoring non-networked-printer data, the system
comprising:
a USB device; a base station; and a central server, wherein
the USB device comprising male and female USB connectors and a non-
volatile memory, the device configured to connect between a computer and a
non-networked printer via the USB connectors, the device configured to
passively monitor USB data traffic between the computer and the non-networked
printer,
the device further configured to analyze USB data packets having a
pre-determined packet id and a payload, wherein the pre-determined
packet id indicates the USB data packet is a printer-related data packet;
the device further configured to determine a printer-related protocol
based on the analyzed USB data packet;
the device further configured to analyze the payload of an analyzed
USB data packet and determine a print-related command in the payload
by string searching the analyzed USB data packet for a specific printer-
related string;
the device further configured to determine printer-related data and
store the printer-related data in the non-volatile memory;
the device further configured to analyze the non-volatile memory for
any non-reported printer-related data;
13
Date Recue/Date Received 2020-10-08

the device further configured to report printer-related data stored in
the non-volatile memory to the base station and further configured to flag
in the non-volatile memory the reported printer-related data as reported,
wherein the base station and the device communicate via a private
network;
the device further configured to remove all printer-related data that
has been flagged as reported from the non-volatile memory;
the base station comprising two network interfaces, the first interface for
connecting to the device, the second interface for connecting to the central
server;
the base station configured to receive printer-related data and further
configured to report printer-related data to the central server; and
the central server configured to receive printer-related data from the base
station.
2. A
method for passively monitoring non-networked-printer-related data, the
method comprising:
passively monitoring USB data by receiving at a device a USB data packet
exchanged between a workstation and a non-networked printer via a USB
connector wherein a USB data packet comprises a packet id and a payload;
determining if the monitored USB data packet is a printer-related USB
data packet by analyzing the packet id of the USB data packet, wherein the
packet id indicates the USB data packet is a printer-related data packet;
14
Date Recue/Date Received 2020-10-08

looking up printer-related commands in the printer-related USB data
wherein looking up comprises searching for pre-determined strings in the
payload associated with the USB data packet;
searching a memory of the device for stored printer-related information
that has not been reported to a server;
reporting the stored printer-related information to the server based upon
the looked-up printer-related commands; and
flagging the stored printer-related information as reported.
3. The method as described in claim 2, wherein the device is a pre-
configured USB device placed in communication with both the workstation and
the non-
networked printer.
4. The method as described in claim 3, wherein the USB device comprises a
male USB connector and a female USB connector.
5. The method as described in claim 2, wherein analyzing the packet id of a
USB data packet analyzes if the packet id is a Token IN.
6. The method as described in claim 5, wherein looking up printer-related
commands analyzes the payload of the USB data packet for Printer Job Language
commands.
Date Recue/Date Received 2020-10-08

7. The method as described in claim 5, wherein looking up printer-related
commands searches for the string "@PJ" in a USB data packet.
8. The method as described in claim 2, wherein analyzing the packet id of a
USB data packet analyzes if the packet id is a Token OUT.
9. The method as described in claim 8, wherein looking up printer-related
commands analyzes the payload of the USB data packet for Printer Control
Language
commands.
10. The method as described in claim 2 wherein looking up printer-related
commands increments a counter.
11. The method as described in claim 10 wherein reporting printer-related
information comprises reporting the counter.
12. The method as described in claim 2 wherein looking up printer-related
commands comprises querying a lookup table.
13. The method as described in claim 2 wherein reporting printer-related
information to a server comprises reporting printer-related information to a
base station
on a private network.
16
Date Recue/Date Received 2020-10-08

14.
The method as described in claim 13 wherein reporting printer-related
information further comprises the base station reporting printer-related
information to a
central server via a network.
15. A system for monitoring non-networked printer data, the system
comprising:
a workstation connected to a non-networked printer via a USB device;
a base station; and
a central server
wherein the USB device passively monitors USB data exchanged between
the workstation and the non-networked printer by receiving a USB data packet
exchanged between the workstation and the non-networked printer wherein the
USB data packet comprises a packet id and a payload,
determines print-related information from the USB data packet by
analyzing the packet id of the USB data packet, wherein the packet id
indicates
the USB data packet is a printer-related data packet,
looks up print-related commands in the USB data packet wherein looking
up comprises searching for pre-determined strings in the payload;
searches a memory for non-reported print-related information;
reports the non-reported print-related information to the base station via a
first network;
flags the non-reported print-related information as reported; and
17
Date Recue/Date Received 2020-10-08

wherein the base station reports print-related information to the central
server via a second network.
18
Date Recue/Date Received 2020-10-08

Description

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


SYSTEM AND METHOD FOR THE PASSIVE MONITORING AND REPORTING OF
PRINTER-RELATED DATA ON USB CABLES
TECHNICAL FIELD
This disclosure relates to a computer-implemented system and method for the
passive
monitoring and reporting of printer-related data on USB cables and relaying
the data to
a printer reporting system.
BACKGROUND OF THE INVENTION
Methods for detecting and compiling data relating to printer actions are known
in the
industry. Existing methods, however, often require the use of a designated
computer
within an established computer network that utilizes installed software for
monitoring
print events on the network. These methods suffer from several limitations,
including
the reliance on network administrators to perform a complex installation
protocol, the
need for customization, the need for compatibility and functionality within a
variety
computer operating system environments, the use of a client's hardware and
network to
gather and report data, and the use of internal client bandwidth to report
printer-related
data.
Thus, a need exists in the industry for overcoming the limitations associated
with the
use of installed software on an existing network computer for the passive
monitoring
printer-related data.
SUMMARY OF THE INVENTION
This disclosure provides for a system and method for the passive monitoring of
printer
related data and relaying the data to a printer-related data reporting system.
1
CA 3026457 2020-02-19

The disclosed system has several important advantages. For example, the
present
disclosure provides a system for monitoring printer data that is more user
friendly,
reliable, dependable, and easier to install than existing print data
monitoring systems.
Another advantage of the present system is that it eliminates the need for
installing
software on existing computers for monitoring print job related data.
Yet another advantage of the present system is eliminating the need for
administrative
access to computers to install the system.
Still yet another possible advantage of the disclosed system is providing
hardware
powered by a USB line, eliminating the need for an external power supply and
decreasing the likelihood that the system will go offline as the result of a
loss of external
power.
Another advantage of the present system may include permitting the collection
of more
robust print job related information, including but not limited to device
specific
information, number of pages printed, and mono and/or color toner levels.
Yet another advantage of the present disclosure includes providing a system
that allows
the hardware's internal software to be updated, configured, and or expanded
remotely.
Still yet another advantage of the present invention is the ability to monitor
printer-
related data on a non-networked printer and computer.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present disclosure and its
advantages,
reference is now made to the following descriptions, taken in conjunction with
the
accompanying drawings, in which:
2
CA 3026457 2020-02-19

FIG. 1 is a diagram depicting the various components of an embodiment of the
present
invention.
FIG. 2 is a flow chart depicting a computer-implemented method and system of
the
present disclosure.
FIG. 3 is a flow chart depicting an associated computer-implemented method and
system for monitoring and reporting printer-related data.
FIG. 4 is a flow chart depicting an associated computer-implemented method and
system for monitoring and reporting printer-related data.
Similar reference numerals refer to similar parts throughout the several views
of the
drawings.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
The present invention relates to a system and method for monitoring printer-
related data
on USB cables and relaying the data to a printer reporting system via a base
station,
wherein the monitoring is performed using hardware affixed to a USB cable. The
various components of the present invention, and the manner in which they
interrelate,
are described in greater detail hereinafter.
The computer-implemented method and system may include, but are not limited
to, the
following steps. It will be appreciated by one skilled in the art that the
order of steps
presented herein may be performed in a different order. It will also be
appreciated by
zo one skilled in the art that the method and system described herein for
monitoring and
reporting printer-related data may include all, some, or none of the steps
described
herein.
3
Date Recue/Date Received 2020-10-08

Initially with reference to FIG. 1, the associated system includes placing a
device 1
along a USB line between a personal computer 2 and a non-networked printer 3.
The
device 1 may include both male and female USB connectors for in-line
connectivity. In
one embodiment of the present invention the device 1 is a USB-compatible
device
capable of transmitting radio frequency bandwidth outside of an existing
computer
network. The device 1 passively monitors the USB line to detect printer
actions, and
reports data relating to printer actions to a base station 4 via a mesh
network which may
then, via a switch 5, connect to the internet 6 and/or a server 7. The data is
reported to
the base station 4 via the radio frequency bandwidth. Data relating to printer
3 actions
may include, but is not limited to, the number of pages printed, color, ink or
toner
density, and other data. In one embodiment of the present invention, the
system
gathers data from outside of an existing network. The base station 4
subsequently
aggregates the data and uploads the data to a server 7 over the internet 6 or
other
network. In an alternative embodiment of the present invention, the USB device
connects directly to the internet 6 via radio frequency bandwidth, WiFi,
cellular radio,
Bluetooth, or other known communication technology and uploads the data to a
server
7, thereby eliminating the need for a base station 4. The system does not
require the
installation of software on an associated computer 2. Further, the system does
not
require user-specific configuration because it is supplied pre-configured to
monitor print
jobs and printer-related data.
With continued reference to FIG 1., and now with reference to FIG. 2, the USB
device
may include a field programmable gate array (FPGA) and a microcontroller. The
FPGA
device, with its embedded content monitoring system for monitoring printer-
related data,
4
Date Recue/Date Received 2020-10-08

monitors traffic over a USB cable by looking directly for information that a
printer has
printed a page. This monitoring may be performed by searching for keywords in
the
data traffic indicating that a printer has printed a page. The device then
shares the
information via radio to a local base station or patrol device. More
particularly, the
device uses a USB PHY to synchronize the retrieval of data transfer from the
USB line
and performs low-level validation of the data, converting from serial data to
an 8-bit bus.
The data is then queued in a First In First Out (FIFO) within the FPGA. The
FPGA may
be equipped to perform string searches on the incoming data and/or provide the
full
bandwidth data to the microcontroller for searching and/or manipulation within
the
microcontroller. Upon notification from the FPGA, the microcontroller
retrieves data
from the FIFO and processes it. The processed data is then sent to the base
station, or
patrol device, via a mesh radio network that was previously established.
In one embodiment of the invention, and with continued reference to FIG. 2,
the system
and method include 1) capturing passing data with the USB device 101; 2)
validating
the data with a USB PHY 102 and then synchronizing the data transfer; 3)
converting
the data from serial to 8-bit data with the FPGA 103; 4) queuing the data in
queue FIFO
104; 5) searching the data for particular string sets relating to printing
105; and 6)
receiving and packaging the data at the microcontroller 106 to send it to the
base
station via RF 107.
In an embodiment of the present disclosure, all USB data traffic between the
workstation 2 and the non-networked printer 3 is monitored by the device 10.
Specialized software on the device 10 parses the USB data traffic and looks up
keywords that have particular meaning in connection with printing commands.
See e.g.
5
Date Recue/Date Received 2020-10-08

Fig. 4 at 401-402. Notably, the information the device 10 uses for looking up
particular
keywords and their printing association can be updated on the device 10, for
instance
through a firmware update. This enables, for instance, the device 10 to be
updated in
the field in order to recognize and analyze USB traffic for additional non-
networked
printers that were not known at the time the device 10 was originally
deployed.
The device 10 is further configured to interrogate the non-network printer 3
for status or
error information, without interrupting or interfering with the printing
services. The
device 10 can then transmit the information it has gathered, both through
monitoring the
USB data stream and querying the non-network printer 3, to the base station 4,
preferably using a private network connection between the device 10 and the
base
station 4. In a preferred embodiment, the private network is a wireless Zigbee
mesh
network or WIFI. The base station 4 then reports this gathered
information to a
centralized server 7.
Passive USB monitoring
As shown in Fig. 1, a device 1 in accordance with the present disclosure
connects via
USB between a workstation 2 and a non-networked printer 3. The device 10
passively
monitors the USB data stream between the workstation 2 and the non-networked
printer
3. This passive USB monitoring reviews every data packet sent between the
workstation 2 and the non-networked printer 3. The first byte of each USB data
packet
contains the Packet Identifier (PID). In a preferred embodiment, the following
PIDs will
be processed by the device 10.
Token OUT ¨ Indicating whether the next data packet will be from the host to
the
device.
6
Date Recue/Date Received 2020-10-08

Token IN ¨ Indicating whether the next data packet will be from the device to
the
host.
Data DATA ¨ Indicating whether the data packet is even.
Data DATA1 ¨ Indicating whether the data packet is odd.
The token packets described above, as well as other relevant packet data, is
used to
determine the direction of data flow. If the direction is inbound to the
workstation 2, the
data packets that follow are assumed to be PJL ("Printer Job Language")
whereas, if the
direction is outbound from the workstation 2, the data packets that follow are
assumed
to be PCL ("Printer Control Language"). The data packets are verified to be
either PJL
or PCL by parsing the string for "@PJ" for PJL and "!R!" for PCL. See Fig. 4
at 402,
404.
Once the data packet is properly determined to be either PJL or PCL, the
packet is then
string searched to find data of interest in step 105. See also Fig. 4 at 405.
For example,
"PAGES=" is relevant for PJL packets and "Color = x, Mono = x" for PCL packets
wherein "x" can be as simple as a yes/no designation or can provide for a
specific color.
Other searches can be performed on the data packets such as compression, font,
job
separation, environment commands, status readback, device attendance, file
system
commands, and other relevant data. The examples provided should be considered
non-
limiting.
In a preferred embodiment, an internal lookup table or logic is maintained on
the device
10 for storing strings of interest to be searched for. As mentioned above,
this lookup
table can be updated with a firmware update enabling the device 10 to monitor
7
Date Recue/Date Received 2020-10-08

additional printers, or look for additional strings that were not initially
installed on the
device 10.
In a preferred embodiment, the microcontroller in the device 10 programs the
FPGA to
look for certain strings in the USB data. It also programs the FPGA to capture
a number
of bytes following the string. The FPGA interrupts the microcontroller once
the string
has been captured with the additional bytes it was programmed to capture. The
microcontroller then parses the data to obtain printer-related data. This
printer-related
data can include the number of pages printed, the size of the page, number of
copies
requested, whether printing was performed duplex, and whether the printing was
color
or mono.
The microcontroller is preferably configured to run a state machine to
determine what
printer language is being used. The printer languages can be PJL, Postscript,
PCL6,
ZJS, and PCL5, or any other suitable printing language. The FPGA provides
status to
the microcontroller to assist the state machine in knowing when a print job
has started
and stopped and what printer language is running. The FPGA also provides other
statuses for the purpose of counting pages. For PCL5, form feed counting is
done in
the FPGA. At the end of the PCL5 job, the number of form feeds (i.e. pages) is
returned
to the microcontroller.
When the state machine recognizes that a printer-related command is being
transmitted, the microcontroller performs a string search for certain pre-
identified
strings, wherein the pre-identified strings relate to printer-data. For
example, the
following strings may be searched for the respective printer languages:
PJL Strings:
8
Date Recue/Date Received 2020-10-08

SET QTY=
RESULT=OK
PAGES=
LETTER
LEGAL
JISEXEC
Postscript strings:
NumCopies
/PageSize [
Page:
%%EndPageSetup
%%Pages:
(%%[LastPage]%%)
%%EOF)
PCL 6 strings
PrinterSubunit>dd:TotalImpressions>
<dd:MonochromeImpressions>
<dd:ColorImpressions>
1D
j
ZJS strings
TotalPagesPrinted =
TotalMonochromePagesPrinted =
9
Date Recue/Date Received 2020-10-08

TotalColorPagesPrinted =
JZJ
ZJZ
PCL5 Strings
esc & I
esc & a
Concerning the PCL 6 strings above, "ip" is used to locate page copies, while
"j" is
used to determine whether the printing is performed in color or mono. With ZJS
strings,
"JZJ" indicates little endian for parsing purposes, while " zJz" indicates big
endian.
Concerning the PCL5 strings, "esc & I" determines the number of copies, eject
page,
and paper size, while "esc & a" indicates whether printing is performed
duplex.
With reference to FIG. 3, the associated system and method for monitoring and
reporting printer-related data allows for the remote update of its application
code, or
firmware, by initializing the USB stack 202 after power up 201, initializing
its radio
software stack 203, and checking with the base station 204 to determine
whether a
firmware update exists 205. If a firmware update exists, the system updates
the
firmware 206. Once an update is complete or the device determines that an
update is
not required, it begins monitoring the USB data 207. Once a print event is
detected
208, the device checks its non-volatile memory 209 for previous print events
that were
detected but not reported, and verifies that radio communication exists with
the base
station 210. If radio communication exists, the device reports the print event
details
211, 212 to the base station and flags the event as reported 213. If
appropriately
flagged, the unit then removes the print event details from the non-volatile
memory and
Date Recue/Date Received 2020-10-08

returns to the monitoring state 214. This entire process is completed without
the need
for the device to enumerate on the host computer.
It will be understood by those of skill in the art that flowcharts and block
diagrams herein
described may illustrate architecture, algorithms, functionality, and
operation of possible
implementations of systems, methods and computer program products according to
various embodiments. Therefore, it will be understood that each block in the
flowchart
or block diagram may represent a module, segment, or portion of code, which
comprises one or more executable computer program instructions for
implementing the
specified logical function or functions. Further, some implementations may
include the
functions in the blocks occurring out of the order as herein presented. By way
of non-
limiting example, two blocks shown in succession may be executed substantially
concurrently, or the blocks may at times be executed in the reverse order,
depending
upon the functionality involved. It will also be noted that each block of the
block
diagrams and flowcharts, and combinations of blocks in the block diagram and
flowchart
illustrations, may be implemented by special purpose hardware-based systems
that
perform the specified functions or acts, or combinations of special purpose
hardware
and computer program instructions.
The system includes one or more processing devices, which may be any computer
processing unit, and could be a single central processing unit, or a number of
zo processing units configured to operate either in sequence or in
parallel. The processing
device can be configured to execute software processes which implement the
steps
disclosed herein. The system may also include a memory capable of storing the
steps
necessary for a processing device to implement the steps disclosed herein.
This
11
Date Recue/Date Received 2020-10-08

memory could be in the form of memory resident within the processing device or
in the
form of standalone memory coupled to the processing unit via a communication
path,
such as a bus or a network.
Although this disclosure has been described in terms of certain embodiments
and
generally associated methods, alterations and permutations of these
embodiments and
methods will be apparent to those skilled in the art. Accordingly, the above
description
of example embodiments does not constrain this disclosure.
Other changes,
substitutions, and alterations are also possible without departing from the
spirit and
scope of this disclosure.
12
Date Recue/Date Received 2020-10-08

Representative Drawing
A single figure which represents the drawing illustrating the invention.
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
Inactive: IPC expired 2022-01-01
Inactive: Grant downloaded 2021-06-29
Inactive: Grant downloaded 2021-06-29
Letter Sent 2021-06-29
Grant by Issuance 2021-06-29
Inactive: Cover page published 2021-06-28
Pre-grant 2021-05-06
Inactive: Final fee received 2021-05-06
Notice of Allowance is Issued 2021-04-23
Letter Sent 2021-04-23
Notice of Allowance is Issued 2021-04-23
Inactive: Approved for allowance (AFA) 2021-04-01
Inactive: Q2 passed 2021-04-01
Common Representative Appointed 2020-11-07
Amendment Received - Voluntary Amendment 2020-10-08
Examiner's Report 2020-07-28
Inactive: Q2 failed 2020-07-22
Amendment Received - Voluntary Amendment 2020-02-19
Examiner's Report 2020-01-31
Inactive: Report - No QC 2020-01-29
Common Representative Appointed 2019-10-30
Common Representative Appointed 2019-10-30
Letter Sent 2019-03-18
Amendment Received - Voluntary Amendment 2019-03-07
Request for Examination Requirements Determined Compliant 2019-03-07
All Requirements for Examination Determined Compliant 2019-03-07
Request for Examination Received 2019-03-07
Inactive: Notice - National entry - No RFE 2018-12-13
Inactive: Cover page published 2018-12-10
Inactive: First IPC assigned 2018-12-07
Inactive: IPC assigned 2018-12-07
Inactive: IPC assigned 2018-12-07
Application Received - PCT 2018-12-07
National Entry Requirements Determined Compliant 2018-12-03
Application Published (Open to Public Inspection) 2017-12-21

Abandonment History

There is no abandonment history.

Maintenance Fee

The last payment was received on 2021-03-23

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
MF (application, 2nd anniv.) - standard 02 2019-06-03 2018-12-03
Basic national fee - standard 2018-12-03
Request for examination - standard 2019-03-07
MF (application, 3rd anniv.) - standard 03 2020-06-01 2020-04-22
MF (application, 4th anniv.) - standard 04 2021-06-01 2021-03-23
Final fee - standard 2021-08-23 2021-05-06
MF (patent, 5th anniv.) - standard 2022-06-01 2022-03-24
MF (patent, 6th anniv.) - standard 2023-06-01 2023-04-18
MF (patent, 7th anniv.) - standard 2024-06-03 2024-05-02
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
EMERGE PRINT MANAGEMENT, LLC
Past Owners on Record
BRIAN LAUMAN
DANIEL JR. DOYLE
DANIEL SR. DOYLE
GIDEON HECHT
JILL CASTILLENTI
PATRICK ADESSO
SCOTT ROBINSON
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 (Temporarily unavailable). 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.

({010=All Documents, 020=As Filed, 030=As Open to Public Inspection, 040=At Issuance, 050=Examination, 060=Incoming Correspondence, 070=Miscellaneous, 080=Outgoing Correspondence, 090=Payment})


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2018-12-02 2 84
Description 2018-12-02 13 447
Drawings 2018-12-02 4 163
Claims 2018-12-02 5 118
Representative drawing 2018-12-06 1 14
Claims 2019-03-06 6 153
Description 2020-02-18 12 366
Abstract 2020-02-18 1 12
Claims 2020-02-18 6 127
Description 2020-10-07 12 420
Claims 2020-10-07 6 152
Representative drawing 2021-06-07 1 20
Maintenance fee payment 2024-05-01 2 71
Notice of National Entry 2018-12-12 1 208
Acknowledgement of Request for Examination 2019-03-17 1 174
Commissioner's Notice - Application Found Allowable 2021-04-22 1 550
National entry request 2018-12-02 5 189
Patent cooperation treaty (PCT) 2018-12-02 1 40
International search report 2018-12-02 1 49
Request for examination / Amendment / response to report 2019-03-06 10 289
Examiner requisition 2020-01-30 4 189
Amendment / response to report 2020-02-18 43 1,194
Examiner requisition 2020-07-27 3 130
Amendment / response to report 2020-10-07 38 1,556
Final fee 2021-05-05 5 167
Electronic Grant Certificate 2021-06-28 1 2,527