IP Library › Granted Patent US 12,407,644
Granted Patent B2
US 12,407,644 · App. 18/647,322 · Granted Sep 2, 2025

Microservice visibility and control

Inventors: Thomas Szigeti (Vancouver, CA); David John Zacks (Vancouver, CA); Akram Ismail Sheriff (San Jose, CA); Guy Keinan (Kfar-Saba, IL); Walter T. Hulick, Jr. (Pearland, TX)
Assignee: CISCO TECHNOLOGY, INC.
H04L61/4511
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,407,644
App. No.
18/647,322
Granted
Sep 2, 2025
Kind
B2
Abstract

Methods are provided in which a domain name system (DNS) service obtains a lookup request for information about a source of a traffic flow being transmitted to a network resource external of a service cluster and performs, based on the lookup request, a lookup operation for a microservice that is the source of the traffic flow, among a plurality of microservices of the service cluster registered with the DNS service. The methods further include providing information about the microservice based on the lookup operation. The information includes at least a name of the microservice for visibility of the microservice external of the service cluster.

Claims (58)

1. A method comprising:

receiving, by a domain name system (DNS) service, a registration request to register a first microservice of a service cluster, wherein the registration request, which is transmitted by a node within the service cluster, comprises a name and a network address of the first microservice;

generating, by the DNS service, a DNS record for the first microservice comprising the name and the network address of the first microservice;

receiving, by the DNS service, a lookup request for information about the first microservice of the service cluster, the lookup request being transmitted by a network resource that is external to the service cluster;

performing, based on the lookup request, a lookup operation for the first microservice among a plurality of microservices of the service cluster registered with the DNS service; and

providing the information about the first microservice based on the lookup operation, the information including at least the name of the first microservice for visibility of the first microservice external of the service cluster.

2. The method of claim 1 , wherein the registration request further comprises an annotation corresponding to the first microservice and wherein the DNS record further comprises metadata about the first microservice obtained from the annotation.

3. The method of claim 2 , wherein the annotation is in a structured form based on a common naming schema, and further comprising:

parsing the annotation to extract the information corresponding to the first microservice for generating the metadata of the DNS record.

4. The method of claim 1 , wherein the DNS record further includes metadata about the first microservice for applying a network policy specific to the first microservice or for gathering telemetry data about the first microservice.

5. The method of claim 1 , wherein performing the lookup operation includes:

obtaining the DNS record for the first microservice that matches a source address in the lookup request, the DNS record including a textual record that identifies the first microservice and one or more attributes of the first microservice.

6. The method of claim 1 , wherein the lookup request includes a source address of a traffic flow, and performing the lookup operation for the first microservice includes:

performing a reverse DNS lookup for the name of the first microservice that matches the source address of the traffic flow.

7. The method of claim 1 , wherein the lookup request includes a source address of a traffic flow based on a DNS domain of the traffic flow obtained from the network resource, and performing the lookup operation for the first microservice includes:

performing a direct DNS lookup for an address of the first microservice and the information about the first microservice that matches the source address in the lookup request.

8. An apparatus comprising:

a memory;

a network interface configured to enable network communications; and

a processor, wherein the processor is configured to perform operations comprising:

receiving, by a domain name system (DNS) service, a registration request to register a first microservice of a service cluster, wherein the registration request, which is transmitted by a node within the service cluster, comprises a name and a network address of the first microservice;

generating, by the DNS service, a DNS record for the first microservice comprising the name and the network address of the first microservice;

receiving, by the DNS service, a lookup request for information about the first microservice of the service cluster, the lookup request being transmitted by a network resource that is external to the service cluster;

performing, based on the lookup request, a lookup operation for the first microservice among a plurality of microservices of the service cluster registered with the DNS service; and

providing the information about the first microservice based on the lookup operation, the information including at least the name of the first microservice for visibility of the first microservice external of the service cluster.

9. The apparatus of claim 8 , wherein the registration request further comprises an annotation corresponding to the first microservice and wherein the DNS record further comprises metadata about the first microservice obtained from the annotation.

10. The apparatus of claim 9 , wherein the annotation is in a structured form based on a common naming schema, and wherein the processor is further configured to perform:

parsing the annotation to extract the information corresponding to the first microservice for generating the metadata of the DNS record.

11. The apparatus of claim 8 , wherein the DNS record further includes metadata about the first microservice for applying a network policy specific to the first microservice or for gathering telemetry data about the first microservice.

12. The apparatus of claim 8 , wherein the processor is configured to perform the lookup operation by:

obtaining the DNS record for the first microservice that matches a source address in the lookup request, the DNS record including a textual record that identifies the first microservice and one or more attributes of the first microservice.

13. The apparatus of claim 8 , wherein the lookup request includes a source address of a traffic flow and the processor is configured to perform the lookup operation for the first microservice by:

performing a reverse DNS lookup for the name of the first microservice that matches the source address of the traffic flow.

14. The apparatus of claim 8 , wherein the lookup request includes a source address of a traffic flow based on a DNS domain of the traffic flow obtained from the network resource and the processor is configured to perform the lookup operation for the first microservice by:

performing a direct DNS lookup for an address of the first microservice and the information about the first microservice that matches the source address in the lookup request.

15. A system comprising:

a service cluster hosting a plurality of microservices, the plurality of microservices comprising at least a first microservice;

a node internal to the service cluster;

a network resource external to the service cluster; and

a domain name system (DNS) server comprising:

a memory;

a network interface configured to enable network communications; and

a processor, wherein the processor is configured to perform operations comprising:

receiving a registration request to register the first microservice of the service cluster, wherein the registration request, which is transmitted by the node, comprises a name and a network address of the first microservice;

generating a DNS record for the first microservice comprising the name and the network address of the first microservice;

receiving a lookup request for information about the first microservice of the service cluster, the lookup request being transmitted by the network resource;

performing, based on the lookup request, a lookup operation for the first microservice among the plurality of microservices of the service cluster registered with the DNS service; and

providing the information about the first microservice based on the lookup operation, the information including at least the name of the first microservice for visibility of the first microservice external of the service cluster.

16. The system of claim 15 , wherein the registration request further comprises an annotation corresponding to the first microservice and wherein the DNS record further comprises metadata about the first microservice obtained from the annotation.

17. The system of claim 16 , wherein the annotation is in a structured form based on a common naming schema and the processor is further configured to perform:

parsing the annotation to extract the information corresponding to the first microservice for generating the metadata of the DNS record.

18. The system of claim 15 , wherein the DNS record further includes metadata about the first microservice for applying a network policy specific to the first microservice or for gathering telemetry data about the first microservice.

19. The system of claim 15 , wherein the processor is configured to perform the lookup operation by:

obtaining the DNS record for the first microservice that matches a source address in the lookup request, the DNS record including a textual record that identifies the first microservice and one or more attributes of the first microservice.

20. The system of claim 15 , wherein the lookup request includes a source address of a traffic flow and the processor is configured to perform the lookup operation for the first microservice by:

performing a reverse DNS lookup for the name of the first microservice that matches the source address of the traffic flow.

21. The system of claim 15 , wherein the lookup request includes a source address of a traffic flow based on a DNS domain of the traffic flow obtained from the network resource and the processor is configured to perform the lookup operation for the first microservice by:

performing a direct DNS lookup for an address of the first microservice and the information about the first microservice that matches the source address in the lookup request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2024
From: SZIGETI, THOMAS; ZACKS, DAVID JOHN; SHERIFF, AKRAM ISMAIL; KEINAN, GUY; HULICK, WALTER T, JR.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 067256/0234 →
Continuity (3)
Continuation 18163979 · Feb 3, 2023
Continuation 17493099 · Oct 4, 2021
Related Publication 20240305603A1 · Sep 12, 2024
References Cited (86)
US 10764244B1 · Mestery et al. · 2020 [cited by applicant]
US 10944691B1 · Raut et al. · 2021 [cited by applicant]
US 11288109B2 · Shah et al. · 2022 [cited by applicant]
US 20060116138A1 · Simsek et al. · 2006 [cited by applicant]
US 20090262741A1 · Jungck et al. · 2009 [cited by applicant]
US 20100211925A1 · Channabasavaiah · 2010 [cited by examiner]
US 20160036857A1 · Foxhoven et al. · 2016 [cited by applicant]
US 20160164825A1 · Riedel et al. · 2016 [cited by applicant]
US 20170063833A1 · Colle et al. · 2017 [cited by applicant]
US 20170223117A1 · Messerli · 2017 [cited by examiner]
US 20170244593A1 · Rangasamy · 2017 [cited by examiner]
US 20170364702A1 · Goldfarb · 2017 [cited by examiner]
US 20180041484A1 · Gifford et al. · 2018 [cited by applicant]
US 20180113790A1 · Chunduri et al. · 2018 [cited by applicant]
US 20180121221A1 · Ahuja et al. · 2018 [cited by applicant]
US 20180152534A1 · Kristiansson et al. · 2018 [cited by applicant]
US 20180203746A1 · Lincoln et al. · 2018 [cited by applicant]
US 20180343281A1 · Ahuja et al. · 2018 [cited by applicant]
US 20190052658A1 · Clarke et al. · 2019 [cited by applicant]
US 20190058761A1 · Hassan · 2019 [cited by applicant]
US 20190123970A1 · Rastogi et al. · 2019 [cited by applicant]
US 20190155597A1 · Lander et al. · 2019 [cited by applicant]
US 20190268305A1 · Xu et al. · 2019 [cited by applicant]
US 20190340059A1 · Bagarolo et al. · 2019 [cited by applicant]
US 20200019388A1 · Jaeger et al. · 2020 [cited by applicant]
US 20200110667A1 · Al-Alem et al. · 2020 [cited by applicant]
US 20200120168A1 · Nainar et al. · 2020 [cited by applicant]
US 20200137021A1 · Janakiraman · 2020 [cited by examiner]
US 20200137024A1 · Janakiraman · 2020 [cited by examiner]
US 20200137093A1 · Janakiraman · 2020 [cited by examiner]
US 20200137094A1 · Janakiraman · 2020 [cited by applicant]
US 20200137115A1 · Janakiraman · 2020 [cited by examiner]
US 20200192690A1 · Gupta et al. · 2020 [cited by applicant]
US 20200334068A1 · Krishnamurthy et al. · 2020 [cited by applicant]
US 20200344123A1 · Prendergast et al. · 2020 [cited by applicant]
US 20200348921A1 · Maréchal et al. · 2020 [cited by applicant]
US 20200351244A1 · Moore et al. · 2020 [cited by applicant]
US 20200396178A1 · Mestery et al. · 2020 [cited by applicant]
US 20210014328A1 · Singhal et al. · 2021 [cited by applicant]
US 20210019194A1 · Bahl et al. · 2021 [cited by applicant]
US 20210021634A1 · Babakian et al. · 2021 [cited by applicant]
US 20210067480A1 · Goel · 2021 [cited by examiner]
US 20210067485A1 · Goel · 2021 [cited by examiner]
US 20210119962A1 · Ramia et al. · 2021 [cited by applicant]
US 20210124576A1 · Gungabeesoon · 2021 [cited by examiner]
US 20210126840A1 · Venkataramu et al. · 2021 [cited by applicant]
US 20210135983A1 · Farnham · 2021 [cited by examiner]
US 20210144517A1 · Guim Bernat · 2021 [cited by examiner]
US 20210165679A1 · Oezmen et al. · 2021 [cited by applicant]
US 20210168125A1 · Vemulpali · 2021 [cited by examiner]
US 20210168150A1 · Ross et al. · 2021 [cited by applicant]
US 20210271489A1 · Singhal · 2021 [cited by applicant]
US 20210367944A1 · Gupta et al. · 2021 [cited by applicant]
US 20210385290A1 · Edamadaka et al. · 2021 [cited by applicant]
US 20210390002A1 · Shah et al. · 2021 [cited by applicant]
US 20220027192A1 · Nikain et al. · 2022 [cited by applicant]
US 20220038554A1 · Merwaday et al. · 2022 [cited by applicant]
US 20220150113A1 · A et al. · 2022 [cited by applicant]
US 20220224621A1 · Devarajan · 2022 [cited by examiner]
US 20220224622A1 · Kamath · 2022 [cited by examiner]
US 20220224703A1 · Devarajan · 2022 [cited by examiner]
US 20220232042A1 · Crabtree et al. · 2022 [cited by applicant]
US 20220278917A1 · Voderbet · 2022 [cited by examiner]
US 20220279046A1 · Perng et al. · 2022 [cited by applicant]
US 20220286362A1 · Gamliel et al. · 2022 [cited by applicant]
US 20220291973A1 · Wangde · 2022 [cited by examiner]
US 20220292080A1 · Rao et al. · 2022 [cited by applicant]
US 20220292117A1 · Rao et al. · 2022 [cited by applicant]
US 20220303295A1 · Erlingsson · 2022 [cited by examiner]
US 20220329616A1 · O'Hearn et al. · 2022 [cited by applicant]
US 20220342718A1 · Iqbal et al. · 2022 [cited by applicant]
US 20220393941A1 · Singh · 2022 [cited by examiner]
US 20220393943A1 · Pangeni · 2022 [cited by examiner]
US 20220394083A1 · Pangeni · 2022 [cited by examiner]
US 20230188496A1 · Szigeti et al. · 2023 [cited by applicant]
US 20230379405A1 · Chhabra · 2023 [cited by examiner]
US 20230396579A1 · Baker et al. · 2023 [cited by applicant]
US 20240031908A1 · Grewal · 2024 [cited by examiner]
US 20240214363A1 · Devarajan · 2024 [cited by examiner]
US 20240291744A1 · Chhabra · 2024 [cited by examiner]
Díaz-Sánchez, D., and A. Marín-Lopez. “DNS/DANE Collision-Based Distributed and Dynamic Authentication for Microservices in IoT.” (Basel, Switzerland) 19.15 (2019): E3292-E3292. [cited by examiner]
Caporuscio, Mauro, et al. “A machine learning approach to service discovery for microservice architectures.” Software Architecture: 15th European Conference, ECSA 2021, Virtual Event, Sweden, Sep. 13-17, 2021, Proceedin… [cited by examiner]
Sattari, Arash, et al. “Edge-supported microservice-based resource discovery for mist computing.” 2020 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Int… [cited by examiner]
Li, S., et al., “A dataflow-driven approach to identifying microservices from monolithic applications,” Journal of Systems and Software, vol. 157, Nov. 2019, 16 pages. [cited by applicant]
Schröer, C., et al., “A Qualitative Literature Review on Microservices Identification Approaches,” Communications in Computer and Information Science, vol. 1310, Dec. 2020, 18 pages. [cited by applicant]
Tyszberowicz, S. et al., “Identifying Microservices Using Functional Decomposition,” 4th International Symposium on Dependable Software Engineering: Theories, Tools, and Applications, Setta 2018, Sep. 2018, 16 pages. [cited by applicant]