IP Library Granted Patent US 12,413,595
Granted Patent B2
US 12,413,595 · App. 17/549,940 · Granted Sep 9, 2025

Authorization of service requests in a multi-cluster system

Inventors: Magesh Kumar Sivaswamy (Bangalore, IN); Rashmi Khanna (Bangalore, IN)
Assignee: International Business Machines Corporation
H04L63/105G06F16/27
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,413,595
App. No.
17/549,940
Granted
Sep 9, 2025
Kind
B2
Abstract

A method includes receiving a dependency chain matrix from each of a plurality of service end points in a multi-cluster system converging the received dependency chain matrices into a converged data matrix, sharing the converged data matrix as a side car module to each of the plurality of service end points, receiving a service request by an external user or service for at least one of the plurality of service end points, validating an authorization for the service request based on the converged data matrix, and generating a label that is appended to the service request and passed downstream to the plurality of service end points.

Claims (86)

1. A method comprising:

receiving, by one or more processors of a computer system, a dependency chain matrix from each of a plurality of service end points in a multi-cluster system;

converging, by the one or more processors of the computer system, the received dependency chain matrices into a converged data matrix;

sharing, by the one or more processors of the computer system, the converged data matrix as a side car module to each of the plurality of service end points;

receiving, by the one or more processors of the computer system, a service request by an external user or service for at least one of the plurality of service end points;

validating, by the one or more processors of the computer system, an authorization for the service request based on the converged data matrix; and

generating, by the one or more processors of the computer system, a label that is appended to the service request and passed downstream to the plurality of service end points.

2. The method of claim 1 , wherein the dependency chain matrix includes the plurality of service end points supported along with the authorization level and the operations allowed and wherein the receiving, by the one or more processors of the computer system, the dependency chain matrix from each of the plurality of service end points in the multi-cluster system occurs as part of a startup process.

3. The method of claim 1 , further comprising:

receiving, by the one or more processors of the computer system, an updated dependency chain matrix from one of the plurality of service end points when:

the one of the plurality of service end points restarts;

there is a change in service end points hosted by the one of the plurality of service end points; or

there is a change in the authorization requirements for the one of the plurality of service end points.

4. The method of claim 1 , wherein each of the dependency chain matrices includes:

a service end point of the plurality of service end points;

Create, Read, Update, Delete (CRUD) operations associated with a potential service request;

a category for types of external users associated with the potential service request; and

an authorization label for appending to the potential service request.

5. The method of claim 4 , further comprising:

determining, by the one or more processors of the computer system, that the multi-cluster system is ready for processing new service requests after the receiving the updated dependency chain matrix when an updated side car module is attached to each of the plurality of service end points based on the received updated dependency chain matrix.

6. The method of claim 1 , further comprising:

receiving, by the one or more processors of the computer system, a second converged data matrix from an ingress module from a different cluster in the multi-cluster system;

sending, by the one or more processors of the computer system, the converged data matrix to the ingress module in the different cluster in the multi-cluster system; and

synchronizing, by the one or more processors of the computer system, with the ingress module in the different cluster, the converged data matrix and the second converged data matrix to generate an inter cluster label matrix.

7. The method of claim 6 , further comprising:

looking up, by the one or more processors of the computer system, in the inter cluster label matrix in response to an inter cluster service request received that requests a service in the different cluster;

validating, by the one or more processors of the computer system, an inter cluster authorization for the inter cluster service request based on the inter cluster label matrix; and

generating, by the one or more processors of the computer system, an inter cluster label that is appended to the inter cluster service request and passed downstream.

8. A computer system, comprising:

one or more processors;

one or more memory devices coupled to the one or more processors; and

one or more computer readable storage devices coupled to the one or more processors, wherein the one or more storage devices contain program code executable by the one or more processors via the one or more memory devices to implement a method for authorization of a service request in a multi-cluster system, the method comprising:

receiving, by one or more processors of a computer system, a dependency chain matrix from each of a plurality of service end points in a multi-cluster system;

converging, by the one or more processors of the computer system, the received dependency chain matrices into a converged data matrix;

sharing, by the one or more processors of the computer system, the converged data matrix as a side car module to each of the plurality of service end points;

receiving, by the one or more processors of the computer system, a service request by an external user or service for at least one of the plurality of service end points;

validating, by the one or more processors of the computer system, an authorization for the service request based on the converged data matrix; and

generating, by the one or more processors of the computer system, a label that is appended to the service request and passed downstream to the plurality of service end points.

9. The computer system of claim 8 , wherein the dependency chain matrix includes the plurality of service end points supported along with the authorization level and the operations allowed and wherein the receiving, by the one or more processors of the computer system, the dependency chain matrix from each of the plurality of service end points in the multi-cluster system occurs as part of a startup process.

10. The computer system of claim 8 , the method further comprising:

receiving, by the one or more processors of the computer system, an updated dependency chain matrix from one of the plurality of service end points when:

the one of the plurality of service end points restarts;

there is a change in service end points hosted by the one of the plurality of service end points; or

there is a change in the authorization requirements for the one of the plurality of service end points.

11. The computer system of claim 10 , the method further comprising:

determining, by the one or more processors of the computer system, that the multi-cluster system is ready for processing new service requests after the receiving the updated dependency chain matrix when an updated side car module is attached to each of the plurality of service end points based on the received updated dependency chain matrix.

12. The computer system of claim 8 , wherein each of the dependency chain matrices includes:

a service end point of the plurality of service end points;

Create, Read, Update, Delete (CRUD) operations associated with a potential service request;

a category for types of external users associated with the potential service request; and

an authorization label for appending to the potential service request.

13. The computer system of claim 8 , the method further comprising:

receiving, by the one or more processors of the computer system, a second converged data matrix from an ingress module from a different cluster in the multi-cluster system;

sending, by the one or more processors of the computer system, the converged data matrix to the ingress module in the different cluster in the multi-cluster system; and

synchronizing, by the one or more processors of the computer system, with the ingress module in the different cluster, the converged data matrix and the second converged data matrix to generate an inter cluster label matrix.

14. The computer system of claim 13 , the method further comprising:

looking up, by the one or more processors of the computer system, in the inter cluster label matrix in response to an inter cluster service request received that requests a service in the different cluster;

validating, by the one or more processors of the computer system, an inter cluster authorization for the inter cluster service request based on the inter cluster label matrix; and

generating, by the one or more processors of the computer system, an inter cluster label that is appended to the inter cluster service request and passed downstream.

15. A computer program product for authorization of a service request in a multi-cluster system, the computer program product comprising:

one or more computer readable storage media having computer readable program code collectively stored on the one or more computer readable storage media, the computer readable program code being executed by one or more processors of a computer system to cause the computer system to perform a method comprising:

receiving, by one or more processors of a computer system, a dependency chain matrix from each of a plurality of service end points in a multi-cluster system;

converging, by the one or more processors of the computer system, the received dependency chain matrices into a converged data matrix;

sharing, by the one or more processors of the computer system, the converged data matrix as a side car module to each of the plurality of service end points;

receiving, by the one or more processors of the computer system, a service request by an external user or service for at least one of the plurality of service end points;

validating, by the one or more processors of the computer system, an authorization for the service request based on the converged data matrix; and

generating, by the one or more processors of the computer system, a label that is appended to the service request and passed downstream to the plurality of service end points.

16. The computer program product of claim 15 , wherein the dependency chain matrix includes the plurality of service end points supported along with the authorization level and the operations allowed and wherein the receiving, by the one or more processors of the computer system, the dependency chain matrix from each of the plurality of service end points in the multi-cluster system occurs as part of a startup process.

17. The computer program product of claim 15 , the method further comprising:

receiving, by the one or more processors of the computer system, an updated dependency chain matrix from one of the plurality of service end points when:

the one of the plurality of service end points restarts;

there is a change in service end points hosted by the one of the plurality of service end points; or

there is a change in the authorization requirements for the one of the plurality of service end points.

18. The computer program product of claim 15 , wherein each of the dependency chain matrices includes:

a service end point of the plurality of service end points;

Create, Read, Update, Delete (CRUD) operations associated with a potential service request;

a category for types of external users associated with the potential service request; and

an authorization label for appending to the potential service request.

19. The computer program product of claim 15 , the method further comprising:

receiving, by the one or more processors of the computer system, a second converged data matrix from an ingress module from a different cluster in the multi-cluster system;

sending, by the one or more processors of the computer system, the converged data matrix to the ingress module in the different cluster in the multi-cluster system; and

synchronizing, by the one or more processors of the computer system, with the ingress module in the different cluster, the converged data matrix and the second converged data matrix to generate an inter cluster label matrix.

20. The computer program product of claim 19 , the method further comprising:

looking up, by the one or more processors of the computer system, in the inter cluster label matrix in response to an inter cluster service request received that requests a service in the different cluster; =

validating, by the one or more processors of the computer system, an inter cluster authorization for the inter cluster service request based on the inter cluster label matrix; and

generating, by the one or more processors of the computer system, an inter cluster label that is appended to the inter cluster service request and passed downstream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2021
From: SIVASWAMY, MAGESH KUMAR; KHANNA, RASHMI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058378/0698 →
Continuity (1)
Related Publication 20230188531A1 · Jun 15, 2023
References Cited (25)
US 8474018B2 · Mardikar et al. · 2013 [cited by applicant]
US 8935757B2 · Srinivasan et al. · 2015 [cited by applicant]
US 9485279B2 · Kirner et al. · 2016 [cited by applicant]
US 9923928B2 · Kirner et al. · 2018 [cited by applicant]
US 10212191B2 · Kirner et al. · 2019 [cited by applicant]
US 10983769B2 · White · 2021 [cited by applicant]
US 20080300787A1 · Zeng · 2008 [cited by examiner]
US 20150128211A1 · Kirner et al. · 2015 [cited by applicant]
US 20170026418A1 · Kirner et al. · 2017 [cited by applicant]
US 20170329957A1 · Vepa et al. · 2017 [cited by applicant]
US 20180048638A1 · Lewis et al. · 2018 [cited by applicant]
US 20180167417A1 · Kirner et al. · 2018 [cited by applicant]
US 20190188742A1 · Vasudevan · 2019 [cited by examiner]
US 20200034776A1 · Peran · 2020 [cited by examiner]
US 20200358754A1 · Nair · 2020 [cited by examiner]
CN 105684391A · 2016 [cited by applicant]
CN 116263818A · 2023 [cited by applicant]
EP 3066815A1 · 2016 [cited by applicant]
JP 2023088313A · 2023 [cited by applicant]
WO 2015066369A1 · 2015 [cited by applicant]
Disclosed Anonymously. IP.com No. IPCOM000262202D, “System to Authenticate and Authorize Service-to-Service Communication Across Multiple Clouds”, Publication Date: May 11, 2020, 5 pages. [cited by applicant]
Jannot Denis, “Identity Federation for Multi-Cluster Kubernetes and Service Mesh”, Retrieved from Internet: https://www.solo.io/blog/identity-federation-for-multi-cluster-kubernetes-and-service-mesh/, Sep. 22, 2020, 9 p… [cited by applicant]
Kumar Piyush, “Istio Service Mesh: A Beginners Guide”, Retrieved from Internet: https://www.loginradius.com/blog/ async/istio-service-mesh/, Dec. 7, 2020, 13 pages. [cited by applicant]
Mell, Peter, “The NIST Definition of Cloud Computing;” National Institute of Standards and Technology; Special Publication 800-145; Sep. 2011; 7 pages. [cited by applicant]
Saha Amit, “Authentication between microservices using Kubernetes identities”, Published in Dec. 2020, Retrieved from Internet: https://learnk8s.io/microservices-authentication-kubernetes, 45 pages. [cited by applicant]
Cited By (1)
US 12,609,934