US9830165B2ActiveUtilityA1

USB communications tunneling through USB printer device class

Assignee: MIDNIGHT MOSAIC LLCPriority: Mar 12, 2013Filed: Oct 6, 2015Granted: Nov 28, 2017
Est. expiryMar 12, 2033(~6.6 yrs left)· nominal 20-yr term from priority
Inventors:Anthony Kempka
G06F 13/387G06F 9/4413G06F 13/102
40
PatentIndex Score
0
Cited by
22
References
15
Claims

Abstract

A USB tunnel apparatus is disclosed herein. In various aspects, the USB tunnel apparatus may include a USB printer class interface operatively received by an application specific USB peripheral. The USB printer class interface is configured to identify the application specific USB peripheral as a printer class device to the host during Plug and Play enumeration, and the USB printer class interface is configured to generate a response during Plug and Play enumeration that alters the process of PnP enumeration to create a partially instantiated printer driver stack on the host when the application specific USB peripheral is in USB communication with the host, in various aspects. Related methods and compositions of matter are also disclosed. This Abstract is presented to meet requirements of 37 C.F.R. §1.72(b) only. This Abstract is not intended to identify key elements of the apparatus, methods, and compositions of matter disclosed herein or to delineate the scope thereof.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A non-transitory computer readable media storing a computer program comprising instructions that, when executed, cause a computer to perform the steps of:
 identifying an application specific USB peripheral as a USB printer class device with USB class code 0x07 hexadecimal to a host during Plug and Play enumeration; and 
 generating a response during Plug and Play enumeration that alters the process of PnP enumeration thereby creating a partially instantiated printer driver stack on the host, the partially instantiated printer driver stack includes a USB printer class protocol driver (USB class code 0x07 hexadecimal) with all components above the USB printer class protocol driver including printer object, printer language, print spooler, and printer driver blocked from instantiation. 
 
     
     
       2. The composition of matter of  claim 1 , further comprising instructions that, when executed, cause the computer to perform the step of:
 communicating data between the application specific USB peripheral and the host by passing the data through the partially instantiated printer driver stack. 
 
     
     
       3. The composition of matter of  claim 2 , the data having no restriction as to the semantics, type, or size. 
     
     
       4. The composition of matter of  claim 2 , further comprising instructions that, when executed, cause the computer to perform the step of: encoding the data using a cryptographic cipher. 
     
     
       5. The composition of matter of  claim 1 , wherein the response generated during Plug and Play enumeration is selected from NAK, STALL, or ACK with null data or zero length data. 
     
     
       6. The composition of matter of  claim 1 , further comprising instructions that, when executed, cause the computer to perform the steps of:
 communicating data between a device tunnel interface operatively received on the application specific USB peripheral and a host tunnel interface operatively received on the host, the data passing through the partially instantiated printer driver stack. 
 
     
     
       7. The composition of matter of  claim 1 , the computer uses a USB printer class interface included on the application specific USB peripheral in performing the step of identifying an application specific USB peripheral as a USB printer class device with USB class code 0x07 hexadecimal to a host during Plug and Play enumeration;
 and the computer uses the USB printer class interface in performing the step of generating a response during Plug and Play enumeration that alters the process of PnP enumeration thereby creating a partially instantiated printer driver stack on the host. 
 
     
     
       8. The composition of matter of  claim 1 , further comprising instructions that, when executed, cause the computer to perform the step of:
 communicating data between an application specific controller operatively received on the host and application specific logic operatively received on the application specific USB peripheral, the data communicated through the partially instantiated printer driver stack. 
 
     
     
       9. The composition of matter of  claim 1 , further comprising instructions that, when executed, cause the computer to perform the step of:
 carrying out the function of the application specific USB peripheral at least in part using instructions comprising application specific logic operatively received on the application specific USB peripheral cooperating with application specific circuitry received upon the application specific USB peripheral. 
 
     
     
       10. The composition of matter of  claim 9 , further comprising instructions that, when executed, cause the computer to perform the step of:
 communicating data through the partially instantiated printer driver stack, the data being communicated between the application specific logic and an application specific controller operably received upon the host. 
 
     
     
       11. The composition of matter of  claim 9 , further comprising instructions that, when executed, cause the computer to perform the step of:
 sending data from an application specific controller through the partially instantiated printer driver stack to the application specific logic thereby controlling operations of the application specific circuitry. 
 
     
     
       12. The composition of matter of  claim 9 , further comprising instructions that, when executed, cause the computer to perform the steps of:
 obtaining data obtained from the application specific circuitry by the application specific logic; and 
 sending the data through the partially instantiated printer driver stack. 
 
     
     
       13. The composition of matter of  claim 12 , wherein the data obtained from the application specific circuitry is generated at least in part by operations of the application specific circuitry. 
     
     
       14. A method comprising the steps of:
 identifying an application specific USB peripheral as a USB printer class device with USB class code 0x07 hexadecimal to a host during Plug and Play enumeration; 
 generating a response during Plug and Play enumeration that alters the process of PnP enumeration thereby creating a partially instantiated printer driver stack on the host, the partially instantiated printer driver stack includes a USB printer class protocol driver (USB class code 0x07 hexadecimal) with all components above the USB printer class protocol driver including printer object, printer language, print spooler, and printer driver blocked from instantiation; and 
 communicating data between the application specific USB peripheral and the host by passing the data through the partially instantiated printer driver stack. 
 
     
     
       15. The method of  claim 14 , the data having no restriction as to the semantics, type, or size.

Join the waitlist — get patent alerts

Track US9830165B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.