CN-122003854-A - Endpoint connection with reduced latency
Abstract
The present disclosure relates generally to establishing a connection between a client and an endpoint in a manner that reduces network latency. In an example, a network layer proxy receives a request for endpoint connection establishment for a client, the request including endpoint information. The network layer proxy sends endpoint information to the application layer proxy, the endpoint information being sent using a connectionless protocol. Thereafter, the network layer proxy receives from the application layer proxy a network address of the endpoint selected by the application layer proxy based on the endpoint information and the application layer information. The network layer proxy sends a response to the client, causing a connection to be established to the endpoint using a connection-based protocol, and causing the connection to bypass the application layer proxy.
Inventors
- S. GANGULI
- S. Kailasa
- S. Pan Jumarti
- B Ma Seer
- J. U. Wola
- F a khan
- K.C. PATEL
- S. Pamu
Assignees
- 甲骨文国际公司
Dates
- Publication Date
- 20260508
- Application Date
- 20241009
- Priority Date
- 20240705
Claims (20)
- 1. A method implemented by a network layer proxy, the method comprising: Receiving a request of a client for endpoint connection establishment, the request including endpoint information; Sending the endpoint information to an application layer proxy, the endpoint information being sent using a connectionless protocol; Receiving from the application layer proxy a network address of an endpoint selected by the application layer proxy based on the endpoint information and application layer information, and A response is sent to the client, causing a connection to be established to the endpoint using a connection-based protocol, and causing the connection to bypass the application layer proxy.
- 2. The method of claim 1, wherein the request corresponds to a step of a connection-based protocol, and wherein the method further comprises: The step is accomplished by sending the request to the endpoint based on the network address, wherein the connection is established using a connection-based protocol based on the step being accomplished.
- 3. The method of any of claims 1-2, wherein the endpoint information is sent to the application layer proxy by encapsulating the endpoint information in a frame, wherein the frame is generated according to a connectionless protocol.
- 4. A method as in claim 3, further comprising: receiving the frame from the application layer proxy, and An association between the network address and the request is determined based on the frame being received.
- 5. The method of claim 4, further comprising: Based on the association, the request is sent to the endpoint using the network address, wherein the connection is established based on the request being sent to the endpoint.
- 6. The method of any of claims 1-5, wherein the network address is a first network address, and wherein the method further comprises: storing information associating the first network address with the second network address; Including in the response a second network address but not the first network address; receiving a data packet from the client destined for a second network address, and The data packet is updated by replacing the second network address with the first network address as the destination, wherein the updated data packet is sent using the connection to the endpoint.
- 7. The method of any of claims 1-6, wherein the endpoint information comprises a database name associated with a plurality of database instances, wherein receiving the request comprises receiving a Synchronization (SYN) packet comprising the database name, wherein sending the request comprises encapsulating the SYN packet in a User Datagram Protocol (UDP) frame, and wherein the connection-based protocol comprises Transmission Control Protocol (TCP).
- 8. A network layer proxy comprising: one or more processors, and One or more memories storing instructions that, when executed by the one or more processors, configure the network layer proxy to: Receiving a request of a client for endpoint connection establishment, the request including endpoint information; Sending the endpoint information to an application layer proxy, the endpoint information being sent using a connectionless protocol; Receiving from the application layer proxy a network address of an endpoint selected by the application layer proxy based on the endpoint information and application layer information, and A response is sent to the client, causing a connection to be established to the endpoint using a connection-based protocol, and causing the connection to bypass the application layer proxy.
- 9. The network layer proxy of claim 8, wherein the request is received as a Synchronization (SYN) packet that includes non-Internet Protocol (IP) address identifiers associated with a plurality of endpoints.
- 10. The network layer proxy of claim 9, wherein the endpoint information is sent by encapsulating the SYN packet and sending the encapsulated SYN packet in a User Datagram Protocol (UDP) frame.
- 11. The network layer proxy of claim 10 wherein execution of the instructions further configures the network layer proxy to: Receiving UDP frames from the application layer proxy, and Based on the UDP frame being received, it is determined that the network address is associated with the SYN packet.
- 12. The network layer proxy of claim 9 wherein execution of the instructions further configures the network layer proxy to: The SYN packet is sent to the endpoint based on a determination that the network address is associated with the SYN packet, wherein the connection is a Transmission Control Protocol (TCP) connection established based on the SYN packet being sent to the endpoint.
- 13. One or more computer-readable storage media storing instructions that, when executed on a network layer proxy, cause the network layer proxy to perform operations comprising: Receiving a request of a client for endpoint connection establishment, the request including endpoint information; Sending the endpoint information to an application layer proxy, the endpoint information being sent using a connectionless protocol; Receiving from the application layer proxy a network address of an endpoint selected by the application layer proxy based on the endpoint information and application layer information, and A response is sent to the client, causing a connection to be established to the endpoint using a connection-based protocol, and causing the connection to bypass the application layer proxy.
- 14. The one or more computer-readable storage media of claim 13, wherein the request corresponds to a step of a connection-based protocol, and wherein the operations further comprise: The step is accomplished by sending the request to the endpoint based on the network address, wherein the connection is established using a connection-based protocol based on the step being accomplished.
- 15. One or more computer-readable storage media as recited in any of claims 13-14, wherein the endpoint information includes a database name, and wherein receiving the request includes receiving a Synchronization (SYN) packet that includes the database name.
- 16. One or more computer-readable storage media as recited in claim 15, wherein the connectionless protocol comprises a User Datagram Protocol (UDP), and wherein transmitting the endpoint information comprises transmitting the SYN packet in a UDP frame.
- 17. The one or more computer-readable storage media of claim 16, wherein the endpoint is a database instance selected from a plurality of database instances hosted on a set of virtual machines and associated with the database name, wherein receiving the network address comprises receiving an overlay Internet Protocol (IP) address of the database instance.
- 18. The one or more computer-readable storage media of claim 15, wherein the connection-based protocol comprises Transmission Control Protocol (TCP), and wherein the operations further comprise: Sending the SYN packet to the endpoint based on the network address using TCP, and A SYN ACK packet is received from the endpoint in response to the SYN packet.
- 19. One or more computer-readable storage media as recited in claim 18, wherein transmitting the response comprises transmitting the SYN ACK packet.
- 20. The one or more computer-readable storage media of any of claims 13-19, wherein the operations further comprise: the application layer agent is selected from a plurality of application layer agents based on network layer information.
Description
Endpoint connection with reduced latency Cross Reference to Related Applications This international patent application claims priority from U.S. patent application Ser. No.18/765,133 entitled "ENDPOINT CONNECTION WITH REDUCED LATENCY" filed on day 7, 5, 2024, which is hereby incorporated by reference in its entirety for all purposes in accordance with 35 U.S. C.119 (e) claims the benefit and priority from U.S. provisional application Ser. No.63/543,878 entitled "ENDPOINT CONNECTION WITH REDUCED LATENCY", filed on day 12, 10, 2023. Technical Field The present application relates to cloud environments, and more particularly to reducing latency in data exchange between clients and endpoints of cloud environments. Background The adoption of cloud services has increased dramatically over the past few years, and this trend has only increased. Different Cloud Service Providers (CSPs) are providing a variety of different cloud environments, each providing a set of one or more cloud services. The set of cloud services provided by the cloud environment may include one or more different types of services including, but not limited to, software as a service (SaaS) services, infrastructure as a service (IaaS) services, platform as a service (PaaS) services, and others. While a variety of different cloud environments are currently available, each provides a closed ecosystem for its subscribing clients. Therefore, clients of the cloud environment are limited to using services offered by the cloud environment. For customers subscribing to a cloud environment provided by a CSP, there is no simple way to use services provided by different CSPs via the cloud environment. The embodiments discussed herein address these and other issues. Drawings The features, embodiments, and advantages of the present disclosure may be better understood when the following detailed description is read with reference to the accompanying drawings. Fig. 1 is a high-level diagram illustrating a distributed environment of a virtual or overlay cloud network hosted by a cloud service provider infrastructure, in accordance with some embodiments. Fig. 2 depicts a simplified architectural diagram of physical components in a physical network within a Cloud Service Provider Infrastructure (CSPI) according to some embodiments. FIG. 3 illustrates an example arrangement of host machines connected to multiple Network Virtualization Devices (NVDs) within a CSPI in accordance with certain embodiments. FIG. 4 depicts a connection between a host machine and an NVD for providing I/O virtualization to support multi-tenancy in accordance with certain embodiments. Fig. 5 depicts a simplified block diagram of a physical network provided by a CSPI, in accordance with some embodiments. Fig. 6 depicts a simplified block diagram for connection establishment. Fig. 7 depicts a simplified block diagram of using a connectionless protocol to establish a connection using a connection-based protocol in accordance with some embodiments. Fig. 8 depicts a simplified block diagram of traffic exchange for connection establishment using a connectionless protocol, in accordance with some embodiments. Fig. 9 depicts a flow of establishing a connection using a connectionless protocol, in accordance with some embodiments. Fig. 10 depicts another flow of establishing a connection using a connectionless protocol, in accordance with some embodiments. Fig. 11 depicts another flow of providing network information about an endpoint using a connectionless protocol such that establishment of a connection with the endpoint is facilitated, in accordance with some embodiments. Fig. 12 is a block diagram illustrating one mode for implementing a cloud infrastructure as a service system in accordance with certain embodiments. Fig. 13 is a block diagram illustrating another mode for implementing a cloud infrastructure as a service system in accordance with some embodiments. Fig. 14 is a block diagram illustrating another mode for implementing a cloud infrastructure as a service system in accordance with certain embodiments. Fig. 15 is a block diagram illustrating another mode for implementing a cloud infrastructure as a service system in accordance with some embodiments. FIG. 16 is a block diagram illustrating an example computer system in accordance with certain embodiments. Detailed Description In the following description, for purposes of explanation, specific details are set forth in order to provide a thorough understanding of certain embodiments. It may be evident, however, that the various embodiments may be practiced without these specific details. The drawings and description are not intended to be limiting. The word "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The present disclosure relates generally t