H04L67/1023

Distributed resilient load-balancing for multipath transport protocols

Techniques are described for providing a distributed application load-balancing architecture that supports multipath transport protocol for client devices connecting to an application service. Rather than having client devices generate new network five-tuples for new subflows to the application servers, the techniques described herein include shifting the burden to the application servers to ensure that the new network five-tuples land in the same bucket in the consistent hashing table. The application servers may receive a hashing function utilized by the load balancers to generate the hash of the network five-tuple. By having the application servers generate the hashes, the load balancers are able to continue stateless, low-level processing of the packets to route them to the correct application servers. In this way, additional subflows can be opened for client devices according to a multipath transport protocol while ensuring that the subflows are routed to the correct application server.

Distributed resilient load-balancing for multipath transport protocols

Techniques are described for providing a distributed application load-balancing architecture that supports multipath transport protocol for client devices connecting to an application service. Rather than having client devices generate new network five-tuples for new subflows to the application servers, the techniques described herein include shifting the burden to the application servers to ensure that the new network five-tuples land in the same bucket in the consistent hashing table. The application servers may receive a hashing function utilized by the load balancers to generate the hash of the network five-tuple. By having the application servers generate the hashes, the load balancers are able to continue stateless, low-level processing of the packets to route them to the correct application servers. In this way, additional subflows can be opened for client devices according to a multipath transport protocol while ensuring that the subflows are routed to the correct application server.

POLICY-BASED FORWARDING TO A LOAD BALANCER OF A LOAD BALANCING CLUSTER

Some embodiments of the invention provide a method for forwarding data messages between a client and a server (e.g., between client and server machines and/or applications). In some embodiments, the method receives a data message that a load balancer has directed from a particular client to a particular server after selecting the particular server from a set of several candidate servers for the received data message's flow. The method stores an association between an identifier associated with the load balancer and a flow identifier associated with the message flow, and then forwards the received data message to the particular server. The method subsequently uses the load balancer identifier in the stored association to forward to the particular load balancer a data message that is sent by the particular server. The method of some embodiments is implemented by an intervening forwarding element (e.g., a router) between the load balancer set and the server set.

Server node selection method and terminal device

Methods and terminal devices, including computer programs encoded on computer storage media, for selecting a server node. According to one of the methods, a terminal device first sends a connection request to one server node, and then sends a connection request to another server node after a time interval T. The terminal device first sends a connection request to a first server node. If the terminal device receives, within a first preset duration T, response information fed back by the first server node, the terminal device does not need to send a connection request to another server node. This helps save resources. In addition, the terminal device may establish a connection to a server node corresponding to received response information, and does not need to wait for feedback from another server node. This helps reduce a delay in establishing a connection between the terminal device and a server node.

Method for operating a distributed application
11706316 · 2023-07-18 · ·

A method for operating a distributed application includes: transmitting, by an application frontend, an initialization request to a registration server via a communication network; selecting, by the registration server, an instance of an application backend and transmitting a fully qualified domain name of the selected instance to the application frontend; transmitting, by the application frontend, a lookup request to a domain name server; transmitting, by the domain name server, an IP address associated with the fully qualified domain name to the application frontend; transmitting, by the application frontend, application data to the transmitted IP address via a connection provided by the communication network; selecting, by a core server of the communication network, a quality service for the distributed application; applying, by the communication network, a service quality determined by the selected quality service to the connection; and operating, by the distributed application, with the applied service quality.

Selecting low priority pods for guaranteed runs

Service assurance is provided. A low priority pod corresponding to a low priority service in an orchestration platform that is to be evicted due to a predicted peak load period of a high priority service is identified based on analysis of historical and resource information. The low priority service corresponding to the low priority pod that is to be evicted due to the predicted peak load period of the high priority service is marked as an assured service for a guaranteed run in response to receiving an input from a user who was notified regarding eviction of the low priority pod. The low priority pod corresponding to the low priority service that is to be evicted due to the predicted peak load period of the high priority service is provisioned on a second host node prior to the eviction of the low priority pod from a first host node.

Selecting low priority pods for guaranteed runs

Service assurance is provided. A low priority pod corresponding to a low priority service in an orchestration platform that is to be evicted due to a predicted peak load period of a high priority service is identified based on analysis of historical and resource information. The low priority service corresponding to the low priority pod that is to be evicted due to the predicted peak load period of the high priority service is marked as an assured service for a guaranteed run in response to receiving an input from a user who was notified regarding eviction of the low priority pod. The low priority pod corresponding to the low priority service that is to be evicted due to the predicted peak load period of the high priority service is provisioned on a second host node prior to the eviction of the low priority pod from a first host node.

System providing faster and more efficient data communication
11700295 · 2023-07-11 · ·

A system designed for increasing network communication speed for users, while lowering network congestion for content owners and ISPs. The system employs network elements including an acceleration server, clients, agents, and peers, where communication requests generated by applications are intercepted by the client on the same machine. The IP address of the server in the communication request is transmitted to the acceleration server, which provides a list of agents to use for this IP address. The communication request is sent to the agents. One or more of the agents respond with a list of peers that have previously seen some or all of the content which is the response to this request (after checking whether this data is still valid). The client then downloads the data from these peers in parts and in parallel, thereby speeding up the Web transfer, releasing congestion from the Web by fetching the information from multiple sources, and relieving traffic from Web servers by offloading the data transfers from them to nearby peers.

System providing faster and more efficient data communication
11700295 · 2023-07-11 · ·

A system designed for increasing network communication speed for users, while lowering network congestion for content owners and ISPs. The system employs network elements including an acceleration server, clients, agents, and peers, where communication requests generated by applications are intercepted by the client on the same machine. The IP address of the server in the communication request is transmitted to the acceleration server, which provides a list of agents to use for this IP address. The communication request is sent to the agents. One or more of the agents respond with a list of peers that have previously seen some or all of the content which is the response to this request (after checking whether this data is still valid). The client then downloads the data from these peers in parts and in parallel, thereby speeding up the Web transfer, releasing congestion from the Web by fetching the information from multiple sources, and relieving traffic from Web servers by offloading the data transfers from them to nearby peers.

Multi-access edge computing low latency information services

A multi-access edge computing (MEC) platform may receive an indication that a user device has downloaded a MEC application client associated with a MEC application and may send, to the user device, instructions to install a device client. The device client may transmit device information associated with the user device to the MEC platform. The MEC platform may receive the device information associated with the user device and determine, based on the received device information, performance information associated with the MEC application.