CN113597752A - 用于选择边缘服务器的系统、方法和装置 - Google Patents

用于选择边缘服务器的系统、方法和装置 Download PDF

Info

Publication number
CN113597752A
CN113597752A CN201980072223.XA CN201980072223A CN113597752A CN 113597752 A CN113597752 A CN 113597752A CN 201980072223 A CN201980072223 A CN 201980072223A CN 113597752 A CN113597752 A CN 113597752A
Authority
CN
China
Prior art keywords
edge server
user device
user equipment
edge
network key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980072223.XA
Other languages
English (en)
Inventor
T·西格尔
N·D·奥布莱恩
何咏璋
熊飞
B·博伊德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Twitter Inc
Original Assignee
Twitter Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Twitter Inc filed Critical Twitter Inc
Publication of CN113597752A publication Critical patent/CN113597752A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

方法、系统和装置,包括被编码在计算机存储介质上的计算机程序,以用于向用户设备提供从其获得内容的边缘服务器的标识符。一个示例系统包括流量控制服务。流量控制服务被配置为从用户设备接收轮询请求。响应于特定的轮询请求,流量控制服务获得关于用户设备和边缘服务器的聚合的数据。流量控制服务基于聚合的数据为发送特定轮询请求的用户设备选择最佳边缘服务器。流量控制服务将所选择的最佳边缘服务器的标识符发送到用户设备。

Description

用于选择边缘服务器的系统、方法和装置
技术领域
本说明书总体涉及在基于服务器的系统上的负载平衡。
发明内容
本说明书描述了用于为使用内容平台的每个用户设备标识最佳入口路径的技术,该最佳入口路径用于用户设备使用以访问内容平台。
一种示例系统包括用户设备、边缘服务器(边缘服务器是用户设备使用以访问内容平台的服务器)、聚合服务和流量控制服务。每个用户设备与网络密钥相关联。网络密钥的数目少于用户设备的数目。网络密钥用作用户设备的分区的标识符,其中每个分区中的用户设备具有相似的特性。每个用户设备被配置为向针对用户设备的所标识的最佳边缘服务器发送对内容的请求。边缘服务器向用户设备提供对内容平台的访问。
聚合服务从用户设备获得关于边缘服务器的数据。在本说明书中,该数据将被称为边缘服务器数据。边缘服务器数据被标记有关于用户设备的设备信息,设备信息提供边缘服务器数据,包括与用户设备相关联的网络密钥。聚合服务通过网络密钥聚合边缘服务器数据,并且将聚合的数据存储在物理服务器上的存储器中。
每个用户设备被配置为:向针对该用户设备的最佳边缘服务器以及一个或多个其他边缘服务器发送探测请求。用户设备接收对探测请求的探测响应或记录缺少响应。用户设备对每个接收的探测响应确定往返时间。
流量控制服务从每个用户设备接收轮询请求。作为响应,流量控制服务从聚合服务获得由与关联于用户设备的网络密钥匹配的网络密钥聚合的边缘服务器数据。流量控制服务基于聚合的数据选择针对用户设备的最佳边缘服务器。流量控制服务向用户设备提供针对用户设备的所选择的最佳边缘服务器的标识符,并且提供用户设备应当向其发送未来探测请求的一个或多个其他边缘服务器的标识符。
本说明书结合系统、装置和计算机程序组件使用术语“配置为”。对于要被配置为执行特定操作或行动的一个或多个计算机的系统,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得系统执行操作或行动。对于要被配置为执行特定操作或行动的一个或多个计算机程序,意味着该一个或多个程序包括指令,该指令在由数据处理装置执行时,使得该装置执行该操作或行动。对于要被配置为执行特定操作或行动的专用逻辑电路装置,意味着该电路装置具有执行该操作或行动的电子逻辑。
本说明书中描述的主题可以在特定实施例中被实现,以便实现以下优点中的一个或多个优点。系统测量用户设备和边缘服务器之间的端到端延时,并且使用所得的延时数据以及其他边缘服务器数据,来选择针对每个用户设备的最佳边缘服务器。具体地,流量控制服务通过使用从多个用户设备收集的最新边缘服务器数据来选择针对用户设备的最佳边缘服务器,因此可以快速响应来自用户设备的请求分布和边缘服务器的能力和内容平台的相应部分的改变,边缘服务器使用内容平台的相应部分来响应那些请求。
由系统从用户设备收集的边缘服务器数据还可以被用于检测特定于特定用户组、特定于特定设备类型,特定于特定服务提供商或特定于特定中转对等方的问题,并且向系统管理工具发出警报。
最后,即使流量控制服务无法从发出轮询请求的特定用户设备获得边缘服务器数据,流量控制服务也可以利用最佳边缘服务器来响应轮询请求。作为替代,具有来自用户设备的边缘服务器数据与相同的网络密钥就足够了。
本说明书的主题的一个或多个实施例的细节在下面的附图和描述中被阐述。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得明显。
附图说明
图1是被配置为确定针对用户设备的最佳边缘服务器的示例系统的图。
图2是用于选择针对用户设备的最佳边缘服务器的示例过程的流程图。
图3是用于将探测请求发送到边缘服务器的示例过程的流程图。
图4是用于聚合的数据的示例过程的流程图。
在各个附图中,相同的附图标记和名称指示相同的元件。
具体实施方式
图1是示例系统100的图,示例系统100被配置为:为系统中的每个相应的用户设备选择边缘服务器,作为相应的最佳边缘服务器。系统包括用户设备,例如用户设备110,并且包括边缘服务器140a-140n,用户设备通过边缘服务器140a-140n来访问内容平台195。内容平台包括聚集服务120、流量控制服务130和内容服务器135。通常,平台将包含多个内容服务器,并且边缘服务器和内容服务器将在地理上分布。
用户设备可以是任何因特网连接的计算设备,包括膝上型计算机或台式计算机、电子平板计算机或移动设备。用户设备可以通过移动网络或通过因特网服务提供商连接到因特网。尽管图1仅描绘了单个用户设备,但是系统可以支持在世界任何地方操作的许多用户设备。
每个用户设备被配置有客户端软件,该客户端软件在操作中与边缘服务器通信。在任何特定的用户设备上,客户端软件可以是或包括JavaScript代码或Java代码。或者客户端软件也可以是专用软件,例如所安装的app或所安装的应用,其被设计成专门利用边缘服务器工作。
每个边缘服务器在一个或多个计算机上被实现,并且通常在与其他边缘服务器分开的计算机上被实现。通常,边缘服务器包括在多个不同地理位置中的边缘服务器。边缘服务器向客户端软件提供对内容服务器的访问,从而允许客户端软件将内容发布到内容服务器以及从内容服务器接收内容。内容服务器可以存储和服务于网站、应用、通信平台等的内容。例如,内容服务器可以存储和服务于在线社交消息传递平台的内容,包括来自使用在线社交消息传递平台的用户的消息和帖子。在一些情况下,边缘服务器也是内容服务器。
边缘服务器通过发送探测响应(例如,探测响应152),来对来自用户设备110的探测请求(例如,探测请求150)进行响应。用户设备确定针对探测请求和探测响应的往返时间。如果用户设备没有接收到探测响应,则它记录缺少响应。
用户设备被配置为将边缘服务器数据160(包括所计算的往返时间)发送到聚合服务。用户设备可以以大批量发送边缘服务器数据,或者它们可以在它们计算边缘服务器数据时逐渐发送边缘服务器数据。每个用户设备利用用户设备的网络密钥,来标记其发送到聚合服务的边缘服务器数据。聚合服务通过网络密钥聚合边缘服务器数据并且存储聚合的数据。聚合的数据可以通过网络密钥和边缘服务器来索引,从而允许轻松查找。在一些实施方式中,聚合服务在请求聚合的数据时即时进行聚合中的一些或全部聚合。
网络密钥可以以多种方式被确定。在一些实施方式中,针对特定用户设备的网络密钥是以下元素的元组:(i)用户设备的国家代码和(ii)与用户设备的因特网协议(IP)地址相对应的自治系统号码。在其他实施方式中,网络密钥是以下的N元组:(i)用户设备的国家代码,(ii)与用户设备的IP地址相对应的自治系统号码,和(iii)用户设备的IP地址的前三个八位字节。在其他实施方式中,网络密钥是由用户设备的国家代码、与用户设备的IP地址相对应的自治系统号码、用户设备的网络出口路径的标识符、用户设备所在地理区域的标识符和用户设备的连接类型的标识符中的两个或多个组成的元组。
对于给定的边缘服务器,与相同网络密钥相关联的用户设备通常将具有相似的边缘服务器数据。可以基于历史数据来选择网络密钥的元素,以实现该结果。
通过网络密钥聚合边缘服务器数据的一个好处是,这种数据比来自单个用户设备的数据更全面,并且对最佳边缘服务器的选择更鲁棒。通过网络密钥聚合边缘服务器数据的另一个好处是,具有共同网络密钥的多个用户设备可以轻松地将探测请求集体地发送到大的边缘服务器集,这对单个用户设备是不切实际的。
系统中的用户设备被配置为向流量控制服务发送轮询请求180。用户设备发送轮询请求的频率可以变化。例如,用户设备可以每5分钟、每10分钟或每20分钟发送轮询请求。用户设备可以更多或更少频繁地发送轮询请求。在一些实施方式中,流量控制服务发送到用户设备的最佳边缘服务器的标识符包括“后轮询”值,该“后轮询”值指定一时间,用户设备应当在该时间后发送新的轮询请求。用户设备可以可选地被配置为:当用户设备经历来自其相应的最佳边缘服务器的延时的增加或超过阈值水平时,发送轮询请求。
流量控制服务被配置为:基于由聚合服务计算的聚合的数据,确定针对系统中用户设备的最佳边缘服务器。通过为系统中的用户设备选择最佳边缘服务器,流量控制服务实际上是选择从用户设备到内容平台的最佳入口路径。将参考图2描述流量控制服务选择最佳边缘服务器的示例过程。
流量控制服务被配置为向系统中的用户设备发送最佳边缘服务器的标识符,例如IP地址。然后,用户设备发出对来自具有那些标识符的边缘服务器的系统内容的请求。
流量控制服务还被配置为:向系统中的用户设备中的每个用户设备发送其他边缘服务器的列表,即除了被标识为最佳边缘服务器的边缘服务器之外的边缘服务器,用户设备应当向其发送探测请求。将参考图2更详细地描述该过程。
图2是用于由流量控制服务为系统中的用户设备选择最佳边缘服务器的示例过程的流程图。将参考发出单个轮询请求的单个用户设备来描述该过程。
流量控制服务从系统中的用户设备接收轮询请求(210)。
响应于轮询请求,流量控制服务从聚合服务获得聚合的数据(220)。对于每个轮询请求,流量控制服务仅获得被标记有网络密钥的聚合的数据,该网络密钥与关联于发送轮询请求的用户设备的网络密钥相同。在一些实施方式中,流量控制服务针对短时间段缓存聚合的数据,并且在可用时使用缓存的数据。
对于由共享相同网络密钥的用户设备探测到的每个边缘服务器,聚合的数据可以包括以下延时数据:(i)由用户设备在特定时间帧内向边缘服务器发送的探测请求的数目,(ii)边缘服务器的探测响应成功率,即由用户设备接收的探测响应的数目除以由用户设备发送给边缘服务器的探测请求的数目,(iii)边缘服务器的往返时间的算术平均值或其他平均,和(iv)边缘服务器的往返时间的标准偏差。聚合延时数据不限于以上类别。另外,聚合服务可以存储除延时数据以外的边缘服务器数据,并且流量控制服务可以获得除延时数据以外的边缘服务器数据,例如,关于边缘服务器的可用性数据、吞吐量数据和成本数据。聚合服务将直接从边缘服务器获得该其他边缘服务器数据。
尽管流量控制服务和聚合服务在该过程中被称为分开的服务,但是两者的功能可以在单个物理服务器中被实现。
在从聚合服务获得聚合的数据之后,流量控制服务选择特定的边缘服务器,作为用于发送轮询请求的用户设备的最佳边缘服务器(230)。在一些实施方式中,流量控制服务以边缘服务器的候选集合开始,针对边缘服务器中的每个边缘服务器,流量控制服务具有至少阈值量的数据。流量控制服务从候选集合移除不满足最低平均探测响应成功率的边缘服务器。这从考虑中移除了过载的边缘服务器和不可用的边缘服务器。针对确实满足最低探测响应成功率的每个边缘服务器,流量控制服务计算服务器得分,并且根据边缘服务器的相应服务器得分对它们进行排名。在一些实施方式中,服务器得分是边缘服务器的平均往返时间或者是边缘服务器的平均往返时间的函数。在其他实施方式中,服务器得分是边缘服务器的平均往返时间加上往返时间的标准偏差,或者是边缘服务器的平均往返时间加上往返时间的标准偏差的函数。在其他实施方式中,服务器得分是边缘服务器的往返时间的高百分位数,例如95%或98%,或者是该高百分位数的函数。
在一些实施方式中,流量控制服务使用其他类型的边缘服务器数据,例如,可用性数据、吞吐量数据或成本数据,来确定针对用户设备的最佳边缘服务器。可用性数据是指示边缘服务器在特定时间是可操作还是不可操作的数据,或者是指示边缘服务器在特定时间段内可操作的平均时间量的数据。吞吐量数据是指示边缘服务器的比特率的数据。并且成本数据是指示通过一个边缘服务器(而不是另一个边缘服务器)访问内容平台的成本的数据。与延时数据相比,可用性数据、吞吐量数据和成本数据可以直接由边缘服务器收集。
在选择针对用户设备的最佳边缘服务器时,流量控制服务可以将可用性数据、吞吐量数据和成本数据用作附加因素。例如,如果特定边缘服务器相对于其他边缘服务器具有低吞吐量或高成本,则流量控制服务可以调整,例如降低该特定边缘服务器的服务器得分。
在一些情况下,流量控制服务可能没有足够的延时数据量,无法对针对特定用户设备的最佳边缘服务器进行鲁棒的确定。在这种情况下,流量控制服务可以仅依靠可用性、吞吐量和成本数据来进行确定。
在一些实施方式中,流量控制服务将聚合的数据提供给主机选择系统,该主机选择系统实施经训练的机器学习模型,该机器学习模型已经被训练以标识针对用户设备的最佳边缘服务器。为了训练这种机器学习模型,训练过程接收例如用于用户设备的集合的聚合的数据。集合中的每个用户设备被标记有实际最佳边缘服务器,该实际最佳边缘服务器可以通过例如统计方法来被选择。如果被机器学习模型标识为针对特定用户设备的最佳边缘服务器的边缘服务器与针对该用户设备的实际最佳边缘服务器不对应,则训练过程更新机器学习模型的参数。该过程被重复很多次,直到机器学习模型的参数使得模型以特定的准确性标识出最佳的边缘服务器为止。一旦机器学习模型被训练,最后的参数集就可以被使用以确定针对系统中的用户设备的最佳边缘服务器。
流量控制服务向用户设备提供所选择的最佳边缘服务器的标识符(240)。此后,直到用户设备将新的轮询请求发送到流量控制服务为止,用户设备才将对系统内容的内容请求发送到所选择的最佳边缘服务器。
流量控制服务还将用户设备应当向其发送未来探测请求的其他边缘服务器的标识符发送到用户设备(250)。在一些实施方式中,这些边缘服务器是针对用户设备的接下来N个排名最高的边缘服务器。在这些实施方式中的一些实施方式中,N为大约30到40。
在备选实施方式中,流量控制服务进行虚拟抽选以选择其他边缘服务器。例如,流量控制服务可以生成25个边缘服务器的排名列表。流量控制服务具有最高排名的边缘服务器标识为最佳边缘服务器。其余24个边缘服务器参与虚拟抽选,其中分配给特定边缘服务器的抽选的号码与其排名成反比。这确保了,更有可能成为最佳边缘服务器的边缘服务器(即,具有较高排名的边缘服务器)更频繁地被探测,同时提供了一些随机性以确保流量控制服务可以发现新的最佳边缘服务器,作为边缘服务器的可用性或路由改变。流量控制服务伪随机地选择抽选,直到预先确定数目的边缘服务器赢得抽选为止。获胜的边缘服务器是用户设备将向其发送未来探测请求的边缘服务器。
流量控制服务可以可选地确保每一个边缘服务器被选择至少一次以进行探测。例如,如果特定边缘服务器在预先确定数目的连续抽选中未被选择,则流量控制服务可以覆盖下一个虚拟抽选的结果,以确保该边缘服务器在用户设备要探测的边缘服务器中。
图3是用于将探测请求发送到边缘服务器的示例过程的流程图。过程将参考发送单个探测请求的单个用户设备来被描述,但是如上所述,系统中的每个用户设备向多个不同的边缘服务器发送多个探测请求。
用户设备向边缘服务器发送探测请求(310)。探测请求可以是对测试文件的请求,也可以是对内容的请求,或者可以与对内容的请求组合。
如果用户设备接收到探测响应(320),则用户设备确定响应的往返时间(330)。往返时间是在用户设备接收到探测响应的时间与用户设备发送对应探测请求的时间之间经过的时间量。如果用户设备没有接收到探测响应(320),则该事实被记录,并且被包括在用户设备发送到聚合服务的边缘服务器数据中(340)。
图4是用于聚合由系统中的用户设备发送的边缘服务器数据的示例过程的流程图。该过程将被描述为由上述聚合服务执行。
聚合服务从系统中的用户设备获得边缘服务器数据(410)。聚合服务通过网络密钥、并且在由特定网络密钥定义的每个组内通过边缘服务器,聚合边缘服务器数据(420)。然后,聚合服务针对每个组中的每个边缘服务器计算各种统计数据(430)。统计数据可以包括探测响应成功率、平均往返时间等。在本说明书中,这些统计数据被统称为聚合的数据。
聚合服务将聚合的数据存储在物理服务器上的存储器中(440)。聚合服务通过网络密钥和唯一的边缘服务器标识符为聚合的数据编制索引。边缘服务器标识符可以是例如边缘服务器的IP地址。
聚合的数据被定期重新计算。在一些实施方式中,它以预先确定频率被重新计算。在那些实施方式中的一些实施方式中,预先确定频率是轮询请求频率或轮询请求频率的倍数。如果重新计算频率是轮询请求频率,则在一时间之后,将进行重新计算,在该时间期间,每个用户设备将平均发出一个轮询请求。定期重新计算确保了聚合的数据是最新的,并且在用户设备发出新的轮询请求时,反映当前的网络状况。在一些实施方式中,数据被加权以有利于较新的数据;在一些实施方式中,用于计算聚合的数据的边缘服务器数据被限制于预先确定的新近度窗口,该预先确定的新近度窗口可以短于重新计算频率。
本说明书中描述的主题和动作以及操作的实施例可以在数字电子电路装置中、在有形实施的计算机软件或固件中、在计算机硬件中被实现,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即在有形非瞬时性存储介质上编码的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。备选地或附加地,程序指令能够在经生成以对用于传输到适当的接收器装置的信息进行编码的人工生成的传播信号(例如,机器生成的电、光或电磁信号)上编码,以供数据处理装置执行。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
术语“数据处理装置”涵盖了用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该数据处理装置能够包括专用逻辑电路装置,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件之外,该装置还能够包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们的一个或多个的组合的代码。
计算机程序(也可以被称为或被描述为程序、软件、软件应用、应用、模块、软件模块、引擎、脚本或代码)能够用任何形式的编程语言编写,包括编译或者解释性语言,或声明性或程序性语言,并且它能够以任何形式部署,包括作为独立程序或作为模块、组件、引擎、子例程或适合在计算环境中执行的其他单元,该环境可以包括由一个或多个位置中的数据通信网络互连的一个或多个计算机。
计算机程序可以但不必与文件系统中的文件相对应。计算机程序能够被存储在保持其他程序或数据(例如,在标记语言文档中存储的一个或多个脚本)的文件的部分中、存储在专用于所述程序的单个文件中或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分)的文件中。
本说明书中描述的过程和逻辑流程能够由执行一个或多个计算机程序的一个或多个计算机执行,以通过对输入数据进行操作并且生成输出来执行操作。这些过程和逻辑流程还能够由专用逻辑电路装置(例如FPGA、ASIC或GPU),或专用逻辑电路装置和一个或多个编程计算机的组合执行。
适于执行计算机程序的计算机能够是基于通用或专用微处理器或两者或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路装置补充或结合在其中。
通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据发送到一个或多个大容量存储设备。大容量存储设备能够是例如磁、磁光或光盘或固态驱动器。然而,计算机不需要具有这种设备。此外,计算机能够被嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,这里仅举几例。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的、例如LCD(液晶显示器)监视器的显示设备以及用户通过其向计算机提供输入的输入设备,例如键盘和指示设备(例如鼠标、轨迹球或触控板)的计算机上实现,或被配置为与之通信。其他类型的设备还能够用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向由用户使用的设备发送文档和从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器,或者通过与在用户设备(例如智能电话或电子平板计算机)上运行的app交互。此外,计算机能够通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息来与用户交互,并且反回来从用户接收响应消息。
本说明书中描述的主题的实施例可以在计算系统中被实现,该计算系统包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或包括前端组件(例如具有图形用户界面的客户端计算机、网络浏览器或应用,用户可以通过它与本说明书中描述的主题的实现进行交互),或者包括一个或多个这种后端组件、中间件组件或前端组件的任意组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络交互。客户端和服务器之间的关系是通过在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生的。在一些实施例中,服务器例如向用户设备传送例如HTML页面的数据,以用于向与充当客户端的设备交互的用户显示数据以及从该用户接收用户输入。在用户设备处生成的数据(例如,由于用户交互)可以在服务器处从设备接收。
除了上述实施例之外,以下实施例也是创新的:
实施例1是一种系统,包括:
多个用户设备;
多个边缘服务器,被配置为提供对内容平台的访问,所述内容平台向所述用户设备供应内容,其中每个用户设备关联于网络密钥,其中网络密钥的数目小于用户设备的数目,并且其中每个用户设备被配置为向所述多个边缘服务器中的边缘服务器发送对内容的请求,所述边缘服务器由所述用户设备上的数据标识为针对所述用户设备的最佳边缘服务器;
所述用户设备被配置为执行以下操作,包括:
向针对所述用户设备的所述最佳边缘服务器、并且向所述多个边缘服务器中的未被标识为所述最佳边缘服务器的一个或多个边缘服务器发送探测请求,
接收对所述探测请求的探测响应或记录缺少响应,以及
对于每个接收的探测响应,确定往返时间,所述往返时间是在所述用户设备接收所述探测响应的时间与所述用户设备发送对应的所述探测请求的时间之间经过的时间量,确定的所述往返时间是边缘服务器数据;以及
在所述内容平台上的一个或多个服务,被配置为执行以下操作,包括:
从所述用户设备获得所述边缘服务器数据,其中从每个用户设备接收的所述边缘服务器数据被标记有关于所述用户设备的设备信息,所述用户设备提供了包括关联于所述用户设备的所述网络密钥的所述边缘服务器数据,
通过网络密钥聚合所述边缘服务器数据,以及
响应于从用户设备接收的轮询请求:
至少部分地基于由与关联于所述用户设备的所述网络密钥相同的所述网络密钥聚合的所述边缘服务器数据,选择针对所述用户设备的最佳边缘服务器,以及
向所述用户设备提供针对所述用户设备的选择的所述最佳边缘服务器的标识符,并且提供所述用户设备应当向其发送未来探测请求的一个或多个其他边缘服务器的标识符。
实施例2是根据实施例1所述的系统,其中关联于每个用户设备的所述网络密钥包括:(i)所述用户设备的国家代码;以及(ii)与所述用户设备的因特网协议(IP)地址相对应的自治系统号码。
实施例3是根据实施例1-2中任一项所述的系统,其中关联于每个用户设备的所述网络密钥包括:(i)所述用户设备的国家代码;(ii)与所述用户设备的IP地址相对应的自治系统号码;以及(iii)所述用户设备的所述IP地址的前三个八位字节。
实施例4是根据实施例1-3中任一项所述的系统,其中关联于每个用户设备的所述网络密钥包括:所述用户设备的国家代码,与所述用户设备的IP地址相对应的自治系统号码,所述用户设备的网络出口路径的标识符,所述用户设备所在的地理区域的标识符,以及所述用户设备的连接类型的标识符。
实施例5是根据实施例1-4中任一项所述的系统,其中针对每个边缘服务器,通过网络密钥聚合所述边缘服务器数据包括:
确定在预先确定时间窗口内,由关联于相同网络密钥的用户设备发送到所述边缘服务器的探测请求的数目;
计算所述边缘服务器的探测响应成功率,所述探测响应成功率是:由关联于所述相同网络密钥的用户设备接收的探测响应的数目除以由所述用户设备发送给所述边缘服务器的所述探测请求的数目;以及
计算所述边缘服务器的平均往返时间,所述边缘服务器的所述平均往返时间是:针对由所述边缘服务器发送并且由关联于所述相同网络密钥的所述用户设备接收的所述探测响应来确定的所述往返时间的平均值。
实施例6是根据实施例5所述的系统,其中基于聚合的所述数据选择针对所述用户设备的最佳边缘服务器包括:
将聚合的所述数据和边缘服务器的标识符提供给机器学习模型,其中所述机器学习模型被训练以标识最佳边缘服务器;以及
从所述机器学习模型接收针对所述用户设备的所述最佳边缘服务器的标识符。
实施例7是根据实施例5所述的系统,其中针对每个边缘服务器,通过网络密钥聚合所述边缘服务器数据还包括:
计算所述边缘服务器到关联于所述相同网络密钥的用户设备的所述往返时间的标准偏差。
实施例8是根据实施例7所述的系统,其中基于聚合的所述数据选择针对所述用户设备的最佳边缘服务器包括:
针对满足预先确定最小探测响应成功率的每个边缘服务器,计算相应的服务器得分;以及
将具有最佳服务器得分的所述边缘服务器标识为所述最佳边缘服务器。
实施例9是根据实施例8所述的系统,其中所述服务器得分对应于所述边缘服务器的所述平均往返时间。
实施例10是根据实施例8所述的系统,其中所述服务器得分对应于所述边缘服务器的所述平均往返时间与所述边缘服务器的所述往返时间的所述标准偏差之和。
实施例11是根据实施例8所述的系统,其中所述用户设备应当向其发送未来探测请求的所述一个或多个其他边缘服务器包括:基于所述边缘服务器的所述服务器得分的接下来的30至40个最高排名的边缘服务器。
实施例12是根据实施例8所述的系统,其中所述用户设备应当向其发送未来探测请求的所述一个或多个其他边缘服务器由以下确定:
通过虚拟抽选从具有服务器得分的所述边缘服务器中选择边缘服务器,在所述虚拟抽选中具有服务器得分的每个边缘服务器被分配一定数目的抽选券,对于具有更好服务器得分的边缘服务器,所述抽选券的数目比其他边缘服务器高。
实施例13是根据实施例9所述的系统,其中在所述内容平台上的所述一个或多个服务还被配置为执行以下的操作,包括:
从所述多个边缘服务器中的每个边缘服务器获得吞吐量数据,针对每个边缘服务器,所述吞吐量数据包括所述边缘服务器的比特率;以及
基于所述吞吐量数据,调整所述边缘服务器的所述服务器得分。
实施例14是根据实施例1-13中任一项所述的系统,其中所述一个或多个服务包括聚合服务和流量控制服务,其中:
所述聚合服务被配置为执行以下操作,包括:
从所述用户设备获得由所述用户设备收集的所述边缘服务器数据,其中从每个用户设备接收的所述边缘服务器数据被标记有关于所述用户设备的设备信息,所述用户设备提供了包括关联于所述用户设备的所述网络密钥的所述边缘服务器数据,以及
通过网络密钥聚合所述边缘服务器数据,
所述流量控制服务被配置为执行以下操作,包括:
响应从用户设备接收的轮询请求:
基于由与关联于所述用户设备的所述网络密钥相同的所述网络密钥聚合的所述边缘服务器数据,选择针对所述用户设备的最佳边缘服务器,以及
向所述用户设备提供针对所述用户设备的选择的所述最佳边缘服务器的标识符,并且提供所述用户设备应当向其发送未来探测请求的一个或多个其他边缘服务器的标识符。
实施例15是执行实施例1-14中任一项所述的操作的方法。
实施例16是一种或多种计算机存储介质,其存储指令,所述指令在由一个或多个计算机执行时可操作,使得所述一个或多个计算机执行根据实施例1-14中任一项所述的操作。
虽然本说明书包含许多特定实现细节,但是这些不应当被解释为对任何发明的范围或权利要求所要求保护范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征还能够在单个实施例中以组合的方式实现。相反,在单个实施例的上下文中描述的各种特征还能够在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管特征可以被如上描述为以某些组合作用并且甚至最初就如此请求保护,但是在一些情况下所请求保护的组合中的一个或多个特征能够从该组合中除去,并且权利要求可以针对子组合或针对子组合的变化。
类似地,尽管操作在附图中以特定顺序被描绘且在权利要求中被引用,但是这不应当被理解为要求所述操作以所示的特定顺序或顺次被执行,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应当被理解为在所有实施例中都需要这种分离,并且应当理解的是,所述的程序组件和系统通常能够在单个软件产品中被集成在一起或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中所描绘的过程不一定需要所示的特定顺序或顺序的次序来实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。

Claims (24)

1.一种系统,包括:
多个用户设备;
多个边缘服务器,被配置为提供对内容平台的访问,所述内容平台向所述用户设备供应内容,其中每个用户设备关联于网络密钥,其中网络密钥的数目小于用户设备的数目,并且其中每个用户设备被配置为向所述多个边缘服务器中的边缘服务器发送对内容的请求,所述边缘服务器由所述用户设备上的数据标识为针对所述用户设备的最佳边缘服务器;
所述用户设备被配置为执行以下操作,包括:
向针对所述用户设备的所述最佳边缘服务器、并且向所述多个边缘服务器中的未被标识为所述最佳边缘服务器的一个或多个边缘服务器发送探测请求,
接收对所述探测请求的探测响应或记录缺少响应,以及
对于每个接收的探测响应,确定往返时间,所述往返时间是在所述用户设备接收所述探测响应的时间与所述用户设备发送对应的所述探测请求的时间之间经过的时间量,确定的所述往返时间是边缘服务器数据;以及
在所述内容平台上的一个或多个服务,被配置为执行以下操作,包括:
从所述用户设备获得所述边缘服务器数据,其中从每个用户设备接收的所述边缘服务器数据被标记有关于所述用户设备的设备信息,所述用户设备提供了包括关联于所述用户设备的所述网络密钥的所述边缘服务器数据,
通过网络密钥聚合所述边缘服务器数据,以及
响应于从用户设备接收的轮询请求:
至少部分地基于由与关联于所述用户设备的所述网络密钥相同的所述网络密钥聚合的所述边缘服务器数据,选择针对所述用户设备的最佳边缘服务器,以及
向所述用户设备提供针对所述用户设备的选择的所述最佳边缘服务器的标识符,并且提供所述用户设备应当向其发送未来探测请求的一个或多个其他边缘服务器的标识符。
2.根据权利要求1所述的系统,其中关联于每个用户设备的所述网络密钥包括:(i)所述用户设备的国家代码;以及(ii)与所述用户设备的因特网协议(IP)地址相对应的自治系统号码。
3.根据权利要求1所述的系统,其中关联于每个用户设备的所述网络密钥包括:(i)所述用户设备的国家代码;(ii)与所述用户设备的IP地址相对应的自治系统号码;以及(iii)所述用户设备的所述IP地址的前三个八位字节。
4.根据权利要求1所述的系统,其中关联于每个用户设备的所述网络密钥包括:所述用户设备的国家代码,与所述用户设备的IP地址相对应的自治系统号码,所述用户设备的网络出口路径的标识符,所述用户设备所在的地理区域的标识符,以及所述用户设备的连接类型的标识符。
5.根据权利要求1所述的系统,其中针对每个边缘服务器,通过网络密钥聚合所述边缘服务器数据包括:
确定在预先确定时间窗口内,由关联于相同网络密钥的用户设备发送到所述边缘服务器的探测请求的数目;
计算所述边缘服务器的探测响应成功率,所述探测响应成功率是:由关联于所述相同网络密钥的用户设备接收的探测响应的数目除以由所述用户设备发送给所述边缘服务器的所述探测请求的数目;以及
计算所述边缘服务器的平均往返时间,所述边缘服务器的所述平均往返时间是:针对由所述边缘服务器发送并且由关联于所述相同网络密钥的所述用户设备接收的所述探测响应来确定的所述往返时间的平均值。
6.根据权利要求5所述的系统,其中基于聚合的所述数据选择针对所述用户设备的最佳边缘服务器包括:
将聚合的所述数据和边缘服务器的标识符提供给机器学习模型,其中所述机器学习模型被训练以标识最佳边缘服务器;以及
从所述机器学习模型接收针对所述用户设备的所述最佳边缘服务器的标识符。
7.根据权利要求5所述的系统,其中针对每个边缘服务器,通过网络密钥聚合所述边缘服务器数据还包括:
计算所述边缘服务器到关联于所述相同网络密钥的用户设备的所述往返时间的标准偏差。
8.根据权利要求7所述的系统,其中基于聚合的所述数据选择针对所述用户设备的最佳边缘服务器包括:
针对满足预先确定最小探测响应成功率的每个边缘服务器,计算相应的服务器得分;以及
将具有最佳服务器得分的所述边缘服务器标识为所述最佳边缘服务器。
9.根据权利要求8所述的系统,其中所述服务器得分对应于所述边缘服务器的所述平均往返时间。
10.根据权利要求8所述的系统,其中所述服务器得分对应于所述边缘服务器的所述平均往返时间与所述边缘服务器的所述往返时间的所述标准偏差之和。
11.根据权利要求8所述的系统,其中所述用户设备应当向其发送未来探测请求的所述一个或多个其他边缘服务器包括:基于所述边缘服务器的所述服务器得分的接下来的30至40个最高排名的边缘服务器。
12.根据权利要求8所述的系统,其中所述用户设备应当向其发送未来探测请求的所述一个或多个其他边缘服务器由以下确定:
通过虚拟抽选从具有服务器得分的所述边缘服务器中选择边缘服务器,在所述虚拟抽选中具有服务器得分的每个边缘服务器被分配一定数目的抽选券,对于具有更好服务器得分的边缘服务器,所述抽选券的数目比其他边缘服务器高。
13.根据权利要求9所述的系统,其中所述内容平台上的所述一个或多个服务还被配置为执行以下操作,包括:
从所述多个边缘服务器中的每个边缘服务器获得吞吐量数据,针对每个边缘服务器,所述吞吐量数据包括所述边缘服务器的比特率;以及
基于所述吞吐量数据,调整所述边缘服务器的所述服务器得分。
14.根据权利要求1所述的系统,其中所述一个或多个服务包括聚合服务和流量控制服务,其中:
所述聚合服务被配置为执行以下操作,包括:
从所述用户设备获得由所述用户设备收集的所述边缘服务器数据,其中从每个用户设备接收的所述边缘服务器数据被标记有关于所述用户设备的设备信息,所述用户设备提供了包括关联于所述用户设备的所述网络密钥的所述边缘服务器数据,以及
通过网络密钥聚合所述边缘服务器数据,
所述流量控制服务被配置为执行以下操作,包括:
响应从用户设备接收的轮询请求:
基于由与关联于所述用户设备的所述网络密钥相同的所述网络密钥聚合的所述边缘服务器数据,选择针对所述用户设备的最佳边缘服务器,以及
向所述用户设备提供针对所述用户设备的选择的所述最佳边缘服务器的标识符,并且提供所述用户设备应当向其发送未来探测请求的一个或多个其他边缘服务器的标识符。
15.一种方法,包括:
从多个用户设备中的第一用户设备接收轮询请求,其中每个用户设备被配置为:通过多个边缘服务器中的由所述用户设备上的数据标识为针对所述用户设备的最佳边缘服务器的一个边缘服务器来访问内容平台,其中每个用户设备关联于多个网络密钥中的一个网络密钥,并且其中网络密钥的数目小于用户设备的数目;
从所述用户设备获得边缘服务器数据,其中来自每个用户设备的所述边缘服务器数据被标记有关于所述用户设备的设备信息,所述设备信息包括关联于所述用户设备的所述网络密钥,其中所述边缘服务器数据包括由每个用户设备通过以下方式计算的往返时间:
向针对所述用户设备的所述最佳边缘服务器,并且向所述多个边缘服务器中的未被标识为所述最佳边缘服务器的一个或多个边缘服务器发送探测请求,
接收对所述探测请求的探测响应或记录缺少响应,以及
对于每个接收的探测响应,确定往返时间,所述往返时间是在所述用户设备接收所述探测响应的时间与所述用户设备发送对应的所述探测请求的时间之间经过的时间量;
通过网络密钥聚合所述边缘服务器数据;
至少部分地基于由与关联于所述第一用户设备的所述网络密钥相同的所述网络密钥聚合的所述边缘服务器数据,选择针对所述第一用户设备的最佳边缘服务器,以及
向所述第一用户设备提供针对所述用户设备的选择的所述最佳边缘服务器的标识符,并且提供所述第一用户设备应当向其发送未来探测请求的一个或多个其他边缘服务器的标识符。
16.根据权利要求15所述的方法,其中关联于每个用户设备的所述网络密钥包括:(i)所述用户设备的国家代码;(ii)与所述用户设备的IP地址相对应的自治系统号码;以及(iii)所述用户设备的所述IP地址的前三个八位字节。
17.根据权利要求15所述的方法,其中针对每个边缘服务器,通过网络密钥来聚合所述边缘服务器数据包括:
确定在预先确定时间窗口内,由关联于相同网络密钥的用户设备发送到所述边缘服务器的探测请求的数目;
计算所述边缘服务器的探测响应成功率,所述探测响应成功率是:由关联于所述相同网络密钥的用户设备接收的探测响应的数目除以由所述用户设备发送给所述边缘服务器的所述探测请求的数目;以及
计算所述边缘服务器的平均往返时间,所述边缘服务器的所述平均往返时间是:针对由所述边缘服务器发送、并且由关联于所述相同网络密钥的所述用户设备接收的所述探测响应来确定的所述往返时间的平均值。
18.根据权利要求17所述的方法,其中针对每个边缘服务器,通过网络密钥来聚合所述边缘服务器数据还包括:
计算所述边缘服务器到关联于所述相同网络密钥的用户设备的所述往返时间的标准偏差。
19.根据权利要求18所述的方法,其中至少部分地基于聚合的所述边缘服务器数据来选择针对所述第一用户设备的最佳边缘服务器包括:
针对满足预先确定最小探测响应成功率的每个边缘服务器,计算相应的服务器得分;以及
将具有最佳服务器得分的所述边缘服务器标识为所述最佳边缘服务器。
20.一种或多种非暂态计算机存储介质,所述非暂态计算机存储介质存储指令,所述指令在由一个或多个计算机执行时可操作,以使得所述一个或多个计算机执行以下操作,包括:
从多个用户设备中的第一用户设备接收轮询请求,其中每个用户设备被配置为:通过多个边缘服务器中的由所述用户设备上的数据标识为针对所述用户设备的最佳边缘服务器的一个边缘服务器来访问内容平台,其中每个用户设备关联于多个网络密钥中的一个网络密钥,并且其中网络密钥的数目小于用户设备的数目;
从所述用户设备获得边缘服务器数据,其中来自每个用户设备的所述边缘服务器数据被标记有关于所述用户设备的设备信息,所述设备信息包括关联于所述用户设备的所述网络密钥,其中所述边缘服务器数据包括由每个用户设备通过以下操作计算的往返时间:
向针对所述用户设备的所述最佳边缘服务器、并且向所述多个边缘服务器中的未被标识为所述最佳边缘服务器的一个或多个边缘服务器发送探测请求,
接收对所述探测请求的探测响应或记录缺少响应,以及
对于每个接收的探测响应,确定往返时间,所述往返时间是在所述用户设备接收所述探测响应的时间与所述用户设备发送对应的所述探测请求的时间之间经过的时间量;
通过网络密钥聚合所述边缘服务器数据;
至少部分地基于由与关联于所述第一用户设备的所述网络密钥相同的所述网络密钥聚合的所述边缘服务器数据,选择针对所述第一用户设备的最佳边缘服务器,以及
向所述第一用户设备提供针对所述用户设备的选择的所述最佳边缘服务器的标识符,并且提供所述第一用户设备应当向其发送未来探测请求的一个或多个其他边缘服务器的标识符。
21.根据权利要求20所述的一种或多种非暂态计算机存储介质,其中关联于每个用户设备的所述网络密钥包括:(i)所述用户设备的国家代码;(ii)与所述用户设备的IP地址相对应的自治系统号码;以及(iii)所述用户设备的所述IP地址的前三个八位字节。
22.根据权利要求20所述的一种或多种非暂态计算机存储介质,其中针对每个边缘服务器,通过网络密钥来聚合所述边缘服务器数据包括:
确定在预先确定时间窗口内,由关联于相同网络密钥的用户设备发送到所述边缘服务器的探测请求的数目;
计算所述边缘服务器的探测响应成功率,所述探测响应成功率是:由关联于所述相同网络密钥的用户设备接收的探测响应的数目除以由所述用户设备发送给所述边缘服务器的所述探测请求的数目;以及
计算所述边缘服务器的平均往返时间,所述边缘服务器的所述平均往返时间是:针对由所述边缘服务器发送、并且由关联于所述相同网络密钥的所述用户设备接收的所述探测响应来确定的所述往返时间的平均值。
23.根据权利要求22所述的一种或多种非暂态计算机存储介质,其中通过网络密钥来聚合所述边缘服务器数据还包括:针对每个边缘服务器:
计算所述边缘服务器到关联于所述相同网络密钥的用户设备的所述往返时间的标准偏差。
24.根据权利要求23所述的一种或多种非暂态计算机存储介质,其中至少部分地基于聚合的所述边缘服务器数据来选择针对所述第一用户设备的最佳边缘服务器包括:
针对满足预先确定最小探测响应成功率的每个边缘服务器,计算相应的服务器得分;以及
将具有最佳服务器得分的所述边缘服务器标识为所述最佳边缘服务器。
CN201980072223.XA 2018-10-31 2019-10-31 用于选择边缘服务器的系统、方法和装置 Pending CN113597752A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/177,037 2018-10-31
US16/177,037 US10999358B2 (en) 2018-10-31 2018-10-31 Traffic mapping
PCT/US2019/059213 WO2020092805A1 (en) 2018-10-31 2019-10-31 System, method and apparatus for selecting an edge server

Publications (1)

Publication Number Publication Date
CN113597752A true CN113597752A (zh) 2021-11-02

Family

ID=68699510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980072223.XA Pending CN113597752A (zh) 2018-10-31 2019-10-31 用于选择边缘服务器的系统、方法和装置

Country Status (8)

Country Link
US (2) US10999358B2 (zh)
EP (1) EP3874712B1 (zh)
JP (1) JP2022513410A (zh)
KR (1) KR20210087966A (zh)
CN (1) CN113597752A (zh)
BR (1) BR112021004415A2 (zh)
DE (3) DE202019005818U1 (zh)
WO (1) WO2020092805A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116170447A (zh) * 2023-04-19 2023-05-26 杭州非奇科技股份有限公司 一种基于边缘节点的数据传输方法、系统和存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132721B1 (en) * 2018-08-28 2021-09-28 Amazon Technologies, Inc. Interest based advertising inside a content delivery network
KR102592833B1 (ko) * 2018-12-14 2023-10-23 현대자동차주식회사 차량의 음성 인식 기능 연동 제어 시스템 및 방법
US11431789B2 (en) 2019-10-18 2022-08-30 Salesforce.Com, Inc. Global capacity routing
US10911505B1 (en) * 2019-10-18 2021-02-02 Salesforce.Com, Inc. Global capacity scaling
US11272007B2 (en) 2020-07-21 2022-03-08 Servicenow, Inc. Unified agent framework including push-based discovery and real-time diagnostics features
CN114531478A (zh) * 2020-10-30 2022-05-24 伊姆西Ip控股有限责任公司 边缘资源聚合的方法、设备和计算机程序产品
US11418586B2 (en) * 2021-01-19 2022-08-16 Servicenow, Inc. Load balancing of discovery agents across proxy servers
EP4285231A1 (en) * 2021-01-29 2023-12-06 Assia Spe, Llc System and method for network and computation performance probing for edge computing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102067559A (zh) * 2008-06-18 2011-05-18 高通股份有限公司 所搜集媒体传输的远程选择和授权
WO2012163178A1 (zh) * 2011-07-14 2012-12-06 华为技术有限公司 边缘节点的分配方法和装置及边缘节点控制器
CN105144738A (zh) * 2013-06-06 2015-12-09 英特尔公司 用于dash媒体流传输的管理器
US20170187768A1 (en) * 2015-12-29 2017-06-29 Verizon Patent And Licensing Inc. Content delivery network streaming optimization
US9854053B1 (en) * 2014-03-24 2017-12-26 Amazon Technologies, Inc. Providing faster data access using multiple caching servers

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231442B2 (en) * 2002-04-03 2007-06-12 Tonic Software, Inc. Global network monitoring system
US20090245114A1 (en) 2008-04-01 2009-10-01 Jayanth Vijayaraghavan Methods for collecting and analyzing network performance data
US9113317B2 (en) 2012-12-19 2015-08-18 Verizon Patent And Licensing Inc. Intelligent streaming to a mobile device
US20170041355A1 (en) 2015-08-03 2017-02-09 Arris Enterprises Llc Contextual information for audio-only streams in adaptive bitrate streaming
US10540158B2 (en) * 2016-07-18 2020-01-21 Google Llc Post-install application interaction
US10425694B2 (en) 2016-12-30 2019-09-24 Facebook, Inc. Live broadcast on an online social network
EP3679700A1 (en) 2017-10-18 2020-07-15 BlackBerry Limited Detecting remote application profiling
US10362357B1 (en) 2017-12-28 2019-07-23 Rovi Guides, Inc. Systems and methods for resuming media in different modes of playback based on attributes of a physical environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102067559A (zh) * 2008-06-18 2011-05-18 高通股份有限公司 所搜集媒体传输的远程选择和授权
WO2012163178A1 (zh) * 2011-07-14 2012-12-06 华为技术有限公司 边缘节点的分配方法和装置及边缘节点控制器
CN105144738A (zh) * 2013-06-06 2015-12-09 英特尔公司 用于dash媒体流传输的管理器
US9854053B1 (en) * 2014-03-24 2017-12-26 Amazon Technologies, Inc. Providing faster data access using multiple caching servers
US20170187768A1 (en) * 2015-12-29 2017-06-29 Verizon Patent And Licensing Inc. Content delivery network streaming optimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
薛峰等: "基于最大网络收益的DNS内容路由算法", 《浙江大学学报(工学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116170447A (zh) * 2023-04-19 2023-05-26 杭州非奇科技股份有限公司 一种基于边缘节点的数据传输方法、系统和存储介质

Also Published As

Publication number Publication date
US10999358B2 (en) 2021-05-04
EP3874712A1 (en) 2021-09-08
DE202019005818U1 (de) 2022-05-03
US20200137148A1 (en) 2020-04-30
DE202019005784U1 (de) 2022-02-24
WO2020092805A1 (en) 2020-05-07
EP3874712B1 (en) 2022-12-07
BR112021004415A2 (pt) 2021-07-20
US20210258370A1 (en) 2021-08-19
KR20210087966A (ko) 2021-07-13
DE202019005859U1 (de) 2022-10-12
JP2022513410A (ja) 2022-02-07

Similar Documents

Publication Publication Date Title
EP3874712B1 (en) System, method and apparatus for selecting an edge server
CN107111652B (zh) 基于设备被链接的概率来选择设备内容的系统与方法
US10742526B2 (en) System and method for dynamically controlling sample rates and data flow in a networked measurement system by dynamic determination of statistical significance
US8856146B2 (en) Device for determining internet activity
US20200092181A1 (en) Providing network traffic endpoint recommendation based on network traffic data analysis
EP3211857A1 (en) Http scheduling system and method of content delivery network
US10402465B1 (en) Content authority ranking using browsing behavior
US10325332B2 (en) Incentivizing human travel patterns to reduce traffic congestion
CN109643323B (zh) 使用强化学习来选择内容项
US8478773B1 (en) Interpreting search queries
US11562433B1 (en) Monitored alerts
US20150169787A1 (en) Metanodes for open graph protocols
US9552430B1 (en) Identifying resource locations
US10050831B2 (en) Query latency of a DNS service
US9392041B2 (en) Delivery of two-way interactive content
US9756122B2 (en) Using hierarchical reservoir sampling to compute percentiles at scale
CN106575418B (zh) 建议的关键词
CN115086194B (zh) 云应用的数据传输方法、计算设备及计算机存储介质
Tang et al. CloudRec: A mobile cloud service recommender system based on adaptive QoS management
CN105191251A (zh) 基于站点的服务器选择
CN110851724B (zh) 基于自媒体号等级的文章推荐方法及相关产品
CN114500170B (zh) 一种vpn线路筛选方法、装置、设备及存储介质
US20190044996A1 (en) Evaluation of tcp responses via remote clients
US10805384B1 (en) Systems and methods for load balancing server infrastructure
WO2016014223A1 (en) Seniority standardization model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20211102

WD01 Invention patent application deemed withdrawn after publication