IP Library Granted Patent US 11,507,366
Granted Patent B1
US 11,507,366 · App. 17/354,846 · Granted Nov 22, 2022

Dynamically controlled check-in frequency for an update management system

Inventors: Dhirendra Kumar Bhupati (Sammamish, WA); Raj Thilak Ramaswami Balakrishnan (Sammamish, WA); Sridhar Dantuluri (Redmond, WA); Xiaodong Gong (Bothell, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/65G06F16/2379G06N20/00
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 11,507,366
App. No.
17/354,846
Granted
Nov 22, 2022
Kind
B1
Abstract

A system and method for a software update management system which provides control over the distribution of software updates and increases payload distribution efficiency by providing a dynamically controlled next check-in frequency to each endpoint of the system. The system may use information provided from other services stored in a service database to determine the next check-in frequency. The update management system may further incorporate machine learning to optimize the next check-in frequency for each endpoint.

Claims (32)

1. A device for dynamically controlling a next check-in frequency in an update management system comprising:

a processor; and

a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of:

receiving a check-in request from an endpoint;

posting a message on a message bus with check-in information including a check-in time;

storing the check-in time of the message in a database;

generating a next check-in frequency for each endpoint based on information stored in the database; and

replying to endpoints with the generated next check-in frequency allowing the endpoints to send future check-in requests with the next check-in frequency.

2. The device of claim 1 , wherein generating the next check-in frequency includes a machine learning service that continuously monitors updates to the database and uses machine learning to generate the next check-in frequency.

3. The device of claim 2 , wherein the machine learning service adjusts a scaling factor used to generate the next check-in frequency.

4. The device of claim 1 , further comprising other services subscribing to check-in events on the message bus determining what actions the endpoint needs to perform.

5. The device of claim 4 , further wherein the actions the endpoint needs to perform are sent to the endpoint in the reply with the generated next check-in frequency.

6. The device of claim 1 , further comprising providing a severity score of other services which is then used to generate the next check-in frequency where the severity score indicates a relative importance of a service being up to date on the endpoint.

7. The device of claim 6 , wherein the severity score is provided by a severity score provider that monitors the other services and stores the severity score in the database.

8. The device of claim 6 , wherein the next check-in frequency is generated using the severity score, a historic check-in frequency, a current network load, and a non-empty payload rate.

9. The device of claim 8 , wherein the next check-in frequency is equal to a scaling factor*[historic check-in frequency+(current network load*100/severity score)−non-empty payload rate*100].

10. A method of operating a device, comprising:

receiving a check-in request from an endpoint;

posting a message on a message bus with check-in information including a check-in time;

storing the check-in time of the message in a database;

generating a next check-in frequency for each endpoint based on information stored in the database; and

replying to endpoints with the generated next check-in frequency allowing the endpoints to send future check-in requests with the next check-in frequency.

11. The method of claim 10 , wherein generating the next check-in frequency includes continuously monitoring updates to the database and using machine learning to generate the next check-in frequency.

12. The method of claim 11 wherein the machine learning adjusts a scaling factor used to generate the next check-in frequency.

13. The method of claim 11 , further comprising other services subscribing to check-in events on the message bus, determining what actions the endpoint needs to perform, and sending the actions the endpoint needs to perform to the endpoint.

14. The method of claim 10 , further comprising providing a severity score of other services which is then used to generate the next check-in frequency where the severity score indicates a relative importance of a service being up to date on the endpoint.

15. The method of claim 14 , wherein the severity score is provided by a severity score provider that monitors the other services and stores the severity score in the database.

16. The method of claim 15 , wherein the next check-in frequency is generated using the severity score, a historic check-in frequency, a current network load, and a non-empty payload rate.

17. The method of claim 16 , wherein the next check-in frequency is equal to a scaling factor*[historic check-in frequency+(current network load*100/severity score)−non-empty payload rate*100].

18. A method of operating a device, comprising: receiving a check-in request from an endpoint; posting a message on a message bus with check-in information including a check-in time; storing the check-in time of the message in a database by device and tenant; generating a next check-in frequency for each endpoint based on information stored in the database with a machine learning service; replying to endpoints with the generated next check-in frequency allowing the endpoints to send future check-in requests with the next check-in frequency; other services subscribing to check-in events on the message bus determining what actions the endpoint needs to perform; and providing a severity score of other services which is then used to generate the next check-in frequency where the severity score indicates a relative importance of a service being up to date on the endpoint, wherein the next check-in frequency is generated using the severity score, a historic check-in frequency, a current network load, and a non-empty payload rate.

19. The method of claim 18 , wherein the next check-in frequency is equal to a scaling factor*[historic check-in frequency+(current network load*100/severity score)−non-empty payload rate*100].

20. The method of claim 18 , wherein the machine learning service adjusts a scaling factor used to generate the next check-in frequency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2021
From: BHUPATI, DHIRENDRA KUMAR; RAMASWAMI BALAKRISHNAN, RAJ THILAK; DANTULURI, SRIDHAR; GONG, XIAODONG
To: MICROSOFT TECHNOLOGY LICENSING LLC
Reel/Frame 056624/0910 →