用于对通信会话的服务质量进行管理的方法和系统的制作方法

文档序号:7814781阅读:165来源:国知局
用于对通信会话的服务质量进行管理的方法和系统的制作方法
【专利摘要】本发明涉及用于对通信会话的服务质量进行管理的方法和系统。提供了用于对通信会话的服务质量进行管理的计算机实施的方法、计算机程序产品和计算系统。在一种实施方式中,一种方法可以包括确定与通信会话相关联的网络条件。该方法还可以包括基于该网络条件而针对多种纠错码中的每一个计算一个或多个预期性能属性。该方法还可以包括基于针对多种纠错码中的每一个所计算的一个或多个预期性能属性而针对多种纠错码中的每一个确定体验质量量度。该方法可以进一步包括基于针对多种纠错码中的每一个的体验质量量度而针对通信会话建立多种纠错码之一。
【专利说明】用于对通信会话的服务质量进行管理的方法和系统

【技术领域】
[0001] 本公开总体上涉及用于电子通信的系统和方法,尤其涉及对电子通信会话的服务 质量进行管理。

【背景技术】
[0002] 存在用于使得个体能够参与到诸如为项目一起工作、共享信息等的合作活动中的 各种合作系统。合作系统在允许地理上分散的个体进行交互并一起工作的方面会是特别有 用的。使用各种不同的合作系统或多功能合作系统,例如,在地理上互相远离的个体可以例 如使用在线团队工作空间参与到共同的工作项目中,例如使用电话会议或视频会议系统加 入互动讨论,以及例如使用允许展示、演讲、研讨等的电子会议系统参与会议。


【发明内容】

[0003] 根据一种实施方式,一种计算机实施的方法可以包括通过处理器确定与通信会话 相关联的网络条件。该方法还可以包括通过处理器基于该网络条件而针对多种纠错码中的 每一个计算一个或多个预期性能属性。该方法还可以包括通过处理器基于针对多种纠错码 中的每一个所计算的一个或多个预期性能属性而针对多种纠错码中的每一个确定体验质 量量度。该方法可以进一步包括通过处理器基于针对多种纠错码中的每一个的体验质量量 度而针对通信会话建立多种纠错码之一。
[0004] 可以包括以下的一个或多个特征。确定与通信会话相关联的网络条件可以响应于 建立该通信会话的请求。确定与通信会话相关联的网络条件可以响应于接收到与该通信会 话相关联的不良体验质量的指示。该预期性能属性可以包括分组丢失、突发比率和延迟中 的一个或多个。
[0005] 该方法还可以包括确定变化的网络条件。可以基于该变化的网络条件针对多种纠 错码中的每一个计算一个或多个变化的预期性能属性。可以基于多种纠错码中的每一个的 该变化的预期性能属性而针对多种纠错码中的每一个确定变化的体验质量量度。用于通信 会话的纠错码可以基于针对多种纠错码中的每一个的变化的体验质量量度而切换至多种 纠错码之一。确定变化的网络条件可以响应于接收到与该通信会话相关联的不良体验质量 的指示。确定变化的网络条件可以包括监视与通信会话相关联的网络条件。
[0006] 根据另一种实施方式,一种计算机程序产品包括具有存储于其上的多个指令的计 算机可读介质。当被处理器执行时,该指令可以使得处理器执行操作,该操作包括确定与通 信会话相关联的网络条件。还可以包括用于基于该网络条件而针对多种纠错码中的每一个 计算一个或多个预期性能属性的指令。还可以包括用于基于针对多种纠错码中的每一个所 计算的一个或多个预期性能属性而针对多种纠错码中的每一个确定体验质量量度的指令。 可以进一步包括用于基于针对多种纠错码中的每一个的体验质量量度而针对通信会话建 立多种纠错码之一的指令。
[0007] 可以包括以下的一个或多个特征。确定与通信会话相关联的网络条件可以响应于 建立该通信会话的请求。确定与通信会话相关联的网络条件可以响应于接收到与该通信会 话相关联的不良体验质量的指示。该预期性能属性可以包括分组丢失、突发比率和延迟中 的一个或多个。
[0008] 还可以包括用于确定变化的网络条件的指令。可以基于该变化的网络条件针对多 种纠错码中的每一个计算一个或多个变化的预期性能属性。可以基于针对多种纠错码中的 每一个的该变化的预期性能属性而针对多种纠错码中的每一个确定变化的体验质量量度。 用于通信会话的纠错码可以基于针对多种纠错码中的每一个的变化的体验质量量度而切 换至多种纠错码之一。确定变化的网络条件可以响应于接收到与该通信会话相关联的不良 体验质量的指示。用于确定变化的网络条件的指令可以包括用于监视与通信会话相关联的 网络条件的指令。
[0009] 根据又一种实施方式,一种计算系统包括处理器以及与该处理器耦合的存储器模 块。该处理器可以被配置用于确定与通信会话相关联的网络条件。该处理器还可以被配置 用于基于该网络条件而针对多种纠错码中的每一个计算一个或多个预期性能属性。该处理 器还可以被配置用于基于针对多种纠错码中的每一个所计算的一个或多个预期性能属性 而针对多种纠错码中的每一个确定体验质量量度。该处理器可以进一步被配置用于基于针 对多种纠错码中的每一个的体验质量量度而针对通信会话建立多种纠错码之一。
[0010] 可以包括以下的一个或多个特征。确定与通信会话相关联的网络条件可以响应于 建立该通信会话的请求。确定与通信会话相关联的网络条件可以响应于接收到与该通信会 话相关联的不良体验质量的指示。该预期性能属性可以包括分组丢失、突发比率和延迟中 的一个或多个。
[0011] 该处理器可以进一步被配置用于确定变化的网络条件。可以基于该变化的网络条 件针对多种纠错码中的每一个计算一个或多个变化的预期性能属性。可以基于针对多种纠 错码中的每一个的该变化的预期性能属性而针对多种纠错码中的每一个确定变化的体验 质量量度。用于通信会话的纠错码可以基于针对多种纠错码中的每一个的变化的体验质量 量度而切换至多种纠错码之一。确定变化的网络条件可以响应于接收到与该通信会话相关 联的不良体验质量的指示。
[0012] 一种或多种实施方式的细节在附图和以下描述中给出。其它特征和优势将由于该 描述、附图和权利要求而变为显而易见的。

【专利附图】

【附图说明】
[0013] 图1是根据本公开的实施方式的包括执行服务质量处理的计算设备的分布式计 算网络的图解视图;
[0014] 图2是根据本公开的实施方式的图1的服务质量处理的流程图;
[0015] 图3图解地描绘了根据示例实施例的图1的服务质量处理的实施方式;
[0016] 图4图解地描绘了根据示例实施例的图1的服务质量处理的实施方式;
[0017] 图5图解地描绘了根据示例实施例的图1的服务质量处理的实施方式;
[0018] 图6图解地描绘了根据示例实施例的图1的服务质量处理的实施方式;
[0019] 图7图解地描绘了根据示例实施例的图1的服务质量处理的实施方式;
[0020] 图8图解地描绘了根据示例实施例的图1的服务质量处理的实施方式;
[0021] 图9是根据本公开的实施方式的图1的计算设备的图解视图。
[0022] 各图中同样的附图标记表示同样的要素。

【具体实施方式】
[0023] 个体经常会利用用于传递通信的数据网络而参与到通信会话中。这样的通信会话 例如可以包括IP语音传输和IP视频传输的通信,其中往来于每一方的通信可以作为分组 数据而通过数据网络进行传递。这些类型的通信的质量会受网络条件大幅影响。例如,分 组丢失可能是影响参与通信会话的个体所感知到的体验质量的一个重要因素。随着分组丢 失的增加,例如伴随着个体体验到断开或错乱的音频信号、有所增大的干扰以及噪声等等, 通信质量会发生退化。
[0024] 符合本公开的是,可以利用纠错码来提高与通信会话相关联的体验质量。在一些 实施例中,可以对网络条件进行监视并且可以针对给定网络条件选择适当纠错码,该适当 纠错码可以在降低或防止分组丢失与降低或防止对通信会话的其它不利影响之间实现有 利平衡,上述其它不利影响诸如延迟的引入。例如,可以利用纠错码而通过传送冗余数据来 降低分组丢失的影响。例如,可以实施Reed-Solomon纠错码从而可以在通信参与方之间连 同奇偶校验信息一起传送音频数据,这可以允许来自丢失分组的信息得以被恢复,由此使 得丢失分组的影响最小化。
[0025] 虽然纠错码可以降低丢失分组的影响,但是因为必须要传输音频数据以及能够用 来恢复丢失分组的奇偶校验信息二者,所以纠错码会增加用于通信会话的必要带宽。类似 地,纠错码会对通信会话引入延迟,例如,因为接收器除非也接收到奇偶校验数据,否则会 无法开始播放音频。如果纠错所引入的延迟变得足够大,即使是在丢失分组的影响可能很 轻微的时候,该延迟也会导致参与方的体验质量下降。根据本公开的一些实施例,可以针对 当前和/或预测的网络条件选择纠错码而使得由于分组丢失以及参与方之间的单程延迟 对体验质量所导致的影响可以有所降低。这样,可以提高通信会话的参与方的体验质量和 /或将体验质量保持在参与方可接受的水平之内。
[0026] 参考图1,示出了服务质量处理10。对于以下讨论,所要理解的是,服务质量处理 10可以以各种方式来实施。例如,服务质量处理可以被实施为服务器侧的处理、客户端侧的 处理或者服务器侧/客户端侧的处理。
[0027] 例如,服务质量处理10可以经由服务质量处理10s而被实施为单纯的服务器侧处 理。可替换地,服务质量处理10可以经由客户端侧应用l〇cl、客户端侧应用10c2、客户端侧 应用10c3和客户端侧应用10c4中的一个或多个而被实施为单纯的客户端侧处理。另外可 替换地,服务质量处理10可以经由服务器侧的服务质量处理l〇s结合客户端侧应用l〇cl、 客户端侧应用l〇c2、客户端侧应用10c3和客户端侧应用10c4中的一个或多个而被实施为 服务器侧/客户端侧的处理。在这样的示例中,服务质量处理10的至少一部分功能可以 由服务质量处理l〇s所执行并且服务质量处理10的至少一部分功能可以由客户端侧应用 10cl、10c2、10c3和10c4中的一个或多个所执行。
[0028] 因此,如本公开中所使用的服务质量处理10可以包括服务质量处理10s、客户端 侧应用l〇cl、客户端侧应用10c2、客户端侧应用10c3和客户端侧应用10c4的任意组合。
[0029] 还参考图2以及如以下更为详细讨论的,服务质量处理10可以确定100与通信会 话相关联的网络条件。服务质量处理10还可以基于该网络条件而针对多种纠错码中的每 一个计算102 -个或多个预期性能属性。服务质量处理10还可以基于针对多种纠错码中 的每一个所计算的一个或多个预期性能属性而针对多种纠错码中的每一个确定104体验 质量量度。服务质量处理10可以进一步基于针对多种纠错码中的每一个的体验质量量度 而针对通信会话建立106多种纠错码之一。
[0030] 服务质量处理10s可以是服务器应用并且可以处于计算设备12上并且可以由其 执行,计算设备12可以连接至网络14 (例如,互联网或局域网)。计算设备12的示例可以 包括但并不局限于:个人计算机、服务器计算机、一系列服务器计算机、迷你计算机、大型计 算机或专用网络设备。
[0031] 可以存储在耦合至计算设备12的存储设备16上的服务质量处理10s的指令集和 子程序可以由计算设备12内所包括的一个或多个处理器(未示出)以及一个或多个存储 器架构(未示出)所执行。存储设备16的示例可以包括但并不局限于:硬盘驱动器、磁带驱 动器、光驱、RAID设备、NAS设备、存储区域网络、随机存取存储器(RAM)、只读存储器(ROM) 以及所有形式的闪存存储设备。
[0032] 网络14可以连接至一个或多个二级网络(例如,网络18),例如,二级网络的示例 可以包括但并不局限于局域网、广域网或内联网。
[0033] 客户端侧应用10cl、10c2、10c3和10c4的示例可以包括但并不局限于IP语音传 输应用、IP视频传输应用、web浏览器或专用应用(例如,在移动平台上运行的应用)中的 一个或多个。可以(分别)存储在(分别)耦合至客户端电子设备28、30、32、34的存储设 备20、22、24、26上的客户端侧应用10(:1、1(^2、1(^3和1(^4的指令集和子程序可以由(分 另IJ)整合至客户端电子设备28、30、32、34中的一个或多个处理器(未示出)以及一个或多 个存储器架构(未示出)所执行。存储设备20、22、24、26的示例可以包括但并不局限于硬 盘驱动器、磁带驱动器、光驱、RAID设备、随机存取存储器(RAM)、只读存储器(ROM)以及所 有形式的闪存存储设备。
[0034] 客户端电子设备28、30、32、34的示例可以包括但并不局限于个人计算机28、膝上 型计算机30、移动计算设备32、笔记本电脑34、上网本电脑(未示出)、服务器计算机(未 示出)、游戏机(未示出)、支持数据的电视机(未示出)和专用网络设备(未示出)。客户 端电子设备28、30、32、34均可以执行操作系统。
[0035] 用户36、38、40、42可以直接通过网络14或通过二级网络18访问服务质量处理 10。另外,服务质量处理10可以经由链接线路44而通过二级网络18进行访问。
[0036] 各种客户端电子设备(例如,客户端电子设备28、30、32、34)可以直接或间接耦合 至网络14(或网络18)。例如,个人计算机28被示为直接耦合至网络14。另外,膝上型计 算机30被示为经由在膝上型计算机30和无线接入点(WAP) 48之间建立的无线通信信道46 无线耦合至网络14。类似地,移动计算设备32被示为经由在移动计算设备32和蜂窝网络 /桥52之间建立的无线通信信道50无线耦合至网络14,上述蜂窝网络/桥52被示为直接 耦合至网络14。WAP48例如可以是能够在膝上型计算机30和WAP48之间建立无线通信信 道 46 的IEEE802.lla、802.llb、802.llg、802.lln、Wi-Fi和 / 或蓝牙设备。此外,个人计 算机34被示为经由网络连接直接耦合至网络18。
[0037] 在一些实施例中,服务质量处理10可以与通信应用(例如,通信应用54)的组件 或模块进行通信、交互和/或包括它们。如总体示出的,通信应用(例如,通信应用54)可 以总体上在个体参与通信会话时促成个体之间的音频和/或视频通信。例如,通信应用54 可以促成通信会话参与方之间的IP语音传输和/或IP视频传输的通信。在一些实施例中, 通信会话可以仅包括两个参与方。在一些实施例中,通信会话可以包括多于两个的参与方。 在一些实施例中,通信应用54例如可以包括电子会议应用、web会议应用或者类似应用,和 /或可以与它们进行交互。通信应用54的示例可以包括但并不局限于IBMSametime?。 (IBMSametime是国际商业机器公司在美国、其它国家或此二者的注册商标)。
[0038] 在一个实施例中,电子通信应用54的指令集和子程序例如可以存储在与执行电 子通信应用54的服务器计算机12相关联的存储设备16和/或另一适当存储设备上。另 夕卜,用户(例如,用户36、38、40、42中的一个或多个)可以访问电子通信应用54以便参与 到电子通信会话(诸如语音呼叫、视频呼叫、电子会议或其它通信会话类型)中。用户可以 经由诸如客户端侧应用10cl-10c4(例如,其可以包括IP语音传输、IP视频传输、web浏览 器、客户端电子会议应用或另一种应用)的一个或多个适当应用和/或经由不同应用(未 示出)访问电子通信应用54。如以上总体讨论的,服务质量处理10的部分和/或全部功能 可以由客户端侧应用10cl-10c4中的一个或多个提供。例如,在一些实施例中,服务质量处 理10 (和/或服务质量处理10的客户端侧功能)可以包括在客户端侧应用10cl-10c4之 内和/或与客户端侧应用10cl_10c4进行交互,上述客户端侧应用10cl-10c4可以包括客 户端侧的电子通信应用、web浏览器或其它应用。同样可以利用各种附加/替换的配置。
[0039] 如以上参考图2总体讨论的,服务质量处理10可以确定100与通信会话相关联的 网络条件。服务质量处理10还可以基于该网络条件而针对多种纠错码中的每一个计算102 一个或多个预期性能属性。服务质量处理10还可以基于针对多种纠错码中的每一个所计 算的一个或多个预期性能属性而针对多种纠错码中的每一个确定104体验质量量度。服务 质量处理10可以进一步包括基于针对多种纠错码中的每一个的体验质量量度而针对通信 会话建立106多种纠错码之一。
[0040] 例如,服务器计算机12(例如,经由电子通信应用54和/或附加或替换的电子通 信应用)可以主持(host)相应参与方的不同群组之间的多个通信会话。如以上所讨论的, 服务器计算机12所主持的电子通信会话的示例可以包括但并不局限于语音通信、视频通 信、电子会议等。服务质量处理10可以确定100与通信会话相关联的网络条件。例如,诸 如网络拥塞等的网络问题或条件可能由于导致分组丢失、单程延迟等而影响到通信会话参 与方所感知的体验质量。因此,服务质量处理10可以确定100与通信会话相关联的网络条 件,例如以便确定网络对通信会话的影响。
[0041] 在一个实施例中,确定100与通信会话相关联的网络条件例如可以包括监视通信 会话参与方所体验的分组丢失、网络抖动、突发率、与通信会话相关联的缓冲长度队列、时 延等。在各个实施例中,确定100与通信会话相关联的网络条件可以包括连续监视网络条 件和/或间歇性地监视与通信会话相关联的网络条件。例如,在一个实施例中,确定100与 通信会话相关联的网络条件可以响应于建立通信会话的请求。例如,服务质量处理10可以 在参与方之一如通过呼叫通信会话的另一个参与方而开始通信会话时确定100网络条件。
[0042] 在一个实施例中,服务质量处理10可以响应于接收到与通信会话相关联的不 良体验质量的指示而确定100与通信会话相关联的网络条件。例如,并且同样参考图 3,用户38和40可以参与通信会话,该通信会话例如可以包括相应通信会话业务分组A,B,C,D,E,F,G,H以及S,T,U,V,W,X,Y,Z。在一个时间点(例如,当用户38和40之间的呼 叫发起时),网络条件可以是使得用户的体验质量是令人满意的,其具有用户之间正常的通 信业务分组流动。
[0043] 还参考图4,在通信会话期间的一些点,网络条件例如由于增加的网络拥塞等可能 有所变化,这导致用户40的通信会话体验质量的下降。例如,作为网络条件变化的结果,用 户40可能体验到8%的分组丢失率(例如,其中大约5%的分组丢失率可以被认为对于语 音质量是不利的)以及为2的突发率,造成3. 1的平均意见得分(M0S),这表示用户40可能 对通信会话的体验质量不满意。将意识到的是,网络条件的各种其它变化会导致令人不满 意的体验质量,并且可以采用M0S以外的指示符来指示参与方在通信会话中所感知的体验 质量。
[0044] 基于用户40不满意的体验质量(例如,该示例实施例中由3. 1的M0S所反映的), 服务质量处理10可以接收到用户40不满意体验质量的指示。例如以及还参考图5,可以向 客户端设备30传送实时传输协议控制协议(RTCP)消息(用户38可以经由其而参与到通 信会话中)。在一个实施例中,RTCP消息可以报告用户40正在体验不良的体验质量,并且 可以报告用户40的体验质量的特定属性(例如,8%的分组丢失、为2的突发率、100ms的单 程延迟)。在一个实施例中,该RTCP消息还可以指示当前所采用的编解码(例如,所图示 实施例中的iLBC)。响应于接收到与用户40相关联的不良体验质量的指示,服务质量处理 10 (例如,经由服务质量处理l〇s、客户端侧应用10c3和客户端侧应用10c2中的一个或多 个)可以确定100与通信会话相关联的网络条件(例如,以识别可能导致用户40的不良体 验质量的网络特性)。将意识到的是,与通信会话参与方相关联的不良体验质量的指示可以 包括RTCP消息以外的指示。
[0045] 服务质量处理10可以基于该网络条件而针对多种纠错码中的每一个计算102 - 个或多个预期性能属性。例如,可以采用多种不同纠错码以例如针对与通信会话的音频流 相关联的丢失分组进行纠错。例如,可以结合通信会话利用Reed-Solomon纠错码以恢复丢 失的分组。存在各种不同的Reed-Solomon代码,它们可以被用来提供不同结果以便取决于 网络特性。取决于通信会话的分组通过其进行路由的网络所体验的确切网络条件,不同纠 错码可以提供不同性能属性(例如,不同程度的分组恢复/分组丢失防止、所导致的延迟增 力口、突发率变化等)。这样,性能属性可以被称作是"预期的",因为所计算102的性能属性 是给定网络条件的情况下将预计的性能属性。因此,在给定所确定100的网络条件和/或 预期的未来网络条件的情况下,服务质量处理10可以计算102可能由于使用多种纠错码中 的每一种所导致的一个或多个性能属性。
[0046] 在一个实施例中,所计算102的预期性能属性可以包括分组丢失、突发率和单程 延迟中的一个或多个,其可能是由于在给定当前和/或预期的未来所确定100的网络条件 的情况下使用每种纠错码所导致。因此,针对多种纠错码中的每一个计算102预期性能属 性可以针对该网络条件而提供每种不同纠错码的性能的指示和/或预测,例如在对不同代 码会如何影响通信会话的认识方面。
[0047] 服务质量处理10可以基于针对多种纠错码中的每一个所计算的一个或多个预期 性能属性而针对多种纠错码中的每一个确定104体验质量量度。例如以及如以上总体讨论 的,体验质量量度(诸如MOS)可以被用来量化通信会话的参与方的体验质量。在一个实施 例中,针对多种纠错码中的每一种所计算102的各种性能属性可能对与通信会话相关联的 体验质量有所影响。例如,传输冗余数据以针对分组丢失进行纠错可能增加与通信会话相 关联的单程延迟。虽然某些程度的延迟增加可能被认为是可接受的,但是在一些情形中,延 迟可能增加至通信会话中的一个或多个参与方的对话体验质量可能出现下降并令人无法 满意的程度。在给定所确定100的当前或预期的未来网络条件的情况下,不同纠错码可能 针对分组丢失提供可能或多或少有效的不同程度的纠错(例如,通过采用不同奇偶校验数 据等)。类似地,不同纠错码可能导致不同程度的延迟,等等。由于针对给定网络条件应用 不同纠错码所导致的分组丢失(例如,分组丢失纠错的程度和/或纠错后继续分组丢失的 程度)、单程延迟时间等的组合会对通信会话中的参与方产生不同的体验质量。因此,不同 纠错码例如可以关于可能导致不同体验质量的分组丢失纠错、延迟等提供不同的权衡。
[0048] 在一个实施例中,服务质量处理10可以基于针对多种纠错码中的每一个所计算 的一个或多个预期性能属性而针对多种纠错码中的每一个确定104体验质量量度,这包括 计算将由针对每种纠错码所计算102的性能属性所产生的体验质量量度。在一个实施例 中,服务质量处理10可以至少部分地基于性能属性和相关联的体验质量量度之间的映射, 来基于针对多种纠错码中的每一个所计算的一个或多个预期性能属性而针对多种纠错码 中的每一个确定104体验质量量度。例如,可以提供纠错码、体验质量量度、所计算性能属 性(和/或网络条件)的矩阵。在一个示例实施例中,该矩阵可以针对各种纠错码中的每 一个将体验质量量度与所计算性能属性(和/或网络条件)进行关联。因此,(例如,利用 该矩阵或其它适当映射范例的)映射可以指示可能由于针对给定网络条件使用给定纠错 码(例如,其会针对给定纠错码和给定网络条件导致特定的所计算102性能属性)所导致 的体验质量量度(例如,M0S)。纠错码、性能属性(和/或网络条件)和体验质量量度之间 的各种附加和/或替换的关联可以类似地被用来针对多种纠错码中的每一个确定体验质 量量度。
[0049] 例如以及还参考图6,在一个实施例中,针对所确定100的网络条件,服务质量处 理10可以基于针对每种纠错码所计算102的性能属性而针对多种纠错码中的每一个确 定104体验质量量度。如以上所讨论的,在示例实施例中,如可以结合正向纠错所使用的, 纠错码可以包括Reed-Solomon代码。例如,在所图示的实施例中,示出了三种不同的可能 Reed-Solomon作为用于通信会话的可能纠错码,即纠错码RS(2, 1)、RS(3, 2)、RS(4, 3)。将 意识到的是,可以结合本公开使用Reed-Solomon代码以外的纠错码。另外,将意识到的是, 与出于说明的目的所描绘的三种Reed-Solomon代码相比,多种纠错码可以包括更多或更 少数量的可能纠错码。
[0050] 如图6所示,可以针对三种Reed-Solomon纠错码(例如,RS(2, 1)、RS(3, 2)、 RS(4, 3))中的每一个确定104体验质量量度(例如,M0S)。针对三种Reed-Solomon纠错 码中的每一个所确定104的M0S可以至少部分地基于一个或多个所计算102的预期性能属 性,该一个或多个所计算102的预期性能属性可以基于所确定100的当前或预期的未来网 络条件通过每种Reed-Solomon纠错码而实现。例如,在给定所确定的网络条件的情况下, 纠错码RS(2, 1)可以被预计提供3. 7的M0S,纠错码RS(3, 2)可以被预计提供3的M0S,而 纠错码RS(4, 3)则可以被预计提供3. 1的M0S。如以上总体讨论的,可以通过计算体验质量 量度和/或通过参考将纠错码、网络条件(和/或性能属性)与体验质量量度进行关联的 例如矩阵、表格等来确定104质量体验量度。如所图示的实施例中所示,针对所确定100的 网络条件,纠错码RS(2, 1)可以在所确定100的网络条件下为通信会话提供最佳的体验质 量(例如,通过最高的MOS得分来指示)。
[0051] 服务质量处理10可以基于针对多种纠错码中的每一个的体验质量量度而针对通 信会话建立106多种纠错码之一。例如,基于确定哪种纠错码可以最佳执行(例如,可以为 通信会话的参与方提供最高的体验质量),服务质量处理10可以将提供最佳体验质量的纠 错码建立为要针对通信会话使用的纠错码。还参考图7并且继续以上示例,RS(2, 1)纠错码 可以被用于通信会话。如图7的示例中所示,RS(2, 1)纠错码可以大幅减少分组丢失(例 如,通过随通信会话的音频流传送冗余纠错数据),例如将分组丢失从8 %降低至0. 9 %,同 时仅稍微增加单程延迟(例如,在所图示示例中从100ms到140ms)。因此,通过针对通信建 立RS(2, 1)纠错码,可以针对用户40实现3. 7的M0S体验质量量度。将意识到的是,关于 所图示示例所描述的示例数值和纠错码意在进行说明,而不应当被理解为是对本公开的限 制。
[0052] 在通信会话的过程中(例如,在针对通信会话建立106多种纠错码之一后),网络 条件可能有所变化。将意识到的是,网络条件的变化会改变当前所建立的纠错码的性能。例 如,作为网络条件变化的结果,当前所建立的纠错码可能不会针对通信会话的一个或多个 参与方实现令人满意的(和/或最优的)体验质量。因此,在一些实施例中,服务质量处理 10可以确定108与通信会话相关联的变化的网络条件。在一些实施例中,服务质量处理10 可以通过以下中的一种或多种而确定108变化的网络条件:持续监视与通信会话相关联的 网络条件,和/或间歇性地(例如,以所定义的时间间隔等)监视与通信会话相关联的网络 条件。在一些实施例中,确定108变化的网络条件可以响应于接收到与通信会话相关联的 不良体验质量的指示。例如,以与以上总体讨论的相类似的方式,在参与方体验到不良体验 质量的情况下,可以传送指示不良体验质量的体验质量报告(例如,RTCP消息或其它适当 指示符)。RTCP消息可以被服务质量处理10所接收。
[0053] 以与以上所描述的相类似的方式,服务质量处理10可以基于变化的网络条件针 对多种纠错码中的每一个计算110-个或多个变化的预期性能属性。例如,服务质量处 理10可以计算110被预计由于根据变化的网络条件使用每种或多种纠错码所导致的性能 属性。另外,服务质量处理10还可以基于针对多种纠错码中的每一个的变化的预期性能 属性而针对多种纠错码中的每一个确定112变化的体验质量量度。例如,在之前所讨论的 Reed-Solomon纠错码的情况下,可以针对纠错码RS(2, 1)、RS(3, 2)、RS(4, 3)中的每一个确 定112M0S(或者其它适当的体验质量量度)。这样,服务质量处理10可以针对变化的网络 条件识别出可以为通信会话的参与方提供令人满意和/或最优的体验质量的纠错码。同样 以如以上所讨论的相似方式,服务质量处理10可以针对变化的网络条件而针对多种纠错 码中的每一个确定112体验质量量度,这包括计算体验质量量度和/或参考将体验质量量 度、纠错码和针对多种纠错码(和/或网络条件)所计算的性能属性进行关联的矩阵、表格 等。
[0054] 服务质量处理10可以基于针对多种纠错码中的每一种的变化的体验质量量度而 将用于通信会话的纠错码切换114至多种纠错码之一。例如并且参考图8,考虑到所确定 108的变化的网络条件以及针对变化的网络条件而针对多种纠错码中的每一个所计算110 的预期性能属性,服务质量处理10可以确定多种纠错码中的哪一种可以提供令人满意的 (和/或最优的)体验质量(例如,基于所确定112的体验质量量度)。服务质量处理10 可以将用于通信会话的纠错码从当前使用的纠错码切换至被确定为在给定的有所变化的 网络条件下为通信会话提供令人满意和/或最优的体验质量的纠错码。例如,如图8所示, 考虑到变化的网络条件,服务质量处理10可以确定RS(3, 2)纠错码可以针对变化的网络条 件提供令人满意的体验质量。这样,服务质量处理10可以将纠错码从RS(2, 1)切换114至 RS(3, 2)。以上述方式,服务质量处理10可以基于当前(和/或所预测的未来)网络条件 自适应地选择并改变纠错码。通过在通信会话的过程中自适应地选择并改变纠错码,在给 定通信会话的整个过程中变化的网络条件的情况下,可以为通信会话的参与方提供令人满 意和/或最佳的可用或可能体验质量。
[0055] 同样参考图9,示出了计算系统12的图解视图。虽然计算系统12在该图中示出, 但是这仅是出于说明的目的而并非意在作为本公开的限制,因为其它配置也是可能的。例 如,能够整体或部分执行服务质量处理10的任意计算设备都可以替代图3内的计算设备 12,其示例可以包括但并不局限于客户端电子设备28、30、32、34。
[0056] 计算设备12可以包括微处理器200,微处理器200例如被配置为针对屏幕捕捉处 理10处理数据并执行指令/代码。微处理器200可以耦合至存储设备16。如以上所讨论 的,存储设备16的示例可以包括但并不局限于硬盘驱动器、磁带驱动器、光驱、RAID设备、 NAS设备、存储区域网络、随机存取存储器(RAM)、只读存储器(ROM)以及所有形式的闪存 存储设备。10控制器202可以被配置为将微处理器200与诸如键盘204、鼠标206、USB端 口(未示出)和打印机端口(未示出)之类的各种设备进行耦合。显示适配器208可以被 配置为将显示器210 (例如,CRT或IXD监视器)与微处理器200进行耦合,而网络适配器 212 (例如,以太网适配器)可以被配置为将微处理器200耦合至网络14 (例如,互联网或局 域网)。
[0057] 如本领域技术人员将会意识到的,本公开可以被实施为(例如,整体或部分在计 算设备12上执行的)方法、系统(例如,计算设备12)或(例如,在存储设备16内编码的) 计算机程序产品。因此,本公开可以采用完全硬件实施例、完全软件实施例(包括固件、驻 留软件、微代码等)或者将软件和硬件方面相结合的实施例的形式,它们在这里全部都可 以统称为"电路"、"模块"或"系统"。此外,本公开可以采用在计算机可用存储介质(例如, 存储设备16)上的计算机程序产品的形式,而在该介质中嵌入有计算机可用程序代码。
[0058] 可以采用任意合适的计算机可用或计算机可读介质(例如,存储设备16)。计算 机可用或计算机可读介质例如可以是--但不限于--电、磁、光、电磁、红外线或半导体 的系统、装置、设备或者传播介质。计算机可读介质的更具体的例子(非穷举的列表)可以 包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读 存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器 (CD-ROM)、光存储设备、诸如支持互联网或内联网的传输媒介或者磁存储设备。计算机可用 或计算机可读介质也可以是其上印刷有程序的纸张或另外的适当介质,因为程序例如能够 经由纸张或其它介质的光学扫描而被电子捕捉,并且随后在必要的情况下以适当方式进行 编译、解释或以其它方式进行处理,并且随后存储在计算机存储器中。在本文件的上下文 中,计算机可用或计算机可读介质可以是任何可以包含、存储、传送、传播或传输程序以便 由指令执行系统、装置或设备使用或者与其结合使用的介质。计算机可用介质可以包括在 基带中或者作为载波一部分随利用其体现的计算机可用程序代码进行传播的数据信号。该 计算机可用程序代码可以使用任意适当介质进行传送,包括但并不局限于互联网、线路、光 纤线缆、RF等。
[0059] 可以以诸如Java、C#.NET、PHP、C++等的面向对象的程序设计语言来编写用于执 行本公开操作的计算机程序代码。然而,用于执行本公开操作的计算机程序代码也可以以 常规过程式程序设计语言诸如"C"程序设计语言或类似程序设计语言来编写。程序代码可 以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、 部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。 在涉及远程计算机的情形中,远程计算机可以通过局域网/广域网/互联网(例如,网络 14)连接到用户的计算机。
[0060] 参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或 框图描述了本公开。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各 方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机/ 专用计算机/其它可编程数据处理装置(例如,计算设备12)的处理器(例如,处理器200), 使得经由计算机或其它可编程数据处理装置的处理器(例如,处理器200)执行的指令创建 用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0061] 也可以把这些计算机程序指令存储在计算机可读存储器(例如存储设备16)中, 这些指令可以使得计算机(例如计算设备12)或其它可编程数据处理装置以特定方式工 作,从而,存储在计算机可读存储器中的指令就产生出包括实现流程图和/或框图中的一 个或多个方框中规定的功能/动作的指令装置的制造品(articleofmanufacture)。
[0062] 计算机程序指令还可以加载到计算机(例如计算设备12)或其它可编程数据处理 装置上而使得一系列操作步骤得以在计算机或其它可编程装置上执行,从而产生计算机实 施的处理而使得在计算机或其它可编程装置上执行的指令提供用于实施以流程图和/或 框图中的一个或多个框中所指定的功能/动作的步骤。
[0063] 附图中的流程图和框图可以图示根据本公开各个实施例的系统、方法和计算机程 序产品的可能实施方式的架构、功能和操作。就此而言,流程图或框图中的每个方框可以表 示模块、分段或代码部分,它们包括一个或多个可执行指令以便实施所指出的(多种)逻辑 功能。还应当注意的是,在一些可替换实施方式中,方框中所提到的功能可以以不同于图中 所示的顺序进行。例如,根据所涉及的功能,连续示出的两个方框实际上可以基本上同时执 行或者该方框有时可以以相反顺序执行。还要注意的是,框图和/或流程图中的每个方框 以及框图和/或流程图中的方框的组合可以由执行指定功能或动作的特殊用途的基于硬 件的系统来实施,或者由特殊用途的硬件和计算机指令的组合来实施。
[0064] 术语在这里仅是出于描述特定实施例的目的使用而并非意在限制本公开。如这里 所使用的,除非另外明确指出,否则单数形式"一个"、"一"和"该"也旨在包括复数形式。将 要进一步理解的,当在该说明书中使用时,术语"包含"和/或"包括"指明存在所指出的特 征、整数、步骤、操作、要素和/或组件,但是并不排除存在或添加一个或多个其它的特征、 整数、步骤、操作、要素、组件和/或其群组。
[0065] 相对应的结构、材料、动作以及以下权利要求中的所有装置或步骤加上功能部件 的等同形式意在包括用于结合如特别请求保护的其它请求保护的要素而执行功能的任意 结构、材料或动作。本公开的描述已经出于说明和描述的目的而给出,但是其并非意在是穷 举的或者局限于所公开的形式。许多修改和变化对于本领域普通技术人员将是显而易见的 而并不背离本发明实施例的范围和精神。被选择并描述以便对本发明的原理和实践应用进 行最佳解释并且使得本领域普通技术人员能够针对具有各种修改的各个实施例理解本发 明装置的实施例适用于所预期的特定使用。
[0066] 因此在已经参考其实施例对本申请的公开进行了详细描述之后,将显而易见的 是,在不背离所附权利要求所限定的本公开的范围的情况下,修改和变化是可能的。
【权利要求】
1. 一种计算机实施的方法,包括: 通过处理器确定与通信会话相关联的网络条件; 通过所述处理器基于所述网络条件而针对多种纠错码中的每一个计算一个或多个预 期性能属性; 通过所述处理器基于针对所述多种纠错码中的每一个所计算的一个或多个预期性能 属性而针对所述多种纠错码中的每一个确定体验质量量度;W及 通过所述处理器基于针对所述多种纠错码中的每一个的所述体验质量量度而针对所 述通信会话建立所述多种纠错码之一。
2. 根据权利要求1所述的计算机实施的方法,其中确定与所述通信会话相关联的所述 网络条件是响应于建立所述通信会话的请求。
3.根据权利要求1所述的计算机实施的方法,其中确定与所述通信会话相关联的所述 网络条件是响应于接收到与所述通信会话相关联的不良体验质量的指示。
4.根据权利要求1所述的计算机实施的方法,其中所述预期性能属性包括分组丢失、 突发比率和延迟中的一个或多个。
5.根据权利要求1所述的计算机实施的方法,进一步包括: 确定变化的网络条件; 基于所述变化的网络条件,针对所述多种纠错码中的每一个计算一个或多个变化的预 期性能属性; 基于针对所述多种纠错码中的每一个的所述变化的预期性能属性,针对所述多种纠错 码中的每一个确定变化的体验质量量度;W及 基于针对所述多种纠错码中的每一个的所述变化的体验质量量度,将用于所述通信会 话的纠错码切换至所述多种纠错码之一。
6. 根据权利要求5所述的计算机实施的方法,其中确定所述变化的网络条件是响应于 接收到与所述通信会话相关联的不良体验质量的指示。
7.根据权利要求5所述的计算机实施的方法,其中确定所述变化的网络条件包括监视 与所述通信会话相关联的网络条件。
8. -种计算系统,包括: 处理器W及与所述处理器禪合的存储器模块,所述处理器被配置用于: 确定与通信会话相关联的网络条件; 基于所述网络条件,针对多种纠错码中的每一个计算一个或多个预期性能属性; 基于针对所述多种纠错码中的每一个所计算的一个或多个预期性能属性,针对所述多 种纠错码中的每一个确定体验质量量度;W及 基于针对所述多种纠错码中的每一个的所述体验质量量度,针对所述通信会话建立所 述多种纠错码之一。
9.根据权利要求8所述的计算系统,其中确定与所述通信会话相关联的所述网络条件 是响应于建立所述通信会话的请求。
10. 根据权利要求8所述的计算系统,其中确定与所述通信会话相关联的所述网络条 件是响应于接收到与所述通信会话相关联的不良体验质量的指示。
11. 根据权利要求8所述的计算系统,其中所述预期性能属性包括分组丢失、突发比率 和延迟中的一个或多个。
12. 根据权利要求8所述的计算系统,其中所述处理器进一步被配置用于: 确定变化的网络条件; 基于所述变化的网络条件,针对所述多种纠错码中的每一个计算一个或多个变化的预 期性能属性; 基于针对所述多种纠错码中的每一个的所述变化的预期性能属性,针对所述多种纠错 码中的每一个确定变化的体验质量量度;W及 基于针对所述多种纠错码中的每一个的所述变化的体验质量量度,将用于所述通信会 话的纠错码切换至所述多种纠错码之一。
13. 根据权利要求12所述的计算系统,其中确定所述变化的网络条件是响应于接收到 与所述通信会话相关联的不良体验质量的指示。
【文档编号】H04L12/24GK104468180SQ201410479648
【公开日】2015年3月25日 申请日期:2014年9月18日 优先权日:2013年9月19日
【发明者】J·邓恩, J·P·小高尔文, D·B·凯恩, P·J·奥沙利文, H·A·A·A·萨拉玛 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1