IP Library › Granted Patent US 10,374,930
Granted Patent B2
US 10,374,930 · App. 15/009,809 · Granted Aug 6, 2019

Off-peak patching for enterprise stability

Inventors: Jianfeng Cai (Redmond, WA); Dexter Dauz (Sammamish, WA); Brad Smith (Sammamish, WA); Zohar Raz (Redmond, WA); Neetha Tuluri (Sammamish, WA); Nick Alfeo (Seattle, WA); Roshane Silva (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L43/16H04L67/325H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,374,930
App. No.
15/009,809
Granted
Aug 6, 2019
Kind
B2
Abstract

In one example, a server farm patching system may wait until fewer users are accessing a server farm to apply a patch code set to a server application executed by a server at the server farm. The server farm patching system may identify an off-peak usage time range for a server farm describing when the server farm has an activity level below an activity threshold. The server farm patching system may apply a patch code set at an off-peak usage patching aggressiveness level indicating an off-peak upper bound percentage of servers in the server farm receiving the patch code set when within the off-peak usage time range. The server farm patching system may apply the patch code set at a peak usage patching aggressiveness level indicating a peak upper bound percentage of servers in the server farm receiving the patch code set when outside the off-peak usage time range.

Claims (45)

1. A server farm patching system comprising:

a processor;

a memory in communication with the processor, the memory storing instructions that, when executed by the processor, causes the server farm patching system to identify an off-peak usage time range for a server farm having a plurality of servers, the off-peak usage time range describing when the server farm has an activity level below an activity threshold; and

a data interface configured to apply a patch code set to one of the plurality of servers in the server farm;

wherein the data interface is configured such that:

the patch code set is applied at an off-peak usage aggressiveness level when the server farm is operating within the off-peak usage time range, the off-peak usage aggressiveness level indicating an off-peak upper bound percentage of servers in the server farm receiving the patch code set when within the off-peak usage time range, and

the patch code set is applied at a peak usage aggressiveness level when the server farm is operating outside the off-peak usage time range, the peak usage aggressiveness level indicating a peak upper bound percentage of servers in the server farm receiving the patch code set when outside the off-peak usage time range.

2. The server farm patching system of claim 1 ,

wherein the instructions further cause the server farm patching system to determine a geographic location for the server farm to identify the off-peak usage time range.

3. The server farm patching system of claim 1 , wherein the memory is configured to define the off-peak usage time range in a network container object describing the server farm.

4. The server farm patching system of claim 1 , wherein the memory is configured to designate the server farm as a single tenant server farm dedicated to a single client.

5. The server farm patching system of claim 1 , wherein the memory is configured to define a tenant mandated off-peak usage time range in a network container object describing a single tenant server farm.

6. The server farm patching system of claim 1 , wherein the data interface is further configured to apply the patch code set at a pre-set shoulder aggressiveness level to the server farm proximate to an off-peak usage time range bound.

7. The server farm patching system of claim 1 ,

wherein the instructions further cause the server farm patching system to override the off-peak usage aggressiveness level upon receiving an administrator override.

8. The server farm patching system of claim 1 , wherein the memory is configured to associate a geographic region for the server farm with the patch code set for the server farm.

9. The server farm patching system of claim 1 ,

wherein the instructions further cause the server farm patching system to validate the patch code set based on an execution of the patch code set in an execution environment for a server application incorporating the patch code set.

10. The server farm patching system of claim 1 ,

wherein the instructions further cause the server farm patching system to rate the patch code set based on at least one of a build age and a regression history for the patch code set.

11. The server farm patching system of claim 1 , wherein the data interface is further configured to place a patching bid for the patch code set for the server farm requesting to apply the patch code set.

12. The server farm patching system of claim 1 ,

wherein the instructions further cause the server farm patching system to assign a farm temperature to the server farm describing a server characteristic used to determine when to deploy the patch code set to the server farm.

13. The server farm patching of claim 1 , further comprising:

wherein the instructions further cause the server farm patching system to schedule a deployment of the patch code set based on a farm temperature for the server farm.

14. The server farm patching system of claim 1 , wherein the memory is configured to mark the patch code set upon a regression occurrence indicating that the patch code set had to be removed to revert server application to an earlier version.

15. A computing device comprising:

a processor;

a memory in communication with the processor, the memory storing a series of instructions that, when executed by the processor, cause the computing device to:

apply a patch code set to a server farm,

analyze a request-per-second history for the server farm to identify an off-peak usage time range for the sever farm describing when the server farm has an activity level below an activity threshold;

wherein:

the patch code set is applied at an off-peak usage aggressiveness level when the server farm is operating within the off-peak usage time range, the off-peak usage aggressiveness level indicating an off-peak upper bound percentage of servers in the server farm receiving the patch code set when within the off-peak usage time range, and

the patch code set is applied at a peak usage aggressiveness level when the server farm is operating outside the off-peak usage time range, the peak usage aggressiveness level indicating a peak upper bound percentage of servers in the server farm receiving the patch code set when outside the off-peak usage time range.

16. The computing device of claim 15 , wherein the instructions further cause the computing device to adjust the off-peak usage time range based on a current request-per-second report for the server farm.

17. The computing device of claim 15 , wherein the instructions further cause the computing device to adjust an aggressiveness level based on a proximity to an off-peak usage time range bound.

18. The computing device of claim 15 , wherein the instructions further cause the computing device to adjust an aggressiveness level based on a current request-per-second report.

19. A method, comprising:

identifying an off-peak usage time range for a server farm having a plurality of servers, the off-peak usage time range describing when the server farm has an activity level below an activity threshold;

applying a patch code set to one of the plurality of servers in the server farm;

wherein:

the patch code set is applied at an off-peak usage aggressiveness level when the server farm is operating within the off-peak usage time range, the off-peak usage aggressiveness level indicating of an off-peak upper bound percentage of servers in the servers farm receiving the patch code set when within the off-peak usage time range, and

the patch code set is applied at a peak usage aggressiveness level when the server farm is operating outside the off-peak usage time range, the peak usage aggressiveness level indicating a peak upper bound percentage of servers in the server farm receiving the patch code when outside the off-peak usage time range.

20. The method of claim 19 , further comprising

placing a patching bid for the patch code set for the server farm, the patching bid requesting to apply the patch code set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2016
From: CAI, JIANFENG; DAUZ, DEXTER; SMITH, BRAD; RAZ, ZOHAR; TULURI, NEETHA; ALFEO, NICK; SILVA, ROSHANE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 037615/0170 →
Continuity (1)
Related Publication 20170222910A1 · Aug 3, 2017