Abstract:
A pseudo proxy server is provided for a host network when the host network experiences periods of congestion. The host network determines whether an arrival rate of data requests exceeds a predetermined threshold. If so, the host network adds an address of a pseudo proxy server to a list of servers aliased to the host network. Thereafter, data requests are routed to the pseudo proxy server on a round robin basis. The pseudo proxy server may be engaged without first loading information content from the host network on the pseudo proxy server.
Abstract:
A content delivery system for a content provider that comprises at least two content delivery servers for delivering contents, a preference database for storing an estimated distance between each of the at least two content delivery servers and a client, and a content provider domain name server for mapping the name of the content provider to the at least two content delivery servers and selecting one of the content delivery servers to deliver the content, that has a shortest estimated distance to the client in the preference database.
Abstract:
An intelligent traffic redirection system performs global load balancing for Web sites located at mirrored data centers. The system relies on a network map that is generated continuously for the user-base of the entire Internet. Instead of probing each local name server (or other host) that is connectable to the mirrored data centers, the network map identifies connectivity with respect to a much smaller set of proxy points, called nullcorenull (or nullcommonnull) points. A core point then becomes representative of a set of local name servers (or other hosts) that, from a data center's perspective, share the point. Once core points are identified, a systematic methodology is used to estimate predicted actual download times to a given core point from each of the mirrored data centers. Preferably, ICMP (or so-called nullpingnull packets) are used to measure roundtrip time (RTT) and latency between a data center and a core point. Using such data, an average latency is calculated, preferably using an exponentially time-weighted average of all previous measurements and the new measurement. A similar function is used to calculate average packet loss. Using the results, a score is generated for each path between one of the data centers and the core point, and the score is representative of a file download time. Preferably, the score is generated by modifying an average latency with a penalty factor dependent on the time-weighted average loss function. Whichever data center has the best score (representing the best-performing network connectivity for that time slice) is then associated with the core point.
Abstract:
A network of point of presence servers sharing a hostname includes a first network probe server configured to determine traffic loads of a plurality of customer web servers, and configured to determine latency of web cache servers in the network of point of presence servers, each of the customer web servers storing a web page, a first domain name server coupled to the first network probe server, configured to receive a request from a user for the web page at a first web address, the first web address including the hostname, configured to determine a customer web server from the plurality of customer web servers that is appropriate for the request, the customer web server having a traffic load lower than traffic loads of remaining customer web servers from the plurality of customer web servers, configured to determine an IP address of the customer web server, configured to return the IP address of the customer web server, configured to receive a request from the user for static content on the web page at a second web address, the second web address including the hostname, and configured to determine a web cache server from the network of point of presence servers that is appropriate for the request, the web cache server having a latency lower than latency of remaining web cache servers within the network network of point of presence servers, and the web cache server configured to retrieve the static content, and to provide the static content to the user.
Abstract:
A dynamic routing of object requests among a collection or cluster of servers factors the caching efficiency of the servers and the load balance or just the load balance. The routing information on server location can be dynamically updated by piggybacking meta information with the request response. To improve the cache hit at the server, the server selection factors the identifier (e.g. URL) of the object requested. A partitioning method can map object identifiers into classes; and requester nodes maintain a server assignment table to map each class into a server selection. The class-to-server assignment table can change dynamically as the workload varies and also factors the server capacity. The requester node need only be informed on an “on-demand” basis on the dynamic change of the class-to-server assignment (and thus reduce communication traffic). In the Internet, the collection of servers can be either a proxy or Web server cluster and can include a DNS and/or TCP-router. The PICS protocol can be used by the server to provide the meta information on the “new” class-to-server mapping when a request is directed to a server based on an invalid or obsolete class-to-server mapping. DNS based routing for load balancing of a server cluster can also benefit. By piggybacking meta data with the returned object to reassign the requester to another server for future requests, adverse effects of the TTL on the load balance are overcome without increasing traffic.
Abstract:
A client-side dispatcher resides on a client machine below high-level client applications and TCP/IP layers. The client-side dispatcher performs TCP state migration to relocate the client-server TCP connection to a new server by storing packets locally and later altering them before transmission. The client-side dispatcher operates in several modes. In an error-recovery mode, when a server fails, error packets from the server are intercepted by the client-side dispatcher. Stored connection packet's destination addresses are changed to an address of a relocated server. The altered packets then establish a connection with the relocated server. Source addresses of packets from the server are changed to that of the original server that crashed so that the client application is not aware of the error. In a delayed URL-based dispatch mode, the client-side dispatcher intercepts connection packets before they are sent over the network. Reply packets are faked by the client-side dispatcher to appear to be from a server and then sent to up to the client TCP/IP layers. The client's TCP then sends URL packet identifying the resource requested. The client-side dispatcher decodes the URL and picks a server and sends the packet to the server. Reply packets from the server are intercepted, and data packets altered to have the source address of the faked server. Multicast of the initial packet to multiple servers is used for empirical load-balancing by the client. The first server to respond is chosen while the others are reset. Thus the client-side dispatcher picks the fastest of several servers.
Abstract:
A plurality of web servers (16, 18, and 20) have a common host name, and their authoritative domain server (24 or 26) responds to requests from a local domain-name server (22) for the network address corresponding to their common host name by making an estimate of the performance costs of adding a further client to each of the web servers and then sending the local domain-name server (22) the network address of the server to which the addition of a further client will result in the least performance cost. The performance cost is defined as the difference in the average number of waiting clients, and it takes into account both the additional response time for existing clients and the projected response time for the prospective new client.
Abstract:
The present disclosure describes systems and methods for migrating communications between a client device and an application hosted by a cloud server. The method includes receiving from an edge server a signal from a client device requesting the establishment of a new communication path between the client device and the cloud server through the edge server. A first connection between client device and the edge server is established, and a second connection between the edge server and cloud server is also established. Once the connections are established, the communication between the client device and the application is migrated from a direct connection between the client device and cloud server to the first and second connections.
Abstract:
There is provided a method for handling a service request. The method is performed by a first service communication proxy (SCP) node. If no response is received from a second network function (NF) node of a service producer to a first request transmitted towards the second NF node via the first SCP node, where the first request is for the second NF node to execute a service requested by a first NF node of a service consumer, transmission of information is initiated towards the first NF node. The information is indicative that no response is received from the second NF node to the first request.
Abstract:
A method for intermediary client reconnection to a preferred server in a high availability server cluster. The method includes monitoring a persistent connection of a logical connection to a preferred server to identify an unavailability of the preferred server, establishing a temporary persistent connection for the logical connection to an available server to replace an unavailable preferred server, prompting attempts to reconnect to the preferred server at intervals, and providing a connection switching pool and simultaneously re-establishing a persistent connection with the preferred server for the logical connection using the connection switching pool while terminating the temporary persistent connection to the available server. The connection switching pool and a main connection pool used by the persistent connection allow for simultaneously maintaining two connections to different servers in a same server cluster for the logical connection.