Rolling version update deployment utilizing dynamic node allocation
First Claim
1. A hardware system with rolling version update deployment, including:
- workers on a set of devices in the system, the workers maintain lists of org-task-queues to be serviced by the workers;
org-affinities between the workers and the org-task-queues to provide access to local copies of org-data-sets to service org-tasks from the org-task-queues of orgs serviced by the workers;
a configuration leader running on a device in the set of devices;
a healing and balancing service implemented by the configuration leader that maintains worker redundancy, that manages the workers'"'"' org-affinities, and that causes workers to accumulate orgs on their respective org-lists and to have heterogeneous org-affinities;
a messaging service, implemented by the configuration leader, messaging workers to update from a legacy software version to a new software version and to implement monitoring of completion of updates in a set of update cycles including;
the configuration leader selects workers to update in a cycle and ensures that a selected level of worker redundancy to service particular org-task-queues is not compromised by coordinating the selection of workers taken out of service during the update cycle based on the selected workers'"'"' org-affinities;
the configuration leader informs the selected workers in the cycle to proceed with updating; and
when the configuration leader learns that the selected workers have successfully completed updating, the configuration leader updates version accounting over the selected workers and moves on to another cycle of updating; and
the configuration leader repeating the cycle to update all update-eligible workers.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods are disclosed for dynamic node allocation for a server system that can automatically heal on failure—minimizing the need for static configuration—dynamically adjusting server resources to match load, and minimize end user wait times. The disclosed methods dynamically allocate nodes to increase capacity for a platform that accepts data queries. Additionally disclosed is a system for rolling version update deployment: workers maintain org lists of org-task-queues that they service; org-affinities between the workers and the org-task-queues require the workers to have access to local copies of immutable data sets to service org-tasks from the org-task-queues of the orgs that they service. A leader running on a worker implements a healing and balancing service that maintains worker redundancy, manages the workers'"'"' org-affinities to accumulate orgs on their respective org-lists. The leader implements messaging to the workers to update to a new software version and monitors completion of updates.
171 Citations
21 Claims
-
1. A hardware system with rolling version update deployment, including:
-
workers on a set of devices in the system, the workers maintain lists of org-task-queues to be serviced by the workers; org-affinities between the workers and the org-task-queues to provide access to local copies of org-data-sets to service org-tasks from the org-task-queues of orgs serviced by the workers; a configuration leader running on a device in the set of devices; a healing and balancing service implemented by the configuration leader that maintains worker redundancy, that manages the workers'"'"' org-affinities, and that causes workers to accumulate orgs on their respective org-lists and to have heterogeneous org-affinities; a messaging service, implemented by the configuration leader, messaging workers to update from a legacy software version to a new software version and to implement monitoring of completion of updates in a set of update cycles including; the configuration leader selects workers to update in a cycle and ensures that a selected level of worker redundancy to service particular org-task-queues is not compromised by coordinating the selection of workers taken out of service during the update cycle based on the selected workers'"'"' org-affinities; the configuration leader informs the selected workers in the cycle to proceed with updating; and when the configuration leader learns that the selected workers have successfully completed updating, the configuration leader updates version accounting over the selected workers and moves on to another cycle of updating; and the configuration leader repeating the cycle to update all update-eligible workers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of rolling version update deployment, with workers on devices, org-affinities between the workers and org-task-queues, and a configuration leader running on a worker or management device, including:
-
wherein org-affinities between the workers and the org-task-queues provide access to local copies of org-data-sets to service org-tasks from the org-task-queues serviced by the workers; implementing, by the configuration leader running on a worker or management device, a healing and balancing service that maintains worker redundancy, that manages the workers'"'"' org-affinities, and that causes workers to accumulate orgs on their respective org-lists and to have heterogeneous org-affinities; messaging workers from a messaging service, implemented by the configuration leader, to update to a new software version and monitoring completion of updates, in cycles including; selecting workers to update in a cycle, and ensuring that a selected level of worker redundancy to service particular org-task-queues is not compromised, by coordinating the selection of workers taken out of service during the update cycle based on the selected workers'"'"' org-affinities; informing the selected workers in the cycle to proceed with updating; and updating version accounting over the selected workers by the configuration leader, upon learning that the selected workers have successfully completed updating, and moving on to another cycle of updating; and the configuration leader repeating the cycle to update all update-eligible workers. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification