IP Library Granted Patent US 12,021,917
Granted Patent B2
US 12,021,917 · App. 14/577,201 · Granted Jun 25, 2024

Method for enabling communication between a user device browser and a local device

Inventors: Christopher Ensign (Volo, IL); Richard E. Bergstrom (Lake Villa, IL)
Assignee: Zebra Technologies Corporation
H04L67/025G06F3/1206G06F3/1228G06F3/1289H04L67/02G06F3/1209G06F3/1246G06F16/9577
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 12,021,917
App. No.
14/577,201
Granted
Jun 25, 2024
Kind
B2
Abstract

A method, computer program product and system are provided to enable communication between a browser on a user device, such as a mobile device or personal computer, and a local device, such as a printer. A host system may provide a host web application for generating data for display by a browser, and may also integrate with an application programming interface (API) to embed code into the host web application such that when executed by the browser, enables the communication between the browser and a local device communication application. The local device communication application may then control communication to the local device, such as causing the data to be printed on a printer. The provided methods may be implemented independently of the browser type and/or operating system type.

Claims (32)

1. A computer-implemented method for facilitating communication of data from a browser to a local device, wherein the browser is configured to operate on a user device, the computer-implemented method comprising:

receiving, at a computer program product executed by a processor of the user device, a device request generated by the browser, wherein the browser is to generate the device request by executing code provided to the browser by a host system, the browser to receive data defining content to be printed from the host device in conjunction with the code, wherein the device request is a communication regarding a list of available local devices;

receiving, at the computer program product, a local device selection from the browser, the local device selection indicative of a local device selected from the list of available local devices to print the content;

verify a permission status of the host system relative to the selected local device; and

responsive to verifying, based on the permission status, that the host system has permission:

converting, via the computer program product, the data to a device specific command based on the local device selection, the device specific command being compatible with the selected local device; and

causing, via the computer program product, transmission of the device specific command to the selected local device to cause the local device to print the content.

2. A computer program product configured to operate on a user device to enable communication between a local device and a browser, wherein the browser is configured to operate on the user device and configured to display a web page provided from a host web application, and the computer program product is configured to:

receive, at the computer program product, a device request generated by the browser, wherein the browser is to generate the device request by executing code provided to the browser by a host device in conjunction with data defining content to be displayed by the browser, wherein the device request is a communication regarding a list of available local devices;

receive, at the computer program product, a local device selection from the browser, the local device selection being selected from the list of available local devices provided to the browser by the computer program product, the local device selection indicative of the local device selected to print the content;

verify a permission status of the selected local device relative to the host web application; upon verification of the permission status:

convert, via the computer program product and based on the local device selection, the data received from the host device to a device specific command that is compatible with the selected local device; and

cause transmission of the device specific command from the computer program product to the selected local device, wherein the device specific command is to cause the local device to print the content.

3. The computer program product of claim 2 , wherein the computer program product is to determine the selected local device is a defaulted local device.

4. The computer program product of claim 2 , wherein the computer program product is configured to:

cause the user device to output a user permission prompt relating to a host web application and the local device via the browser;

receive an authorization indication in response to the outputting of the user permission prompt via the browser; and

update the permission status related to the host web application and the selected local device based on the authorization indication.

5. The computer program product of claim 2 , wherein:

a local device communication application programming interface is configured for enabling embedding of the code in a host web application; and

the transmission of the device specific command to the selected local device occurs in response to execution of the code.

6. The computer program product of claim 2 , wherein converting the data to the device specific command comprises converting Hypertext Markup Language (HTML) to a print command incorporating at least one of the content, style information, and positioning information derived from the HTML.

7. The computer program product of claim 2 , wherein the data is received via an asynchronous JavaScript call executed by the browser.

8. The computer program product of claim 2 , wherein the selected local device is a printer, and the device specific command transmitted to the printer is a print command.

9. The computer program product of claim 8 , wherein the printer is controlled by Zebra Programming Language.

10. The computer program product of claim 2 , wherein the device specific command causes at least one of:

the selected local device to return selected local device status information to the user device; or

the selected local device to print selected local device configuration information.

11. The computer program product of claim 2 , wherein the computer program product is configured to receive a selected local device response from the selected local device.

12. The computer program product of claim 2 , further comprising when the permission status is not verified between the selected local device and the requesting host web application, generate, at the computer program product, a user permission prompt to request permission to access the selected local device.

13. The computer program product of claim 2 , wherein the permission status includes data configured to indicate the requesting host web application has permission to access the selected local device.

14. The computer program product of claim 2 , wherein when the permission status is verified between the selected local device and the requesting host web application, record the permission status in the host server memory to avoid determining the permission in subsequent connections.

Assignments (6)
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 Jan 16, 2019
From: ZIH CORP.
To: ZEBRA TECHNOLOGIES CORPORATION
Reel/Frame 048470/0848 →
SECURITY INTEREST Recorded Oct 25, 2017
From: ZIH CORP.
To: JPMORGAN CHASE BANK, N.A., AS THE SUCCESSOR AGENT
Reel/Frame 044616/0736 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2015
From: BERGSTROM, RICHARD E.; ENSIGN, CHRISTOPHER
To: ZIH CORP.
Reel/Frame 036239/0713 →