IP Library Granted Patent US 9,400,642
Granted Patent B2
US 9,400,642 · App. 14/013,732 · Granted Jul 26, 2016

Self-updating application agent

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,400,642
App. No.
14/013,732
Granted
Jul 26, 2016
Kind
B2
Abstract

Methods, apparatuses, and computer program products are described herein that are configured to enable a self-update. In some example embodiments, a method is provided that comprises receiving a communication from a data center update module, the communication comprising an expected agent version identifier. The method of this embodiment may also include determining whether the expected agent version identifier is equal to a current agent version identifier. The method of this embodiment may also include causing an application agent to perform a self-update in an instance in which the expected agent version identifier is not equal to a current agent version identifier.

Claims (49)

1. A method comprising:

receiving a communication from a data center update module, the communication comprising an expected agent version identifier;

determining, using a processor, whether the expected agent version identifier is equal to a current agent version identifier;

determining whether one or more current conditions constitute an approved state for a self-update, wherein the approved state comprises an instance in which an applicant agent usage satisfies a predetermined threshold;

causing a request to download an expected agent version artifact based on the expected agent version identifier to be transmitted to the data center update module;

causing an application agent to perform the self-update in an instance in which the expected agent version identifier is not equal to the current agent version identifier and the one or more current conditions constitute an approved state, wherein the application agent is remote from the data center update module and an application, wherein the application agent and a secured application data store are inside a firewall when compared to the data center update module and the application, and wherein the application agent executing inside the firewall enables bidirectional communication between the application executing outside of the firewall and the secured application data store executing inside the firewall;

causing the application agent to be stopped;

causing the expected agent version artifact to be installed such that the application agent has an updated current agent version identifier that is equal to the expected agent version identifier; and

causing the application agent to be restarted.

2. A method according to claim 1 , further comprising:

causing a heartbeat communication comprising the current agent version identifier to continue to be transmitted to the data center update module in an instance in which the expected agent version identifier is equal to the current agent version identifier.

3. A method according to claim 2 , wherein the heartbeat communication is a periodic communication.

4. A method according to claim 1 , further comprising:

receiving and verifying the expected agent version artifact.

5. A method according to claim 1 , further comprising:

causing a heartbeat communication comprising the current agent version identifier to continue to be transmitted according to a periodic schedule in an instance in which the application agent is restarted.

6. A method according to claim 1 , wherein the secured application data store comprises secured health related patient data.

7. An apparatus comprising:

at least one processor; and

at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least:

receiving a communication from a data center update module, the communication comprising an expected agent version identifier;

determining, using a processor, whether the expected agent version identifier is equal to a current agent version identifier;

determining whether one or more current conditions constitute an approved state for a self-update, wherein the approved state comprises an instance in which an applicant agent usage satisfies a predetermined threshold;

causing a request to download an expected agent version artifact based on the expected agent version identifier to be transmitted to the data center update module:

causing an application agent to perform the self-update in an instance in which the expected agent version identifier is not equal to the current agent version identifier and the one or more current conditions constitute an approved state, wherein the application agent is remote from the data center update module and an application, wherein the application agent and a secured application data store are inside a firewall when compared to the data center update module and the application, and wherein the application agent executing inside the firewall enables bidirectional communication between the application executing outside of the firewall and the secured application data store executing inside the firewall;

causing the application agent to be stopped;

causing the expected agent version artifact to be installed such that the application agent has an updated current agent version identifier that is equal to the expected agent version identifier; and

causing the application agent to be restarted.

8. A apparatus according to claim 7 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to:

cause a heartbeat communication comprising the current agent version identifier to continue to be transmitted to the data center update module in an instance in which the expected agent version identifier is equal to the current agent version identifier.

9. A apparatus according to claim 8 , wherein the heartbeat communication is a periodic communication.

10. A apparatus according to claim 7 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to:

receive and verifying the expected agent version artifact.

11. A method comprising:

receiving a heartbeat communication comprising a current agent version identifier from an application agent, wherein the application agent is remote from the data center update module and an application, wherein the application agent and a secured application data store are inside a firewall when compared to the data center update module and the application, and wherein the application agent executes inside the firewall and enables bidirectional communication between the application that executes outside of the firewall and the secured application data store that executes inside the firewall;

determining, using a processor, an expected agent version identifier based on an agent artifact stored in an agent artifact data store;

causing a request to download an expected agent version artifact based on the expected agent version identifier to be transmitted to the data center update module;

causing the application agent to perform a self-update to an expected agent version identified by the expected agent version identifier in an instance in which the expected agent version identifier is not equal to the current agent version identifier and in an instance in which the applicant agent usage satisfies a predetermined threshold;

causing the application agent to be stopped;

causing the expected agent version artifact to be installed such that the application agent has an updated current agent version identifier that is equal to the expected agent version identifier; and

causing the application agent to be restarted.

12. A method according to claim 11 , further comprising:

causing the agent artifact to be stored in the agent artifact data store.

13. A method according to claim 11 , wherein the secured application data store comprises secured health related patient data.

14. A method according to claim 11 , wherein the application agent is behind a firewall when compared to a remote application, wherein the application agent enables communication between an application and the secured application data store.

15. A method according to claim 11 , wherein the heartbeat communication is a periodic communication.

16. A method according to claim 11 , further comprising:

receiving a request to download an expected agent version artifact based on the expected agent version identifier to be transmitted from the application agent; and

causing the download of the expected agent version artifact such that the self-update is caused to be performed by the application agent.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2022
From: ALLSCRIPTS SOFTWARE, LLC
To: HARRIS DAWN HOLDINGS, INC
Reel/Frame 061933/0655 →
NOTICE OF PARTIAL TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded May 16, 2022
From: JPMORGAN CHASE BANK, N.A.
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 060381/0954 →
SECURITY INTEREST Recorded May 10, 2022
From: ALTERA DIGITAL HEALTH INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 059913/0710 →
SECURITY INTEREST Recorded Nov 10, 2017
From: ALLSCRIPTS SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044096/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: MCKESSON CORPORATION
To: PF2 MCKESSON TECHNOLOGIES INC.
Reel/Frame 043904/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: PF2 MCKESSON TECHNOLOGIES INC.
To: PF2 EIS LLC
Reel/Frame 043904/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE, LLC
To: ALLSCRIPTS HEALTHCARE US, LP
Reel/Frame 043815/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: PF2 EIS LLC
To: ALLSCRIPTS HEALTHCARE, LLC
Reel/Frame 043815/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE US, LP
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 043815/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2013
From: LINK, STEVE; THOMAS, TODD; TAVES, JANE
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 031111/0648 →