IP Library › Granted Patent US 11,030,024
Granted Patent B2
US 11,030,024 · App. 16/554,495 · Granted Jun 8, 2021

Assigning a severity level to a computing service using tenant telemetry data

Inventors: Rahul Nigam (Bothell, WA); Mark R. Gilbert (Issaquah, WA); Parminder Pal Singh (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/547
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,030,024
App. No.
16/554,495
Granted
Jun 8, 2021
Kind
B2
Abstract

Systems and methods for determining a severity level of a computing service. One system includes an electronic processor that is configured to receive telemetry data associated with one or more tenants of an online service providing services through a plurality of computing services and calculate, based on the telemetry data, a number of accesses of each of the plurality of computing services during a predetermined time period. The electronic processor is also configured to, for each of the plurality of computing services, assign a severity level to each computing service based on the number of accesses of each computing service during the predetermined time period. The electronic processor is further configured to, in response to detecting a failure of one of the plurality of computing services, initiate a response to the failure based on the severity level assigned to the one of the plurality of computing services.

Claims (37)

1. A system for determining a severity level of a computing service, the system comprising:

an electronic processor configured to

receive telemetry data associated with one or more tenants of an online service, the online service providing services through a plurality of computing services;

calculate, based on the telemetry data, a number of accesses of each of the plurality of computing services during a predetermined time period by counting each access by a unique user during the predetermined time period;

for each of the plurality of computing services, assign a severity level to each computing service based on the number of accesses of each computing service during the predetermined time period relative to the number of accesses of another computing service included in the plurality of computing services during the predetermined time period; and

in response to detecting a failure of one of the plurality of computing services, initiate a response to the failure based on the severity level assigned to the one of the plurality of computing services,

wherein the electronic processor is configured to assign the severity level to each computing service based on the number of accesses of each computing service during the predetermined time period relative to the number of accesses of another computing service included in the plurality of computing services during the predetermined time period by calculating one or more percentile thresholds based on the number of accesses of each of the plurality of computing services and assigning the severity level to each of the plurality of computing services based on a comparison of the number of accesses of each of the plurality of computing services to the one or more percentile thresholds.

2. The system according to claim 1 , wherein the plurality of computing services includes a plurality of application programming interfaces (APIs).

3. The system according to claim 1 , wherein the electronic processor is configured to calculate the number of accesses for each of the plurality of computing services by counting each access by a unique non-synthetic user during the predetermined time period.

4. The system according to claim 1 , wherein the electronic processor is further configured to normalize the telemetry data based on at least one selected from a group consisting of a time of day, a day of a week, and a time of a year.

5. The system according to claim 1 , wherein the predetermined time period is one selected from a group consisting of an hour, a day, and a month.

6. The system according to claim 1 , wherein the electronic processor is configured to select the one or more tenants randomly from a plurality of tenants using the online service.

7. The system according to claim 1 , wherein the severity level assigned to at least one of the plurality of computing services is a first severity level associated with first operating condition of the at least one of the plurality of computing services and wherein the electronic processor is further configured to assign a second severity level to the at least one of the plurality of computing services, the second severity level associated with a second operating condition of the at least one of the plurality of computing services.

8. The system according to claim 7 , wherein, in response to detecting a failure of the at least one of the plurality of computing services, the electronic processor is further configured to select one of the first severity level and the second severity level based on an operating state of the at least one of the plurality of computing services associated with the failure.

9. The system according to claim 1 , wherein the one or more percentile thresholds includes a 25 percentile threshold, a 50 percentile threshold, a 75 percentile threshold, and a 95 percentile threshold.

10. A method of determining a severity level of a computing service, the method comprising:

receiving, with an electronic processor, telemetry data associated with one or more tenants of an online service, the online service providing services through a plurality of computing services;

calculating, with the electronic processor, a number of accesses of each of the plurality of computing services during a predetermined time period, based on the telemetry data by counting each access by a non-synthetic user during the predetermined time period differently than each access by a synthetic user during the predetermined time period;

for each of the plurality of computing services, assigning, with the electronic processor, a severity level to each computing service based on the number of accesses of each computing service during the predetermined time period relative to the number of accesses of another computing service included in the plurality of computing services during the predetermined time period; and

in response to detecting a failure of one of the plurality of computing services, initiating, with the electronic processor, a response to the failure based on the severity level assigned to the one of the plurality of computing services,

wherein assigning the severity level to each computing service based on the number of accesses of each computing service during the predetermined time period relative to the number of accesses of another computing service included in the plurality of computing services during the predetermined time period includes calculating a mean of the number of accesses of each of the plurality of computing services and assigning the severity level to each of the plurality of computing services based on a comparison of the number of accesses of each of the plurality of computing services to the mean.

11. The method according to claim 10 , the method further comprising normalizing the telemetry data based on at least one selected from a group consisting of a time of day, a day of a week, and a time of a year.

12. The method according to claim 10 , the method further comprising selecting the one or more tenants randomly from a plurality of tenants using the online service.

13. A non-transitory, computer-readable medium storing instructions that, when executed by an electronic processor, perform a set of functions, the set of functions comprising:

receiving telemetry data associated with one or more tenants of an online service, the online service providing services through a plurality of computing services;

calculating a number of accesses of each of the plurality of computing services during a predetermined time period, based on the telemetry data;

for each of the plurality of computing services, assigning a severity level from a plurality of predefined levels to each computing service based on the number of accesses of each computing service during the predetermined time period relative to the number of accesses of another computing service included in the plurality of computing services during the predetermined time period, wherein each plurality of predefined levels defines at least action to take in response to a subsequently-detected failure; and

in response to detecting a failure of one of the plurality of computing services, determining the severity level assigned to the one of the plurality of computing services and initiating the at least one action defined by the severity level assigned to the one of the plurality of computing services,

wherein the severity level assigned to at least one of the plurality of computing services is a first severity level associated with first operating condition of the at least one of the plurality of computing services and the set of functions further comprising assigning a second severity level to the at least one of the plurality of computing services, the second severity level associated with a second operating condition of the at least one of the plurality of computing services.

14. The non-transitory, computer-readable medium according to claim 13 , the set of functions further comprising in response to detecting a failure of the at least one of the plurality of computing services, selecting one of the first severity level and the second severity level based on an operating state of the at least one of the plurality of computing services associated with the failure.

15. A system for determining a severity level of a computing service, the system comprising:

an electronic processor configured to

receive telemetry data associated with one or more tenants of an online service, the online service providing services through a plurality of computing services;

calculate, based on the telemetry data, a number of accesses of each of the plurality of computing services during a predetermined time period by counting each access by a unique user during the predetermined time period;

for each of the plurality of computing services, assign a severity level to each computing service based on the number of accesses of each computing service during the predetermined time period relative to the number of accesses of another computing service included in the plurality of computing services during the predetermined time period; and

in response to detecting a failure of one of the plurality of computing services, initiate a response to the failure based on the severity level assigned to the one of the plurality of computing services,

wherein the electronic processor is configured to assign the severity level to each computing service based on the number of accesses of each computing service during the predetermined time period relative to the number of accesses of another computing service included in the plurality of computing services during the predetermined time period by calculating a medium of the number of accesses of each of the plurality of computing services and assigning the severity level to each of the plurality of computing services based on a comparison of the number of accesses of each of the plurality of computing services to the medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2019
From: NIGAM, RAHUL; GILBERT, MARK R.; SINGH, PARMINDER PAL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050205/0385 →
Continuity (1)
Related Publication 20210064452A1 · Mar 4, 2021