IP Library › Granted Patent US 12,524,280
Granted Patent B2
US 12,524,280 · App. 18/769,105 · Granted Jan 13, 2026

Techniques for consistent multi-tenant behavior in microservices based applications

Inventors: Arif Iqbal (Fremont, CA); Dhiraj D. Thakkar (Foster City, CA); Ananya Chatterjee (West Bengal, IN)
Assignee: Oracle International Corporation
G06F9/5077G06F9/5027H04L67/10H04L67/63G05B2219/2642H04L67/133
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 12,524,280
App. No.
18/769,105
Granted
Jan 13, 2026
Kind
B2
Abstract

Techniques are disclosed for using a multi-tenant framework for microservices in a microservices-based application to implement a tenant-aware distributed cache. The microservices-based application can include at least one microservice that incorporates the multi-tenant framework. The multi-tenant framework includes software components configured to provide multi-tenant functionality for the microservice. A microservice may receive first request associated with a tenant and comprising tenant context data. A first software component of the multi-tenant framework can extract the tenant context data from the request. The microservice can receive a second request comprising request data. A second software component of the multi-tenant framework can use the tenant context data to store the request data in a cache.

Claims (44)

1 . A computer implemented method, comprising:

receiving, at an interface of a microservice executing within a distributed computing system, a first request associated with a tenant of the distributed computing system, the microservice comprising a multi-tenant framework having a plurality of software components, the microservice agnostic to the tenant of the distributed computing system, and the first request comprising tenant context data;

extracting, by a first software component of the plurality of software components, the tenant context data, the first software component corresponding to the interface;

receiving, at the interface of the microservice, a second request comprising request data; and

storing, by a second software component of the plurality of software components and using the tenant context data, the request data in a cache.

2 . The computer implemented method of claim 1 , wherein receiving the second request comprises receiving the second request from a tenant manager service executing within the distributed computing system.

3 . The computer implemented method of claim 1 , wherein the request data comprises tenant database configuration information.

4 . The computer implemented method of claim 1 , wherein storing the request data using the tenant context data comprises injecting the tenant context data into a caching request generated by the microservice.

5 . The computer implemented method of claim 1 , wherein storing the request data using the tenant context data comprises storing the tenant context data in the cache with the request data, the tenant context data associated with the request data in the cache.

6 . The computer implemented method of claim 1 , wherein the second software component comprises a multi-tenant cache manager.

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

determining, by the second software component using an eviction rule associated with the tenant, that the request data is invalid; and

in accordance with a determination that the request data is invalid, evicting, by the second software component and using the tenant context data, the request data from the cache.

8 . The computer implemented method of claim 7 , wherein evicting the request data comprises:

identifying the request data using the tenant context data; and

removing the request data from the cache.

9 . A distributed computing system, comprising:

one or more processors; and

one or more memories storing computer-executable instructions that when executed by the one or more processors, cause the distributed computing system to:

receive, at an interface of a microservice executing within the distributed computing system, a first request associated with a tenant of the distributed computing system, the microservice comprising a multi-tenant framework having a plurality of software components, the microservice agnostic to the tenant of the distributed computing system, and the first request comprising tenant context data;

extract, by a first software component of the plurality of software components, the tenant context data, the first software component corresponding to the interface;

receive, at the interface of the microservice, a second request comprising request data; and

store, by a second software component of the plurality of software components and using the tenant context data, the request data in a cache.

10 . The distributed computing system of claim 9 , wherein receiving the second request comprises receiving the second request from a tenant manager service executing within the distributed computing system.

11 . The distributed computing system of claim 9 , wherein the request data comprises tenant database configuration information.

12 . The distributed computing system of claim 9 , wherein storing the request data using the tenant context data comprises injecting the tenant context data into a caching request generated by the microservice.

13 . The distributed computing system of claim 9 , wherein storing the request data using the tenant context data comprises storing the tenant context data in the cache with the request data, the tenant context data associated with the request data in the cache.

14 . The distributed computing system of claim 9 , wherein the second software component comprises a multi-tenant cache manager.

15 . The distributed computing system of claim 9 , wherein the one or more memories store additional instructions that, when executed by the one or more processors, cause the distributed computing system to further:

determine, by the second software component using an eviction rule associated with the tenant, that the request data is invalid; and

in accordance with a determination that the request data is invalid, evict, by the second software component and using the tenant context data, the request data from the cache.

16 . The distributed computing system of claim 15 , wherein evicting the request data comprises:

identifying the request data using the tenant context data; and

removing the request data from the cache.

17 . A non-transitory computer-readable storage medium comprising executable instructions that, when executed by one or more processors of a distributed computing system, cause the distributed computing system to:

receive, at an interface of a microservice executing within the distributed computing system, a first request associated with a tenant of the distributed computing system, the microservice comprising a multi-tenant framework having a plurality of software components, the microservice agnostic to the tenant of the distributed computing system, and the first request comprising tenant context data;

extract, by a first software component of the plurality of software components, the tenant context data, the first software component corresponding to the interface;

receive, at the interface of the microservice, a second request comprising request data; and

store, by a second software component of the plurality of software components and using the tenant context data, the request data in a cache.

18 . The non-transitory computer-readable storage medium of claim 17 , wherein storing the request data using the tenant context data comprises injecting the tenant context data into a caching request generated by the microservice.

19 . The non-transitory computer-readable storage medium of claim 17 , wherein storing the request data using the tenant context data comprises storing the tenant context data in the cache with the request data, the tenant context data associated with the request data in the cache.

20 . The non-transitory computer-readable storage medium of claim 17 , comprising additional instructions that, when executed by the one or more processors, cause the distributed computing system to further:

determine, by the second software component using an eviction rule associated with the tenant, that the request data is invalid; and

in accordance with a determination that the request data is invalid, evict, by the second software component and using the tenant context data, the request data from the cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2024
From: IQBAL, ARIF; THAKKAR, DHIRAJ D.; CHATTERJEE, ANANYA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 067973/0763 →
Priority Claims (1)
IN 202141019036 · Apr 26, 2021 · national
Continuity (3)
Continuation 18231748 · Aug 8, 2023
Continuation 17512625 · Oct 27, 2021
Related Publication 20240362081A1 · Oct 31, 2024
References Cited (20)
US 9898549B1 · Stamen · 2018 [cited by applicant]
US 10250453B1 · Singh · 2019 [cited by applicant]
US 11019073B2 · Baird · 2021 [cited by examiner]
US 20180069806A1 · Kumar · 2018 [cited by applicant]
US 20180083956A1 · Subramanian · 2018 [cited by applicant]
US 20190034460A1 · Eberlein · 2019 [cited by applicant]
US 20190095241A1 · Ago · 2019 [cited by applicant]
US 20190102206A1 · Fichtenholtz · 2019 [cited by applicant]
US 20190205255A1 · Hansen · 2019 [cited by examiner]
US 20190243665A1 · Bolik · 2019 [cited by applicant]
US 20210149822A1 · Robinson · 2021 [cited by examiner]
CN 112328387 · 2021 [cited by applicant]
Uber Blog, “Why We Leverage Multi-tenancy in Uber's Microservice Architecture”, p. 7, Total 11 Pages, Mar. 11, 2020 (Year: 2020). [cited by examiner]
Abstracting Spring Cloud Stream Producer and Consumer Code, Stack Overflow, Available Online at: https://stackoverflow.com/questions/61317136/abstracting-spring-cloud-stream-producer-and-consumer-code, Apr. 20, 2020, 2 … [cited by applicant]
Elegant Multi-Tenancy for Microservices—Part III: Implementation & Supporting Infrastructure, Integral, Available Online at: https://medium.com/@Integral_io/elegant-multi-tenancy-for-microservices-part-iii-implementatio… [cited by applicant]
Multitenancy-Get Tenant in Microservices Architecture, Stack Exchange, Available Online at: https://softwareengineering.stackexchange.com/questions/418018/multitenancy-get-tenant-in-microservices-architecture, Oct. 16, … [cited by applicant]
SaaS Lens AWS Well-Architected Framework, Amazon Web Services, Available Online at: https://docs.aws.amazon.com/wellarchitected/latest/saas-lens/wellarchitected-saas-lens.pdf, Dec. 3, 2020, 58 pages. [cited by applicant]
Gud, Why We Leverage Multi-tenancy in Uber's Microservice Architecture, Uber Engineering, Available Online at: https://eng.uber.com/multitenancy-microservice-architecture/, Mar. 11, 2020, 15 pages. [cited by applicant]
Merken, asp.net Core: Microservices and Multi-tenancy, Available Online at: https://maartenmerken.medium.com/asp-net-core-microservices-and-multi-tenancy-8761e62ef189, Jan. 7, 2020, 20 pages. [cited by applicant]
Nguyen et al., Using Microservices for Non-Intrusive Customization of Multi-tenant SaaS, ESEC/FSE: Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations o… [cited by applicant]