Inter-service communications

US11418584B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11418584-B2
Application numberUS-202016785672-A
CountryUS
Kind codeB2
Filing dateFeb 10, 2020
Priority dateNov 14, 2019
Publication dateAug 16, 2022
Grant dateAug 16, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

This disclosure describes various ways in which a client agent can be incorporated into multiple virtual machines of a server cluster to keep track of the location of each instance of services running on the server cluster and facilitate rapid connection of different services on the server cluster as needed. When a first service requests connection to a second service, a client agent co-located with the first service is able to forward the request to a virtual network interface card (VNIC) associated with the second service. The VNIC is configured to forward the request to an available instance of the second service. The location of the services are determined and stored on one or more service registries right after the service instances are instantiated, removing the need for a search when new requests are received.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method for managing services within a server cluster, comprising: receiving a request from a first service running on a first virtual machine (VM) to connect to an instance of a plurality of instances of a second service running on a second VM of the server cluster; locating a virtual network interface card (VNIC) associated with the second service using an entry in a local service registry stored within the server cluster; sending the request to the VNIC; and forwarding the request from the VNIC to the instance of the second service to establish a connection between the instance of the second service and the first service, wherein each VM of the server cluster includes a respective local service registry and wherein the local service registries are synchronized with each other. 2. The computer implemented method as recited in claim 1 , wherein the VNIC is running on a third VM located within the server cluster. 3. The computer implemented method as recited in claim 1 , wherein the first service is running within the first VM on a first host and the instance of the second service is running on a second host different from the first host. 4. The computer implemented method as recited in claim 1 , wherein forwarding the request from the VNIC to the instance of the second service comprises: sending the request to a load balancing port; and sending the request from the load balancing port to the instance of the second service. 5. The computer implemented method as recited in claim 4 , wherein the load balancing port selects the instance from two or more instances of the plurality of instances of the second service in accordance with a current load being handled by the two or more instances of the second service. 6. The computer implemented method as recited in claim 1 , wherein the second service is a database service or a user interface backend service. 7. The computer implemented method as recited in claim 1 , wherein the local service registry comprises an entry for each active service running on the server cluster, each entry comprising a host name and VNIC location for its respective active service. 8. A non-transitory computer-readable storage medium storing instructions configured to be executed by one or more processors of a computing device cause the computing device to carry out steps that include: receiving a request from a first service running on a first virtual machine (VM) to connect to an instance of a plurality of instances of a second service running on one or more VMs running on the computing device; sending the request to a virtual network interface card (VNIC) associated with the second service using an entry in a local service registry stored within the computing device; and sending the request to the VNIC, the VNIC being configured to forward the request to the instance of the second service to establish a connection between the first service and the instance of the second service wherein each VM of the computing device includes a respective local service registry and wherein the local service registries are synchronized with each other. 9. The non-transitory computer-readable storage medium as recited in claim 8 , wherein the VNIC includes an IP Tables forwarding rule that includes a host name and a port number of the instance of the second service. 10. The non-transitory computer-readable storage medium as recited in claim 8 , wherein the VNIC is configured to forward the request to the instance of the second service by sending the request to a load balancing port that is configured to send the request to the instance of the second service. 11. The non-transitory computer-readable storage medium as recited in claim 8 , wherein locating the VNIC associated with the second service comprises retrieving an internet protocol (IP) address of the VNIC from the service registry. 12. The non-transitory computer-readable storage medium as recited in claim 11 , wherein the entry of the local service registry includes at least a service name and the IP address for the VNIC associated with the instance of the second service. 13. The non-transitory computer-readable storage medium as recited in claim 8 , wherein the VNIC is separate and distinct from the instance of the second service. 14. A computer system, comprising: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving a request from a first service running on a first virtual machine (VM) to connect to an instance of a plurality of instances of a second service running on a second virtual machine; locating a virtual network interface card (VNIC) associated with the second service using on an entry of a local service registry stored within the computer system; sending the request to the VNIC; and forwarding the request from the VNIC to the instance of the second service to connect the instance of the second service to the first service, wherein each VM of the computer system includes a respective local service registry and wherein the local service registries are synchronized with each other. 15. The computer system as recited in claim 14 , wherein the computer system is a server cluster. 16. The computer system as recited in claim 14 , wherein the VNIC includes an IP Tables forwarding rule that includes both a host and port information for the second service. 17. The computer system as recited in claim 14 , further comprising a first host and a second host, the first service operating on the first host and the second service operating on the second host. 18. The computer system as recited in claim 14 , wherein locating the VNIC associated with the second service comprises retrieving an internet protocol (IP) address of the VNIC from the service registry.

Assignees

Inventors

Classifications

  • Virtual switches · CPC title

  • using data related to the state of servers by a load balancer · CPC title

  • Directories for service discovery · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11418584B2 cover?
This disclosure describes various ways in which a client agent can be incorporated into multiple virtual machines of a server cluster to keep track of the location of each instance of services running on the server cluster and facilitate rapid connection of different services on the server cluster as needed. When a first service requests connection to a second service, a client agent co-located…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 16 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).