Patent classifications
H04L67/1023
Managing service capacity
Systems, apparatuses, and methods are described for adjusting capacity in a networking environment. A networking system comprising clients, servers, load balancers, and/or other devices may expand and contract network capacity as needed. When expanding network capacity, load balancers may instruct client devices to connect to servers that are part of the expanded network. When network capacity is reduced, a server and/or a load balancer my instruct client devices to close a connection with a first server and establish a connection with a second server. Client devices may seamlessly begin using the connection with a second server without having to wait for a connection timeout with the first server.
Managing service capacity
Systems, apparatuses, and methods are described for adjusting capacity in a networking environment. A networking system comprising clients, servers, load balancers, and/or other devices may expand and contract network capacity as needed. When expanding network capacity, load balancers may instruct client devices to connect to servers that are part of the expanded network. When network capacity is reduced, a server and/or a load balancer my instruct client devices to close a connection with a first server and establish a connection with a second server. Client devices may seamlessly begin using the connection with a second server without having to wait for a connection timeout with the first server.
Domain name system multipathing distributed applications
Techniques are provided for domain name system multipathing distributed applications. In an example, a client computer queries a multipath-aware domain name system service with a domain name for a plurality of application servers, where there are a plurality of network paths available between the client computer and the application servers. The multipath-aware domain name system service can select a network path to be used, then determine a server that leads to that network path being used (by determining a hash used in network routing for each server of the plurality of servers). The multipath-aware domain name system service can respond to the client computer with an IP address for a selected application server, which results in communications between the client computer and the selected application server occurring over the selected network path.
Domain name system multipathing distributed applications
Techniques are provided for domain name system multipathing distributed applications. In an example, a client computer queries a multipath-aware domain name system service with a domain name for a plurality of application servers, where there are a plurality of network paths available between the client computer and the application servers. The multipath-aware domain name system service can select a network path to be used, then determine a server that leads to that network path being used (by determining a hash used in network routing for each server of the plurality of servers). The multipath-aware domain name system service can respond to the client computer with an IP address for a selected application server, which results in communications between the client computer and the selected application server occurring over the selected network path.
Cross datacenter read-write consistency in a distributed cloud computing platform
A distributed storage system including a server is configured to accept a request including a consistency indicator that flags for the server that cross datacenter consistency is desired. The server may be required to detect the consistency indicator and in response, to determine a consistency key based at least in part on the request. In an example aspect, the consistency key may comprise a hash value determined by a hash function shared across datacenters, whereby every datacenter may determine the same consistency key for a given resource and datacenter combination. The server may be further configured to determine a preferred datacenter for handling the request based at least in part on the consistency key, and thereafter to redirect the request to the preferred datacenter. In embodiments, the consistency indicator may also denote a scope of the strong consistency required by the calling client.
Cross datacenter read-write consistency in a distributed cloud computing platform
A distributed storage system including a server is configured to accept a request including a consistency indicator that flags for the server that cross datacenter consistency is desired. The server may be required to detect the consistency indicator and in response, to determine a consistency key based at least in part on the request. In an example aspect, the consistency key may comprise a hash value determined by a hash function shared across datacenters, whereby every datacenter may determine the same consistency key for a given resource and datacenter combination. The server may be further configured to determine a preferred datacenter for handling the request based at least in part on the consistency key, and thereafter to redirect the request to the preferred datacenter. In embodiments, the consistency indicator may also denote a scope of the strong consistency required by the calling client.
Indirect Transmission of Session Data
The systems and methods described herein can enable the indirect transmission of session data between different domains. The system can pass the session data through a hashing function so that the data from a given domain remains private and secure to the specific domain. The system can generate clusters of associated domains for a given client device that the system can use to maintain a session between the client device and the domain.
Dynamic placement of computing tasks in a distributed computing environment
Among other things, this document describes systems, methods and devices for performance testing and dynamic placement of computing tasks in a distributed computing environment. In embodiments, a given client request is forwarded up a hierarchy of nodes, or across tiers in the hierarchy. A particular computing node in the system self-determines to perform a computing task to generate (or help generate) particular content for a response to the client. The computing node injects its identifier into the response indicating that it performed those tasks; the identifier is transmitted to the client with particular content. The client runs code that assesses the performance of the system from the client's perspective, e.g., in servicing the request, and beacons this performance data, along with the aforementioned identifier, to a system intelligence component. The performance information may be used to dynamically place and improve the placement of the computing task(s).
Dynamic placement of computing tasks in a distributed computing environment
Among other things, this document describes systems, methods and devices for performance testing and dynamic placement of computing tasks in a distributed computing environment. In embodiments, a given client request is forwarded up a hierarchy of nodes, or across tiers in the hierarchy. A particular computing node in the system self-determines to perform a computing task to generate (or help generate) particular content for a response to the client. The computing node injects its identifier into the response indicating that it performed those tasks; the identifier is transmitted to the client with particular content. The client runs code that assesses the performance of the system from the client's perspective, e.g., in servicing the request, and beacons this performance data, along with the aforementioned identifier, to a system intelligence component. The performance information may be used to dynamically place and improve the placement of the computing task(s).
Indirect transmission of session data
The systems and methods described herein can enable the indirect transmission of session data between different domains. The system can pass the session data through a hashing function so that the data from a given domain remains private and secure to the specific domain. The system can generate clusters of associated domains for a given client device that the system can use to maintain a session between the client device and the domain.