Method for seamlessly providing incremental application updates to users while serving continuous live traffic
First Claim
1. A method for providing clients with application updates while serving the clients continuous real-time data, the method comprising:
- serving, by a plurality of servers using a first version of a protocol to communicate with a plurality of client devices, application resources and services for a first version of an application running on each of the plurality of client devices;
updating the plurality of servers to communicate with the plurality of client devices using a dual-protocol compatible with both the first version of the application and a second version of the application, the dual-protocol including the first version of the protocol and a second version of the protocol;
serving, by the plurality of servers to the plurality of client devices, application resources and services for the second version of the application using the second version of the protocol, the application resources and services for the second version of the application being different from the application resources and services for the first version of the application;
responsive to determining that the second version of the application is installed on each of the plurality of client devices, removing support for the first version of the protocol from the plurality of servers; and
responsive to determining that an application resource for the second version of the application does not exist for the first version of the application, providing the application resource for the second version of the application to the plurality of servers before the plurality of servers begins using the second version of the protocol.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for upgrading a web application from an existing version to a new version without causing or creating any interruption in service to clients receiving the upgrade. A combination of techniques and strategies are used to fully migrate all connected clients from a first version to a second version of an application while keeping at least two deployment constraints in mind: (1) prevent clients from running with a mixture of resources from two different versions of an application (e.g., Version A and Version B of a given application); and (2) prevent clients from accessing service endpoints from a different version of the application than the client is running (e.g., accessing service endpoints for Version B when running Version A).
-
Citations
28 Claims
-
1. A method for providing clients with application updates while serving the clients continuous real-time data, the method comprising:
-
serving, by a plurality of servers using a first version of a protocol to communicate with a plurality of client devices, application resources and services for a first version of an application running on each of the plurality of client devices; updating the plurality of servers to communicate with the plurality of client devices using a dual-protocol compatible with both the first version of the application and a second version of the application, the dual-protocol including the first version of the protocol and a second version of the protocol; serving, by the plurality of servers to the plurality of client devices, application resources and services for the second version of the application using the second version of the protocol, the application resources and services for the second version of the application being different from the application resources and services for the first version of the application; responsive to determining that the second version of the application is installed on each of the plurality of client devices, removing support for the first version of the protocol from the plurality of servers; and responsive to determining that an application resource for the second version of the application does not exist for the first version of the application, providing the application resource for the second version of the application to the plurality of servers before the plurality of servers begins using the second version of the protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for providing a client with application updates while serving the client continuous real-time data, the system comprising:
-
at least one processor; and at least one memory storing computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to; serve, using a first version of a protocol to communicate with at least one client device, application resources and services for a first version of an application running on the at least one client device; update, to communicate with the at least one client device using a dual-protocol compatible with both the first version of the application and a second version of the application, the dual-protocol including the first version of the protocol and a second version of the protocol; serve, to the at least one client device, application resources and services for the second version of the application using the second version of the protocol, the application resources and services for the second version of the application being different from the application resources and services for the first version of the application; responsive to determining that the second version of the application is installed on the at least one client device, discard support for the first version of the protocol; and responsive to determining that an application resource for the second version of the application does not exist for the first version of the application, receive the application resource for the second version of the application before using the second version of the protocol. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer-implemented method for providing clients with application updates, the method comprising:
-
serving to a plurality of client devices, using a first version of a communication protocol, application resources and services for a first version of an application running on each of the plurality of client devices; updating to a dual-communication protocol compatible with both the first version of the application and a second version of the application, the dual-communication protocol including the first version of the communication protocol and a second version of the communication protocol; serving to the plurality of client devices, using the second version of the communication protocol, application resources and services for the second version of the application, the application resources and services for the second version of the application being different from the application resources and services for the first version of the application; responsive to determining that the second version of the application is installed on each of the plurality of client devices, removing support for the first version of the communication protocol; and responsive to determining that an application resource for the second version of the application does not exist for the first version of the application, obtaining the application resource for the second version of the application before using the second version of the communication protocol.
-
Specification