IP Library Granted Patent US 9,335,958
Granted Patent B2
US 9,335,958 · App. 13/773,069 · Granted May 10, 2016

Methods, apparatuses, and computer program products for implementing cloud connected printers and an adaptive printer-based application framework

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 9,335,958
App. No.
13/773,069
Granted
May 10, 2016
Kind
B2
Abstract

Methods, apparatuses, and computer program products are provided to facilitate connections between devices, such as a printer and a cloud-based server, and to implement an adaptive application framework. In the context of an apparatus, a printer is provided comprising communications circuitry configured to facilitate communications with a network; and processing circuitry configured to transmit a connection request to the network; receive requested connection parameters from the network; transmit printer connection parameters to the network; and establish a first secure connection between the printer and the network. The printer comprising processing circuitry further configured to receive requested connection parameters comprising at least a signed security certificate and a DNS name for a server on the network and to verify the signed security certificate and the DNS name for the server. The printer comprising processing circuitry further configured to transmit printer connection parameters comprising at least a signed security certificate for the printer. The printer comprising processing circuitry further configured to receive a request from the network to establish one or more communication channels over the first secure connection.

Claims (82)

1. A printer comprising:

communications circuitry configured to facilitate communications with a network; and

processing circuitry configured to:

transmit a connection request to the network;

receive requested connection parameters from the network, wherein the requested connection parameters comprise at least a signed security certificate and a DNS name for a server on the network;

verify the signed security certificate and the DNS name for the server;

transmit printer connection parameters to the network; and

establish a first secure connection between the printer and the network.

2. The printer of claim 1 , wherein the connection request comprises at least a request to upgrade the connection to a WebSocket connection.

3. The printer of claim 1 , wherein the printer connection parameters comprise at least a signed security certificate for the printer.

4. The printer of claim 1 , wherein the processing circuitry is further configured to:

receive a request from the network to establish one or more additional communication channels over the first secure connection; and

establish the one or more additional communication channels.

5. The printer of claim 4 , wherein the one or more additional communication channels are provided over the same connection or the one or more additional communication channels are be provided over a separate connection.

6. The printer of claim 4 , wherein the processing circuitry is further configured to establish the one or more additional communication channels by sending the network a response message comprising a printer ID, a channel name, and a channel ID.

7. The printer of claim 4 , wherein communications on each of the one or more additional communication channels is independent of a status of each of the other of the one or more additional communication channels.

8. The printer of claim 4 , wherein the processing circuitry is further configured to:

transmit or receive print commands over a first one of the one or more additional communication channels; and

transmit or receive other data over at least a second one of the one or more additional communication channels.

9. The printer of claim 8 , wherein the other data comprises one or more of: file transfers, requests for printer status, changes in printer status, stored data, configuration information, changes to a communication channel, alert notifications, and firmware upgrades.

10. The printer of claim 4 , wherein the processing circuitry is further configured to store data in one or more memory locations and transmit the stored data over one of the one or more additional communication channels.

11. The printer of claim 10 , wherein the processing circuitry is further configured to:

receive data from one or more peripheral devices connected to the printer; and store the received data in the one or more memory locations.

12. The printer of claim 1 , wherein the processing circuitry is further configured to:

transmit a message to the network over the secure connection, wherein the message comprises at least a unique printer identifier;

receive configuration information from the network based at least in part on the message; and

modify the printer configuration based on the received configuration information.

13. The printer of claim 1 , wherein the printer further comprises a user interface providing an application front-end interface for an application implemented on the network.

14. A server comprising:

communications circuitry configured to facilitate communications with a network; and

processing circuitry configured to:

receive a connection request from a printer;

transmit requested connection parameters to the printer, wherein the requested connection parameters comprise at least a signed security certificate and a DNS name for the server;

receive printer connection parameters from the printer; and

establish a first secure connection between the server and the printer.

15. The server of claim 14 , wherein the connection request comprises at least a request to upgrade the connection to a WebSocket connection and wherein the processing circuitry is further configured to upgrade the connection to a WebSocket connection.

16. The server of claim 14 , wherein the printer connection parameters comprise at least a signed security certificate for the printer and wherein the processing circuitry is further configured to verify the signed security certificate for the printer.

17. The server of claim 14 , wherein the processing circuitry is further configured to:

transmit a request to the printer to establish one or more additional communication channels over the first secure connection;

receive a reply from the printer to the request; and

establish the one or more additional communication channels over the first secure connection.

18. The server of claim 17 , wherein the one or more additional communication channels are provided over the same connection or the one or more additional communication channels are each provided over a separate connection.

19. The server of claim 17 , wherein the reply from the printer comprises a printer ID, a channel name, and a channel ID.

20. The server of claim 17 , wherein communications on each of the one or more additional communication channels is independent of a status of each of the other of the one or more additional communication channels.

21. The server of claim 17 , wherein the processing circuitry is further configured to:

transmit or receive print commands over a first one of the one or more additional communication channels; and

transmit or receive other data over at least a second one of the one or more additional communication channels.

22. The server of claim 21 , wherein the other data comprises one or more of: file transfers, requests for printer status, changes in printer status, stored data, configuration information, changes to a communication channel, alert notifications, and firmware upgrades.

23. The server of claim 17 , wherein the processing circuitry is further configured to:

receive data from the printer over one of the one or more additional communication channels;

process the received data; and

transmit the processed data to the printer over the one of the one or more additional communication channels.

24. The server of claim 14 , wherein the processing circuitry is further configured to:

receive a message from the printer, wherein the message comprises at least a unique printer identifier;

identify configuration information based at least in part on the received message; and

transmit the configuration information to the printer.

25. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions that, when executed, cause an apparatus to:

transmit a connection request to a network;

receive requested connection parameters from the network, wherein the requested connection parameters comprise at least a signed security certificate and a DNS name for a server on the network;

verify the signed security certificate and DNS name for the server;

transmit apparatus connection parameters to the network; and

establish a first secure connection between the apparatus and the network.

26. The computer program product of claim 25 , wherein the connection request comprises at least a request to upgrade the connection to a WebSocket connection.

27. The computer program product of claim 25 , wherein the apparatus connection parameters comprise at least a signed security certificate for the apparatus.

28. The computer program product of claim 25 , wherein the program code instructions, when executed, further cause the apparatus to:

receive a request from the network to establish one or more additional communication channels over the first secure connection;

establish the one or more additional communication channels.

29. The computer program product of claim 28 , wherein the one or more additional communication channels are provided over the same connection or the one or more additional communication channels are each provided over a separate connection.

30. The computer program product of claim 28 , wherein the program code instructions, when executed, further cause the apparatus to establish the one or more additional communication channels by sending the network a response message comprising a printer ID, a channel name, and a channel ID.

31. The computer program product of claim 28 , wherein communications on each of the one or more additional communication channels is independent of a status of each of the other of the one or more additional communication channels.

32. The computer program product of claim 28 , wherein the program code instructions, when executed, further cause the apparatus to:

transmit or receive print commands over a first one of the one or more additional communication channels; and

transmit or receive other data over at least a second one of the one or more additional communication channels.

33. The computer program product of claim 32 , wherein the other data comprises one or more of: file transfers, requests for printer status, changes in printer status, stored data, configuration information, changes to a communication channel, alert notifications, and firmware upgrades.

34. The computer program product of claim 28 , wherein the program code instructions, when executed, further cause the apparatus to store data in one or more memory locations and transmit the stored data over one of the one or more additional communication channels.

35. The computer program product of claim 34 , wherein the program code instructions, when executed, further cause the apparatus to:

receive data from one or more peripheral devices connected to the apparatus; and

store the received data in the one or more memory locations.

36. The computer program product of claim 25 , wherein the program code instructions, when executed, further cause the apparatus to:

transmit a message to the network over the secure connection, wherein the message comprises at least a unique identifier;

receive configuration information from the network based at least in part on the message; and

modify an apparatus configuration based on the received configuration information.

Assignments (7)
RELEASE OF SECURITY INTEREST - 364 - DAY Recorded Mar 5, 2021
From: JPMORGAN CHASE BANK, N.A.
To: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
Reel/Frame 056036/0590 →
SECURITY INTEREST Recorded Sep 1, 2020
From: ZEBRA TECHNOLOGIES CORPORATION; LASER BAND, LLC; TEMPTIME CORPORATION
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053841/0212 →
NOTICE OF TRANSFER OF SECURITY INTEREST IN PATENTS Recorded Jul 3, 2019
From: ZEBRA TECHNOLOGIES CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 049675/0049 →
MERGER Recorded Mar 29, 2019
From: ZIH CORP.
To: ZEBRA TECHNOLOGIES CORPORATION
Reel/Frame 048884/0618 →
PATENT SECURITY INTEREST ASSIGNMENT AGREEMENT Recorded Oct 25, 2017
From: MORGAN STANLEY SENIOR FUNDING, INC., AS THE EXISTING AGENT
To: JPMORGAN CHASE BANK, N.A., AS THE SUCCESSOR AGENT
Reel/Frame 044791/0842 →
SECURITY AGREEMENT Recorded Oct 31, 2014
From: ZIH CORP.; LASER BAND, LLC; ZEBRA ENTERPRISE SOLUTIONS CORP.; SYMBOL TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC. AS THE COLLATERAL AGENT
Reel/Frame 034114/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2013
From: ANNO, BRET; BROCK, RYAN; MOLEK, GORDON; HENNINGSON, JEFFREY; WINTERBERGER, SEAN PATRICK; WEST, ROBIN; LANE, SCOTT; VAN HUIS, JAMES P; PEKARSKE, ANDY
To: ZIH CORP.
Reel/Frame 031193/0199 →