IP Library Granted Patent US 12,645,477
Granted Patent B2
US 12,645,477 · App. 17/815,609 · Granted Jun 2, 2026

Cross-cluster service resource discovery

Inventors: Lan Luo (Beijing, CN); Wenfeng Liu (Beijing, CN); Donghai Han (Beijing, CN); Jianjun Shen (Redwood City, CA)
Assignee: VMware, Inc.
G06F9/45558G06F2009/45595
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,645,477
App. No.
17/815,609
Granted
Jun 2, 2026
Kind
B2
Abstract

The disclosure provides an approach for cross-cluster service resource discovery. A method includes obtaining, at a common store in a first node cluster in a cluster set information about a service resource of a second node cluster. The method includes creating a multi-cluster object associated with the service resource, wherein the multi-cluster object provides an association between the service resource and one or more endpoints on the second node cluster. The method includes storing the multi-cluster object in the common store, wherein the multi-cluster object is accessible in the common store by any of the plurality of node clusters in the cluster set to access the service resource on any of the one or more endpoints on the second node cluster.

Claims (61)

1 . A method for cross-cluster service resource discovery, the method comprising:

obtaining, at a common store in a first node cluster in a cluster set, from an exporter in a cluster controller of a second node cluster in the cluster set, information about a service resource of the second node cluster, wherein the cluster set comprises a plurality of node clusters including the first node cluster, the second node cluster, and a third node cluster, wherein the common store is accessible to the plurality of node clusters, wherein each node cluster of the plurality of node clusters includes one or more nodes running one or more containerized applications, and wherein the service resource is associated with a namespace;

creating a multi-cluster object associated with the service resource, wherein the multi-cluster object provides an association between the service resource and one or more endpoints on the second node cluster; and

storing the multi-cluster object in the common store, wherein the multi-cluster object is accessible in the common store by any of the plurality of node clusters in the cluster set to access the service resource on any of the one or more endpoints on the second node cluster; and

accessing, by one of the plurality of clusters, the multi-cluster object.

2 . The method of claim 1 , wherein accessing the multi-cluster object comprises:

obtaining, at the common store in the first node cluster, from at least one of: the third node cluster or a fourth node cluster, information about a service resource of the third node cluster or the fourth node cluster, wherein:

the service resource of the third or fourth node cluster is associated with the namespace;

the multi-cluster object is further associated with the service resource of the third or fourth node cluster; and

the multi-cluster object further provides an association between the service resource and one or more endpoints on the third or fourth node cluster.

3 . The method of claim 2 , further comprising:

obtaining, by a node cluster of the plurality of node clusters, the multi-cluster object from the common store; and

selecting, by the node cluster, an endpoint of the one or more endpoints on the second node cluster or an endpoint of the one or more endpoints on the third or fourth node cluster, to access the service resource.

4 . The method of claim 1 , wherein a multi-cluster manager creates the multi-cluster object and a multi-cluster controller stores the multi-cluster object.

5 . The method of claim 1 , wherein obtaining, at the common store in the first node cluster, from the second node cluster in the cluster set, the information about the service resource of the second node cluster comprises:

obtaining a wrapped object comprising the information about the service resource of the second node cluster; and

decapsulating the wrapped object to obtain the information about the service resource of the second node cluster.

6 . The method of claim 1 , wherein

the first node cluster comprises a first plurality of nodes, the first plurality of nodes comprising a first node that is a first virtual machine (VM) running a first containerized application; and

the first VM is supported by a first virtualization layer that abstracts that abstracts processor, memory, storage, and networking resources of a hardware platform of a first host computer.

7 . The method of claim 1 , wherein the service resource comprises a Kubernetes service resource associated with a set of the containerized applications or a network policy.

8 . The method of claim 1 , further comprising:

wrapping the multi-cluster object, wherein

storing the multi-cluster object in the common store comprises storing the wrapped multi-cluster object in the common store.

9 . A system comprising:

one or more processors; and

at least one memory, the one or more processors and the at least one memory configured to:

obtain, at a common store in a first node cluster in a cluster set, from an exporter in a cluster controller of a second node cluster in the cluster set, information about a service resource of the second node cluster, wherein the cluster set comprises a plurality of node clusters including the first node cluster, the second node cluster, and a third node cluster, wherein the common store is accessible to the plurality of node clusters, wherein each node cluster of the plurality of node clusters includes one or more nodes running one or more containerized applications, and wherein the service resource is associated with a namespace;

create a multi-cluster object associated with the service resource, wherein the multi-cluster object provides an association between the service resource and one or more endpoints on the second node cluster; and

store the multi-cluster object in the common store, wherein the multi-cluster object is accessible in the common store by any of the plurality of node clusters in the cluster set to access the service resource on any of the one or more endpoints on the second node cluster; and

access, by one of the plurality of clusters, the multi-cluster object.

10 . The system of claim 9 , wherein to access the multi-cluster object comprises to:

obtain, at the common store in the first node cluster, from at least one of: the third node cluster or a fourth node cluster, information about a service resource of the third node cluster or the fourth node cluster, wherein:

the service resource of the third or fourth node cluster is associated with the namespace;

the multi-cluster object is further associated with the service resource of the third or fourth node cluster; and

the multi-cluster object further provides an association between the service resource and one or more endpoints on the third or fourth node cluster.

11 . The system of claim 10 , the one or more processors and the at least one memory configured to:

obtain, by a node cluster of the plurality of node clusters, the multi-cluster object from the common store; and

select, by the node cluster, an endpoint of the one or more endpoints on the second node cluster or an endpoint of the one or more endpoints on the third or fourth node cluster, to access the service resource.

12 . The system of claim 11 , wherein the selecting of the endpoint is based on a location of a physical host server running the cluster and a location of a physical host server running the endpoint.

13 . The system of claim 9 , wherein obtaining, at the common store in the first node cluster, from the second node cluster in the cluster set, the information about the service resource of the second node cluster comprises:

obtaining a wrapped object comprising the information about the service resource of the second node cluster; and

decapsulating the wrapped object to obtain the information about the service resource of the second node cluster.

14 . The system of claim 9 , wherein the information about the service resource of the second node cluster indicates the namespace and the one or more endpoints on the second node cluster.

15 . The system of claim 9 , wherein the service resource comprises a Kubernetes service resource associated with a set of the containerized applications or a network policy.

16 . The system of claim 9 , the one or more processors and the at least one memory configured to:

wrap the multi-cluster object, wherein

store the multi-cluster object in the common store comprises storing the wrapped multi-cluster object in the common store.

17 . A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations for cross-cluster service resource discovery, the operations comprising:

obtaining, at a common store in a first node cluster in a cluster set, from an exporter in a cluster controller of a second node cluster in the cluster set, information about a service resource of the second node cluster, wherein the cluster set comprises a plurality of node clusters including the first node cluster, the second node cluster, and a third node cluster, wherein the common store is accessible to the plurality of node clusters, wherein each node cluster of the plurality of node clusters includes one or more nodes running one or more containerized applications, and wherein the service resource is associated with a namespace;

creating a multi-cluster object associated with the service resource, wherein the multi-cluster object provides an association between the service resource and one or more endpoints on the second node cluster;

storing the multi-cluster object in the common store, wherein the multi-cluster object is accessible in the common store by any of the plurality of node clusters in the cluster set to access the service resource on any of the one or more endpoints on the second node cluster and accessing, by one of the plurality of clusters, the multi-cluster object.

18 . The non-transitory computer-readable medium of claim 17 , wherein accessing the multi-cluster object comprises:

obtaining, at the common store in the first node cluster, from at least one of: the third node cluster or a fourth node cluster, information about a service resource of the third node cluster or the fourth node cluster, wherein:

the service resource of the third or fourth node cluster is associated with the namespace;

the multi-cluster object is further associated with the service resource of the third or fourth node cluster; and

the multi-cluster object further provides an association between the service resource and one or more endpoints on the third or fourth node cluster.

19 . The non-transitory computer-readable medium of claim 18 , the operations further comprising:

obtaining, by a node cluster of the plurality of node clusters, the multi-cluster object from the common store; and

selecting, by the node cluster, an endpoint of the one or more endpoints on the second node cluster or an endpoint of the one or more endpoints on the third or fourth node cluster, to access the service resource.

20 . The non-transitory computer-readable medium of claim 19 , wherein the selecting of the endpoint is based on a location of a physical host server running the cluster and a location of a physical host server running the endpoint.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2023
From: LUO, LAN; LIU, WENFENG; HAN, DONGHAI; SHEN, JIANJUN
To: VMWARE, INC.
Reel/Frame 063109/0301 →