WO2017218196A1 - System and method for the passive monitoring and reporting of printer-related data on usb cables - Google Patents
System and method for the passive monitoring and reporting of printer-related data on usb cables Download PDFInfo
- Publication number
- WO2017218196A1 WO2017218196A1 PCT/US2017/035343 US2017035343W WO2017218196A1 WO 2017218196 A1 WO2017218196 A1 WO 2017218196A1 US 2017035343 W US2017035343 W US 2017035343W WO 2017218196 A1 WO2017218196 A1 WO 2017218196A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- printer
- usb
- data
- usb data
- base station
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012544 monitoring process Methods 0.000 title claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 6
- 238000007639 printing Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100189552 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PCL6 gene Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000001824 photoionisation detection Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1207—Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1259—Print job monitoring, e.g. job status
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00323—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a measuring, monitoring or signaling apparatus, e.g. for transmitting measured information to a central location
Definitions
- 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.
- 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.
- the disclosed system has several important advantages.
- 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.
- 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.
- 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 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 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.
- 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.
- 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.
- 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.
- 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.
- 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, 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.
- FIFO First In First Out
- 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.
- 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.
- 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.
- 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. Fig. 4 at 401 -402.
- 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.
- 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.
- 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).
- PID Packet Identifier
- the following PIDs will be processed by the device 10.
- Token IN Indicating whether the next data packet will be from the device to the host.
- Data DATAO Indicating whether the data packet is even.
- 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.
- the packet is then string searched to find data of interest in step 105. See also Fig. 4 at 405.
- 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.
- 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 additional printers, or look for additional strings that were not initially installed on the device 10.
- 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.
- 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:
- 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.
- implementations may include the functions in the blocks occurring out of the order as herein presented.
- 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.
- 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 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 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.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Computer And Data Communications (AREA)
- Monitoring And Testing Of Transmission In General (AREA)
- Mobile Radio Communication Systems (AREA)
- Radio Relay Systems (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MX2018014954A MX2018014954A (en) | 2016-06-03 | 2017-06-01 | System and method for the passive monitoring and reporting of printer-related data on usb cables. |
CA3026457A CA3026457C (en) | 2016-06-03 | 2017-06-01 | System and method for the passive monitoring and reporting of printer-related data on usb cables |
GB1819691.5A GB2568398B (en) | 2016-06-03 | 2017-06-01 | System and method for the passive monitoring and reporting of printer-related data on USB cables |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/172,210 US10165130B2 (en) | 2014-02-13 | 2016-06-03 | System and method for the passive monitoring and reporting of printer-related data on USB cables |
US15/172,210 | 2016-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2017218196A1 true WO2017218196A1 (en) | 2017-12-21 |
WO2017218196A9 WO2017218196A9 (en) | 2018-08-30 |
Family
ID=60663667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2017/035343 WO2017218196A1 (en) | 2016-06-03 | 2017-06-01 | System and method for the passive monitoring and reporting of printer-related data on usb cables |
Country Status (4)
Country | Link |
---|---|
CA (1) | CA3026457C (en) |
GB (1) | GB2568398B (en) |
MX (1) | MX2018014954A (en) |
WO (1) | WO2017218196A1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015523A1 (en) * | 2003-06-06 | 2005-01-20 | Seiko Epson Corporation | Data transfer control device, electronic instrument, and data transfer control method |
US20050071495A1 (en) * | 2003-09-30 | 2005-03-31 | Brother Kogyo Kabushiki Kaisha | Device information management system |
US20050254078A1 (en) * | 2004-05-13 | 2005-11-17 | Sharp Laboratories Of America, Inc. | System and method for printer emulation |
US20090019224A1 (en) * | 2005-02-02 | 2009-01-15 | Pocrass Alan L | Data Storage and Transfer Device and Method |
US20110184822A1 (en) * | 2010-01-22 | 2011-07-28 | Naviit, Inc. | Point of sale network router |
US20110261391A1 (en) * | 2010-04-22 | 2011-10-27 | Ricoh Company, Ltd., | Printer Data Collection Cable |
-
2017
- 2017-06-01 CA CA3026457A patent/CA3026457C/en active Active
- 2017-06-01 GB GB1819691.5A patent/GB2568398B/en active Active
- 2017-06-01 MX MX2018014954A patent/MX2018014954A/en unknown
- 2017-06-01 WO PCT/US2017/035343 patent/WO2017218196A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050015523A1 (en) * | 2003-06-06 | 2005-01-20 | Seiko Epson Corporation | Data transfer control device, electronic instrument, and data transfer control method |
US20050071495A1 (en) * | 2003-09-30 | 2005-03-31 | Brother Kogyo Kabushiki Kaisha | Device information management system |
US20050254078A1 (en) * | 2004-05-13 | 2005-11-17 | Sharp Laboratories Of America, Inc. | System and method for printer emulation |
US20090019224A1 (en) * | 2005-02-02 | 2009-01-15 | Pocrass Alan L | Data Storage and Transfer Device and Method |
US20110184822A1 (en) * | 2010-01-22 | 2011-07-28 | Naviit, Inc. | Point of sale network router |
US20110261391A1 (en) * | 2010-04-22 | 2011-10-27 | Ricoh Company, Ltd., | Printer Data Collection Cable |
Also Published As
Publication number | Publication date |
---|---|
CA3026457C (en) | 2021-06-29 |
MX2018014954A (en) | 2019-08-12 |
CA3026457A1 (en) | 2017-12-21 |
GB201819691D0 (en) | 2019-01-16 |
GB2568398B (en) | 2021-12-15 |
GB2568398A (en) | 2019-05-15 |
WO2017218196A9 (en) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10645232B2 (en) | Device for the passive monitoring and reporting of printer-related data on USB cables | |
US6219151B1 (en) | Network printing system | |
US20150229791A1 (en) | System and Method for the Passive Monitoring and Reporting of Printer-Related Data on USB Cables | |
US8689057B2 (en) | Network apparatus, control method therefor, and storage medium | |
US20160077767A1 (en) | Printing system, printing control method in cluster environment, and printing control program | |
KR20130021652A (en) | Interface apparatus and method for converting a plurality of different vehicles diagnosis protocol to standard diagnosis protocol | |
CN102546070A (en) | Method and system for synchronizing a network using existing network cables | |
GB2553784A (en) | Management of log data in electronic devices | |
US20050251610A1 (en) | Communication system and method of controlling same | |
US10382646B2 (en) | Image processing apparatus adaptable to plurality of specifications of communications protocol, control method of image processing apparatus, and storage medium | |
US10838510B2 (en) | Generating modified keyboard data received from a client device to reduce unintended key repetition | |
CA3026457C (en) | System and method for the passive monitoring and reporting of printer-related data on usb cables | |
CN108885484A (en) | Remote terminal equipment, its control method, computer system and program | |
KR102078090B1 (en) | Stack timing adjustment for serial communications | |
EP3691211B1 (en) | Apparatus and method of crosschecking data copies using one or more voter elements | |
US9635194B2 (en) | Information processing method and program thereof for converting print data into a data format suitable for a general purpose operating system | |
WO2015123509A1 (en) | System and method for the passive monitoring and reporting of printer-related data on usb cables | |
US9158486B2 (en) | Print job tracking and policy enforcement | |
CN109120628A (en) | Print system kilomega network communication means, terminal and system | |
US20240119018A1 (en) | Usb transmission system, equipment, method, and program | |
US9001369B1 (en) | Print job tracking and policy enforcement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 201819691 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20170601 Ref document number: 3026457 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17813780 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17813780 Country of ref document: EP Kind code of ref document: A1 |