BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to systems and methods for locating server nodes using latency-based georouting, and more specifically to georouting of serverless computing and edge computing.

2. Description of the Prior Art

Presently, computer resources within a cloud provider's network are spun up in a cluster (e.g., servers are aggregated in a centralized location, such as a datacenter, etc.). All requests are load-balanced back to that cluster. Unfortunately, such an implementation does not provide the best performance or experience for end users who are located far away from the centralized cluster.

This problem is further compounded by the fact that applications provided within the “cloud” are becoming more robust and require additional resources and computing power, as well as faster response times. Accordingly, the computations being performed over the web are becoming increasingly more intensive. As such, with the centralized cluster approach, many of these computations are being routed away from the user which adds to or even causes delays. This results in a decrease in overall performance and increased latency for users.

Prior art patent documents include the following:

U.S. Pat. No. 8,392,912 for “Java Application Framework for Use in a Content Delivery Network (CDN)” by inventors Davis, et al., filed Oct. 23, 2006 and issued Mar. 5, 2013, is directed to an application deployment model for enterprise applications to enable applications to be deployed to and executed from a globally distributed computing platform, such as an Internet content delivery network (CDN). According to the invention, application developers separate their Web application into two layers: a highly distributed edge layer and a centralized origin layer. The patent discloses that the edge layer supports a servlet container that executes a Web tier, typically the presentation layer of a given Java-based application. Where necessary, the edge layer communicates with code running on an origin server to respond to a given request. Alternatively, the edge layer supports a more fully provisioned application server that executes both Web tier (e.g., presentation) and Enterprise tier application (e.g., business logic) components. In either case, the framework enables one or more different applications to be deployed to and executed from the edge server on behalf of one or more respective entities.

U.S. Pat. No. 9,391,856 for “End-to-End Monitoring and Optimization of a Content Delivery Network Using Anycast Routing” by inventors Kazerani, et al., filed May 30, 2014 and issued Jul. 12, 2016, is directed to systems and methods to monitor CDN performance from the end user's perspective. To achieve full end-to-end monitoring, the systems and methods monitor the performance of Anycast routing for routing an end user to the optimal PoP of the CDN and monitor the performance of different routes that deliver content from the optimally selected PoP back to the end user. Systems and methods are also provided to leverage the monitored performance in order to automatically optimize the performance of the CDN by optimizing or modifying Anycast routing and by performing route grooming as needed to ensure that the optimal route is selected to deliver content to different sets of end users that request content from a particular PoP.

U.S. Publication No. 2019/0007521 for “Beacon Services in a Content Delivery Network” by inventors Lipstone, et al., filed Aug. 13, 2018 and published Jan. 3, 2019, is directed to a computer-implemented method in a content delivery network (CDN) comprising multiple content delivery (CD) services including at least one beacon service, the method comprising: at particular CD service in the CDN: (A) obtaining and responding to at least one first request; (B) obtaining and responding to at least one second request; and (C) making a beacon request to a beacon CD service, the beacon request including particular information about: (i) the at least one first request, and (ii) the at least one second request, wherein at least some of the particular information is encoded in the beacon request, wherein the beacon request comprises an HTTP request.

U.S. Pat. No. 8,539,079 for “dge-Based Resource Spin-Up for Cloud Computing” by inventors Thireault, et al., filed Aug. 10, 2012 and issued Sep. 17, 2013, is directed to distributing new resources closer to end-users which are making increased demands by spinning-up additional virtualized instances (as part of cloud provisioning) within servers that are physically near to the network equipment (i.e., web servers, switches, routers, load balancers) that are receiving the requests.

U.S. Pat. No. 9,787,560 for “Effective Service Node Traffic Routing” by inventors Maddux, et al., filed Jun. 4, 2015 and issued Oct. 10, 2017, describes a traffic routing system to establish a connection with a primary service location, receive a list of service location peers from the primary service location, execute a performance test of the primary service location and each of the service location peers, identify a best performing service location based at least in part on the performance test, and update a database with results of the performance test of the primary service location and each of the service location peers. The traffic routing system may use business rules to expand the criteria to identify the best performing service location. The business rules may include weights that prioritize certain performance characteristics of corresponding service locations including bandwidth cost, energy cost, or idle capacity.

U.S. Publication No. 2018/0241814 for “A System, a Node, a Method in a Communication Network and a Computer Program and Corresponding Computer Program Product” by inventors Kristiansson, et al., filed Jul. 25, 2017 and published Aug. 23, 2018, is directed to developing scalable and decentralized cloud platforms. This is achieved by introducing a geographical process look-up. Geographical process lookup implies finding a running software process running a runtime environment associated with a geographical location. This process can also be used to find a runtime environment to deploy a new (software) process. The geographical process lookup is accomplished by combining geohash and Kademlia's ability to find nodes that are close to each other and introducing special software agents, process runtime agents, which are responsible for managing (e.g., deploying/starting) software processes. Geographical process lookup is then achieved according to embodiments by storing references to the process runtime agents in the DHT as key-values, with the key being the agent's geohash string generated from their geographic latitude and longitude coordinates, and the value being other information, e.g. how to connect to the agent.

U.S. Pat. No. 8,694,610 for “Apparatus and Method for Domain Name Resolution” by inventors Jungck, et al., filed Oct. 26, 2005 and issued Apr. 8, 2014, is directed to an apparatus and method for enhancing infrastructure of a network such as the Internet. Multiple edge servers and edge caches are provided at the edge of the network so as to cover and monitor all points of presence. The edge servers selectively intercept domain name translation requests generated by downstream clients, coupled to the monitored points of presence, to subscribing Web servers and provide translations which either enhance content delivery services or redirect the request client to the edge cache to make its content requests. Further, network traffic monitoring is provided in order to detect malicious or otherwise unauthorized data transmissions.

U.S. Pat. No. 6,829,654 for “Apparatus and Method for Virtual Edge Placement of Web Sites” by inventors Jungck, et al., filed Jun. 23, 2000 and issued Dec. 7, 2004, is directed to an apparatus and method for enhancing the infrastructure of a network such as the Internet. Multiple edge servers and edge caches are provided at the edge of the network so as to cover and monitor all points of presence. The edge servers selectively intercept domain name translation requests generated by downstream clients, coupled to the monitored points of presence, to subscribing Web servers and provide translations witch either enhance content delivery services or redirect the requesting client to the edge cache to make its content requests. Further, network traffic monitoring is provided in order to detect malicious or otherwise unauthorized data transmissions.

U.S. Pat. No. 7,032,031 for “Edge Adapter Apparatus and Method” by inventors Jungck, et al., filed May 15, 2001 and issued Apr. 18, 2006, describes an apparatus and method for enhancing the infrastructure of a network such as the Internet. A packet interceptor/processor apparatus is coupled with the network so as to be able to intercept and process packets flowing over the network. Further, the apparatus provides external connectivity to other devices that wish to intercept packets as well. The apparatus applies one or more rules to the intercepted packets which execute one or more functions on a dynamically specified portion of the packet and take one or more actions with the packets. The apparatus is capable of analyzing any portion of the packet including the header and payload. Actions include releasing the packet unmodified, deleting the packet, modifying the packet, logging/storing information about the packet or forwarding the packet to an external device for subsequent processing. Further, the rules may be dynamically modified by the external devices.

SUMMARY OF THE INVENTION

The present invention provides systems and methods for locating server nodes for edge devices using latency-based georouting.

In one embodiment, the present invention includes a system for locating server nodes for edge devices using latency-based georouting, including at least one cloud platform in network communication with at least one edge device, wherein the at least one cloud platform includes a cloud platform domain name system (DNS) service, an edge DNS service, at least one cloud platform application programing interface (API), a cloud platform scheduler, at least one cloud platform router, a cloud platform database, and a cloud platform storage component, wherein the at least one cloud platform is in network communication with a plurality of server nodes, wherein information associated with each of the plurality of server nodes is stored in a node database on the at least one cloud platform, wherein the at least one cloud platform router is operable to access the node database, wherein the at least one cloud platform is operable to receive a hypertext transfer protocol (HTTP) request from the at least one edge device, wherein the HTTP request is sent to the at least one cloud platform API, wherein the at least one cloud platform API queries the node database, wherein the node database sends a node database query response to the at least one cloud platform API, wherein the node database query response contains a unique hypertext markup language (HTML) web page and a nearest node from the plurality of server nodes, wherein the at least one cloud platform API sends an HTTP query response to the at least one edge device based on the node database query response, and wherein the HTTP query request is executed using the nearest node.

In another embodiment, the present invention includes a system for locating server nodes for edge devices using latency-based georouting, including at least one cloud platform in network communication with at least one edge device, wherein the at least one cloud platform includes a cloud platform domain name system (DNS) service, an edge DNS service, at least one cloud platform application programing interface (API), a cloud platform scheduler, at least one cloud platform router, a cloud platform database, and a cloud platform storage component, wherein the at least one cloud platform is in network communication with a plurality of server nodes, wherein information associated with each of the plurality of server nodes is stored in a node database on the at least one cloud platform, wherein the at least one cloud platform router is operable to access the node database, wherein the at least one cloud platform is operable to receive a hypertext transfer protocol (HTTP) query request from the at least one edge device, wherein the HTTP query request is performed using the node database, wherein the node database is accessed by the at least one cloud platform router, wherein the at least one cloud platform router sends an HTTP query response to the at least one edge device based on the node database query response, wherein the HTTP query response contains a unique hypertext markup language (HTML) web page and a nearest node from the plurality of server nodes, and wherein the HTTP query request is executed using the nearest node.

In yet another embodiment, the present invention includes a method for locating server nodes for edge devices using latency-based georouting, including at least one cloud platform in network communication with at least one edge device and a plurality of server nodes resolving a hypertext transfer protocol (HTTP) request, wherein the at least one cloud platform includes a cloud platform domain name system (DNS) service, at least one cloud platform application programing interface (API), a cloud platform scheduler, at least one cloud platform router, a cloud platform database, a node database, and a cloud platform storage component, and wherein resolving the HTTP request includes the at least one cloud platform receiving an initial HTTP request from the at least one edge device, querying the node database using the at least one cloud platform router, returning a query result indicating a nearest node from the plurality of server nodes for the edge device, responding to the HTTP request with a unique hypertext markup language (HTML) web page, and executing the HTTP request using the nearest node.

These and other aspects of the present invention will become apparent to those skilled in the art after a reading of the following description of the preferred embodiment when considered with the drawings, as they support the claimed invention.

