跨多个用户控制带宽用于交互式服务的制作方法
【专利说明】跨多个用户控制带宽用于交互式服务
[0001]
[0002]计算机已经变得高度集成到工作、家庭、移动设备以及许多其他方面中。计算机可以快速地并且有效率地处理巨量的信息。被设计为在计算机系统上运行的软件应用程序允许用户执行各种功能,包括业务应用程序、作业、娱乐等等。软件应用程序常常被设计用于执行特定任务,诸如用于起草文档的文字处理器应用程序,或用于发送、接收和组织电子邮件的电子邮件程序。
[0003]在一些情况下,软件应用被设计成在云上运行。例如,远程桌面应用可由面向私人或面向公共的云计算主机来提供。这些远程应用通常被提供给已经订阅了访问及使用那些应用的用户。用户对这些应用的访问通常被计量,被传输的数据的每个部分被测量并计数。为防止用户消费太多带宽,他们的连接常常被扼流,导致潜在地降级了的体验。
[0004]简要概沐
[0005]在此描述的各实施例涉及使用基于令牌的贷和借方案来控制带宽使用并允许连接使用令牌信用临时超过带宽分配。在一个实施例中,带宽管理服务接收建立与网络的连接的请求。该连接与作为订阅的部分的各种各样的订户相关联。带宽管理服务将令牌分派到该连接,令牌从代表网络的总可用带宽的令牌池中被分发。该带宽管理服务接收来自逻辑用户的跨网络连接传输数据的数据传输请求,其中该数据传输请求包括被分派的令牌的至少一些令牌。该带宽管理服务还向该连接分配与数据传输请求中所提供的被分派的令牌的数量相称的指定量的带宽。在某些情况中,带宽管理服务进一步跨指定时间段执行对该连接的数据使用的监视,并在确定该连接非常可能要请求后续附加令牌之际分发令牌。
[0006]在另一实施例中,计算机系统执行用于允许连接使用令牌信用临时超过带宽分配的方法。计算机系统确定带宽管理服务已经被实例化。该带宽管理服务被配置用于向请求连接分派令牌,其中令牌从代表网络的总可用带宽的令牌池中被分发。该带宽管理服务确定指定的连接跨指定的时间段使用了少于被分配的、聚集的带宽量,并存储分配到该连接的令牌。如此,令牌形成信用,用于数据传输的带宽要被从中提取。带宽管理服务还接收来自该连接的数据请求,数据请求包括存储的令牌中的至少一些令牌,指示信用要被用于接收针对数据传输的带宽分配。该带宽管理服务还向连接分配与数据传输请求中所接收的所存储的令牌相称的指定量的网络带宽。
[0007]提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在被用来帮助确定所要求保护的主题的范围。
[0008]本发明的附加特征和优点将在以下描述中叙述,且其一部分根据本描述对本领域的技术人员将是显而易见的,或可通过对此处的原理的实践来获知。此处所描述的各实施例的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。通过下列描述以及所附的权利要求,,此处所描述的各实施例的特征将变得更加显而易见。
[0009]附图简沐
[0010]为进一步阐明此处所描述的各实施例的上述及其他特征,将参考附图,呈现更具体的描述。应该理解,这些附图只描述了此处所描述的各实施例的示例,因此,不应该被视为限制其范围。将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
[0011]图1示出了本文所描述的各实施例可以在其中操作(包括使用基于令牌的贷和借方案来控制带宽使用)的计算机体系结构。
[0012]图2示出了用于使用基于令牌的贷和借方案来控制带宽使用的示例方法的流程图。
[0013]图3示出了用于允许连接使用令牌信用临时超过带宽分配的示例方法的流程图。
[0014]图4示出了其中实现目标带宽速率的实施例。
[0015]详细描沐
[0016]在此描述的各实施例涉及使用基于令牌的贷和借方案来控制带宽使用并允许连接使用令牌信用来临时超过带宽分配。在一个实施例中,带宽管理服务接收建立与网络的连接的请求。该连接与作为订阅的部分的各种各样的订户相关联。带宽管理服务将令牌分派到连接,令牌从代表网络的总可用带宽的令牌池中被分发。该带宽管理服务接收来自逻辑用户的跨网络连接传输数据的数据传输请求,其中该数据传输请求包括被分派的令牌的至少一些令牌。该带宽管理服务还向连接分配与数据传输请求中所提供的被分派的令牌的数量相称的指定量的带宽。在某些情况中,带宽管理服务进一步跨指定时间段执行对该连接的数据使用的监视,并在确定该连接非常可能要请求后续附加令牌之际分发令牌。
[0017]在另一实施例中,计算机系统执行用于允许连接使用令牌信用临时超过带宽分配的方法。计算机系统确定带宽管理服务已经被实例化。该带宽管理服务被配置用于向请求连接分派令牌,其中令牌从代表网络的总可用带宽的令牌池中被分发。该带宽管理服务确定指定的连接跨指定的时间段使用了少于被分配的、聚集的带宽量,并存储分配到连接的令牌。如此,令牌形成信用,用于数据传输的带宽要被从中提取。带宽管理服务还接收来自连接的数据请求,其包括至少某些存储的令牌,指示信用要被用于接收为数据传输分配的带宽。该带宽管理服务还向连接分配与数据请求中所接收的所存储的令牌的相称的指定量的网络带宽。
[0018]下面的讨论现在涉及可被执行的多个方法和方法动作。值得注意的是,虽然可以以某一顺序讨论或在流程图中按特定顺序发生而示出了方法动作,但是,没有特定顺序是一定需要的,除非特别声明,或者是必需的,因为在一个动作被执行之前该动作取决于另一动作被完成。
[0019]本文中描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的本文中描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据的形式存储计算机可执行指令的计算机可读介质是计算机存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本文中描述的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
[0020]计算机存储介质包括RAM、ROM、EPROM、EEPROM、CD-ROM、基于RAM的固态驱动器(SSD)、闪存、相变存储器(PCM)或其他类型的存储器,或其他光盘存储、磁盘存储、或前台磁存储设备,或可被用来存储计算机可执行指令、数据、或数据结构的形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
[0021]“网络”被定义成允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的数据或所需程序代码装置且可由通用或专用计算机访问的网络。上述的组合应当也被包括在计算机可读介质的范围内。
[0022]此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓冲在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中,然后最终被传输给计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组