IP Library Granted Patent US 9,189,225
Granted Patent B2
US 9,189,225 · App. 14/055,527 · Granted Nov 17, 2015

Secure, non-disruptive firmware updating

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,189,225
App. No.
14/055,527
Granted
Nov 17, 2015
Kind
B2
Abstract

Firmware updates for, e.g., thin client devices may be achieved in a seamless, non-disruptive manner using a two-stage firmware loader, including a base loader pre-installed on the device and a caching loader downloaded, by the base loader, from a firmware server and thereafter responsible for downloading and updating other firmware application packages.

Claims (49)

1. A method of managing firmware on a thin client device including a processor, the method comprising the steps of:

executing, by the processor, a base loader stored in nonvolatile memory of the thin client device to download, from a remote firmware server, a caching loader for nonvolatile storage on the thin client device; and

executing, by the processor, the caching loader to

(i) identify, via the remote firmware server, at least one firmware application needed by the thin client device but not stored thereon and download the at least one identified firmware application for nonvolatile storage on the thin client;

(ii) verify the at least one identified firmware application based on a digital certificate;

(iii) identify, via the remote firmware server, at least one newer version of the at least one firmware application following initial download thereof and download the at least one newer version of the at least one firmware application for storage in the nonvolatile memory;

(iv) verify the at least one newer version based on the digital certificate; and

(v) manage transition to the at least one downloaded newer version of the at least one firmware application;

executing a terminal emulation program on the thin client to establish communication, via the network interface, with a remote application server for facilitating interaction, via a peripheral device of the thin client, with at least one application executing on the remote server; and

restricting operation of the terminal emulation program prior to authentication of the user via the at least one authentication device,

wherein the thin client comprises at least one authentication device, the method further comprising executing, on the thin client, a user authentication services application to authenticate a user via the at least one authentication device.

2. The method of claim 1 , wherein the caching loader identifies the at least one newer version of the at least one firmware application by downloading a manifest from the firmware server.

3. The method of claim 1 , wherein managing the transition to the at least one downloaded newer version of the at least one firmware application comprises restricting deployment of the at least one newer version and override of a corresponding at least one previous version of the at least one firmware application in accordance with a policy.

4. The method of claim 3 , wherein the policy requires the transition to occur only between specified times of the day or specified days of the week.

5. The method of claim 3 , wherein the policy requires the transition to occur only when no log-on activity has occurred during a pre-set interval or when the rate of new log-ons within a time window falls below a pre-set threshold.

6. The method of claim 3 , wherein the policy requires the transition to occur immediately following the termination of a user session.

7. The method of claim 1 , wherein managing the transition to the at least one downloaded newer version of the at least one firmware application comprises displaying an alert screen, shutting down a previous version of the at least one firmware application, and thereafter starting the newer version.

8. A thin client device comprising:

at least one peripheral device facilitating interaction with a user;

a processor;

a network interface;

writable, nonvolatile memory for storing a digital certificate and firmware instructions executable by the processor, the instructions defining:

(i) a caching loader which, when executed by the processor, causes (A) communication, via the network interface, with a remote firmware server, (B) identification of at least one firmware application needed by the client device but not stored thereon, (C) downloading for storage, in the nonvolatile memory, of the at least one identified firmware application, (D) verification of the at least one identified firmware application based on the digital certificate, (E) identification of at least one newer versions of the at least one firmware application following initial download thereof, (F) management of transition, on the thin client device, to the downloaded at least one newer version of the at least one firmware application; and

(ii) a self-launching base loader which, when executed by the processor, causes (A) communication, via the network interface, with the remote firmware server, (B) downloading for storage, in the nonvolatile memory, of the caching loader, and (C) verification of the caching loader based on the digital certificate;

at least one authentication device, the at least one downloaded firmware application including a user authentication services application for execution by the processor to authenticate a user via the at least one authentication device; and

a terminal emulation program executable by the processor to establish communication, via the network interface, with a remote application-hosting server for facilitating interaction, via the peripheral device of the thin client, with at least one application executing on the remote server, the user authentication services application restricting operation of the terminal emulation program prior to authentication of the user via the authentication device.

9. The thin client device of claim 8 , wherein the caching loader, when executed by the processor, further causes downloading of a manifest from the firmware server, the identification of the at least one firmware application needed by the thin client device being based at least in part on the manifest.

10. The thin client device of claim 8 , wherein the at least one authentication device comprises at least one of a fingerprint reader, a card reader, or an RFID reader.

11. The thin client of claim 8 , wherein the caching loader is configured to manage the transition to the at least one downloaded newer version of the at least one firmware application by restricting deployment of the at least one newer version and override of a corresponding at least one previous version in accordance with a policy.

12. The thin client of claim 11 , wherein the policy requires the transition to occur only between specified times of the day or specified days of the week.

13. The thin client of claim 11 , wherein the policy requires the transition to occur only when no log-on activity has occurred during a pre-set interval or when the rate of new log-ons within a time window falls below a pre-set threshold.

14. The thin client of claim 11 , wherein the policy requires the transition to occur immediately following the termination of a user session.

15. The thin client of claim 8 , wherein the caching loader is configured to cause the transition to the at least one downloaded newer version of the at least one firmware application by displaying an alert screen, shutting down a previous version of the at least one firmware application, and thereafter starting the newer version.

16. A system for managing firmware on a thin client device, the system comprising:

a firmware server storing (i) a caching loader comprising processor-readable firmware instructions, and (ii) at least one firmware application; and

a client device comprising

(i) at least one peripheral device facilitating interaction with a user,

(ii) a processor,

(iii) a network interface,

(iv) writable, nonvolatile memory storing (A) a digital certificate and (B) a self-launching base loader comprising processor-readable firmware instructions which, when executed by the processor, cause communication, via the network interface, with the firmware server and facilitate downloading of the caching loader for storage in the nonvolatile memory and verification of the caching loader based on the digital certificate, and

(v) an authentication device,

wherein, upon downloading and installation of the caching loader, execution of the processor-readable firmware instructions thereof by the processor causes (i) communication, via the network interface, with a remote firmware server, (ii) identification of at least one firmware application stored on the firmware server and needed by the client device but not stored thereon, (iii) downloading for storage, in the nonvolatile memory, of the at least one identified firmware application, (iv) verification of the at least one identified firmware application based on the digital certificate, (v) identification of at least one newer version of the at least one firmware application following initial download thereof, and (vi) management of transition, on the thin client device, to the at least one downloaded newer versions of the at least one firmware application, (vii) authentication of a user via at least one authentication device included in the at least one downloaded firmware application, and (viii) establishing communication, via the network interface, with a remote application-hosting server for facilitating interaction, via the peripheral device of the thin client, with at least one application executing on the remote server, the user authentication services application restricting operation of the terminal emulation program prior to authentication of the user via the authentication device.

17. A firmware server for providing firmware to a thin client device, the server comprising

a network interface;

a database of authorized clients;

memory storing a caching loader and at least one firmware application; and

a processor,

wherein the processor is responsive to a request received via the network interface from a base loader installed on the client device, the processor being configured to (i) query the database of authorized clients based on the request to determine whether the thin client device is an authorized client, (ii) if so, cause transmission of the caching loader via the network interface to the client device for installation thereon, and (iii) in response to a request received via a network interface from the caching loader installed on the client device, cause transmission of the at least one firmware application via the network interface to the client device, and

wherein the client device (i) executes a user authentication services application to authenticate a user via at least one authentication device included in the at least one downloaded firmware application and (ii) executing a terminal emulation program to establish communication, via the network interface, with a remote application-hosting server for facilitating interaction, via the peripheral device of the thin client, with at least one application executing on the remote server, the user authentication services application restricting operation of the terminal emulation program prior to authentication of the user via the authentication device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL AT REEL/FRAME NO. 59644/0097 Recorded Sep 18, 2024
From: BLUE OWL CAPITAL CORPORATION (FORMERLY KNOWN AS OWL ROCK CAPITAL CORPORATION), AS COLLATERAL AGENT
To: IMPRIVATA, INC.
Reel/Frame 068981/0732 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 8, 2022
From: IMPRIVATA, INC.
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 059644/0097 →
SECURITY INTEREST Recorded Dec 22, 2020
From: IMPRIVATA, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 054836/0937 →
RELEASE OF SECURITY INTEREST Recorded Dec 2, 2020
From: GOLUB CAPITAL MARKETS LLC
To: IMPRIVATA, INC
Reel/Frame 054510/0572 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 25, 2017
From: SILICON VALLEY BANK, AS AGENT
To: IMPRIVATA, INC.
Reel/Frame 044293/0295 →
SECURITY INTEREST Recorded Oct 24, 2017
From: IMPRIVATA, INC.
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 043934/0875 →
PATENT SECURITY AGREEMENT Recorded Sep 19, 2016
From: IMPRIVATA, INC.
To: SILICON VALLEY BANK
Reel/Frame 040069/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2013
From: BOONE, PIETER-JAN; BERGANDI, LOU; GORA, FEROZ; KASHTAN, DAVID; TING, DAVID M. T.; MICHLIN, MICHAEL; SLAK, ALAIN; LUSHNEY, TARAS
To: IMPRIVATA, INC.
Reel/Frame 031669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2013
From: BOONE, PIETER-JAN; BERGANDI, LOU; GORA, FEROZ; KASHTAN, DAVID; TING, DAVID M. T.; MICHLIN, MICHAEL; CALDER, ROBERT; SLAK, ALAIN; LUSHNEY, TARAS
To: IMPRIVATA, INC.
Reel/Frame 031670/0592 →