CN110168970B - 响应于增长的数据流量时延延迟新会话的启动 - Google Patents

响应于增长的数据流量时延延迟新会话的启动 Download PDF

Info

Publication number
CN110168970B
CN110168970B CN201780082309.1A CN201780082309A CN110168970B CN 110168970 B CN110168970 B CN 110168970B CN 201780082309 A CN201780082309 A CN 201780082309A CN 110168970 B CN110168970 B CN 110168970B
Authority
CN
China
Prior art keywords
client network
network service
load
server
new users
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.)
Active
Application number
CN201780082309.1A
Other languages
English (en)
Other versions
CN110168970A (zh
Inventor
N.B.摩根
C.麦科伊
T.熊
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.)
Sony Interactive Entertainment LLC
Original Assignee
Sony Interactive Entertainment LLC
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 Sony Interactive Entertainment LLC filed Critical Sony Interactive Entertainment LLC
Publication of CN110168970A publication Critical patent/CN110168970A/zh
Application granted granted Critical
Publication of CN110168970B publication Critical patent/CN110168970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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
    • 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
    • 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/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/75Indicating network or usage conditions on the user display
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • 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
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

一种系统,包括至少一个服务器,其被配置为向多个现有用户提供多客户端网络服务。当服务器从新用户接收加入多客户端网络服务的请求时,服务器可以将时间戳发布给每个新用户,并且基于请求或时间戳获取负载度量。服务器可以重复地将负载度量和阈值负载值进行比较。当确定负载度量不满足或低于阈值负载值时,服务器允许多个新用户加入多客户端网络服务。否则,当确定负载度量满足或高于阈值负载值时,服务器导致向多个新用户发送等待消息,并使多个新用户保持在等待模式中预定的时间、或直到负载度量改变。

Description

响应于增长的数据流量时延延迟新会话的启动
技术领域
本公开一般地涉及多客户端网络服务,诸如多人在线游戏或视频点播服务。更具体地说,本公开涉及一种用于提供多客户端网络服务的系统和方法,其中可以响应于增长的数据流量时延的检测而延迟新用户会话。本公开的系统和方法可适用于例如在线游戏环境、数字内容分发环境以及非娱乐环境。
背景技术
近年来,多客户端网络服务(诸如多人在线游戏、在线娱乐服务、视频点播服务等)已经变得越来越普遍和流行。传统上,多客户端网络服务是在一个或多个服务器上实现的,这些服务器服务服务于多个远程用户。多客户端网络服务的一个现有技术问题是,当需要立即扩展时它们的性能较差。例如,当试图访问已经提供给一定数量的现有用户的同一个多客户端网络服务的新用户数量迅速增加时,处理多客户端网络服务的服务器可能无法快速响应以将新用户加入多客户端网络服务。这些事件通常会导致服务速度下降,使所有用户(包括新用户和现有用户)对多客户端网络服务的体验和享受都不佳。
这个问题的一个特别的例子被称为“游戏风潮”,其会在当一个特定的多人在线游戏被一大群新玩家感兴趣时,他们试图在大体相同的时间参与到游戏中时发生。因此,随着新用户加入请求的增加,服务器和网络基础设施上处理多人在线游戏的数据负载压力也随之增加。当压力增加超过某个阈值时,新用户和现有用户开始体验到更大的延迟、更慢的速度或整体降级的体验。这可能会导致新用户和现有用户重新启动或重新连接到多人在线游戏,这会累积地增加服务器和基础设施上的数据流量,从而对服务器造成更大的压力,并进一步降低服务速度。因此,仍然需要在尝试访问或加入同一个多客户端网络服务的新用户急剧增加时提高和稳定多客户端网络服务的性能。
发明内容
本部分旨在以简化形式介绍一系列概念,这些概念将在下面的具体实施方式部分进一步描述。本发明内容不旨在确定权利要求主题的主要特征或基本特征,也不旨在用于帮助确定权利要求主题的范围。
在本公开的一个方面,提供了一种用于提供娱乐或非娱乐性质的多客户端网络服务的系统。该系统包括服务器,其包括至少一个处理器、包括计算机可执行程序指令的非暂时性计算机可读介质以及配置为使服务器与多个远程用户设备可操作连接的网络接口。该系统还包括至少一个数据存储器,其被配置为至少存储数字媒体内容。当计算机可执行程序指令被至少一个处理器执行时,至少一个处理器在至少一个数据网络上向多个现有用户提供多客户端网络服务,从多个新用户接收多个加入多客户端网络服务使得新用户可以像现有用户如何访问多客户端网络服务一样访问多客户端网络服务的请求,从多个加入多客户端网络服务的请求中获取负载度量,其中负载度量表征至少多客户端网络服务上的流量负载,以及重复地将负载度量与阈值负载值进行比较,以确定在给定时间负载度量是否满足或高于阈值负载值。当确定负载度量不满足或低于阈值负载值时,处理器允许多个新用户中的至少一个加入多客户端网络服务。否则,当确定负载度量满足或高于阈值负载值时,服务器向多个新用户中的至少一个发送等待消息,并使多个新用户中的至少一个保持在等待模式中预定的时间、或直到负载度量改变以不满足、或改变以不高于阈值负载值。
在本公开的另一方面,提供了一种用于提供多客户端网络服务的方法。该方法可以由计算机或服务器实现,并且包括以下操作:通过至少一个数据网络向多个现有用户提供多客户端网络服务,接收来自多个新用户的多个加入多客户端网络服务使得新用户可以像现有用户如何访问多客户端网络服务一样访问多客户端网络服务的请求,从多个加入多客户端网络服务的请求中获取负载度量,其中负载度量表征至少多客户端网络服务上的流量负载,并且重复地将负载度量与阈值负载值进行比较,以确定在给定时间负载度量是否满足或高于阈值负载值。当确定负载度量不满足或低于阈值负载值时,该方法继续进行以允许多个新用户中的至少一个加入多客户端网络服务。当确定负载度量满足或高于阈值负载值时,该方法继续进行向多个新用户中的至少一个发送等待消息,并使多个新用户中的至少一个保持在等待模式中预定的时间、或直到负载度量改变以不满足、或改变以不高于阈值负载值。
在本公开的又一方面,提供了一种其上存储了指令的非暂时性处理器可读介质,当由一个或多个处理器执行时,使一个或多个处理器实现上述提供多客户端网络服务的方法。
示例的附加目的、优点和新颖特征将部分地在下文的描述中阐述、并且在对以下描述和附图进行审查后部分地对本领域技术人员变得清晰、或者可以通过示例的生产或操作来学习。该概念的目的和优点可以通过所附权利要求书中特别指出的方法、工具和组合来实现和得到。
附图说明
在附图的图形中通过示例而非限制来说明实施例,其中类似的参考指示类似的元素。
图1示出了说明用于提供多客户端网络服务的系统的框图。
图2示出了用于提供多客户端网络服务的方法的流程图。
图3示出了用于提供多客户端网络服务的另一种方法的流程图。
图4示出了可用于实现提供多客户端网络服务的方法示例计算机系统。
相应的参考字符指示附图的多个视图中的相应组件。技术人员应当理解的是,图中的元素是为了简单和清晰而描绘的,并且不一定是按比例绘制的。例如,图中一些元素的尺寸可能相对于其他元素进行放大,以帮助提高对本发明各种实施例的理解。此外,通常不描绘在商业可行实施例中有用或必需的常见但易于理解的元素,以促进对本发明的这些不同实施例的不受阻碍的观察。
具体实施方式
本公开一般地涉及一种用于提供多客户端网络服务的系统和方法,例如多人在线游戏、视频点播服务或可供多个远程用户使用的类似在线或基于网络的娱乐服务。本公开原则也适用于非娱乐系统。本文所公开的实施例的各个方面克服了至少一些现有技术的缺点、和/或解决了寻求加入多客户端网络服务的新会话用户数量急剧增加时(诸如在“游戏热潮”时间期间)多客户端网络服务的性能下降的技术问题。因此,本文所公开的实施例的至少一些方面可以提供一些技术效果,诸如在同一个多客户端网络服务的需求增加时,提高提供多客户端网络服务的系统的稳定性和性能,使得现有的多客户端网络服务的用户不会在享受多客户端网络服务中体验到明显的延迟或降级。本公开的原则可适用于可动态增长其容量的系统(例如,可扩展系统)和具有静态容量的系统。
根据本公开的各种实施例,当系统收到来自客户端(用户)的启动、访问或加入特定多客户端网络服务的请求时,系统向所有客户端(用户)发布时间戳(或其他标记)。当客户端(用户)能够启动、访问或加入多客户端网络服务时,客户端成为“现有用户”。此外,当系统从新用户接收到加入多客户端网络服务的请求、并且已经有多个现有用户加入该多客户端网络服务时,系统可以向该请求、或该新用户、或该新用户的用户设备发布时间戳或其他标记。系统可以监视和处理与多个新用户相关联的时间戳,以确定系统上的“压力”水平、延迟、流量和/或任何其他类似的负载度量。可以实时监控此负载度量,以确定它是否高于某个预定或动态确定的阈值。如果负载度量高于阈值,则系统可能不允许新用户加入多客户端网络服务,以免降低现有用户对多客户端网络服务的体验和享受。可能会要求新用户等待一段时间,直到系统的当前负载容量增大或系统被适当地扩展以便能够加入新用户,而不会对现有用户产生影响。因此,可以基于先到先服务的策略(例如,基于分配给新用户的相应时间戳或其他标识或标识符(ID))将新用户加入多客户端网络服务。
在另一个实施例中,系统具有另一个负载阈值,这样当负载低于该负载阈值时请求不会发布时间戳。在这种实施例中,如果系统上的负载很少,则可以避免发布时间戳的开销。随着负载的增加,新的阈值将被超过,并且来自用户的请求将收到时间戳。随着负载的进一步增加,负载阈值被超过,但来自以前用户的请求将具有时间戳,被识别为“现有用户”,并且不会是指等待。
在一些实现中,系统还可以确定新用户的个人用户设备或新用户的机器的品牌(make)、型号、类型或任何其他特征,以便系统仅能优先加入那些操作预定的品牌、型号、类型或其他特征的个人用户设备或机器的用户。例如,可以允许那些操作特定品牌的游戏设备的新用户在其他操作其他设备的新用户加入相同的多客户端网络服务之前加入该多客户端网络服务。
在另一个实现中,有关处理传入请求的决定可以基于用户,而不是来自请求的设备。例如,具有“黄金级别”帐户的用户可以给予优先权,而不管其使用的是什么设备。系统可以基于用户请求中包含的数据确定帐户级别。
在另一个实现中,当响应于用户请求提供估计等待时间时,用户设备可以向用户显示估计等待时间。
在另一个实现中,当计算估计等待时间时,对请求的响应可以提供有关控制时间段的信息,直到用户(客户端)重试用户请求。随着系统负载的增加,这种延迟可能会增加,从而减少进入系统的重试请求次数,其在最需要释放时减轻系统的压力。
在另一个实现中,服务器可以跟踪发出的特定时间戳,例如使用ID,这样,如果显示时间戳的客户端出现错误行为(例如,过于频繁地重试请求),则服务器可能会使时间戳失效。
在其他实现中,发出的时间戳可能有失效时间。如果特定的现有用户在长时间缺席后返回时间戳,则该用户的时间戳将失效,并将被视为“新用户”而不是“现有用户”,并将被发出新的时间戳,并可能导致在加入同一个多客户端网络服务之前进行等待。当用户对时间戳做出额外请求时,时间戳的失效可以被延期。这可以通过向用户返回更新的时间戳或通过调整存储在服务器端的失效来完成。时间戳的失效可以延长多少是可以有限制的。
在一些其它实现中,提供给用户(客户端或用户设备)的时间戳可以通过应用加密、哈希、加盐、校验和或将时间戳与用户关联(例如,Internet协议(IP)地址、设备ID、帐户ID等)来保护。
在其他的实现中,系统可以配置为随时间聚合负载度量以生成历史数据。系统可以对历史数据进行分析,以进行负载或流量预测。这些预测可以改变阈值,从而提前解决新用户可能急剧增加的问题。换言之,这些预测可用于确定是否在给定时间将新用户加入多客户端网络服务。因此,系统可以提前检测一些事件,例如“游戏热潮”事件,并提前处理这些事件。预测可以基于历史数据、使用人工智能方法、机器学习方法、统计方法、启发式方法、数据模式识别方法、曲线比较方法和/或确定负载需求中的加速或减速或与多客户端网络服务的使用相关联的其他特征的方法。
在一些其它实现中,可以建立多个阈值来监视。例如,可以有对应于系统上预定负载量的第一阈值。当负载度量(如本文所述,系统上的“压力”水平、延迟、流量或基于时间戳的其他度量)超过第一阈值时,系统可能不允许新用户加入多客户端网络服务,以免降现有用户的低多客户端网络的体验和享受。可能会要求新用户等待一段时间,直到系统当前的负载容量增大或系统适当扩展以便能够为现有用户无缝地加入新用户。可以基于系统的容量设置第一阈值。第一阈值可以是固定的,也可以基于一个或多个条件实时自动更新。系统还可以维护与第一阈值不同的第二阈值。第二阈值通常在第一阈值被“触发”(即当负载度量达到第一阈值)时发挥作用。第二阈值可以是时间戳的截止时间。因此,引起生成具有在第二阈值(即截止时间)之前发布的时间戳的用户请求的用户可以加入多客户端网络服务。相反,引起生成具有在第二阈值(即截止时间)之后发布的时间戳的用户请求的用户在至少一段等待时间内不允许加入多客户端网络服务。第二阈值可以预先确定的,或者也可以基于系统上的负载不断更新。
在一些实现中,多客户端网络服务或系统可以跟踪它所发布的时间戳。例如,系统可以使用此信息确定在调整第二阈值时将第二个阈值移动多远。
应当注意的是,尽管本公开描述了关于在线游戏的示例实施例,但多客户端网络服务可用于娱乐服务(例如,内容交付系统、在线游戏等)和非娱乐服务(例如,在线股票报价和交易系统)。
在一些实施例中,用于提供多客户端网络服务的系统可以是固定容量的。在这些实施例中,系统被设计以使新用户等待,以确保现有会话不会超过系统容量。因此,本文所述的原则可用于系统遇到由新用户导致的数据流量峰值的情况。如果系统试图向所有新用户和现有用户提供服务,则这种峰值将超过系统容量。例如,与多个新客户端相关联的计时器同时创建大量流量可能会导致这种峰值。
在其他实施例中,用于提供多客户端网络服务的系统(如本文所述)可以具有响应于增加的负载(流量)而动态增加系统容量的能力。这可以通过例如允许更多服务器处理系统请求来实现。一旦系统启动容量的增加,可能需要一些时间使新容量变为可用。流量突然增加可能会导致从系统启动容量的增加的时间到容量的增加变为可用的时间期间对系统的请求数量超过系统处理这些请求的能力。当流量超过容量时新的用户请求可以被强制等待,以确保现有用户不会受到不利影响。当额外的容量变为可用时,可以允许被迫等待的新用户访问本文所述的多客户端网络服务。如果流量的增加比容量的增加更大,则只有部分被迫等待的新用户可以访问多客户端网络服务,以确保新的现有用户集不会超过新的容量。
以下实施例的详细描述包括对附图的参考,这些附图构成详细描述的一部分。本节所述的方法不是权利要求的现有技术,也不通过包含在本节中而被承认为现有技术。在本说明书中,对“一个实施例”、“实施例”、“一些实施例”、“一些实现”或类似语言的引用意味着与示例实施例相关的特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,本说明书中短语“在一个实施例中”、“在实施例中”、“在一些实施例中”的出现以及类似语言可能但未必指的是相同的实施例。
此外,实施例的特征、结构或特性可以以任何适当的方式组合在一个或多个实现中。在下面的描述中,提供了许多具体的细节,例如编程示例、软件模块、用户选择、网络处理、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等,以提供对实施例的透彻理解。然而,相关领域的技术人员将认识到,实施例可以在没有一个或多个具体细节的情况下实施,或使用其他方法、组件、材料等实施。在其他情况下,不详细示出或描述公知的结构、材料或操作,以避免模糊本公开的各个方面。
现在将参考示出了模块、组件、电路、步骤、操作、过程、算法(简单起见,统称为“元素”)等的附图来介绍本公开的实施例的各个方面。这些元素可使用电子硬件、计算机软件或其任何组合来实现。这些元素是作为硬件还是软件实现取决于施加在整个系统上的特定应用程序和设计约束。举例来说,元素或元素的任何部分、或元素的任何组合可以用包含一个或多个处理器的“操作系统”来实现。处理器的示例包括微处理器、微控制器、中央处理单元(CPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑、离散硬件电路、以及配置以执行本发明中描述的各种功能的其他合适硬件。处理系统中的一个或多个处理器可以执行软件、固件或中间件(统称为“软件”)。术语“软件”应广义地解释为处理器可执行指令、指令集、代码段、程序代码、程序、子程序、软件组件、应用程序、软件应用程序、软件包、例程、子例程、对象、可执行文件、执行线程、规程、函数等,无论是否称为软件的固件、中间件、微码、硬件描述语言等。
因此,在一个或多个实施例中,本文中所述的功能可在硬件、软件或其任何组合中实现。如果在软件中实现,功能可以存储在非暂时性计算机可读介质上,或在非暂时性计算机可读介质上编码为一个或多个指令或代码。计算机可读介质包括计算机存储介质。存储介质可以是计算机可以访问的任何可用介质。通过示例而非限制,这种计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)或其他光盘存储器、磁盘存储器、固态存储器或任何其他数据存储设备、上述各种类型计算机可读介质的组合、或可用于以指令或数据结构的形式存储可以被计算机访问的计算机可执行代码的任何其他介质。
就本专利文件而言,术语“或”和“和”应指“和/或”,除非在其使用上下文中另有说明或另有明确的意图。“一”一词应指“一个或多个”,除非另有说明或“一个或多个”的使用明显不当。术语“包括”、“包括了”、“包含”和“包含了”是可互换的,并且不意图限制。例如,术语“包含了”应解释为“包括但不限于”。
术语“数字内容”和“数字产品”应理解为以下一种或多种:媒体内容、多媒体内容、娱乐内容、视频、点播视频、付费视频、音频、音乐、电视演出、电视节目、电影、计算机游戏、视频游戏、互联网游戏、网络游戏、游戏机游戏、虚拟现实内容、电子图书、以及电子杂志。根据本公开的实施例,数字产品可以是仅供购买的产品。术语“数字内容”和“数字产品”可以互换使用。
术语“多客户端网络服务”应理解为指使用客户端服务器体系结构向多个终端用户传达与请求服务相关的数据的请求服务的规定。多客户端网络服务的一些例子包括多人在线游戏、多人网络游戏、多人基于互联网的游戏、多人虚拟现实游戏、基于互联网的媒体内容广播、在线多媒体内容广播、在线娱乐内容广播、视频点播服务、付费视频服务、Web服务等。多客户端网络服务可以由终端用户和/或自动进程启动或调用,即由计算机(诸如终端用户设备、网络设备、服务器等)启动或调用。因此,多客户端网络服务可以由可以是用户或机器的“客户端”启动或调用。
术语“用户设备”、“远程用户设备”以及“个人设备”是指配置为处理和显示数字数据以及数据通信的任何电子设备。通过示例而不是限制,用户设备的一些示例包括移动设备、便携式电话、用户设备、终端、移动电话、智能电话、互联网电话、平板电脑、笔记本电脑、台式机、工作站、瘦客户端、个人数字助理、音乐播放器、多媒体播放器、游戏设备、游戏机、导航系统、电视系统、多媒体系统、多媒体播放器、上网本、家庭网关、宽带网关、网络设备、机顶盒、接入网关、网络交换机、娱乐系统、信息娱乐系统和车载电脑。术语“用户设备”、“远程用户设备”、“个人设备”可以互换使用。
术语“用户”应理解为指上述定义的用户设备的终端用户。术语“现有用户”应解释为指已经接收访问或加入多客户端网络服务的用户设备的用户。术语“新用户”应理解为指请求访问或加入多客户端网络服务、但尚未被提供访问或加入多客户端网络服务的用户设备的用户。术语“新用户”也可以理解为是指“新会话”用户(即多客户端网络服务的特定会话的新的用户)。
术语“负载度量”应解释为指表征例如提供至少一个多客户端网络服务的系统或服务器上的负载(例如,流量负载)的参数。术语“负载度量”也可解释为表示表征提供至少一个多客户端网络服务的系统或服务器的使用的参数。术语“负载度量”也可解释为表示表征与提供至少一个多客户端网络服务的系统或服务器相关的数据通信延迟的参数。
现在参考附图来描述示例实施例。这些附图是理想化示例实施例的示意图。因此,本文所讨论的实施例不应解释为仅限于本文所示的特定附图,而这些实施例可以包括差异,并且与本文所示的附图不同。
图1示出了根据一个示例实施例的说明用于提供多客户端网络服务的系统100的框图。图1假设多客户端网络服务的所有调用方都是用户设备。多客户端网络服务可以与数字产品或数据进行操作,或者也可以简单地验证或生成令牌或进行计算。系统100可以包括服务器105,该服务器105转而可以包括至少一个处理器、用于存储数据库的计算机可读介质、至少一个数字产品、或计算机可实现指令、以及用于使服务器能够与系统的其他元素通信的网络接口。服务器105可以维护和提供在线商店,诸如在线数字内容商店或在线游戏商店,用于向用户销售数字产品。服务器105可以维护视频点播服务并将其提供给多个用户。服务器105还可以与游戏服务器相关,以维护多人在线游戏并将其提供给多个用户。
服务器105可以通过一个或多个通信网络115与一个或多个用户设备110A、110B进行操作通信。如上所述,用户设备110A、110B由用户操作,并且可以指个人电脑、游戏机、移动设备等。通信网络115可以指任何有线、无线或光网络,包括例如互联网、内部网、局域网(LAN)、个人局域网(PAN)、广域网(WAN)、虚拟专用网(VPN)、蜂窝电话网络(例如包交换通信网、电路交换通信网)、蓝牙无线电、以太网、基于IEEE 802.11的射频网络、因特网协议(IP)通信网络或任何其他利用物理层、链路层能力或网络层传输数据包的数据通信网络,或以上列出的数据网络的任何组合。
用户设备110A、110B可以是不同的品牌、型号或类型。例如,可以有用户设备110A,它是指预先确定的品牌、型号或类型的用户设备,也可以有用户设备110B,它不是指预先确定的品牌、型号或类型的用户设备。或者,用户设备110A是指第一预定品牌、型号或类型的用户设备,而用户设备110B是指第二预定品牌、型号或类型的用户设备。例如,用户设备110A可以是PlayStationTM设备或SonyTM品牌的设备。
在一些实现中,可以将服务器105配置为确定用户设备的品牌、型号或类型,并将其分类为用户设备110A或用户设备110B。服务器可以基于从用户设备接收的元数据或也从用户设备接收到的其他通信(诸如加入多客户端网络服务的请求)来做出该确定。此外,服务器105可以基于是否被分类为用户设备110A或用户设备110B来决定添加特定的用户设备。例如,服务器105可以比用户设备110B优先加入并服务用户设备110A。
系统100还包括一个或多个数据存储或数字内容提供者125,例如服务器计算机,其可以存储数字产品或提供至少部分多客户端网络服务。可以基于从服务器105收到的指令将数字产品传输或广播到选定的用户设备。例如,当用户设备110中的一个用户访问由服务器105维护的在线商店并请求访问某个数字产品(例如,视频点播或在线多人计算机游戏)时,可以从内容提供者125中的一个下载到相应的用户设备;或者,用户设备可以被授予访问内容提供者125以访问所购买的数字产品。
服务器105还可以包括数据库,用于维护用户帐户、用户设置、用户喜好、用户个人信息、用户支付信息、以及一些数字产品(可选的)。数据库可以是存储与用户ID或用户帐户相关联的数字产品的ID或索引的关系数据库。
如本文所述,服务器105可以向用户设备110A和/或用户设备110B的多个用户提供多客户端网络服务120,例如多人在线游戏。多客户端网络服务120可以通过一个或多个通信网络115提供给用户设备。服务器105可以持续监控与多客户端网络服务120相关联的数据流量,以确保提供多客户端网络服务120没有延迟,也不会降低与多客户端网络服务120相关联的任何性能。对于这些终端,当服务器105收到用户访问或加入多客户端网络服务120的请求时,服务器105可以向用户设备110A、110B的每个新用户发布时间戳。在其他实现中,服务器105可以向新用户发出其他标识或ID,而不是时间戳或者除了时间戳之外。
仅基于时间戳,服务器105可以确定或计算负载度量,例如延迟值、数据流量值、系统压力值等。然而,在其他实现中,可以基于其他或附加标准(如数据网络相关测量、当前负载容量等)来确定、获取或计算负载度量。
服务器105可以进一步维护阈值负载值,可以基于一些标准(例如,供给多客户端网络服务的服务器105的当前负载容量)预先确定或动态更改该阈值负载值。服务器105可以重复地将从用户请求或时间戳中获得的负载度量与阈值负载值进行比较,以确定负载度量是否满足或超过阈值负载值。例如,当出现“游戏热潮”事件或新用户数量急剧增加时,服务器105可以检测到当前负载度量满足或超过阈值负载值。在这种情况下,不允许新用户访问或加入多客户端网络服务120(至少是临时的),并保持在等待模式,以确保现有用户继续享受多客户端网络服务120,而不会在与多客户端网络服务120相关的服务质量中有中断或降低。
在一些实现中,等待模式可以终止,并且新用户可以在预定的时间到期后加入多客户端网络服务120。在其他实现中,当服务器105确定当前负载度量变得低于阈值负载值后,可以结束等待模式并且新用户可以加入多客户端网络服务120。在其他实现中,在服务器105升级从而能够在没有速度上的大量降低或没有延迟上的增加的情况下将相同的多客户端网络服务120提供给更大的用户组时,可以结束等待模式并且新用户可以加入多客户端网络服务120。例如,服务器105可以管理添加或激活一个或多个额外的计算资源130(例如,与服务器105类似的服务器),以与服务器105协同工作,向更大的用户组提供相同的多客户端网络服务120。当添加或激活额外的计算资源130时,可以允许一个或多个新用户加入多客户端网络服务120。
只要当服务器105检测到当前负载度量满足或超过阈值负载值时,新用户不允许访问或加入多客户端网络服务120,服务器105就可以向这些新用户传递或导致向其传递等待消息,以通知他们至少暂时不允许访问或加入多客户端网络服务。服务器105还可以基于每个新用户的时间戳和可选的其他条件(诸如当前负载容量、当前负载度量或当前阈值负载值)为每个新用户计算等待时间。等待时间可以包括在等待消息中。因此,新用户可能了解何时可以开始享受多客户端网络服务120。
还可以将服务器105配置为基于一个或多个条件(诸如新用户和现有用户的计数、时间戳、带宽、网络基础设施参数、延迟参数等)确定和监控服务器105或多客户端网络服务120的当前负载容量。在一些实现中,服务器105还可以配置为基于当前负载容量随时间的变化动态地或重复地更新阈值负载值。
服务器105还被配置为响应由新用户和现有用户生成的一个或多个离散网络请求。服务器105可能无法为现有用户保持已建立的连接,但可以回答现有用户生成的其他请求。服务器105可以分析请求并区分它们是由现有用户还是新用户发起的。例如,当服务器105回答这些附加请求中的每一个时,服务器105将从时间戳中得知特定请求来自现有用户,并允许该请求通过,即使其他请求被告知等待。
在其他实现中,还可以将服务器105配置为在一个或多个周期内收集负载度量以获取历史数据。因此,历史数据表征了多客户端网络服务120在预定周期内的需求。换言之,历史数据可以基于若干因素或事件通知关于特定的多客户端网络服务的负载度量是如何随时间变化的。
此外,服务器105可以处理和分析历史数据,以做出与多客户端网络服务120中的未来负载需求、与服务器105或多客户端网络服务120关联的负载容量或负载度量相关的一些预测。至少部分基于这些预测,服务器105可以有选择地使一个或多个新用户能够访问或加入多客户端网络服务120。可以使用人工智能方法、机器学习方法、统计方法、启发式方法、数据模式识别方法、曲线比较方法和/或确定负载需求中的加速或减速或与多客户端网络服务120相关联的其它特征的方法,基于历史数据做出预测。
图2是根据示例实施例显示用于提供多客户端网络服务的方法200的流程图。方法200可通过处理逻辑来执行,所述处理逻辑可包括硬件(例如,决策逻辑、专用逻辑、可编程逻辑、专用集成电路(ASIC))、软件(例如,在通用计算机系统或专用机器上运行的软件)或两者的组合。在一个示例实施例中,处理逻辑是指图1的服务器105。下面列举的方法200的操作可以按照不同于图中描述和显示的顺序执行。此外,方法200可能具有本文未显示的额外操作,但对于本领域技术人员来说,从本公开中可以显而易见。方法200可能具有比下面概括和图2所示的更少的操作。
方法200假定多客户端网络服务已经由一个或多个客户端(用户设备)启动,并且使用多客户端网络服务的用户是“现有客户端”。因此,方法200可以在操作205中开始,其中服务器105通过至少一个通信网络115向用户设备110A、110B的多个现有用户端提供或维护多客户端网络服务120。多客户端网络服务120可以指例如网络多人游戏、在线多人游戏、虚拟现实多人游戏、视频点播服务、电视广播服务、多用户在线娱乐服务等。
在操作210中,服务器105从一个或多个新用户接收一个或多个加入多客户端网络服务120的请求,以便新用户可以像现有用户如何访问和享受多客户端网络服务120一样访问同一个多客户端网络服务120。加入多客户端网络服务120的请求可以包括一些数据或元数据,诸如用户ID、用户证书、指出用户要加入或访问何种多客户端网络服务的信息、有关用户设备的品牌、型号或类型的信息等。在一些实施例中,服务器105可以向新用户的用户设备请求任何或所有上述列出的参数,诸如用户ID、用户证书、指出用户要加入或访问何种多客户端网络服务的信息,以及有关用户设备的品牌、型号或类型的信息。
在操作215中,服务器105在收到来自新用户的访问或加入多客户端网络服务120的请求后,单独地且独立地向每个新用户发布时间戳。时间戳可以与访问或加入多客户端网络服务120的请求相关联,并存储在服务器105的存储器或数据库或其他数据存储器(如数据存储器125)中。每个时间戳都可以表征某个新用户何时请求访问或加入多客户端网络服务120、或服务器105何时收到访问或加入多客户端网络服务120的相应请求的时间和日期。
在操作220中,服务器105从加入或访问多客户端网络服务120的请求中获取负载度量。可以基于时间戳和可选的其他参数(如多客户端网络服务120的当前负载容量)计算负载度量。对于这些终端,服务器105可以重复地确定多客户端网络服务120的当前负载容量。因此,负载度量可以在一个或多个给定时间表征多客户端网络服务上的至少流量负载。
在操作225中,服务器105重复地将负载度量与阈值负载值进行比较,以确定负载度量在给定时间是否满足或高于阈值负载值。因此,在操作230中,服务器105对负载度量在给定时间是否满足或高于阈值负载值做出相应的决定。显然,操作225和230可以看作是由服务器105执行的单个操作。
如果确定负载度量不满足或低于阈值负载值,则方法200继续进行到操作235,其中服务器105有选择地允许一个或多个新用户加入或访问多客户端网络服务120。在一些实现中,可以基于先到先顾服务的策略批准或允许新用户加入多客户端网络服务120。在其他实现中,如上所述,可以基于新用户使用的用户设备110A或110B的品牌、型号、商标或类型批准或允许新用户加入多客户端网络服务120。
或者,如果确定负载度量确实满足或高于阈值负载值,则方法200继续进行到操作240,其中服务器105基于每个新用户的时间戳和负载度量为每个新用户计算估计等待时间。此外,在操作245中,服务器105将等待消息传递给至少一个新用户,并使至少一个新用户保持在等待模式中一段预定时间,或者直到负载度量发生变化以不满足、或发生变化以不高于阈值负载值。如果现有用户“离开”并且不再访问多客户端网络服务120,或者当服务器105激活一个或多个额外的计算(或网络)资源130以增加服务器105或多客户端网络服务120的容量时,负载度量可以改变。每个等待消息可以包括为每个新用户单独计算的估计等待时间。在预定周期期满后,方法200可返回到操作225和操作230,以确定负载度量是否改变以满足或高于阈值负载值。因此,如果现有用户离开并且不再访问多客户端网络服务120,或服务器105激活一个或多个额外的计算(或网络)资源130,则服务器105可以使一个或多个新用户能够加入多客户端网络服务120。
在一些实现中,服务器105可以基于多客户端网络服务当前负载容量的变化或其他参数(如数据流量参数)动态更新阈值负载值。
如上所述,服务器105可以维护第二阈值,其与上述阈值不同。第二阈值可能在操作240或245中起作用。第二阈值可以是时间戳的截止时间。因此,引起生成具有在第二阈值(即截止时间)之前发布的时间戳的用户请求的用户可以加入多客户端网络服务。引起生成具有在第二阈值(即截止时间)之后发布的时间戳的用户请求的用户在至少一段等待时间内不允许加入多客户端网络服务。第二阈值可以预先确定的,或者也可以基于系统上的负载不断更新。
图3是根据示例实施例的显示用于提供多客户端网络服务的另一方法300的流程图。方法300可通过处理逻辑来执行,所述处理逻辑可包括硬件(例如,决策逻辑、专用逻辑、可编程逻辑、ASIC)、软件(例如在通用计算机系统或专用机器上运行的软件)或两者的组合。在一个示例实施例中,处理逻辑是指图1的服务器105。下面列举的方法300的操作可以按照不同于图中描述和显示的顺序执行。此外,方法300可能具有本文未显示的额外操作,但对于本领域技术人员来说,从本公开中可以显而易见。方法300可能具有比下面概括和图3所示的更少的操作。在一些实现中,方法200的操作和方法300的操作可以混合在混合方法中。
方法300从操作305开始,当服务器105通过至少一个通信网络115向用户设备110A、110B的多个现有用户提供、供应或维护多客户端网络服务120。如上所述,多客户端网络服务120可以指网络多人游戏、在线多人游戏、虚拟现实多人游戏、视频点播服务、电视广播服务、多用户在线娱乐服务等。
在操作310中,服务器105从一个或多个新用户接收一个或多个加入多客户端网络服务120的请求,以便新用户可以像现有用户如何访问和享受多客户端网络服务120一样访问同一个多客户端网络服务120。加入多客户端网络服务120的请求可以包括一些数据或元数据,诸如用户ID、用户证书、指出用户要加入或访问何种多客户端网络服务的信息、有关用户设备的品牌、型号或类型的信息等。在一些实施例中,服务器105可以向新用户的用户设备请求任何或所有上述列出的参数,诸如用户ID、用户证书、指出用户要加入或访问何种多客户端网络服务的信息,以及有关用户设备的品牌、型号或类型的信息。
在操作315中,服务器105在收到来自新用户的访问或加入多客户端网络服务120的请求后,单独地且独立地向每个新用户发布时间戳。时间戳可以与访问或加入多客户端网络服务120的请求相关联,并存储在服务器105的存储器或数据库或其他数据存储器(如数据存储器125)中。每个时间戳都可以表征某个新用户何时请求访问或加入多客户端网络服务120、或服务器105何时收到访问或加入多客户端网络服务120的相应请求的时间和日期。在一些实现中,时间戳可以替换为其他ID或指示符,以反映服务器何时105发布、发送或接收相应请求的时间。
在操作320中,服务器105从加入或访问多客户端网络服务120的请求中获取负载度量。可以基于时间戳和可选的其他参数(如多客户端网络服务120的当前负载容量)计算负载度量。对于这些终端,服务器105可以重复地确定多客户端网络服务120的当前负载容量。因此,负载度量可以在一个或多个给定时间表征多客户端网络服务上的至少流量负载。
在操作325中,服务器105收集负载度量以获取表征例如多客户端网络服务120中随时间变化的需求的历史数据。换言之,历史数据可以基于若干因素或事件(诸如“游戏热潮”时间)通知关于多客户端网络服务120的负载度量是如何随时间变化的。
在操作330中,服务器105基于历史数据预测多客户端网络服务120的未来负载需求。服务器105可以基于历史数据使用以下一种或多种方法进行预测:人工智能方法、机器学习方法、统计方法、启发式方法、数据模式识别方法、曲线比较方法、以及确定负载需求中的加速或减速或与多客户端网络服务120相关联的其它特征的方法。
在操作335中,服务器105基于服务器105先前预测的未来负载需求,有选择地允许至少一个新用户加入或访问多客户端网络服务120。操作335可以是图2方法200中操作225和230的补充操作。换言之,在一些可选的实现中,预测可以帮助决定或计算阈值负载值。
图4是说明适于实施本文所述方法的计算设备400的高层框图。具体地,计算设备400可用于实施如上所述的提供多客户端网络服务的方法。计算设备400可以包括一种或多种类型设备、可以是一种或多种类型设备、或者是一种或多种类型设备的必不可少的部分,诸如通用计算机、台式计算机、笔记本电脑、平板电脑、服务器、上网本、移动电话、智能手机、信息娱乐系统、智能电视设备等。在一些实施例中,可将计算设备400视为服务器105、用户设备110A、110B、额外计算资源130、以及数据存储器/数字内容提供者125的实例。
如图4所示,计算设备400包括一个或多个处理器410、存储器420、一个或多个大容量存储设备430、零个或多个输出设备450、零个或多个输入设备460、一个或多个网络接口470、零个或多个可选外围设备480、以及用于操作互连上述元素的通信总线490。处理器410可配置为在计算设备400内执行功能和/或处理执行指令。例如,处理器410可以处理存储在存储器420中的指令或存储在存储设备430上的指令。这些指令可能包括操作系统或软件应用程序的组件。
根据一个示例,存储器420被配置为在操作期间在计算设备400存储器储信息。例如,存储器420可以存储数据库或数字媒体内容,诸如数字产品或其它与多客户端网络服务有关的数据。在一些示例实施例中,存储器420可指非暂时性计算机可读存储介质或计算机可读存储设备。在一些示例中,存储器420是暂时存储器,这意味着存储器420的主要用途可能不是长期存储器。存储器420也可指易失性存储器,这意味着当存储器420不上电时,存储器420不保持存储的内容。易失性存储器的例子包括RAM、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和本领域已知的其他形式的易失性存储器。在一些示例中,存储器420用于存储由处理器410执行的程序指令。在一个示例中,存储器420被软件应用程序使用。一般来说,软件应用程序是指适用于实现用于如本文所述的方法的至少一些操作的软件应用程序。
大容量存储设备430还可以包括一个或多个暂时或非暂时计算机可读存储介质或计算机可读存储设备。例如,存储器430可以存储数据库220或数字媒体内容,如数字产品或其它与多客户端网络服务有关的数据。在一些实施例中,大容量存储设备430可配置为存储比存储器420更多的信息。大容量存储设备430也可以配置为信息的长期存储器。在一些示例中,大容量存储设备430包括非易失性存储元件。此类非易失性存储元件的例子包括硬盘、光盘、固态磁盘、闪存、电可编程存储器(EPROM)或电可擦除可编程存储器的形式,以及本领域已知的其他形式的非易失性存储器。
计算设备400还可以包括零个或多个输入设备460。输入设备460可配置为通过触觉、音频、视频或生物特征通道接收来自用户的输入。输入设备460的例子可以包括键盘、小键盘、鼠标、轨迹球、触摸屏、触摸板、麦克风、摄像机、图像传感器、指纹传感器、或能够检测用户或其他来源的输入并将输入中继到计算设备400或其组件的任何其他设备。
输出设备450可配置为通过视觉或听觉通道向用户提供输出。输出设备450可包括视频图形适配卡、显示器,例如液晶显示器(LCD)显示器、发光二极管(LED)显示器或有机LED显示器、声卡、扬声器、照明设备、投影仪,或能够产生用户可理解的输出的任何其他装置。输出设备450还可包括触摸屏、存在敏感显示器或本领域已知的其他可输入/输出的显示器。
计算设备400还可以包括网络接口470。网络接口470可用于通过一个或多个网络(诸如一个或多个有线网络、无线网络或光网络)与外部设备进行通信,所述网络例如包括互联网、内部网、局域网、广域网、蜂窝电话网络(例如,全球移动通信系统网络、长期演进通信网络、分组交换通信网络、电路交换通信网络)、蓝牙无线电、以及基于IEEE802.11的射频网络等。网络接口470可以是网络接口卡,例如以太网卡、光收发器、射频收发器或任何其他类型的可以发送和接收信息的设备。
计算设备400的操作系统可以控制计算设备400或其组件的一个或多个功能。例如,操作系统可以与软件应用程序交互,并且可以促进软件应用程序和处理器410、存储器420、存储设备430、输入设备460、输出设备450以及网络接口470之间的一个或多个交互。操作系统可以与软件应用程序或其组件交互或以其他方式耦合。在一些实施例中,软件应用程序可以包括在操作系统中。
因此,描述了提供多客户端网络服务的方法和系统。尽管已参照具体的示例实施例描述了实施例,显而易见的是,在不背离本申请的更广泛的精神和范围的情况下可以对这些示例实施例进行各种修改和更改。因此,说明书和附图应视为说明性而非限制性的。

Claims (20)

1.一种用于提供多客户端网络服务的系统,所述系统包括:
服务器,包括至少一个处理器、包括计算机可执行程序指令的非暂时性计算机可读介质以及配置为使所述服务器与多个远程用户设备可操作连接的网络接口;以及
数据存储器,所述数据存储器至少存储数字媒体内容;
其中,当所述计算机可执行程序指令被所述至少一个处理器执行时,所述至少一个处理器:
在至少一个数据网络上向多个现有用户提供所述多客户端网络服务,所述多客户端网络服务涉及所述数字媒体内容;
从多个新用户接收多个加入所述多客户端网络服务使得所述新用户能够像所述现有用户如何访问所述多客户端网络服务一样访问所述多客户端网络服务的请求;
从所述多个加入所述多客户端网络服务的请求中获取负载度量,其中所述负载度量表征至少所述多客户端网络服务上的流量负载;
重复地将所述负载度量与阈值负载值进行比较,以确定所述负载度量是否满足或高于所述阈值负载值;
当确定所述负载度量不满足或低于所述阈值负载值时,允许所述多个新用户中的至少一个加入所述多客户端网络服务;并且
当确定所述负载度量满足或高于所述阈值负载值时,向所述多个新用户中的至少一个发送等待消息,并使所述多个新用户中的所述至少一个保持在等待模式中预定的时间、或直到所述负载度量改变以不满足、或改变以不高于所述阈值负载值。
2.根据权利要求1所述的系统,其中,当所述计算机可执行程序指令由所述至少一个处理器执行时,所述至少一个处理器在收到来自所述多个新用户的加入所述多客户端网络服务的所述请求后,进一步单独地且独立地向每个所述新用户发布时间戳。
3.根据权利要求2所述的系统,其中,当所述计算机可执行程序指令由所述至少一个处理器执行时,所述至少一个处理器进一步:
重复地确定所述多客户端网络服务的当前负载容量;以及
基于所述多客户端网络服务所述当前负载容量的变化动态更新所述阈值负载值;
其中,所述负载度量仅基于与所述多个新用户相关联的所述时间戳和所述多客户端网络服务的所述当前负载容量计算。
4.根据权利要求2所述的系统,其中,当所述计算机可执行程序指令由所述至少一个处理器执行时,所述至少一个处理器进一步:
基于所述负载度量和每个所述新用户的所述时间戳,为每个所述新用户计算估计等待时间;
其中每个所述等待消息包括为每个所述新用户单独计算的所述估计等待时间。
5.根据权利要求1所述的系统,其中,当所述计算机可执行程序指令由所述至少一个处理器执行时,所述至少一个处理器进一步可操作地激活一个或多个额外计算资源,以在确定所述负载度量满足或高于所述阈值负载值时增加所述多客户端网络服务的容量。
6.根据权利要求5所述的系统,其中,当所述计算机可执行程序指令由所述至少一个处理器执行时,所述至少一个处理器在激活所述一个或多个额外计算资源时,进一步允许所述多个新用户中的所述至少一个加入所述多客户端网络服务。
7.一种用于提供多客户端网络服务的方法,所述方法包括:
由服务器通过至少一个数据网络向多个现有用户提供多客户端网络服务;
由所述服务器接收来自多个新用户的多个加入所述多客户端网络服务使得所述新用户可以像所述现有用户如何访问所述多客户端网络服务一样访问所述多客户端网络服务的请求;
由所述服务器从所述多个加入所述多客户端网络服务的请求中获取负载度量,其中所述负载度量表征至少所述多客户端网络服务上的流量负载;
由所述服务器重复地将所述负载度量与阈值负载值进行比较,以确定在给定时间所述负载度量是否满足或高于所述阈值负载值;
当确定所述负载度量不满足或低于所述阈值负载值时,由所述服务器允许所述多个新用户中的至少一个加入所述多客户端网络服务;并且
当确定所述负载度量满足或高于所述阈值负载值时,由所述服务器向所述多个新用户中的所述至少一个发送等待消息,并使所述多个新用户中的所述至少一个保持在等待模式中预定的时间、或直到所述负载度量改变以不满足、或改变以不高于所述阈值负载值。
8.根据权利要求7所述的方法,其中所述多客户端网络服务包括以下一种或多种:网络多人游戏、在线多人游戏和虚拟现实多人游戏。
9.根据权利要求7所述的方法,其中所述多客户端网络服务还包括以下一项或多项:视频点播服务、电视广播服务和多用户在线娱乐服务。
10.根据权利要求7所述的方法,还包括:
在收到来自所述多个新用户的加入所述多客户端网络服务的所述请求后,由所述服务器单独地且独立地向每个所述新用户发布时间戳。
11.根据权利要求10所述的方法,其中所述负载度量仅基于与所述多个新用户相关联的所述时间戳进行计算。
12.根据权利要求10所述的方法,还包括:
由所述服务器重复地确定所述多客户端网络服务的当前负载容量;
其中,所述负载度量仅基于与所述多个新用户相关联的所述时间戳和所述多客户端网络服务的所述当前负载容量计算。
13.根据权利要求10所述的方法,还包括:
由所述服务器重复地确定所述多客户端网络服务的当前负载容量;以及
由所述服务器基于所述多客户端网络服务的所述当前负载容量的变化动态更新所述阈值负载值。
14.根据权利要求10所述的方法,还包括:
由所述服务器基于所述负载度量和所述每个新用户的所述时间戳为每个所述新用户计算估计等待时间,其中每个所述等待消息包括为每个所述新用户单独计算的所述估计等待时间;
当确定所述负载度量满足或高于所述阈值负载值时,由所述服务器确定每个所述新用户的所述时间戳是否高于或低于第二阈值;
如果确定特定新用户的所述时间戳高于所述第二阈值,则会导致所述服务器将所述特定新用户保持在所述等待模式;并且
如果确定某个特定新用户的所述时间戳低于第二阈值,则所述服务器将允许所述特定新用户加入所述多客户端网络服务。
15.根据权利要求7所述的方法,其中基于先到先服务策略允许所述多个新用户中的所述至少一个加入所述多客户端网络服务。
16.根据权利要求7所述的方法,还包括:
当确定所述负载度量满足或高于所述阈值负载值时,可操作地激活一个或多个额外的计算资源以增加所述多客户端网络服务的容量。
17.根据权利要求16所述的方法,还包括:
当所述一个或多个额外的计算资源被激活时,由所述服务器允许所述多个新用户中的所述至少一个加入所述多客户端网络服务。
18.根据权利要求7所述的方法,其中,当确定所述负载度量满足或高于所述阈值负载值时,所述多个现有用户在不中断或降低服务质量的情况下享受所述多客户端网络服务。
19.根据权利要求7所述的方法,还包括:
由所述服务器为每个所述新用户确定远程用户设备的品牌;以及
当确定所述负载度量满足或高于所述阈值负载值时,所述服务器有选择地允许所述多个新用户中的至少一个加入所述多客户端网络服务,其中所述多个新用户中的所述至少一个的所述远程用户设备的所述品牌是预定用户设备的品牌;以及
当确定所述负载度量满足或高于所述阈值负载值时,由所述服务器向所述多个新用户中的其他用户传递所述等待消息,并使所述多个新用户中的所述其他用户保持在所述等待模式,直到所述负载度量发生变化而不满足、或发生变化而不高于所述阈值负载值,其中所述多个新用户中的所述其他用户没有与所述预定用户设备品牌中的至少一个相关联。
20.一种其上存储了指令的非暂时性处理器可读介质,当由一个或多个处理器执行时,使所述一个或多个处理器实现一种方法,所述方法包括:
通过至少一个数据网络向多个现有用户提供多客户端网络服务;
接收来自多个新用户的多个加入所述多客户端网络服务使得所述新用户可以像所述现有用户如何访问所述多客户端网络服务一样访问所述多客户端网络服务的请求;
从所述多个加入所述多客户端网络服务的请求中获取负载度量,其中所述负载度量表征至少所述多客户端网络服务上的流量负载;
重复地将所述负载度量与阈值负载值进行比较,以确定在给定时间所述负载度量是否满足或高于所述阈值负载值;
当确定所述负载度量不满足或低于所述阈值负载值时,允许所述多个新用户中的至少一个加入所述多客户端网络服务;并且
当确定所述负载度量满足或高于所述阈值负载值时,向所述多个新用户中的至少一个发送等待消息,并使所述多个新用户中的所述至少一个保持在等待模式中预定的时间、或直到所述负载度量改变以不满足、或改变以不高于所述阈值负载值。
CN201780082309.1A 2017-01-11 2017-11-13 响应于增长的数据流量时延延迟新会话的启动 Active CN110168970B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/404,123 US10263859B2 (en) 2017-01-11 2017-01-11 Delaying new session initiation in response to increased data traffic latency
US15/404,123 2017-01-11
PCT/US2017/061383 WO2018132172A1 (en) 2017-01-11 2017-11-13 Delaying new session initiation in response to increased data traffic latency

Publications (2)

Publication Number Publication Date
CN110168970A CN110168970A (zh) 2019-08-23
CN110168970B true CN110168970B (zh) 2021-12-07

Family

ID=62783779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780082309.1A Active CN110168970B (zh) 2017-01-11 2017-11-13 响应于增长的数据流量时延延迟新会话的启动

Country Status (5)

Country Link
US (1) US10263859B2 (zh)
EP (1) EP3568931B1 (zh)
JP (1) JP2020504389A (zh)
CN (1) CN110168970B (zh)
WO (1) WO2018132172A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855616B2 (en) 2017-01-11 2020-12-01 Sony Interactive Entertainment LLC Predicting wait time for new session initiation during increased data traffic latency
US10644970B2 (en) 2018-07-11 2020-05-05 Sony Interactive Entertainment LLC Tracking application utilization of microservices
WO2020084908A1 (ja) * 2018-10-26 2020-04-30 住友電気工業株式会社 検知装置、ゲートウェイ装置、検知方法および検知プログラム
CN110808914A (zh) * 2019-09-29 2020-02-18 北京淇瑀信息科技有限公司 一种访问请求处理方法、装置及电子设备
US11411884B2 (en) * 2019-11-13 2022-08-09 Amdocs Development Limited Multiple network controller system, method, and computer program for providing enhanced network service
CN113127546A (zh) * 2019-12-30 2021-07-16 中国移动通信集团湖南有限公司 一种数据的处理方法、装置及电子设备
CN111782294A (zh) * 2020-06-28 2020-10-16 珠海豹趣科技有限公司 一种应用程序的运行方法、装置、电子设备及存储介质
CN112422677B (zh) * 2020-11-17 2023-11-28 深圳市康必达中创科技有限公司 一种智能数据发布方法
CN115134343A (zh) * 2021-03-29 2022-09-30 深圳绿米联创科技有限公司 设备控制方法、系统、装置、服务器及存储介质
CN114827281B (zh) * 2022-03-10 2023-09-29 北京百度网讯科技有限公司 一种网络请求的发送及接收方法、系统及装置
US12086409B2 (en) 2022-08-31 2024-09-10 Pure Storage, Inc. Optimizing data deletion in a storage system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034968A (zh) * 2007-01-11 2007-09-12 华为技术有限公司 在分离双向网络中提供双向业务的系统、方法及设备
EP2381643A1 (en) * 2010-04-23 2011-10-26 Research In Motion Limited Method, system and apparatus for managing load in a server
CN104509134A (zh) * 2012-07-31 2015-04-08 索尼公司 用于基于位置获得通信质量信息的移动装置、方法和记录介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1110352A2 (en) 1998-09-11 2001-06-27 Sharewave, Inc. Dynamic communication channel switching for computer networks
KR100715674B1 (ko) * 2005-09-15 2007-05-09 한국전자통신연구원 부하 분산 방법 및 장치, 그리고 이를 이용한 소프트웨어스트리밍 시스템
US7797391B2 (en) 2007-09-19 2010-09-14 The Chinese University Of Hong Kong Load balancing and admission scheduling in pull-based parallel video servers
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US8355335B2 (en) * 2008-09-09 2013-01-15 Avaya Inc. Managing the audio-signal loss plan of a telecommunications network
JP4785900B2 (ja) * 2008-09-10 2011-10-05 株式会社コナミデジタルエンタテインメント ネットワークシステム、サーバ装置、負荷軽減方法、および、プログラム
US8429287B2 (en) * 2009-04-29 2013-04-23 Rangecast Technologies, Llc Network audio distribution system and method
US8578465B2 (en) * 2009-07-21 2013-11-05 Cisco Technology, Inc. Token-based control of permitted sub-sessions for online collaborative computing sessions
US8972870B2 (en) * 2009-08-27 2015-03-03 International Business Machines Corporation Providing alternative representations of virtual content in a virtual universe
CN102088755A (zh) * 2009-12-07 2011-06-08 正文科技股份有限公司 无线宽频用户设备、通讯系统及通讯方法
US8843606B2 (en) * 2010-04-23 2014-09-23 Blackberry Limited Method, system and apparatus for managing load in a server
US20110314077A1 (en) * 2010-06-16 2011-12-22 Serhat Pala Identification of compatible products for use with mobile devices
KR101777239B1 (ko) * 2010-07-16 2017-09-11 삼성전자주식회사 액세스 포인트 및 그의 무선 통신 연결 방법
US20130044582A1 (en) 2011-08-19 2013-02-21 Faheem Ahmed Control of end-to-end delay for delay sensitive ip traffics using feedback controlled adaptive priority scheme
US8995307B2 (en) * 2012-06-18 2015-03-31 Cisco Technology, Inc. Multicast media notification for queued calls
EP2911411B1 (en) * 2012-10-16 2019-08-14 Sony Corporation Initializing connection between a pair of bluetooth devices
US10263916B2 (en) * 2012-12-03 2019-04-16 Hewlett Packard Enterprise Development Lp System and method for message handling in a network device
CA2932917A1 (en) 2013-12-11 2015-06-18 Uber Technologies, Inc. Intelligent queuing for user selection in providing on-demand services
US10296391B2 (en) 2014-06-30 2019-05-21 Microsoft Technology Licensing, Llc Assigning a player to a machine
US9948535B2 (en) 2014-12-29 2018-04-17 Facebook, Inc. Methods and systems for congestion-based content delivery
US20160301617A1 (en) 2015-04-10 2016-10-13 Lenovo (Singapore) Pte. Ltd. Bandwidth prioritization
JP2016207144A (ja) * 2015-04-28 2016-12-08 株式会社リコー 情報処理装置、プログラムおよび認証システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034968A (zh) * 2007-01-11 2007-09-12 华为技术有限公司 在分离双向网络中提供双向业务的系统、方法及设备
EP2381643A1 (en) * 2010-04-23 2011-10-26 Research In Motion Limited Method, system and apparatus for managing load in a server
CN104509134A (zh) * 2012-07-31 2015-04-08 索尼公司 用于基于位置获得通信质量信息的移动装置、方法和记录介质

Also Published As

Publication number Publication date
US20180198690A1 (en) 2018-07-12
US10263859B2 (en) 2019-04-16
WO2018132172A1 (en) 2018-07-19
CN110168970A (zh) 2019-08-23
EP3568931A4 (en) 2020-08-26
EP3568931B1 (en) 2023-09-20
JP2020504389A (ja) 2020-02-06
EP3568931A1 (en) 2019-11-20

Similar Documents

Publication Publication Date Title
CN110168970B (zh) 响应于增长的数据流量时延延迟新会话的启动
CN110168969B (zh) 在增长的数据流量时延期间预测新会话启动的等待时间
US11717749B2 (en) Cloud gaming device handover
US9571540B2 (en) Broadcast/multicast offloading and recommending of infrastructural changes based on usage tracking
US11889133B2 (en) Burst traffic processing method, computer device and readable storage medium
US9888053B2 (en) Systems and methods for conditional download using idle network capacity
US20220226736A1 (en) Selection of virtual server for smart cloud gaming application from multiple cloud providers based on user parameters
WO2015175383A1 (en) Distributing content in managed wireless distribution networks
US20150324556A1 (en) Content delivery prioritization in managed wireless distribution networks
CN107920108A (zh) 一种媒体资源的推送方法、客户端及服务器
US20230353653A1 (en) System, method and computer-readable medium for notification

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
GR01 Patent grant
GR01 Patent grant