US 11,669,321 B2
Automated database upgrade for a multi-tenant identity cloud service
Sudhir Kumar Srinivasan, San Jose, CA (US); Venkateswara Reddy Medam, Modesto, CA (US); Gregg Wilson, Austin, TX (US); and Raghavendra Saravanamurthy, Redwood City, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Aug. 26, 2019, as Appl. No. 16/550,765.
Claims priority of provisional application 62/807,894, filed on Feb. 20, 2019.
Prior Publication US 2020/0264860 A1, Aug. 20, 2020
Int. Cl. G06F 8/65 (2018.01); G06F 16/21 (2019.01); G06F 16/27 (2019.01)
CPC G06F 8/65 (2013.01) [G06F 16/212 (2019.01); G06F 16/27 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A multi-tenant cloud-based identity management system for a plurality of tenants, the system comprising:
a global database providing a first set of resources to the plurality of tenants;
a plurality of tenant databases, each tenant database providing a second set of resources to one of the plurality of tenants, each second resource of the second set of resources having an associated schema and resource type;
a plurality of accessible resources accessible by the tenants, the accessible resources comprising the first set of resources and the second set of resources; and
an automated upgrade framework comprising one or more processors for upgrading the global database and the tenant databases in response to an upgrade of a first release of the cloud-based identity management system to a second release of the cloud-based identity management system, the one or more processors configured to:
determine changes in the accessible resources between the first release and the second release;
generate a bulk upgrade patch based on the resource changes, the bulk upgrade patch reflecting all resource changes between the first release and the second release, the bulk upgrade patch comprising a plurality of patches that are needed to be applied to upgrade the global database from the first release to the second release;
automatically apply the bulk upgrade patch to the global database;
in response to an access request for a first requested resource of the second set of resources of each tenant database, determine a corresponding first resource type of the first requested resource and determine if the corresponding first resource type of the first requested resource requires an upgrade, wherein the access request comprises a GET/SEARCH operation for the first requested resource of the second set of resources received via a Representational State Transfer Application Programming Interface (REST API); and
upgrade the first resource type by registering the upgrade in an external central cache, generating a cumulative patch and applying the cumulative patch to the first resource type, the cumulative patch including all cumulative changes that the first requested resource has undergone since a previous upgrade, wherein the upgrading the corresponding first resource type only occurs in response to the access request and only the corresponding first resource type is upgraded in response to the access request;
wherein the corresponding resource type has not been upgraded subsequent to a plurality of releases of the cloud-based identity management system, each of the plurality of releases comprising adding new resource types and schemas and/or updating existing resource types and schemas, the cumulative patch providing upgrades across the plurality of releases.