IP Library › Granted Patent US 11,140,045
Granted Patent B2
US 11,140,045 · App. 14/815,799 · Granted Oct 5, 2021

Changelog transformation and correlation in a multi-tenant cloud service

Inventors: Eddie W. M. Fong (Bellevue, WA); Nagaraju Palla (Bothell, WA); Ricardo Soares Stern (Redmond, WA); Rajmohan Rajagopalan (Bothell, WA); Bhavin J. Shah (Bothell, WA); Narendra Babu Alagiriswamy (Bothell, WA); Karan Singh Rekhi (Sammamish, WA); Parikshit Patidar (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L41/20G06F9/5072H04L67/10
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,140,045
App. No.
14/815,799
Granted
Oct 5, 2021
Kind
B2
Abstract

Technologies are described herein for changelog transformation and correlation in a multi-tenant cloud service. Components within the multi-tenant cloud service generate changelogs that describe changes made to hardware or software components within the multi-tenant cloud service. The changelogs are received and transformed from different schemas into a common schema. A central change management service (“CCMS”) exposes a network service application programming interface (“API”), or other type of interface, through which other network services can obtain the changelogs that have been transformed into the common schema. For example, services can obtain changelogs in order to correlate changes to anomalies or other events taking place in the multi-tenant cloud service, to identify upstream or downstream components that might be impacted by a change, to provide a user interface for viewing the changelogs, the correlation, or the potential impact of a change, and/or to perform other types of functions.

Claims (68)

1. A computer-implemented method for central management of changelogs corresponding to changes to components in a multi-tenant cloud service, the method comprising:

obtaining, with a computer, changelogs from a plurality of services executing in the multi-tenant cloud service, the changelogs describing changes to the software or hardware of components in the multi-tenant cloud service and the changelogs being expressed using a plurality of schemas;

transforming, with the computer, the changelogs expressed using the plurality of schemas to a plurality of changelogs expressed using a common schema, wherein each of the plurality of changelogs expressed using the common schema describes changes to a component in the multi-tenant cloud service;

exposing, with the computer, a network service application programming interface (API) for accessing the plurality of changelogs expressed using the common schema;

receiving, from a service executing in the multi-tenant cloud service, a call through the network service API for a set of changelogs included in the plurality of changelogs expressed using the common schema, the set of changelogs requested via the call describing changes to the components in the multi-tenant cloud service associated with a single tenant; and

responding to the call by

accessing mapping data describing relationships between the components and a plurality of tenants of the multi-tenant cloud service to determine a set of components in the multi-tenant cloud service servicing the single tenant,

searching, based on the mapping data, the plurality of changelogs expressed using the common schema to identify changelogs associated with the set of components in the multi-tenant cloud service determined using the mapping data to be servicing the single tenant, and

returning the changelogs identified from the plurality of changelogs associated with the set of components in the multi-tenant cloud service servicing the single tenant in response to the call.

2. The computer-implemented method of claim 1 , wherein the plurality of changelogs expressed using the common schema comprise one or more fields storing

data identifying a time a change started,

a time a change ended,

an identifier (ID) for a changed component, and

one or more properties of a change.

3. The computer-implemented method of claim 1 , further comprising assigning a unique identifier (ID) to each of the plurality of changelogs expressed using the common schema.

4. The computer-implemented method of claim 1 , further comprising:

receiving a request for a user interface (UI) presenting the set of changelogs; in response to the request, making the call to the network service API to obtain the set of changelogs;

performing one or more processing operations on the set of changelogs; and causing the UI to be presented, the UI comprising the set of changelogs.

5. The computer-implemented method of claim 4 , further comprising:

correlating the set of changelogs with one or more anomalies detected in the multi-tenant cloud service; and

presenting data in the UI showing the correlation between the set of changelogs and the one or more anomalies in the multi-tenant cloud service.

6. The computer-implemented method of claim 4 , further comprising:

utilizing the mapping data to identify one or more of the components in the multi-tenant cloud service that can be impacted by a change associated with one changelog included in the set of changelogs; and

presenting data in the UI showing the identified one or more of the components in the multi-tenant cloud service that can be impacted by the change.

7. The computer-implemented method of claim 4 , further comprising:

utilizing the mapping data to identify a change associated with one changelog included in the set of changelogs that might have impacted one or more of the components in the multi-tenant cloud service; and

presenting data in the UI showing the identified change.

8. A non-transitory computer storage medium having computer executable instructions stored thereon which, when executed by a computer, cause the computer to:

obtain changelogs from a plurality of services executing in a multi-tenant cloud service, the changelogs describing changes to software or hardware changes of components operating in the multi-tenant cloud service and the changelogs being expressed using a plurality of schemas;

transform the changelogs expressed using the plurality of schemas to a plurality of changelogs expressed using a common schema, wherein each of the plurality of changelogs expressed using the common schema describes changes to a component in the multi-tenant cloud service;

expose a network service application programming interface (API) for accessing the plurality of changelogs expressed using the common schema;

receive, from a service executing in the multi-tenant cloud service, a call through the network service API for a set of changelogs included in the plurality of changelogs expressed using the common schema, the set of changelogs requested via the call describing changes to the components in the multi-tenant cloud service associated with a single tenant; and

respond to the call by

accessing mapping data describing relationships between the components and a plurality of tenants of the multi-tenant cloud service to determine a set of the components in the multi-tenant cloud service servicing the single tenant,

searching, based on the mapping data, the plurality of changelogs expressed using the common schema to identify changelogs associated with the set of components in the multi-tenant cloud service determined using the mapping data to be servicing the single tenant, and

returning the changelogs identified from the plurality of changelogs associated with the set of components in the multi-tenant cloud service servicing the single tenant in response to the call.

9. The non-transitory computer storage medium of claim 8 , having further computer executable instructions stored thereon to:

receive a request for a user interface (UI) presenting the set of changelogs; make the call to the network service API to obtain the set of changelogs; perform one or more processing operations on the set of changelogs; and cause the UI to be presented, the UI comprising the set of changelogs.

10. The non-transitory computer storage medium of claim 9 , having further computer executable instructions stored thereon to:

correlate the set of changelogs one or more changelogs expressed using the common schema with one or more anomalies detected in the multi-tenant cloud service; and

cause data to be presented in the UI showing the correlation between the set of changelogs and the one or more anomalies in the multi-tenant cloud service.

11. The non-transitory computer storage medium of claim 9 , having further computer executable instructions stored thereon to:

utilize the mapping data to identify one or more of the components in the multi-tenant cloud service that can be impacted by a change associated with one changelog included in the set of changelogs; and

cause data to be presented in the UI showing the identified one or more of the components in the multi-tenant cloud service that can be impacted by the change.

12. The non-transitory computer storage medium of claim 9 , having further computer executable instructions stored thereon to:

utilize the mapping data to identify a change associated with one changelog included in the set of changelogs that might have impacted one or more of the components in the multi-tenant cloud service; and

cause data to be presented in the UI showing the identified change.

13. An apparatus, comprising:

one or more processors; and

at least one non-transitory computer storage medium having computer executable instructions stored thereon which, when executed by the one or more processors, cause the apparatus to

obtain changelogs from a plurality of services executing in a multi-tenant cloud service, the changelogs describing changes to software or hardware of components operating in the multi-tenant cloud service and the changelogs being expressed using a plurality of schemas,

transform the changelogs expressed using the plurality of schemas to a plurality of changelogs expressed using a common schema, wherein each of the plurality of changelogs expressed using the common schema describes changes to a component in the multi-tenant cloud service,

expose a network service application programming interface (API) for accessing the plurality of changelogs expressed using the common schema,

receive, from a service executing in the multi-tenant cloud service, a call through the network service API for a set of changelogs included in the plurality of changelogs expressed using the common schema, the set of changelogs requested via the call describing changes to the components in the multi-tenant cloud service associated with a single tenant; and

respond to the call by

accessing mapping data describing relationships between the components and a plurality of tenants of the multi-tenant cloud service to determine a set of the components in the multi-tenant cloud service servicing the single tenant,

searching, based on the mapping data, the plurality of changelogs expressed using the common schema to identify changelogs associated with the set of components in the multi-tenant cloud service determined using the mapping data to be servicing the single tenant, and

returning the changelogs identified from the plurality of changelogs associated with the set of components in the multi-tenant cloud service servicing the single tenant in response to the call.

14. The apparatus of claim 13 , wherein the computer storage medium has further computer executable instructions stored thereon to: receive a request for a user interface (UI) presenting the set of changelogs; make the call to the network service API to obtain the set of changelogs in response to the request; perform one or more processing operations on the set of changelogs; and cause the UI to be presented, the UI comprising the set of changelogs.

15. The apparatus of claim 14 , wherein the computer storage medium has further computer executable instructions stored thereon to:

correlate the set of changelogs with one or more anomalies detected in the multi-tenant cloud service; and

cause data to be presented in the UI showing the correlation between the set of changelogs and the one or more anomalies in the multi-tenant cloud service.

16. The apparatus of claim 14 , wherein the computer storage medium has further computer executable instructions stored thereon to:

utilize the mapping data to identify one or more of the components in the multi-tenant cloud service that can be impacted by a change associated with one changelog included in the set of changelogs; and

cause data to be presented in the UI showing the identified one or more of the components in the multi-tenant cloud service that can be impacted by the change.

17. The apparatus of claim 14 , wherein the computer storage medium has further computer executable instructions stored thereon to:

utilize the mapping data to identify a change associated with one changelog included in the set of changelogs that might have impacted one or more of the components in the multi-tenant cloud service; and

cause data to be presented in the UI showing the identified change.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2015
From: FONG, EDDIE W.M.; PALLA, NAGARAJU; STERN, RICARDO SOAMES; RAJAGOPALAN, RAJMOHAN; SHAH, BHAVIN J.; ALAGIRISWAMY, NARENDRA BABU; REKHI, KARAN SINGH; PATIDAR, PARIKSHIT
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 036277/0175 →
Continuity (1)
Related Publication 20170034010A1 · Feb 2, 2017