Guaranteed deployment of applications to nodes in an enterprise
First Claim
1. A method for updating a distributed application in a multiple application-server environment, in which at least one server receives updates later than another server, said method comprising:
- responsive to starting an application server in the data processing system, the application server contacting a deployment manager over a secure connection to determine whether an application update distribution occurred while the application server was unavailable to update an application to be distributed to a plurality of client data processing systems;
responsive to said contacting, the deployment manager attempting to deliver an application update to the application server;
responsive to a failure of delivery of the application update, the deployment manager saving the application update to form a saved message;
responsive to subsequently detecting a presence of the application server, the deployment manager sending the saved message to the first application server;
responsive to receiving the saved message, the first application server updating the one or more applications in the first application server; and
the first application server sending the one or more applications that are updated to the plurality of client data processing systems.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system and computer program product for updating distributed applications in a multiple application-server environment, in which at least one server receives updates later than another server and update delivery is tracked by an update tracker in the form of a message history, is disclosed. In a preferred embodiment, an application will be distributed across multiple servers and will receive updates from a central repository across a network or other communication fabric. Responsive to starting an application server in the data processing system, a messaging system is contacted over a secure connection to determine whether an application update distribution occurred while the application server was unavailable to update applications, and, responsive to a determination that the application update distribution occurred, an application is received.
21 Citations
15 Claims
-
1. A method for updating a distributed application in a multiple application-server environment, in which at least one server receives updates later than another server, said method comprising:
-
responsive to starting an application server in the data processing system, the application server contacting a deployment manager over a secure connection to determine whether an application update distribution occurred while the application server was unavailable to update an application to be distributed to a plurality of client data processing systems; responsive to said contacting, the deployment manager attempting to deliver an application update to the application server; responsive to a failure of delivery of the application update, the deployment manager saving the application update to form a saved message; responsive to subsequently detecting a presence of the application server, the deployment manager sending the saved message to the first application server; responsive to receiving the saved message, the first application server updating the one or more applications in the first application server; and the first application server sending the one or more applications that are updated to the plurality of client data processing systems. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a plurality of server data processing systems, wherein each of the plurality of server data processing systems is operable to be coupled to a network, includes a respective application server, and is operable to distribute an application to a respective plurality of client computing devices through the network; and a deployment manager data processing system operable to be coupled to the network, operable to communicate with each of the plurality of server data processing systems through the network, and including a processor and a memory coupled to the processor, wherein the memory includes instructions executable by the processor to; transmit via the network a message addressed to at least one of the plurality of server data processing systems; determine whether or not the message was acknowledged by the at least one of the plurality of server data processing systems; if the message was acknowledged by the at least one of the plurality of server data processing systems, transmit an application update to the application server of the at least one of the plurality of server data processing systems, wherein the application update is operable to be distributed to the respective plurality of client computing devices of the at least one of the plurality of server data processing systems; and if the message was not acknowledged by the at least one of the plurality of server data processing systems; store data associated with the application update and a corresponding identification associated with the application server of the at least one of the plurality of server data processing systems; receive a message from the application server of the at least one of the plurality of server data processing systems, wherein the message indicates availability of the application server of the at least one of the plurality of server data processing systems to receive application updates; and responsive to receipt of the message, determine the application update from the data associated with the application update and the corresponding identification and transmit the application update to the application server of the at least one least of the plurality of server data processing systems. - View Dependent Claims (8, 9, 10)
-
-
11. A method of data processing, the method comprising:
-
transmitting a message to a network, wherein the message is addressed to a plurality of server data processing systems, wherein each of the plurality of server data processing systems is coupled to the network and includes a respective application server operable to distribute one or more application updates to a respective plurality of client data processing systems; determining whether or not the message was acknowledged by at least one of the plurality of server data processing systems; if the message was acknowledged by the at least one of the plurality of server data processing systems, transmitting, through the network, an application update to the application server of the at least one of the plurality of server data processing systems, wherein the application update is operable to be distributed to the respective plurality of client computing devices of the at least one of the plurality of server data processing systems; and if the message was not acknowledged by the at least one of the plurality of server data processing systems; storing data associated with the application update and a corresponding identification associated with the application server of the at least one of the plurality of server data processing systems; receiving a message from the application server of the at least one of the plurality of server data processing systems, wherein the message from the application server of the at least one of the plurality of server data processing systems indicates that the application server of the at least one of the plurality of server data processing systems is available to receive one or more application updates; responsive to said receiving the message from the application server of the at least one of the plurality of server data processing systems, determining the application update from the data associated with the application update and the corresponding identification associated with the application server of the at least one of the plurality of server data processing systems; and transmitting, through the network, the application update to the application server of the at least one least of the plurality of server data processing systems. - View Dependent Claims (12, 13, 14)
-
-
15. A computer readable storage medium including program code that when executed by a data processing system causes the data processing system to:
-
transmit a message to a network, wherein the message is addressed to a plurality of server data processing systems, wherein each of the plurality of server data processing systems is coupled to the network and includes a respective application server operable to distribute one or more application updates to a respective plurality of client data processing systems; determine whether or not the message was acknowledged by at least one of the plurality of server data processing systems; if the message was acknowledged by the at least one of the plurality of server data processing systems, transmit, through the network, an application update to the application server of the at least one of the plurality of server data processing systems, wherein the application update is operable to be distributed to the respective plurality of client computing devices of the at least one of the plurality of server data processing systems; and if the message was not acknowledged by the at least one of the plurality of server data processing systems; store data associated with the application update and a corresponding identification associated with the application server of the at least one of the plurality of server data processing systems; receive a message from the application server of the at least one of the plurality of server data processing systems, wherein the message from the application server of the at least one of the plurality of server data processing systems indicates that the application server of the at least one of the plurality of server data processing systems is available to receive one or more application updates; responsive to said receiving the message from the application server of the at least one of the plurality of server data processing systems, determine the application update from the data associated with the application update and the corresponding identification associated with the application server of the at least one of the plurality of server data processing systems; and transmit, through the network, the application update to the application server of the at least one least of the plurality of server data processing systems.
-
Specification