CN105794159A - 资源分配 - Google Patents

资源分配 Download PDF

Info

Publication number
CN105794159A
CN105794159A CN201480063762.4A CN201480063762A CN105794159A CN 105794159 A CN105794159 A CN 105794159A CN 201480063762 A CN201480063762 A CN 201480063762A CN 105794159 A CN105794159 A CN 105794159A
Authority
CN
China
Prior art keywords
resource
event data
instruction
user
communications event
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
CN201480063762.4A
Other languages
English (en)
Inventor
D·Y·赵
M·瓦尔加马
M·尼尔松
Y·特拉莱西
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority claimed from PCT/US2014/066490 external-priority patent/WO2015077389A1/en
Publication of CN105794159A publication Critical patent/CN105794159A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/803Application aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/808User-type aware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

公开了一种资源分配模块,其被配置为:分配通信事件资源的第一集合,以用于在计算机设备处接收通信事件数据;分配通信事件资源的第二集合,以用于从所述计算机设备发送通信事件数据;以及根据对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示来将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合。还提供了一种方法和一种计算机程序产品。

Description

资源分配
背景技术
存在允许设备(诸如个人计算机或移动设备)的用户使用各种应用通过基于分组的计算机网络(诸如互联网)来进行语音或视频呼叫的通信系统。这样的通信系统包括基于互联网协议的语音或视频(VoIP)系统。这些系统是有益于用户的,这是因为它们的费用显著地低于常规的固定线路或移动蜂窝网络。长距离通信可能尤其属于这种情况。为了使用VoIP系统,用户在其用户设备上安装并执行客户端软件。客户端软件设置VoIP连接以及提供其它功能,诸如注册和认证。除语音通信之外,客户端还可以设置用于其它通信媒体(诸如即时消息传送(“IM”)、SMS消息传送、文件传送和语音邮件)的连接。所有这些通信利用通信事件数据的交换来实现通信。通信事件数据可以包括音频数据、视频数据和与通信事件(诸如视频或音频呼叫)的内容有关的信息中的至少一者。
在事件的实时通信期间,用户设备中的资源被分配用于处理通信事件,例如,处理和存储器资源用于处理输入和输出数据并且管理用户设备的网络接口。在通信事件是双向的情况中,需要资源以用于通过网络从另一个用户设备接收数据(接收下行链路数据)以及用于通过网络向另一个用户设备发送数据(发送上行链路数据)。每个用户设备具有受约束的资源,其可以被要求用于其它活动,以及管理通信事件。资源管理器分配用于接收下行链路通信事件数据和用于发送上行链路通信事件数据的资源。资源可以是用户设备的处理资源、网络带宽和/或用于处理用户设备中的通信事件数据的任何其它资源。
发明内容
根据第一方面,提供了一种资源分配模块,其被配置为:分配通信事件资源的第一集合,以用于在计算机设备处接收通信事件数据;分配通信事件资源的第二集合,以用于从所述计算机设备发送通信事件数据;以及根据对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示来将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合。所述计算机设备可以是在网络中实现的用户设备和/或设备。
根据本文描述的另一个方面,提供了一种由在设备上执行的应用实现的方法,所述方法包括以下操作:分配通信事件资源的第一集合,以用于在计算机设备处接收通信事件数据;分配通信事件资源的第二集合,以用于从所述计算机设备发送通信事件数据;以及根据对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示来将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合。
根据本文描述的另一个方面,提供了一种计算机程序产品,所述计算机程序产品体现在计算机可读介质上,并且被配置为当被在包括网络接口的设备的处理器上执行时:分配通信事件资源的第一集合,以用于在计算机设备处接收通信事件数据;分配通信事件资源的第二集合,以用于从所述计算机设备发送通信事件数据;以及根据对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示来将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合。
提供这个概括以便以简化的形式引入一系列概念,这些概念在下文的具体实施方式中被进一步描述。本概括既不是要标识要求保护的主题的关键特征或必要特征,也不是要用于限制要求保护的主题的范围。
附图说明
为了理解以下内容以及示出其如何被实施,现在将以示例的方式参考附图,在附图中:
图1示出了通信系统的示意图;
图2是用户设备的示意框图;
图3A和3B示出了用户设备上的通信流的图;
图4示出了可能的过程;以及
图5示出了通信系统的示意图。
具体实施方式
现在仅通过示例的方式来描述实施例。
在音频或视频呼叫中,不同的输入音频和视频流的质量对于不同的用户可以具有不同的重要性。一个示例是当商业用户与其顾客谈话时。顾客所感知的质量具有比商业用户所感知的质量更高的价值。另一个示例是当演说者在多方呼叫中做介绍时。来自演说者的视频和/或音频质量可能比来自主要“仅听”参与者的视频和/或音频质量更重要。
因此,为了最大化用户的意见得分(其是指示用户体验到的质量的度量),可以在输入流之间不平等地分配系统资源(诸如CPU、带宽等)。例如,来自多方呼叫中的最活跃的参与者的输入流可以比来自最不活跃的参与者的流得到更多的资源。另一个示例是给由用户主动挑选的流分配更多的资源。另一个示例是使一个用户以输出质量比输入流更优化的方式来配置其客户端。以下内容集中在以这种非对称的方式来配置一对一和多方音频和视频呼叫上。
考虑在图1中,商业用户A对其顾客B讲话。用户A具有强大的计算机并且可以处理非常高的分辨率。用户B具有非常慢的计算机并且可以处理要么1)发送和接收分辨率为320x240的视频,要么2)发送分辨率为160x120并且接收分辨率为640x480的视频。典型的解决办法可以是优化对称性(即,选择方案1)。然而,商业用户可能想要使用户的体验优于其自己的体验,并且替代地选择方案2。在这种情况中,可以将按钮或配置选项呈现给用户中的至少一个用户,使得可以通过对资源的非对称分配来加强非对称质量分布。
图1示出了通信系统100,其包括与第一用户设备104相关联的第一用户102(“用户A”)以及与第二用户设备110相关联的第二用户108(“用户B”)。在其它实施例中,通信系统100可以包括任意数量的用户和相关联的用户设备。用户设备104和110可以通过通信系统100中的网络106来进行通信,由此允许用户102和108通过网络106来与彼此进行通信。用户102和108之间的通信由图1中的虚线来表示。网络106可以包括一个或多个路由节点107,以用于在端点之间中继数据。
在图1中示出的通信系统100是基于分组的通信系统,但是可以使用其它类型的通信系统。网络106可以是例如互联网。用户设备104和110中的每个用户设备可以是例如移动电话、平板计算机、膝上型计算机、个人计算机(“PC”)(包括例如,MacPC)、游戏设备、电视机、个人数字助理(“PDA”)或能够连接到网络106的其它嵌入式设备。用户设备104被安排为从用户设备104的用户102接收信息,并且向用户设备104的用户102输出信息。用户设备104包括输出单元,诸如显示器和扬声器。用户设备104还包括输入单元,诸如小键盘、触摸屏、用于接收音频信号的麦克风和/或用于捕获视频信号的图像的相机。用户设备104连接到网络106。
用户设备104执行通信客户端的实例,通信客户端由与通信系统100相关联的软件提供者来提供。通信客户端是在用户设备104中的本地处理器上执行的软件程序。客户端在用户设备104处执行要求的处理,以便使用户设备104通过通信系统100来发送和接收数据。
用户设备110也在本地处理器上执行对应于在用户设备104处执行的通信客户端的通信客户端。用户设备110处的客户端执行要求的处理以允许用户108通过网络106来进行通信(以与用户设备104处的客户端执行要求的处理以允许用户102通过网络106来进行通信相同的方式)。用户设备104和110是通信系统100中的端点。为了清楚起见,图1仅示出了两个用户(102和108)和两个用户设备(104和110),但是更多用户和用户设备可以被包括在通信系统100中,并且可以使用在相应的用户设备上执行的相应的通信客户端通过通信系统100来进行通信。
图2示出了在其上执行通信应用的用户终端200的详细视图。
如上所述,用户终端200可以是例如移动电话、平板计算机、个人数字助理(“PDA”)、个人计算机(“PC”)(包括例如,WindowsTM、MacOSTM和LinuxTMPC)、游戏设备或能够经由网络控制器108连接到网络100的其它嵌入式设备。用户终端200被安排为从用户终端200的用户接收信息,并且向用户终端200的用户输出信息。
用户终端200包括中央处理单元(“CPU”)202,中央处理单元202连接到显示器204(诸如屏或触摸屏)、输入设备(诸如小键盘206和相机208)。输出音频设备210(例如扬声器)以及输入音频设备212(例如麦克风)连接到CPU202。显示器204、小键盘206、相机208、输出音频设备210以及输入音频设备212可以被集成在用户终端200中,如图2所示。在替代的用户终端中,显示器204、小键盘206、相机208、输出音频设备210以及输入音频设备212中的一个或多个可以不被集成在用户终端200中,并且可以经由相应的接口连接到CPU202。这样的接口的一个示例是USB接口。CPU202连接到网络接口224用于与基于分组的网络的通信。网络接口224可以被集成在用户终端200中,如图2所示。在替代的用户终端中,网络接口224不被集成在用户设备200中。用户终端200还包括用于存储数据的存储器226,如本领域已知的。存储器226可以是永久性存储器,诸如ROM。替代地,存储器226可以是暂时性存储器,诸如RAM。
图2还示出了在CPU202上执行的操作系统(“OS”)214。在OS214之上运行的是用于参照上文的通信客户端应用的软件栈216。软件栈示出了I/O层218、客户端引擎层220和客户端用户界面层(“UI”)222。每个层负责特定的功能。因为每个层通常与另外两个层进行通信,所以其被认为是安排在栈中,如图2所示。操作系统214管理计算机的硬件资源,并且处理经由网络接口224发送给网络106和从网络106发送的数据。I/O层218包括音频和/或视频编解码器,其接收输入编码流并且将它们解码以按需要输出到扬声器210和/或显示器204,并且其从麦克风212和/或相机208接收未编码的音频和/或视频数据,并且将它们编码以作为流传输到通信系统10的其它最终用户终端。客户端引擎层220处理VoIP系统的连接管理功能,如上所述,诸如通过基于服务器的或P2P地址查找和认证来建立呼叫或其它连接。客户端引擎还可以负责本文未论述的其它辅功能。客户端引擎层220还与客户端用户界面层222进行通信。客户端引擎层220可以被安排为控制客户端用户界面层222,以将信息经由在显示器204上显示的客户端的用户界面呈现给用户终端200的用户,并且经由用户界面从用户终端200的用户接收信息。
可以通过网络100从用户设备发送数据的速率受用户设备可用的上行链路带宽的限制。类似地,可以通过网络100向用户设备发送数据的速率受用户设备可用的下行链路带宽的限制。本公开内容考虑上行链路和下行链路带宽之间的重新分配,如在下文中描述的。用户设备的上行链路带宽是用户设备当前被配置为发送事件数据所利用的频率范围。用户设备的下行链路带宽是用户设备当前被配置为接收事件数据所利用的频率范围。
图3A描绘了一个示例,其中,用户设备104的商业用户102将客户108的用户设备110配置为:将输出视频和音频质量设置为比输入视频和音频质量高的质量。特别地,商业用户102的用户设备104中的通信模块301向客户108的用户设备110发送控制信号。控制信号包括关于指示用户设备如何改变资源分配的指示。在图3A中,由用户设备104发送的上行链路音频和视频数据以及控制信号的质量高于从客户108的用户设备110接收的音频和视频数据的质量。要理解的是,分配给视频呼叫的音频数据的资源可以是独立地可分配给视频呼叫的视频数据的。
在图3B中描绘了客户108的用户设备110。其中,用户设备110被配置为调整音频和/或视频数据的质量。例如,用户设备110可以被配置为:通过例如与处理视频数据并且将其提供给显示器相比,将投入更多的计算资源用于处理音频数据并且将其通过扬声器进行播放,来使所接收的音频数据优先于所接收的视频数据。替代地,用户设备110可以被配置为:通过例如与通过扬声器播放音频数据相比,在用户设备中投入更多的计算资源用于将视频数据提供给显示器,来使所接收的视频数据优先于所接收的音频数据。
用户设备110还可以被配置为根据指示来分配计算资源,以便相对于从用户108收集的信息(例如,经由扬声器呈现的音频数据和经由显示器屏呈现的视频数据)来优先向用户设备110的用户108的信息的呈现(例如,来自麦克风的音频数据和来自相机的视频数据)。相反的配置(即,使信息的收集优先于信息的呈现)也是可能的。
用于资源分配的逻辑单元可以位于进行分配的用户设备(例如,本实施例中的用户设备110中)的客户端引擎层220中。然而,在某些实施例中(稍后论述),位于网络106或路由器107中的服务器可以包括用于资源分配的逻辑单元。
用户设备可以在从用户设备110的客户108接收对音频数据相对于视频数据优先的直接或间接指示之后确定作出这样的调整。换句话说,用户设备可以基于对上行链路和下行链路数据信道的相对优先级的指示来确定如何重新分配资源(诸如计算资源)。用户设备可以在接收从另一个设备接收的控制信号(诸如由图3A中的用户设备104发送的控制信号)中的指示之后确定如何作出这样的调整。
通常,用户设备具有特定数量的资源,诸如处理资源、分配的带宽等。在该上下文中,分配的带宽可以是由外部资源(诸如WiFi网络或WLAN)分配的带宽。这些资源中的某些资源可以被分配用于实现针对视频和/或音频呼叫的通信事件数据的通信。通常,用户设备将这些通信资源分配给与至少一个其它用户设备的上行链路通信以及与至少一个其它用户设备的下行链路通信,以实现上行和下行链路中的相等的质量结果(早先论述的方案(1))。下文公开了在其中被分配用于上行链路通信的资源数量不同于被分配用于下行链路通信的资源数量的实施例。非对称资源分配是根据对到用户设备中的一个或多个用户设备的至少一个用户的上行链路和下行链路通信路径的相对重要性的指示来确定的。当从多个用户设备/多个用户接收指示时,指示可以被聚合以形成单个指示,以用于确定如何在那些设备中的至少一个设备中重新分配资源。
安排下文实施例中的全部实施例,使得用户和/或用户设备所提供的对针对用户的上行链路较下行链路的相对重要性的指示可以用于影响所分配的上行链路与下行链路资源的比例,以实现不同的(非对称)质量结果。指示可以是隐含的或明确的。这允许在特定方向上的链路质量被改进,这提高了指定用户的通信质量。
在参照图4说明的第一实施例中,具有被配置为通过网络仅与第二用户设备110进行通信的第一用户设备104(如图1所示)。第一用户设备104被配置为执行图4的过程操作。
在401处,第一用户设备104被配置为确定其具有的可用于处理通信事件数据的可调整资源的类型和数量。在该上下文中,“处理”包括至少用于以下操作的那些资源:接收通信事件数据,发送通信事件数据,处理通信事件数据,以及将通信事件数据呈现给第一用户设备104的用户。在该上下文中,“可调整资源”意指第一用户设备104具有对其的控制来进行重新分配的那些资源。
在402处,第一用户设备104被配置为将第一数量的资源分配给到第二用户设备110的上行链路通信事件数据传输。可以使用默认分配机制来进行该分配,诸如将一半数量的可用资源分配给上行链路通信事件数据传输。替代地,可以使用关于上行链路条件(诸如干扰)的当前或最近状态的信息来进行该分配。
在403处,第一用户设备104被配置为将第二数量的资源分配给来自第二用户设备110的下行链路通信事件数据传输。可以使用默认分配机制或使用关于下行链路条件的信息来进行该分配,如上文关于操作402描述的。
在404处,第一用户被配置为确定是否重新分配当前被分配的资源。这可以关于每种类型的资源单独地来确定,或者可以作出适用于每种类型的资源的单个决策。该确定可以基于多个标准,所有标准指示用户关于上行链路和下行链路上的特定的通信事件数据流所设置的相对重要性。
一个标准是从第二用户设备110接收指示将提供给上行链路比下行链路多的资源(或反之亦然)的指示。该指示可以基于给第二用户设备110的指示以指定的方式来重新分配第一用户设备104的资源的明确的用户指令。该指示可以基于关于通信事件数据的上行链路和下行链路流之间的相对重要性的隐含的信息。例如,隐含的信息可以包含:当前是在上行链路还是下行链路方向上检测到更多的音频信息,将来自通信事件数据的图像数据显示给用户所利用的任何窗口是否被最小化或被以其它方式掩盖,以及当前是否在设备的相机的视场中检测到第二设备的用户。
另一个标准是第一用户设备104所提供的指示。与从第二用户设备110接收的指示相似,该指示可以基于来自第一用户设备104的用户的、用于将当前分配给上行链路通信事件数据的资源重新分配给下行链路通信事件数据(或反之亦然)的隐含的信息和/或明确的指令。
如果确定不将对资源进行重新分配,则稍后重复操作404。
如果确定将对资源进行重新分配,则执行操作405,其中,根据确定操作的结果来在上行链路和下行链路之间重新分配资源。第一用户设备104可以被配置为在任一时间,在上行链路和下行链路通信事件数据之间重新分配仅一种类型的资源的上行链路/下行链路资源比例。替代地,第一用户设备104可以被配置为在上行链路和下行链路通信事件数据之间重新分配多种类型的资源的上行链路/下行链路资源比例。第一用户设备104可以被配置为确定重新分配哪些资源以及多少资源。
随后重复操作404和405,直到呼叫结束为止。
关于图4描述的实施例对于其中第一第二用户设备的商业用户B与其顾客A谈话的情况是尤其有用的,顾客A是与使用视频聊天客户端的第一用户设备104相关联的用户。我们假设第一用户设备104是非常慢的设备,并且能够发送和接收分辨率为320x240的视频,或者能够发送分辨率为160x120的视频和接收分辨率为640x480的视频。在现有技术系统中,第一用户设备104被配置为优选对称性并且选择相等的发送和接收分辨率。然而,商业用户B可能想要使其顾客的体验优先于其自己的体验,并且因此偏好将第一用户设备104配置为发送分辨率为160x120的视频,而接收分辨率为640x480的视频。换句话说,与由第一用户设备104发送的通信事件数据相比,商业用户B将更高的相对重要性放在由第一用户设备104接收的通信事件数据上。在这种情况中,第二用户108的商业用户B使用例如在第二用户设备110的屏幕上提供的按钮来向第二用户设备110输入明确的指令。该指令在例如通信事件中被发送给第一用户设备104,第一用户设备104根据该指令来确定是否重新配置其资源。
上文关于图4概括的原则可以被扩展到那些情况:其中存在多个用户设备,每个用户设备与特定用户相关联。这在图5中示出,其中示出了三个用户设备。要理解的是,虽然仅示出了三个用户设备,但是可以提供任意数量的用户设备。
图5与图1相同,除了其额外包括第三用户501(用户C)之外,第三用户501与第三用户设备502相关联,用于例如在多方呼叫中通过网络106以及第一用户设备104和第二用户设备110来与第一用户102和第二用户108进行通信。
在该实施例中,第一用户设备104被配置为执行上文关于图4描述的相同的过程操作,除了还考虑与第三用户设备相关联的第三用户501(用户C)所提供的任何信息之外。可以在使用从第二用户108和/或第二用户设备110接收的信息的相同时间和/或不同时间使用该来自第三用户设备的信息。
在上述实施例中,多个用户设备被描述为提供对上行链路和下行链路资源的重要性的相对指示。如果从不同的用户设备接收到多个指示,则第一用户设备104被配置为根据这些多个指示来确定如何选择在上行链路和下行链路之间重新分配资源。这可以包括根据指示来自哪里来对该指示进行加权。以这种方式,来自例如呼叫主持人的指示对确定如何重新分配资源的影响可能要大于从普通用户接收的指示。呼叫主持人可以在设置时确定。
上述原则还可以扩展到其中由中央重新分配单元来执行资源的重新分配的情况。在第一实施例中,中央重新分配单元可以被部署在图1和5中的网络106和/或路由节点107中。在这种情况中,关于资源的分配(和/或考虑的用户设备的相对重要性)的信息被提供给中央分配单元。中央重新分配单元利用所提供的信息来重新分配系统资源。中央重新分配单元可以实现在网络106中的服务器和/或路由节点107中。为了促进资源的非对称重新分配,可以聚合来自所有参与者的信息。
在上述实施例中,描述了明确的用户指令。为了帮助用户确定是否使上行链路优先于下行链路或反之亦然,可以向用户提供通过上行链路接收的通信质量的指示和通过下行链路接收的通信质量的指示,用于优先上行链路和下行链路。可以将这些质量指示经由用户设备的显示屏呈现给用户。
上述方法可以实现在软件中(例如,在上述客户端中)或硬件中。更精确地,上述方法可以实现在计算机程序产品中,计算机程序产品包括用于由通信系统的节点(例如,用户终端104或用户终端110)处的计算机处理单元(例如,CPU)执行的计算机可读指令。
在所有上述实施例中,第一用户设备的资源可以是以下各项中的至少一项:第一用户设备的处理资源;网络带宽;以及用于处理用户设备中的通信事件数据的任何其它资源。
在所有上述实施例中,分配给上行链路的第一用户设备的资源与分配给下行链路的第一用户设备的资源的比例根据来自至少一个用户设备的对上行链路或下行链路上的至少一个数据流的相对重要性的指示而变化。可以周期地或不定期地执行该重新分配。可以仅当接收到来自参与呼叫的用户设备的用户的明确的指令时才触发开始进行重新分配。明确的指令可以向确定重新分配的设备(即,第一用户设备或中央分配单元)指示可以如何改变资源指示。替代地,明确的指令可以仅向确定重新分配的设备指示请求确定。重新分配确定设备可以随后取得指示上行链路通信事件数据相对于下行链路通信事件数据的重要性的信息,以用于作出该确定。有时还可以在没有明确的用户输入或指令的情况下(例如,如在关于图4描述的隐含的指示的情况中)执行确定。周期地有利地作出隐含的确定,同时不定期地有利地接收明确的用户指令。
如上所述,可以通过修改以下各项中的至少一项来修改通信数据的流的质量:帧速率、分辨率和流的源编码质量。可以作出修改以便使由设备发送或接收的通信事件数据的至少一个流优先于由该设备发送或接收的通信事件数据的其它流。
将认识到的是,在上述示例中,第一用户设备104可以基于第一用户设备104所执行的活动类型来要求比第二用户设备110和/或第三用户设备502对总可用带宽的更大分享(即,可能需要以更高速率来发送和/或接收数据)。
在其它实现方式中,资源重新分配单元(体现在用户设备中或者用户设备上游的网络实体中)可以基于用户设备对带宽的需求等级来确定多个用户设备中的每个用户设备的数据速率限制(以及因此带宽分配)。
例如,当从多个用户中的每个用户接收的对带宽的请求除包括关于要求带宽的指示之外,还包括对要处理的活动(例如,语音呼叫、视频呼叫、文件传送等)的指示时,资源重新分配单元(体现在用户设备中或用户设备上游的网络实体中)能够使用适当的处理逻辑单元来确定针对特定活动所要求的数据速率(以及因此用于提供所确定的数据速率的带宽)。资源重新分配单元可以被配置具有针对特定活动所要求的上传和/或下载速率,并且因此能够基于检测到要由应用执行的活动来确定适当的上行链路和/或下行链路数据速率限制(以及因此适当的上传和/或下载带宽)。资源重新分配单元能够从要求对总可用带宽的使用的多个应用中的每个应用获得对带宽需求的全局观点,并且因此确定对多个应用中的每个应用的带宽分配。
当来自每个应用的带宽请求包括对要求的上传和/或下载速率(即连接速度)的指示时,资源重新分配单元还能够从要求对总可用带宽的使用的多个应用中的每个应用获得对带宽需求的全局观点。因此,资源重新分配单元能够基于要求的上传和/或下载数据速率来确定对多个应用中的每个应用的带宽分配。
发明者认识到取决于不同用户之间的关系类型和通信类型,这种对称分配不总是理想的。发明者因此提出了用于重新分配通信事件数据的资源的机制。
上文对带宽的引用可以包括对频率(Hz)、连接速度(以bps为单位的数据速率)和二者的引用。
现代音频和视频处理组件(诸如编码器、解码器、回声消除器、噪声消减器、抗混叠滤波器等)可以典型地通过采用更复杂的音频/视频算法处理操作来实现更高的输出音频/视频质量。这些操作典型地由计算系统的处理器(例如CPU)所执行的一个或多个软件应用来实现。(一个或多个)应用可以包括多个代码组件(例如,单独的音频和视频处理组件),每个代码组件实现单独的处理算法。本上下文中的处理器资源管理涉及使这样的算法的复杂度适应这样的处理器的处理能力。如本文所使用的,实现算法的代码组件的“复杂度”指代底层算法的时间算法复杂度。如本领域已知的,算法的时间复杂度是该算法的固有属性,其确定该算法用于处理任何给定输入所要求的基本操作的数量,以及更复杂的算法针对每个输入要求比其不太复杂的对应物更多的基本处理操作。因而,该提高的质量是有代价的,这是因为更复杂的、更高质量的算法要么要求更多的时间来处理每个输入,要么要求更多的处理器资源,并且因此如果它们以与不太复杂的、较低质量的处理算法相当的速率来处理输入数据,则导致更高的CPU负荷。
对于“实时”数据处理,诸如在音频/视频会议的上下文中,由通信客户端应用的实时音频/视频代码组件实现的音频/视频数据的处理,输出的质量不是唯一考虑的因素:同样严格要求的是这些算法操作“实时地”完成。如本文所使用的,一般来说,“实时”数据处理意指以至少与接收输入数据的输入速率一样快的速率来处理输入数据的流(即,使得如果在1毫秒中接收N个比特,则处理这N个比特所花费的时间必须不长于1毫秒);“实时操作”指代满足该标准的处理操作。因而,允许更复杂的算法具有更多的处理时间并不是一个方案,这是因为算法仅具有在其中处理流的N个比特的有限窗口,该窗口从接收N个比特的时间延伸到接收流中的下一N个比特的时间,如果要保持实时操作,则处理N个比特所需要的算法操作全部需要在该窗口内被执行并且不能被推迟。因此,如果要保持实时操作,则代码组件随着其复杂度增加而要求更多的处理器资源。此外,如果增加CPU负载而超过某一点(例如,通过运行过度复杂的音频/视频处理算法),则实时操作将简直是不可能的,这是因为为了实时地操作,音频和/或视频组件会要求比实际可用的处理器资源更多的处理器资源。因此,存在一方面最大化输出质量与同时另一方面保持实时操作之间的权衡。
具体地,在音频/视频处理的上下文中,原始音频和视频数据被分成多个部分来处理,这些部分随后被打包用于传输。每个音频数据部分可以是(例如)20ms音频的音频帧;每个视频数据部分可以是(例如)包括捕获的图像序列中的单个捕获的图像的视频帧。为了保持实时操作,在下一音频帧的捕获完成之前结束对音频帧的处理;否则,随后的音频帧将被缓冲,并且在计算系统中引入不断增加的延时。同样,出于相同的原因,应当在捕获下一视频帧之前结束对视频帧的处理。对于过度复杂的音频/视频算法,处理器可能不具有足够的资源来实现这一点。
特定用户设备104、110、502的资源可以体现在硬件或软件中。示例包括接收的数据的采样速率、分配给音频和/或视频数据的用于执行代码的处理器资源(例如,周期的数量和/或特定时间段中的操作处理器时钟速度)以及所分配的用于将音频和/或视频信息呈现给用户的任何其它资源。
可以通过调整实现处理功能(诸如音频或视频处理)所需要的低级机器代码指令的数量来重新分配处理器资源(这是因为使用较少的机器代码指令来实现不太复杂的算法)。还可以使用低级线程调度器来重新分配处理器资源,低级线程调度器通过选择性地相对于彼此来延时对线程指令的执行,来将资源分配给不同的线程。
虽然上文关于视频呼叫(包括视频和音频组件二者)描述了对资源的重新分配,但是要理解的是,相同的原则可以应用于仅音频的数据流或仅视频的数据流。
一般地,本文所描述的功能中的任何功能可以使用软件、固件、硬件(例如,固定逻辑电路)或这些实现方式的组合来实现。本文所使用的术语“模块”、“功能单元”、“组件”和“逻辑单元”一般表示软件、固件、硬件或其组合。在软件实现的情况下,模块、功能单元或逻辑单元表示当在处理器(例如,一个CPU、多个CPU、或DSP)上执行时,执行指定任务的程序代码。程序代码可以存储在一个或多个计算机可读存储器设备中。下文描述的技术的特征是平台独立的,这意味着技术可以在具有各种处理器的各种商业计算平台上实现。
例如,用户终端还可以包括使得用户终端的硬件(例如,处理器功能块等等)执行操作的实体(例如,软件)。例如,用户终端可以包括可以被配置为保存指令的计算机可读介质,所述指令使得用户终端,并且更特别地,使得用户终端的操作系统和相关联的硬件执行操作。因此,指令用于将操作系统和相关联的硬件配置为执行操作,并且以这种方式产生操作系统和相关联的硬件的变换以执行功能。指令可以由计算机可读介质通过各种不同的配置提供给用户终端。
计算机可读介质的一种这样的配置是信号承载介质,并且因此被配置为例如经由网络将指令(例如,作为载波)发送给计算设备。计算机可读介质还可以被配置为计算机可读存储介质并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器以及可以使用磁、光和其它技术来存储指令和其它数据的其它存储器设备。
虽然已经以特定于结构特征和/或方法动作的语言描述了主题,但是要理解的是,在所附的权利要求中定义的主题不必限于上述的具体特征或动作。更确切地,上述的具体特征和动作被公开作为实现权利要求的示例形式。

Claims (10)

1.一种资源分配模块,其被配置为:
分配通信事件资源的第一集合,以用于在计算机设备处接收通信事件数据;
分配通信事件资源的第二集合,以用于从所述计算机设备发送通信事件数据;以及
根据对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示来将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合。
2.根据权利要求1所述的资源分配模块,还被配置为:
从至少一个远程用户设备接收所述指示,所述指示是用于将资源从所述集合中的一个集合转移到所述集合中的另一个集合的指令。
3.根据任何前述权利要求所述的资源分配模块,还被配置为:
确定对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示;
其中,根据所确定的指示来执行所述重新分配。
4.根据权利要求3所述的资源分配模块,其中,根据以下各项中的至少一项来确定所述指示:由所述计算机设备的用户提供的明确的指示;以及来自所述用户的隐含的指示。
5.根据任何前述权利要求所述的资源分配单元,其中,所述资源是以下各项中的至少一项:带宽;所述计算机设备中的处理资源;帧速率;以及发送的数据的分辨率。
6.根据任何前述权利要求所述的资源分配单元,还被配置为将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合,以便提高通信事件数据的至少一个流相对于通信事件数据的其它流的质量,所述通信事件数据的流是由所述计算机设备发送或接收的。
7.根据任何前述权利要求所述的资源分配单元,还包括:
用于从至少一个远程用户设备接收通信事件数据的接收模块;以及
用于向所述至少一个远程用户设备发送通信事件数据的发送模块。
8.根据任何前述权利要求所述的资源分配单元,其中,所述资源分配模块被配置为在分配所述通信事件资源的第一集合之前分配所述通信事件资源的第二集合。
9.一种由在设备上执行的应用实现的方法,所述方法包括以下操作:
分配通信事件资源的第一集合,以用于在计算机设备处接收通信事件数据;
分配通信事件资源的第二集合,以用于从所述计算机设备发送通信事件数据;以及
根据对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示来将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合。
10.一种计算机程序产品,所述计算机程序产品体现在计算机可读介质上,并且被配置为当被在包括网络接口的设备的处理器上执行时:
分配通信事件资源的第一集合,以用于在所述计算机设备处接收通信事件数据;
分配通信事件资源的第二集合,以用于从所述计算机设备发送通信事件数据;以及
根据对所接收的通信事件数据较所发送的通信事件数据的相对重要性的指示来将资源从所述集合中的一个集合重新分配给所述集合中的另一个集合。
CN201480063762.4A 2013-11-22 2014-11-20 资源分配 Pending CN105794159A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1320667.7 2013-11-22
GBGB1320667.7A GB201320667D0 (en) 2013-11-22 2013-11-22 Resource allocation
US14/194,287 2014-02-28
US14/194,287 US20150149638A1 (en) 2013-11-22 2014-02-28 Resource Allocation
PCT/US2014/066490 WO2015077389A1 (en) 2013-11-22 2014-11-20 Resource allocation

Publications (1)

Publication Number Publication Date
CN105794159A true CN105794159A (zh) 2016-07-20

Family

ID=49918073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480063762.4A Pending CN105794159A (zh) 2013-11-22 2014-11-20 资源分配

Country Status (4)

Country Link
US (1) US20150149638A1 (zh)
EP (1) EP3055957A1 (zh)
CN (1) CN105794159A (zh)
GB (1) GB201320667D0 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10602523B2 (en) * 2016-12-22 2020-03-24 Verizon Patent And Licensing Inc. Allocation of network resources based on antenna information and/or device type information
US10389772B1 (en) * 2018-01-31 2019-08-20 Facebook, Inc. Systems and methods for optimizing simulcast streams in group video calls
CN110475020B (zh) * 2019-08-05 2021-09-24 Oppo广东移动通信有限公司 设备控制方法及相关产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100309869A1 (en) * 2009-06-09 2010-12-09 Lg Electronics Inc. Method of channel resource allocation and devices in wireless networks
CN102378382A (zh) * 2010-08-10 2012-03-14 华为技术有限公司 一种数据流的调度方法、设备和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1410199A2 (en) * 2000-11-06 2004-04-21 Koninklijke Philips Electronics N.V. A method and a system for allocation of a budget to a task
US20040100903A1 (en) * 2002-11-25 2004-05-27 Seung-Jae Han Quality of service mechanisms for mobility access device
CN1297163C (zh) * 2004-04-02 2007-01-24 华为技术有限公司 一种高优先级别用户上行抢占的方法
US7929678B2 (en) * 2005-07-27 2011-04-19 Cisco Technology, Inc. Method and system for managing conference resources
US8681709B2 (en) * 2008-03-27 2014-03-25 At&T Mobility Ii Llc Dynamic allocation of communications resources
US9392421B2 (en) * 2012-05-23 2016-07-12 Qualcomm Incorporated Systems and methods for group communication using a mobile device with mode depending on user proximity or device position

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100309869A1 (en) * 2009-06-09 2010-12-09 Lg Electronics Inc. Method of channel resource allocation and devices in wireless networks
CN102378382A (zh) * 2010-08-10 2012-03-14 华为技术有限公司 一种数据流的调度方法、设备和系统

Also Published As

Publication number Publication date
EP3055957A1 (en) 2016-08-17
GB201320667D0 (en) 2014-01-08
US20150149638A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
CN112437122B (zh) 通信方法、装置、计算机可读介质及电子设备
CN103733680B (zh) 用于控制无线上行会话的方法和装置
EP3375164B1 (en) Encoding an audio stream
CN112585922B (zh) 提供辅助的方法、提供信息的方法、流传输的方法和设备
EP3164963A1 (en) Priority of uplink streams in video switching
CN105794159A (zh) 资源分配
US20150120933A1 (en) Sharing Network Resources
US11431779B2 (en) Network controlled uplink media transmission for a collaborative media production in network capacity constrained scenarios
CN112585921B (zh) 提供事件协调的上行链路网络辅助的方法和网络元件
CN107172652B (zh) 一种基于高层业务信息的基站调度方法及装置
US9578283B1 (en) Audio level based management of communication resources
WO2015077389A1 (en) Resource allocation
CN108353035B (zh) 用于多路复用数据的方法和设备
CN112585979B (zh) 用于所存储内容的网络控制媒体上传的方法和系统
CN116569597A (zh) 资源调度方法和装置
WO2017074811A1 (en) Multiplexing data

Legal Events

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

Application publication date: 20160720