Updating dependent services
AssigneeMicrosoft Technology Licensing, LLC
InventorsShailesh Nikam, YenPing Yu, Zhonghua Chu, Satish Thomas
Life of this patent
Estimating the term…
Abstract
An update system is provided that generates a service list of services and sorts the services in the service list from least dependent services to most dependent services. Services that are unaffected by updates as determined based on the sorting are removed. An update runbook is generated with steps for updating the services. An order of the steps is based on the sorted service list, and the steps indicate target services, hosting machines and actions to perform on target services.
Claims15
A computer-implemented method, the method comprising:
- generating a service list of services of an organization;
- sorting the services in the service list from least dependent to most dependent;
- removing at least one of the services from the service list that is unaffected by updates as determined based on the sorting;
- and
- generating an update runbook with steps for updating the services, where an order of the steps is based on the sorted service list, and each step indicates a target service, a machine that hosts that target service, and at least one action to perform on that target service, where the at least one action comprises at least one of a stop action, an update action, and a start action,
- where the steps in the update runbook include a step with the stop action and a step with the start action for each service on each machine affected by an update, and a step with the update action for each service on each machine to be updated, where the order of steps is such that each service is stopped in an order from a most dependent service to a least dependent service and started in an order from the least dependent service to the most dependent service, and
- where a service in the service list is dependent on another service in the service list if, to perform a function of the service, the service relies on the another service, and where the most dependent service in the service list has the most amount of dependencies to other services in the service list, and the least dependent service in the service list has the least amount of dependencies to other services in the service list.
A computing system comprising:
- at least one non-transitory computer readable medium;
- and
- at least one processor to execute machine readable instructions stored on the at least one non-transitory computer readable medium, where the instructions are executable to:
- generate a service list based on a topological sort of services, where the topological sort orders the services from least dependent to most dependent;
- remove at least one of the services from the service list that is unaffected by updates as determined based on the topological sort of the service dependency graph;
- and
- generate an update runbook with steps for updating the services, where an order of the steps is based on the topological sort, and each step indicates a target service, a machine that hosts that target service, and at least one action performed on that target service, where the at least one action comprises at least one of a stop action, an update action, and a start action,
- where the steps in the update runbook include a step with the stop action and a step with the start action for each service on each machine affected by an update, and a step with the update action for each service on each machine to be updated, where the order of steps is such that each service is stopped in an order from a most dependent service to a least dependent service and started in an order from the least dependent service to the most dependent service, and
- where a service in the service list is dependent on another service in the service list if, to perform a function of the service, the service relies on the another service, and where the most dependent service in the service list has the most amount of dependencies to other services in the service list, and the least dependent service in the service list has the least amount of dependencies to other services in the service list.
At least one non-transitory computer-readable storage medium storing machine readable instructions executable by at least one processor to:
- generate a service list of services of an organization;
- sort the services in the service list from least dependent to most dependent;
- remove at least one of the services from the service list that is unaffected by updates as determined based on the sorting;
- and
- generate an update runbook with steps for updating the services, where an order of the steps is based on the sorted service list, and each step indicates a target service, a machine that hosts that target service, and at least one action to perform on that target service, where the at least one action comprises at least one of a stop action, an update action, and a start action,
- where the steps in the update runbook include a step with the stop action and a step with the start action for each service on each machine affected by an update, and a step with the update action for each service on each machine to be updated, where the order of steps is such that each service is stopped in an order from a most dependent service to a least dependent service and started in an order from the least dependent service to the most dependent service, and
- where a service in the service list is dependent on another service in the service list if, to perform a function of the service, the service relies on the another service, and where the most dependent service in the service list has the most amount of dependencies to other services in the service list, and the least dependent service in the service list has the least amount of dependencies to other services in the service list.
Dependencies are inferred from the claim text.