MLchartDataset catalogue

Patent · US10986173B1 · B1 · US

Systems and methods for locating server nodes for edge devices using latency-based georouting

(11) Publication number
US10986173B1
(21) Application number
16/831,069
(22) Filing date
2020-03-26
(30) Priority date
2019-04-25
(43) Publication date
2021-04-20
(45) Date of grant
2021-04-20
(51) IPC
G06F 16/245; G06F 16/80; H04L 29/06; H04L 29/08
(52) CPC
  • H04L Transmission of digital information, e.g. telegraphic communication: 67/02, 67/01, 67/101, 67/1021, 67/42
  • G06F Electric digital data processing: 16/245, 16/80
(73) Assignee
Edjx Inc
(72) Inventors
James A. Thomason
(54) Title
Systems and methods for locating server nodes for edge devices using latency-based georouting
(57) Abstract

Systems and methods for locating server nodes for edge devices using latency-based georouting. At least one cloud platform including at least one cloud platform router and a node database is in network communication with at least one edge device and a plurality of server nodes. The at least one cloud platform receives an initial hypertext transfer protocol (HTTP) request from the at least one edge device. The node database is queried using the at least one cloud platform router and node data is fetched from the plurality of server nodes using an object-oriented function. A query result is returned indicating a nearest node from the plurality of server nodes. The HTTP request is responded to with a unique hypertext markup language (HTML) web page, and the HTTP request is executed using the nearest node.

Full text
View on Google Patents

Claims (20)

  1. A method for locating server nodes for edge devices using latency-based georouting, comprising: 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 comprises: 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; fetching node data from each of the plurality of server nodes using an object-oriented function, wherein the object-oriented function is a serverless function; returning a query result indicating a nearest node from the plurality of server nodes for the at least one 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.
  2. The method of claim 1, wherein executing the HTTP request using the nearest node is performed in parallel with responding to the HTTP request with the unique HTML web page.
  3. The method of claim 1, further comprising populating the unique HTML web page with a subset of the node data from the plurality of server nodes.
  4. The method of claim 1, further comprising selecting the nearest node based on a geolocation for the at least one edge device and/or a latency value corresponding to the at least one edge device.
  5. The method of claim 1, wherein each of the plurality of server nodes is registered in a cloud platform global registry using an HTTP POST request to a global service address, wherein the cloud platform registry is associated with the at least one cloud platform.
  6. The method of claim 1, wherein the plurality of server nodes are microservers operable to form a global peer-to-peer (P2P) network.
  7. The method of claim 1, wherein each of the plurality of server nodes contains a node identifier (ID), an Internet Protocol (IP) address, a set of global positioning system (GPS) coordinates, a central processing unit (CPU) ID, a version number, an uptime value, a node heartbeat value, an edge executor, a plurality of v8 isolates, and/or time zone data.
  8. A method for locating server nodes for edge devices using latency-based georouting, comprising: 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 comprises: 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 at least one edge device; populating a unique hypertext markup language (HTML) web page with a subset of node data from the plurality of server nodes; responding to the HTTP request with the unique HTML web page; and executing the HTTP request using the nearest node.
  9. The method of claim 8, wherein executing the HTTP request using the nearest node is performed in parallel with responding to the HTTP request with the unique HTML web page.
  10. The method of claim 8, further comprising selecting the nearest node based on a geolocation for the at least one edge device and/or a latency value corresponding to the at least one edge device.
  11. The method of claim 8, wherein the plurality of server nodes are microservers operable to form a global peer-to-peer (P2P) network.
  12. The method of claim 8, wherein the unique HTML web page contains at least one object-oriented function, wherein the at least one object-oriented function is a serverless function.
  13. The method of claim 8, wherein each of the plurality of server nodes contains a node identifier (ID), an Internet Protocol (IP) address, a set of global positioning system (GPS) coordinates, a central processing unit (CPU) ID, a version number, an uptime value, a node heartbeat value, an edge executor, a plurality of v8 isolates, and/or time zone data.
  14. A method for locating server nodes for edge devices using latency-based georouting, comprising: 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 comprises: 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 at least one 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; wherein each of the plurality of server nodes is registered in a cloud platform registry using an HTTP POST request to a global service address, and wherein the cloud platform registry is associated with the at least one cloud platform.
  15. The method of claim 14, wherein the HTTP POST request includes a globally unique identifier (GUID), a latitude, a longitude, a zip code, a street address, CPU information, a version number, an uptime, a time zone, and an Internet Protocol (IP) address.
  16. The method of claim 14, wherein executing the HTTP request using the nearest node is performed in parallel with responding to the HTTP request with the unique HTML web page.
  17. The method of claim 14, wherein the unique HTML web page contains at least one object-oriented function, wherein the at least one object-oriented function is a serverless function.
  18. The method of claim 14, further comprising selecting the nearest node based on a geolocation for the at least one edge device and/or a latency value corresponding to the at least one edge device.
  19. The method of claim 14, wherein the plurality of server nodes are microservers operable to form a global peer-to-peer (P2P) network.
  20. The method of claim 14, wherein each of the plurality of server nodes contains a node identifier (ID), an Internet Protocol (IP) address, a set of global positioning system (GPS) coordinates, a central processing unit (CPU) ID, a version number, an uptime value, a node heartbeat value, an edge executor, a plurality of v8 isolates, and/or time zone data.

Description

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.

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 inventor 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).

Citations (19)

  • US20010047241A1
  • US20030065763A1
  • US8694610B2
  • US6829654B1
  • US7032031B2
  • US6661799B1
  • US8392912B2
  • US20100287019A1
  • US20130103785A1
  • US8539079B2
  • US9391856B2
  • US20140136952A1
  • US20190007521A1
  • US20180241814A1
  • US9787560B2
  • US20180132015A1
  • US20180052839A1
  • US20180288091A1
  • US20200177606A1
Record as JSON
{
  "publication_number": "US10986173B1",
  "country": "US",
  "kind": "B1",
  "title": "Systems and methods for locating server nodes for edge devices using latency-based georouting",
  "abstract": "Systems and methods for locating server nodes for edge devices using latency-based georouting. At least one cloud platform including at least one cloud platform router and a node database is in network communication with at least one edge device and a plurality of server nodes. The at least one cloud platform receives an initial hypertext transfer protocol (HTTP) request from the at least one edge device. The node database is queried using the at least one cloud platform router and node data is fetched from the plurality of server nodes using an object-oriented function. A query result is returned indicating a nearest node from the plurality of server nodes. The HTTP request is responded to with a unique hypertext markup language (HTML) web page, and the HTTP request is executed using the nearest node.",
  "claims": [
    "1. A method for locating server nodes for edge devices using latency-based georouting, comprising: 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 comprises: 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; fetching node data from each of the plurality of server nodes using an object-oriented function, wherein the object-oriented function is a serverless function; returning a query result indicating a nearest node from the plurality of server nodes for the at least one 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.",
    "2. The method of claim 1, wherein executing the HTTP request using the nearest node is performed in parallel with responding to the HTTP request with the unique HTML web page.",
    "3. The method of claim 1, further comprising populating the unique HTML web page with a subset of the node data from the plurality of server nodes.",
    "4. The method of claim 1, further comprising selecting the nearest node based on a geolocation for the at least one edge device and/or a latency value corresponding to the at least one edge device.",
    "5. The method of claim 1, wherein each of the plurality of server nodes is registered in a cloud platform global registry using an HTTP POST request to a global service address, wherein the cloud platform registry is associated with the at least one cloud platform.",
    "6. The method of claim 1, wherein the plurality of server nodes are microservers operable to form a global peer-to-peer (P2P) network.",
    "7. The method of claim 1, wherein each of the plurality of server nodes contains a node identifier (ID), an Internet Protocol (IP) address, a set of global positioning system (GPS) coordinates, a central processing unit (CPU) ID, a version number, an uptime value, a node heartbeat value, an edge executor, a plurality of v8 isolates, and/or time zone data.",
    "8. A method for locating server nodes for edge devices using latency-based georouting, comprising: 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 comprises: 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 at least one edge device; populating a unique hypertext markup language (HTML) web page with a subset of node data from the plurality of server nodes; responding to the HTTP request with the unique HTML web page; and executing the HTTP request using the nearest node.",
    "9. The method of claim 8, wherein executing the HTTP request using the nearest node is performed in parallel with responding to the HTTP request with the unique HTML web page.",
    "10. The method of claim 8, further comprising selecting the nearest node based on a geolocation for the at least one edge device and/or a latency value corresponding to the at least one edge device.",
    "11. The method of claim 8, wherein the plurality of server nodes are microservers operable to form a global peer-to-peer (P2P) network.",
    "12. The method of claim 8, wherein the unique HTML web page contains at least one object-oriented function, wherein the at least one object-oriented function is a serverless function.",
    "13. The method of claim 8, wherein each of the plurality of server nodes contains a node identifier (ID), an Internet Protocol (IP) address, a set of global positioning system (GPS) coordinates, a central processing unit (CPU) ID, a version number, an uptime value, a node heartbeat value, an edge executor, a plurality of v8 isolates, and/or time zone data.",
    "14. A method for locating server nodes for edge devices using latency-based georouting, comprising: 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 comprises: 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 at least one 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; wherein each of the plurality of server nodes is registered in a cloud platform registry using an HTTP POST request to a global service address, and wherein the cloud platform registry is associated with the at least one cloud platform.",
    "15. The method of claim 14, wherein the HTTP POST request includes a globally unique identifier (GUID), a latitude, a longitude, a zip code, a street address, CPU information, a version number, an uptime, a time zone, and an Internet Protocol (IP) address.",
    "16. The method of claim 14, wherein executing the HTTP request using the nearest node is performed in parallel with responding to the HTTP request with the unique HTML web page.",
    "17. The method of claim 14, wherein the unique HTML web page contains at least one object-oriented function, wherein the at least one object-oriented function is a serverless function.",
    "18. The method of claim 14, further comprising selecting the nearest node based on a geolocation for the at least one edge device and/or a latency value corresponding to the at least one edge device.",
    "19. The method of claim 14, wherein the plurality of server nodes are microservers operable to form a global peer-to-peer (P2P) network.",
    "20. The method of claim 14, wherein each of the plurality of server nodes contains a node identifier (ID), an Internet Protocol (IP) address, a set of global positioning system (GPS) coordinates, a central processing unit (CPU) ID, a version number, an uptime value, a node heartbeat value, an edge executor, a plurality of v8 isolates, and/or time zone data."
  ],
  "description_excerpt": "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.\n\nPresently, 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.\n\nThis 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.\n\nPrior art patent documents include the following:\n\nU.S. Pat. No. 8,392,912 for “JAVA APPLICATION FRAMEWORK FOR USE IN A CONTENT DELIVERY NETWORK (CDN)” by inventor 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).",
  "cpc": [
    "H04L 67/02",
    "G06F 16/245",
    "G06F 16/80",
    "H04L 67/01",
    "H04L 67/101",
    "H04L 67/1021",
    "H04L 67/42"
  ],
  "ipc": [
    "G06F 16/245",
    "G06F 16/80",
    "H04L 29/06",
    "H04L 29/08"
  ],
  "assignees": [
    "Edjx Inc"
  ],
  "inventors": [
    "James A. Thomason"
  ],
  "filing_date": "2020-03-26",
  "publication_date": "2021-04-20",
  "grant_date": "2021-04-20",
  "priority_date": "2019-04-25",
  "application_number": "US-202016831069-A",
  "family_id": "75495023",
  "cited_by_count": 27,
  "citations": [
    "US20010047241A1",
    "US20030065763A1",
    "US8694610B2",
    "US6829654B1",
    "US7032031B2",
    "US6661799B1",
    "US8392912B2",
    "US20100287019A1",
    "US20130103785A1",
    "US8539079B2",
    "US9391856B2",
    "US20140136952A1",
    "US20190007521A1",
    "US20180241814A1",
    "US9787560B2",
    "US20180132015A1",
    "US20180052839A1",
    "US20180288091A1",
    "US20200177606A1"
  ]
}

Record 1,664 of 8,000 in Patents full text (MLC-0201). Request the full dataset.