IP Library Granted Patent US 10,165,130
Granted Patent B2
US 10,165,130 · App. 15/172,210 · Granted Dec 25, 2018

System and method for the passive monitoring and reporting of printer-related data on USB cables

Inventors: Daniel Doyle, Sr. (Bellair, FL); Patrick Adesso (Tampa, FL); Jill Castillenti (Dade City, FL); Gideon Hecht (Tampa, FL); Brian Lauman (Clearwater, FL); Daniel Doyle, Jr. (Bellair, FL); Alex Berndt Campbell (Tampa, FL); Marvin Scaff (Tampa, FL)
H04N1/00042G06F3/1204G06F3/1207G06F3/1229G06F3/1236G06F3/1259G06F3/1292G06Q10/08H04N1/00015H04N1/00039H04N1/00079H04N1/00323H04W84/12H04W84/18H04W88/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,165,130
App. No.
15/172,210
Granted
Dec 25, 2018
Kind
B2
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.

Claims (43)

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;

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;

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.

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.

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

wherein the base station reports print-related information to the central server via a second network.

Assignments (3)
SECURITY INTEREST Recorded Jun 6, 2024
From: EMERGE HOLDINGS, LLC
To: FORTRESS CREDIT CORP.
Reel/Frame 067641/0945 →
MERGER Recorded May 10, 2024
From: EMERGE PRINT MANAGEMENT, LLC
To: EMERGE HOLDINGS, LLC
Reel/Frame 067368/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2016
From: DOYLE, DANIEL, SR; ADESSO, PATRICK; CASTILLENTI, JILL; HECHT, GIDEON; LAUMAN, BRIAN; DOYLE, DANIEL, JR; CAMPBELL, ALEX; SCAFF, MARVIN
To: EMERGE PRINT MANAGEMENT, LLC
Reel/Frame 039349/0941 →
Continuity (8)
Continuation In Part 14621616 · Feb 13, 2015
Continuation In Part 14622011 · Feb 13, 2015
Provisional Application 61939403 · Feb 13, 2014
Provisional Application 61939365 · Feb 13, 2014
Provisional Application 61939374 · Feb 13, 2014
Provisional Application 61939388 · Feb 13, 2014
Provisional Application 61939419 · Feb 13, 2014
Related Publication 20160360045A1 · Dec 8, 2016