Live updating of a shared plugin registry with no service loss for active users
First Claim
1. A method comprising:
- providing, by one or more processors, a shared plugin registry, wherein the shared plugin registry includes at least a first version of a plugin package;
detecting, by the one or more processors, a second version of the plugin package in the shared plugin registry, wherein the second version of the plugin package is deployed to replace the first version of the plugin package;
monitoring, by the one or more processors, a number of active user sessions for the first version of the plugin package by determining whether there are new user sessions that request the first version of the plugin package or whether user sessions that were using the first version of the plugin package have ended;
storing timestamps associated with each plugin package used by the user sessions;
updating, by the one or more processors, a reference count associated with the first version of the plugin package based on the monitoring, wherein the reference count indicates the number of active user sessions associated with the first plugin package, and the updating includes;
(i) incrementing the reference count associated with the first version of the plugin package when a new user session is activated that requests use of the first version of the plugin package; and
(ii) decrementing the reference count associated with the first version of the plugin package when a user session ends that was using the first version of the plugin package; and
maintaining, by the one or more processors, the first version of the plugin package while the reference count indicates at least one active user session is currently using the first version of the plugin package while concurrently providing the second version of the plugin package to a first new user session, wherein access to each plugin package throughout a user session is assured by using the stored timestamps to prevent a plugin package from being replaced by a newer version of the plugin package that is added to the shared plugin registry at a later date.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments can enable the uploading of a newer version of a plugin package to a plugin service without affecting an existing user session that is using an older version of the plugin package. When a new user session begins, the plugin service can monitor one or more plugin packages and the versions used during the new user session. Throughout the user session, the plugin service continues to make the plugin packages available to the user regardless of newer versions being uploaded to the plugin service. In the meantime, multiple clients with different user sessions may be using different and possibly newer versions of the plugin packages at the same time. The plugin service can remove an older version of a plugin package when it determines that there are no longer any active user sessions utilizing the older version of the plugin package.
-
Citations
17 Claims
-
1. A method comprising:
-
providing, by one or more processors, a shared plugin registry, wherein the shared plugin registry includes at least a first version of a plugin package; detecting, by the one or more processors, a second version of the plugin package in the shared plugin registry, wherein the second version of the plugin package is deployed to replace the first version of the plugin package; monitoring, by the one or more processors, a number of active user sessions for the first version of the plugin package by determining whether there are new user sessions that request the first version of the plugin package or whether user sessions that were using the first version of the plugin package have ended; storing timestamps associated with each plugin package used by the user sessions; updating, by the one or more processors, a reference count associated with the first version of the plugin package based on the monitoring, wherein the reference count indicates the number of active user sessions associated with the first plugin package, and the updating includes;
(i) incrementing the reference count associated with the first version of the plugin package when a new user session is activated that requests use of the first version of the plugin package; and
(ii) decrementing the reference count associated with the first version of the plugin package when a user session ends that was using the first version of the plugin package; andmaintaining, by the one or more processors, the first version of the plugin package while the reference count indicates at least one active user session is currently using the first version of the plugin package while concurrently providing the second version of the plugin package to a first new user session, wherein access to each plugin package throughout a user session is assured by using the stored timestamps to prevent a plugin package from being replaced by a newer version of the plugin package that is added to the shared plugin registry at a later date. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
one or more processors; and memory coupled to the one or more processors, the memory encoded with a set of instructions configured to perform a process comprising; providing a shared plugin registry, wherein the shared plugin registry includes at least a first version of a plugin package; detecting a second version of the plugin package in the shared plugin registry, wherein the second version of the plugin package is deployed to replace the first version of the plugin package; monitoring a number of active user sessions for the first version of the plugin package by determining whether there are new user sessions that request the first version of the plugin package or whether user sessions that were using the first version of the plugin package have ended; storing timestamps associated with each plugin package used by the user sessions; updating a reference count associated with the first version of the plugin package based on the monitoring, wherein the reference count indicates the number of active user sessions associated with the first plugin package, and the updating includes;
(i) incrementing the reference count associated with the first version of the plugin package when a new user session is activated that requests use of the first version of the plugin package; and
(ii) decrementing the reference count associated with the first version of the plugin package when a user session ends that was using the first version of the plugin package; andmaintaining the first version of the plugin package while the reference count indicates at least one active user session is currently using the first version of the plugin package while concurrently providing the second version of the plugin package to a first new user session, wherein access to each plugin package throughout a user session is assured by using the stored timestamps to prevent a plugin package from being replaced by a newer version of the plugin package that is added to the shared plugin registry at a later date. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium storing instructions that, when executed by one or more processors of a first computing device, cause the first computing device to perform operations comprising:
-
providing a shared plugin registry, wherein the shared plugin registry at least a first version of a plugin package; detecting a second version of the plugin package in the shared plugin registry, wherein the second version of the plugin package is deployed to replace the first version of the plugin package; monitoring a number of active user sessions for the first version of the plugin package by determining whether there are new user sessions that request the first version of the plugin package or whether user sessions that were using the first version of the plugin package have ended; storing timestamps associated with each plugin package used by the user sessions; updating a reference count associated with the first version of the plugin package based on the monitoring, wherein the reference count indicates the number of active user sessions associated with the first plugin package, and the updating includes;
(i) incrementing the reference count associated with the first version of the plugin package when a new user session is activated that requests use of the first version of the plugin package; and
(ii) decrementing the reference count associated with the first version of the plugin package when a user session ends that was using the first version of the plugin package; andmaintaining the first version of the plugin package while the reference count indicates at least one active user session is currently using the first version of the plugin package while concurrently providing the second version of the plugin package to a first new user session, wherein access to each plugin package throughout a user session is assured by using the stored timestamps to prevent a plugin package from being replaced by a newer version of the plugin package that is added to the shared plugin registry at a later date. - View Dependent Claims (14, 15, 16, 17)
-
Specification