CN110537348B - 用于通信会话的端点配置 - Google Patents

用于通信会话的端点配置 Download PDF

Info

Publication number
CN110537348B
CN110537348B CN201880026079.1A CN201880026079A CN110537348B CN 110537348 B CN110537348 B CN 110537348B CN 201880026079 A CN201880026079 A CN 201880026079A CN 110537348 B CN110537348 B CN 110537348B
Authority
CN
China
Prior art keywords
endpoint device
communication session
endpoint
communication
configuration information
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
CN201880026079.1A
Other languages
English (en)
Other versions
CN110537348A (zh
Inventor
A·A·哈桑
T·M·穆尔
G·L·E·布里奇斯
G·利布
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
Publication of CN110537348A publication Critical patent/CN110537348A/zh
Application granted granted Critical
Publication of CN110537348B publication Critical patent/CN110537348B/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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • H04L45/3065Route determination based on the nature of the carried application for real time traffic
    • 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/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
    • 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/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • 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/12Discovery or management of network topologies
    • 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/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • 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/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

描述了用于通信会话的端点配置的技术。根据各种实现,基于云的连接服务维护网络路径信息,该网络路径信息标识用于在不同网络之间路由通信会话的路由路径。该连接服务还能够确定用于配置端点设备参与通信会话的配置信息。根据各种实现,基于路由路径的分组质量来确定配置信息。因此,端点设备可以应用该配置信息以尝试提高路由路径上的分组质量,从而提高端点设备处的通信会话的媒体质量。

Description

用于通信会话的端点配置
背景技术
现代通信系统具有一系列功能,包括各种通信方式与不同服务的集成。例如,用户可用的通信方式包括语音/视频通信、即时消息传递、数据/应用程序共享、白板和存在性。此外,使用户能够在创建和修改各种类型的文档和内容中共享和协作的协作系统,可以与提供不同种类的通信和协作功能的多模式通信系统集成在一起。这种集成系统有时称为统一通信(UC)系统。
虽然UC系统提供了更高的通信灵活性,但它们也带来了许多实施挑战。例如,由于UC会话所涉及的设备通常不知道网络属性,因此很难确定用于发送UC数据的最佳网络。此外,通常通过可加载在移动设备(例如,平板电脑、智能电话、膝上型计算机等等)上的软件来实现UC。因此,用于管理UC通信业务的技术通常必须是灵活和动态的,以适应不断变化的连接情况。
发明内容
提供该概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是旨在用于帮助确定本发明的保护范围。
描述了用于通信会话的端点配置的技术。根据各种实现,基于云的连接服务维护网络路径信息,该网络路径信息标识用于在不同网络之间路由通信会话的路由路径。该连接服务还能够确定用于配置端点设备参与通信会话的配置信息。此外,该连接服务还能够向端点设备提供用于端点设备自配置的网络信息。根据各种实现,基于路由路径的分组质量来确定配置信息。因此,端点设备可以应用该配置信息以尝试提高路由路径上的分组质量,从而提高端点设备处的通信会话的媒体质量。
附图说明
参照附图描述具体实施方式。在这些附图中,附图标记的最左侧数字标识该附图标记第一次出现时的附图。说明书和附图中的不同实例中对于相同附图标记的使用,指示类似或相同的项。
图1是可操作以采用本文所讨论的技术的示例性实现中的环境的视图。
图2描绘了根据一种或多种实现的设备记录的示例性实施方式。
图3根据一种或多种实现,描绘了由连接性数据库维护的与通信相关的属性的不同源。
图4根据一种或多种实现,描绘了用于配置通信会话的端点的示例性实现场景。
图5根据一种或多种实现,描绘了用于基于分组质量趋势的端点重新配置的示例性实现场景。
图6是根据一种或多种实现,描述用于提供路径信息和配置信息以配置通信会话的端点设备的方法中的步骤的流程图。
图7是根据一种或多种实现,描述用于基于分组质量的改变来生成重新配置指令的方法中的步骤的流程图。
图8是根据一种或多种实现,描述用于基于优先级来生成配置指令的方法中的步骤的流程图。
图9是根据一种或多种实现,描述用于使端点设备能够被配置用于通信会话的方法中的步骤的流程图。
图10是根据一种或多种实现,描述用于检索重新配置信息的方法中的步骤的流程图。
图11是根据一种或多种实现,描述用于配置通信会话的端点设备的方法中的步骤的流程图。
图12示出了被配置为实施本文所描述的技术的实现的、如参照图1所描述的示例系统和计算设备。
具体实施方式
描述了用于通信会话的端点配置的技术。根据各种实现,基于云的连接服务维护网络路径信息,该网络路径信息标识用于在不同网络之间路由通信会话的路由路径。此外,每个路由路径与一个质量度量或一组质量度量相关联。通信会话的示例包括互联网协议语音(VoIP)呼叫、视频呼叫、文本消息传递、文件传输和/或其组合。质量度量的示例包括分组差错率、延迟和延迟抖动。例如,通信会话通常是通过互联网协议(IP)来实现的。
连接服务还能够确定用于配置端点设备以参与通信会话的配置信息。诸如通信服务和/或端点设备之类的实体可以向连接服务查询用于路由通信会话的路由路径,连接服务可以以标识路由路径进行响应。在至少一些实现中,连接服务基于路由路径的历史和/或实时分组质量来选择路由。连接服务还可以提供用于配置端点设备以通过路由路径参与通信会话的配置信息。替代地或另外地,连接服务可以向端点设备通知路由路径和该路由路径上的分组的质量度量信息。因此,基于质量度量,端点设备可以判断是否以及如何配置自身以在该路由路径上进行基于分组的通信。
根据各种实现,基于路由路径的分组质量来确定配置信息。例如,如果确定路由路径具有较差的分组质量,则配置信息被配置为进行应用以尝试改善该路由路径上的分组质量。如下面进一步详细描述的,配置信息可以包括针对各种端点设备功能(例如,编解码器、纠错功能、抖动缓冲区等等)的设置。因此,端点设备可以应用配置信息以尝试提高路由路径上的分组质量,从而提高端点设备处的通信会话的媒体质量。
因此,本文所述的技术通过使端点设备能够基于路由路径上的分组质量进行配置和重新配置,从而能够改善通信会话的分组质量。
在以下讨论中,首先描述可用于采用本文所描述的技术的示例性环境。下一部分根据一种或多种实现描述一些示例性实现场景。之后的部分根据一种或多种实现描述了一些示例性过程。最后部分根据一种或多种实现,给出了可用于采用本文所讨论的技术的示例性系统和设备。
已经给出了根据一种或多种实现的示例实施方式的概述,现在考虑可以采用示例性实施方式的示例环境。
图1是可操作以采用本文所描述的用于通信会话的端点配置技术的示例性实现中的环境100的视图。通常,环境100包括能够通过各种不同模式进行通信的各种设备、服务和网络。例如,环境100包括连接到网络104的端点设备102。通常,端点设备102可以以各种方式进行配置,例如传统计算机(例如,桌上型个人计算机、膝上型计算机等等)、智能电话、互联网协议(IP)电话、可穿戴设备、上网本、手持设备(例如,平板设备)、娱乐设备、游戏控制台等等。
网络104向端点设备102提供到各种网络和/或服务的连接(例如,通过互联网提供的连接)。例如,网络104使得经由端点设备102之间的有线和/或无线连接来发送数据。可以经由诸如无线蜂窝(例如,LTE)、宽带电缆、数字用户线(DSL)、无线数据连接(例如,WiFiTM)、最后一英里或回程(例如,T1)、多协议标记交换(MPLS)等等之类的各种不同连接技术的实例和组合来实现网络104。在至少一些实现中,网络104表示不同的互连有线和无线网络。
端点设备102包括使得能够执行各种活动和任务的各种不同功能。例如,端点设备102包括操作系统106、应用108、通信客户端110、通信模块112和定位模块114。通常,操作系统106表示用于抽象端点设备102的各种系统组件(例如,硬件、内核级模块和服务等)的功能。例如,操作系统106可以将端点设备102的各种组件抽象到应用108,以实现组件和应用108之间的交互。
应用108表示用于经由端点设备102执行不同任务的功能。应用108的示例包括文字处理应用程序、电子表格应用程序、网络浏览器、游戏应用等等。应用108可以本地安装在端点设备102上以通过本地运行时环境执行,和/或可以表示远程功能(例如,基于云的服务、web应用等等)的门户。因此,应用108可以采用各种形式,例如,本地执行的代码、远程托管服务的门户等等。
通信客户端110表示经由端点设备102来实现不同形式的通信的功能,例如用于端点设备102的不同实例之间的通信。通信客户端10的示例包括语音通信应用(例如,VoIP客户端)、UC客户端、视频通信应用、消息传送应用、内容共享应用以及其组合。例如,通信客户端110使得能够组合不同的通信模式以提供不同的通信场景。在至少一些实现中,通信客户端110表示安装在端点设备102上的应用程序。另外地或替代地,通信客户端110可以实现为远程应用程序的门户(例如,经由web浏览器、web应用等等进行访问)。
根据一种或多种实现,在通信客户端110的不同实例之间发生端点设备102之间的通信。例如,端点设备102之间的通信会话表示通信客户端110的不同实例之间的通信介质的交换。在至少一些实现中,通信客户端110表示在端点设备102的应用层执行的应用程序。
端点设备102的通信模块112表示用于使端点设备102能够通过网络104,经由无线和/或有线数据传输进行通信的功能。例如,通信模块112表示用于经由各种不同的有线和/或无线技术和协议,在网络104上进行数据通信的硬件和逻辑。
通信模块112包括编解码器116和纠错模块118。通常,编解码器116表示用于编码和解码数据流的功能,例如,作为端点设备102之间的通信会话的一部分。纠错模块118表示向端点设备102发送和接收的数据流应用各种类型的纠错的功能的说明。纠错模块118可应用的错误校正的示例包括前向纠错(FEC)、数据交织、循环冗余校验(CRC)、加密协议等等。
如下面进一步详细描述的,可以以各种不同的方式来配置编解码器116和纠错模块118,以说明网络104上的分组质量的变化。通信模块112可以包括本文未明确示出的其它组件,例如,用于加密和解密数据的加密模块、用于调制和解调数据的射频(RF)调制器、用于发送和接收RF信号的RF组件(例如,天线、无线电装置等)等等。
定位模块114代表确定端点设备102的位置的功能。例如,定位模块114可以从一个或多个外部定位系统接收位置信息(例如,来自一个或多个全球定位系统(GPS)卫星的GPS坐标、来自无线蜂窝服务的位置信息、来自地图服务的地图信息等等)。定位模块114可以将这样的位置信息提供给其它实体和功能,例如在环境100中讨论的各种功能和实体。如本文中进一步详细描述的,可以利用位置信息来识别端点设备102在不同位置的优选网络。
环境100还包括通信服务120,该通信服务120表示执行用于管理端点设备102之间的通信的各种任务的服务。例如,通信服务120可以管理通信会话的启动、仲裁和终止。通信服务120的例子包括VoIP服务、在线会议服务、UC服务等等。在至少一些实现中,通信服务120可以实现为与公共交换电话网(PSTN)通信的专用小交换机(PBX)或者连接到该PBX,以实现端点设备102之间的语音通信。
根据一种或多种实现,通信客户端110由通信服务120进行管理和/或托管。例如,通信客户端110表示与通信服务120所提供的通信服务的接口。
环境100还包括连接服务122,该连接服务122代表基于网络的(例如,基于云的)服务,该基于网络的服务向各种实体提供网络智能和端点配置信息。例如,连接服务122向通信服务120和端点设备102提供网络智能。连接服务122还向端点设备102提供配置信息,以使得能够对端点设备102进行配置和重新配置以解决网络104上分组质量发生变化的问题。连接服务122维护连接数据库(DB)124,该连接DB包括连接策略126和设备记录128。通常,连接DB 124代表用于存储各种网络参数和有关网络104之间的网络连接的其它信息的功能。下面讨论存储在连接DB 124中的不同类型的网络信息的例子。
连接策略126代表用于配置端点设备102进行通信的不同规则和标准。例如,并且如下面进一步所详细描述的,连接策略126可以指示用于端点设备102的不同实例的不同优先级,这可以影响配置和重新配置端点设备102以用于网络104上的通信的方式和时间。连接策略126包括个体策略126a和组策略126b。个体策略126a表示针对个体用户和/或设备(例如,针对端点设备102的特定实例和/或个体用户简档)而定制的策略。组策略126b通常代表针对特定设备组和/或用户组(例如,端点设备102的规定集合)定制的策略。可以以多种方式来规定用于组策略126b目的的组,例如用户组、企业组、设备类型组、基于用户和/或设备角色规定的组等等。
设备记录128代表用于描述端点设备102的不同属性的数据。在至少一些实现中,每个设备记录128都与端点设备102的不同实例有关。设备记录128中包括的示例性属性包括设备标识符、设备类型、软件类型和配置、硬件类型和配置等等。如下面进一步详细描述的,连接服务122可以利用连接策略126和设备记录128来判断是否和/或如何配置端点设备102的不同实例以实现网络104上的通信。
根据各种实现,连接服务122从连接DB 124向通信服务120提供连接和配置数据(统称为“配置数据”),通信服务120将配置数据转发到端点设备102。端点设备102存储配置数据作为配置表130的一部分,端点设备102利用该配置数据来配置端点设备102的各种操作参数和设置,以实现网络104上的通信。例如,对端点设备102进行配置,以作为在端点设备102的不同实例之间的通信会话的一部分,在网络104上传输数据。
在至少一些实现中,连接服务122表示由通信服务120实施和管理的服务。替代地,连接服务122表示独立的服务,其将与网络有关的情报提供给各种不同的服务和/或设备。
为了使各种类型的与通信相关的数据能够在各个实体之间共享,端点设备102包括执行模块132,该执行模块132表示用于从其它实体接收通信属性以及与其它实体共享通信属性的功能。根据各种实现,执行模块132利用通信应用程序编程接口(API)134来使各种通信属性能够共享。例如,可以用各种通信属性来填充通信API 134,以使通信属性能够与通信会话中涉及的各个实体共享。通常,执行模块132的实例可以传播到各个端点设备,以使端点设备102能够参与共享与通信会话有关的通信属性。
在环境100中讨论的不同实体和功能可以用软件、硬件、固件和/或其组合来实现。下面讨论环境100的各种实体的其它细节和实现。
图2根据一种或多种实现,描绘了设备记录128的示例性实施方式。通常,每个设备记录128对应于端点设备102的相应实例。例如,每个设备记录128描述了端点设备102的不同相应实例的不同属性,例如:
设备标识符(“ID”)202:该属性包括用于相应端点设备102的标识符,例如媒体访问控制(MAC)地址、端点标识符(EID)、互联网协议(IP)地址等等。
设备类型204:该属性描述相应端点设备102的通用设备类型,例如,相应端点设备102的设备角色和/或形状因数。
可用网络206:该属性标识相应的端点设备102可用的特定网络和/或网络集。例如,该属性标识相应的端点设备102连接到的网络和/或端点设备102可用于网络连接的网络,例如在端点设备102的连接范围内的无线网络。根据各种实现,可用网络206字段例如经由用于不同网络的网络标识符,来标识网络的特定的离散实例。
客户端版本208:该属性标识安装在相应端点设备102上的通信客户端110的特定版本。例如,该属性标识在相应端点设备102上的通信客户端110的更新状态,例如各个端点设备102安装和/或可执行来自多个不同可用版本的通信客户端1 10中的哪个版本。
执行模块状态210:该属性指示执行模块132是否安装在相应的端点设备102上和/或在相应的端点设备102上安装了执行模块132的哪个版本。
编解码器配置212:该属性描述相应端点设备102的编解码器116,例如编解码器116使用的压缩标准(例如,格式)、编解码器116使用的压缩率(例如,数据速率)、编解码器116被配置为处理的媒体(例如,音频、视频、其组合等等)等等。
API数据214:可以使用从通信API 134聚合的数据值来填充该属性。例如,当相应的端点设备102通过通信API 134接收数据值时(下面讨论将讨论其示例),可以使用该数据值来填充API数据214。
根据各种实现,设备记录128中包含的不同属性和数据值是可动态配置和重新配置的,例如基于相应端点设备102的设备状态变化。
在描述了本文所描述的技术可以在其中运行的示例性环境之后,现在考虑根据一种或多种实现来传播路由知识的示例性方法的讨论。
根据各种实现,可以采用技术来动态地启发具有通信属性的各种实体,例如关于网络状况的信息、关于通信会话的信息等等。例如,执行模块132可以利用通信API 134来生成包括网络和通信会话的各种属性的通知事件。可以将这些通知事件进一步传播到不同的实体,以实现本文所讨论的用于通信会话的端点配置的技术。
在至少一些实现中,可以基于各种网络和/或节点状况,使用通信属性集的值来填充通信API 134。例如,考虑可以经由使用通信API 134生成的通知事件来传送的以下通信属性。
网络标识符:可以利用该属性来标识网络,例如通信会话在端点设备102和端点设备102之间穿越的网络。在至少一些实现中,网络标识符可以包括用于标识特定网络的自治系统。参照环境100,例如,网络标识符可以标识网络104中包括的特定网络。
时间戳:可以利用该属性来指定用于通信会话的开始的时间戳、在通信会话期间发生的更新的时间戳、以及通信会话的结束(例如,终止)的时间戳。
源IP地址:可以利用该属性指定通信会话期间作为媒体源的设备(例如,启动通信会话的设备)的IP地址。例如,参考环境100,源IP地址可以用于端点设备102。
目的IP地址:可以利用该属性来指定接收媒体(作为通信会话的一部分)的设备的IP地址。例如,参考环境100,目的IP地址可以用于端点设备102。
设备标识符:可以使用该属性来使用特定于硬件的标识符(例如,媒体访问控制(MAC)地址和/或其它唯一硬件标识符)来标识通信会话中涉及的源设备和/或目的设备。
传输类型:可以利用该属性来指定用于通信会话的传输类型或传输类型的组合。传输类型的示例包括传输控制协议(TCP)、用户数据报协议(UDP)等等。
源端口:可以利用该属性来指定用于源设备(例如,由上面引用的源IP地址标识的源设备)上的端口的标识符。
目标端口:可以利用该属性来指定用于目标设备(例如,由上面引用的目标IP地址标识的目标设备)上的端口的标识符。
媒体类型:可以利用该属性来指定媒体类型和/或作为通信会话一部分发送和/或正在发送的类型。通信会话可以涉及多种不同类型的媒体,例如音频、视频、图像以及其组合。因此,可以采用媒体类型属性来标识通信会话中的媒体类型。
带宽估计:可以利用该属性来指定用于通信会话的估计带宽。
去往:可以利用该属性来标识通信会话中的媒体要发送到的用户。
来自:可以利用该属性来标识发送通信会话中的媒体的用户。
编解码器:可以利用该属性来指定用作通信会话的一部分的一个或多个编解码器。
子网:可以利用该属性来标识通信会话源自和/或遍历的子网和/或子网集合。
个人可识别信息(PII):可以使用该属性来指定要包含在通信属性的预订中和/或不包括在其中的PII的特定类型。例如,可以使用PII属性来指定不在通信属性集合中包含任何PII。再举一个例子,可以使用PII属性来指定要包括特定的一组PII,而要排除不同的一组PII。
错误码:可以利用该属性为可能作为通信会话的一部分发生的错误指定各种错误码。例如,错误可以包括在发起通信会话期间发生的错误、在通信会话期间发生的错误、在通信会话终止时发生的错误等等。
平均意见得分(MOS)降级:可以利用该属性为通信会话指定MOS属性。例如,可以使用该属性来指示通信会话的整体质量下降。
到达间隔的抖动:可以利用该属性为通信会话指定抖动值。例如,可以使用该属性来指示已经增加一个或多个抖动值,例如已经超过指定的抖动值阈值。
丢包率:可以利用该属性来为通信会话指定丢包率。例如,可以使用该属性来指示丢包率已经增加,例如已经超过指定的丢包率值阈值。
往返延迟(RTD):可以利用该属性为通信会话中的分组指定RTD值。例如,可以使用该属性来指示分组的RTD值已增加,例如已经超过指定的RTD值阈值。
隐藏比率:可以利用该属性来指定在开始通信会话之后观察到的隐藏时间与语音时间的累积比率。例如,可以使用该属性来指定隐藏比率已增加,例如已经超过指定的隐藏比值阈值。
仅为了举例目的而给出这些特定的属性,应当理解的是,可以根据用于通信会话的端点配置的技术,来共享本文中没有明确提及的多种其它通信属性。在至少一些实现中,属性可以链接到特定的网络和/或网络组件,以表征网络和/或网络组件的性能属性。此外,经由通信API 134接收通信属性的值的实体,可以利用这些属性来改善网络和/或通信会话性能。
图3描绘了由连接DB 124维护的与通信相关的属性的不同源。通常,可以为不同的源存储各种不同类型的与通信相关的属性,上文参考通信API134讨论了其示例。存储在连接DB 124中的与通信相关的属性的示例性来源包括:
历史路径数据300:这种类型的数据包括:基于历史使用(例如,在路径和网络组件上发生的历史(如,过去)通信会话)的网络路径和网络路径组件(例如,中间节点、端点设备等等)的与通信相关属性。
实时路径数据302:这种类型的数据包括:基于当前实时使用情况的网络路径和网络路径组件(例如,中间节点、端点设备等等)的与通信相关属性。例如,可以基于在网络路径上正在进行的通信会话(例如,在通信会话处于活动和进行中时,实时地),从网络路径的组件收集实时路径数据302。
综合事务数据304:这种类型的数据包括基于在路径上实现的综合事务的网络路径和网络路径组件(例如,中间节点、端点设备等等)的与通信相关属性。
Web数据306:这种类型的数据包括基于从不同的基于Web的场景收集的数据和在路径上发生的事务的网络路径和网络路径组件(例如,中间节点、端点设备等等)的与通信相关属性。例如,web数据306包括基于web浏览器发送和/或接收的数据收集的浏览器数据308。浏览器数据308的一个例子包括由web浏览器和/或其它具备web功能所收集的往返延迟时间(RTT)数据。根据各种实现,web数据306包括来自历史应用程序和服务的数据,这些数据通过不同的路由路径进行路由。
网络维护数据310:这种类型的数据包括基于在组件上执行的维护过程的网络路径和网络路径组件(例如,中间节点、端点设备等等)的与通信相关属性。例如,如果特定的网络组件发生故障并且被调度进行维护过程,则可以更新网络维护数据310以指示该组件发生故障。因此,当连接服务122选择用于通信会话的候选路径时,可以排除故障组件。再举一个例子,当对网络组件进行修复和/或优化(例如,更新)时,可以更新网络维护数据310以指示网络组件正在工作和/或具有改善的功能。因此,当连接服务122选择用于通信会话的候选路径时,可以包括和/或优先考虑修复/改进的组件以选择候选路径。
机器学习数据312:这种类型的数据利用机器学习技术来分析和表征网络路径的属性。例如,本文所讨论的与通信有关的数据的一种或多种类型可以进行汇总并用于训练预测模型(例如,决策树、神经网络等),然后可以对其进行评估以预测网络节点和/或网络路径的性能(例如,分组质量)。
已配置和未配置节点数据314:这种类型的数据指定哪些端点设备102配置了执行模块132,哪些端点设备102没有配置执行模块132。例如,如本文所详细描述的,可以临时地或在较长时间段内向未配置执行模块132的端点设备102提供执行模块132。通常,为端点设备102提供执行模块132,使端点设备102能够参与属性共享行为,例如用于共享网络路径的属性、通信会话等等。
仅为了举例目的而给出与通信相关的属性的源和类型,应当理解的是,可以根据本文所描述的用于通信会话的端点配置的技术来利用与通信相关属性的各种其它类型和来源。
根据各种实现,使用这些不同的属性来生成路径列表316,该路径列表316标识用于在端点设备102之间的网络104上路由数据的不同路由路径和路由路径属性。可以以各种方式在路径列表316中标识路由路径,例如经由沿着每个路由路径的网络的网络标识符、沿着每个路由路径的网络节点的标识符、诸如统一资源标识符(URD)之类的网络目的地标识符等等。
在至少一些实现中,路径列表316指示不同路由路径的分组质量和/或沿着不同路由路径的网络节点。通常,连接服务122可以以各种方式来确定分组质量,例如经由来自沿不同路由路径进行通信的端点的与质量相关反馈、经由沿不同路由路径的来自端点设备102的质量信息的通信、经由对沿不同的路由路径的分组质量的直接检测等等。例如,可以实现沿着网络104上的不同路由路径来测试分组质量的综合事务。
已描述了传播通信属性的示例性来源和方式,现在根据一种或多种实现,考虑用于通信会话的端点配置的一些示例性实现场景。
下一部分根据一种或多种实现,描述用于通信会话的端点配置的示例性实现场景。可以在上面所讨论的环境100和/或任何其它适当的环境中,实施这些实现场景。
图4根据一种或多种实现,描绘了用于配置通信会话的端点的示例性实现场景400。
在场景400中,通信服务120检测到通知事件402,该通知事件402指示在端点设备102a和端点设备102b之间发起了通信会话或计划将发起通信会话。例如,端点设备102a、102b表示端点设备102的实例。通常,可以以各种方式来实现通知事件402。例如,可以响应于检测到端点设备102a的用户执行了发起与端点设备102的通信会话的动作(例如,拨打电话号码或选择呼叫控制功能来发起与端点设备102b的通信会话),而发生通知事件402。
替代地,可以响应于检测到即将到来的调度的通信会话,发生通知事件402。例如,端点设备102a上的通信客户端110检测到涉及通信会话的调度的即将到来的日历事件。因此,通知事件402可以响应于通信会话的实时启动而发生,和/或基于尚未开始的调度的通信会话而主动发生。
因此,通信服务120向连接服务122发送路由查询404。通常,路由查询404包括与通信会话有关的各种信息,例如,端点设备102a、102b的标识符、在通信会话中涉及的媒体类型等等。在至少一些实现中,使用上面介绍的通信API 134来生成路由查询404。
基于路由查询404,连接服务122确定用于在端点设备102a、102b之间路由通信会话的路由路径。例如,连接服务122查询路径列表316,并且识别可用于在端点设备102a、102b之间路由数据的路由路径406。连接服务122还确定路由路径406的路径质量408。通常,路径质量408是基于不同的通信相关属性,其示例贯穿全文进行了讨论。例如,路径质量408是基于在路由路径406上的信号中检测到的错误,例如,分组差错率(PER)、抖动(例如,分组抖动)、丢包率等等。
进一步对于场景400,连接服务122从端点设备102a、102b的相应设备记录128中,确定端点设备102a、102b的设备属性410,并使用这些设备属性410来生成配置指令412。通常,配置指令412指示端点设备102a和/或端点设备102b如何被配置为在路由路径406上进行通信。例如,配置指令412可以是特定于端点设备102a、102b中的一个,和/或通常适用于这两个设备。
例如,假定路径质量408指示路由路径406满足和/或超过预定的错误阈值(例如,基于在路由路径406上观察到的差错率)。因此,配置指令412指定端点设备102a、102b的编解码器116a、116b将被配置为改善设备之间的通信会话的质量。例如,配置指令412指示将减小编解码器116a、116b的当前数据速率。通常,降低编解码器的数据速率会减少在路由路径406上传输的编码数据的量,从而增加在接收设备处接收到的编码数据的百分比。因此,可以通过减少作为通信会话的一部分的数据丢失,来提高会话质量。
替代地或另外地,配置指令412可以指定要在端点设备102a、102b处调整错误校正(例如,FEC)。例如,可以增加纠错冗余度,以使得能够在接收设备处更准确地纠正错误。
再举一个例子,配置指令412可以指示端点设备102a、102b增加其抖动缓冲区,以解决路径质量408指示的高抖动值。通常,增加抖动缓冲区将增加缓冲的分组的数量,因此可用于纠正传入分组中的抖动。
虽然路径质量408可以指示路由路径406超过错误阈值,但是路径质量408可以替代地指示路由路径406低于错误阈值,例如,用于指示路由路径406具有较高的分组质量。在这种场景中,配置指令412可以指定将增加编解码器116a、116b的数据速率,以便例如提高由编解码器116a、116b编码的媒体的媒体质量。另外地或替代地,配置指令412可以指定减少纠错过程(例如,FEC、CRC等),以便例如节省设备和/或网络资源。
仅为了举例目的而给出配置指令412的这些例子,应当理解的是,配置指令412可以包括各种其它类型的配置信息以使得能够优化通信会话和/或网络性能。
在至少一些实现中,配置指令412可以指定将在多个端点设备102上(例如,在端点设备102a、102b处)应用的通常配置设置。例如,端点设备102a、102b可以包括在为组策略126b规定的组中。因此,可以基于路径质量408来应用组策略126b,以生成要在包括端点设备102a、102b的一组设备上应用的配置指令412。
替代地或另外地,配置指令412可以包括特定于设备的指令。例如,可以规定特定的个体策略126a,其应用于端点设备102a,但不应用于端点设备102b。因此,基于特定的个体策略126a,配置指令412可以包括将由端点设备102a而不是端点设备102b应用的第一设置。此外,不同的个体策略126a可以应用于端点设备102b,使得配置指令412包括要由端点设备102b而不是端点设备102a应用的第二设置。因此,本文所讨论的实现使得能够为组和个体设备生成定制的配置,以改善通信会话性能。
举一个用于指导某个动作或一组动作(例如,配置编解码器116和/或纠错模块118)的另外的或替代的实现,配置指令412可以标识路由路径406上的分组质量。例如,配置指令412可以指定路由路径406上的平均PER、平均抖动值、平均RTD和/或其它分组质量指示符。因此,接收配置指令412的端点设备102可以利用分组质量的指示,以判断是否和/或如何配置自身以在路由路径406上进行通信。
继续场景400,连接服务122将包括路径描述414和配置指令412的查询响应416发送给通信服务120。通常,路径描述414标识路由路径406,例如通过标识沿着路由路径406的网络节点、沿路由路径406的网络104等等。通信服务120将包括路径描述414和配置指令412的会话通知418转发到端点设备102a、102b,并且端点设备102a、102b利用配置指令412来配置它们自己以在路由路径406上进行通信会话。例如,端点设备102a、102b基于配置指令412,配置它们各自的编解码器116a、116b。替代地或另外地,端点设备102a、102b基于配置指令412,配置它们各自的纠错模块118a、118b。
如上面所提及的,配置指令412可以指示端点设备102a、102b要应用的特定设置。替代地或另外地,配置指令412可以标识路由路径406的分组质量。例如,端点设备102可以基于分组质量的指示来配置其自身。例如,通信客户端110和/或通信模块112可以执行决策逻辑以确定如何配置端点设备102,例如如何配置编解码器116和/或纠错模块118。
因此,端点设备102a、102b在路由路径406上,经由通信会话420彼此交换通信媒体。例如,基于路径描述414,端点设备102a、102b在路由路径406上路由通信会话420的媒体数据。此外,编解码器116a、116b和/或纠错模块118a、118b根据配置指令412进行操作,以对通信会话420的媒体数据进行编码和解码,和/或向媒体数据应用纠错。
在至少一些实现中,配置指令412由连接服务122生成,并且在发起通信会话420之前由端点设备102应用。例如,生成配置指令412并主动地进行应用,以尝试在通信会话420开始之前提高通信会话420的会话质量。
替代地或另外地,在通信会话420已经开始之后,生成并应用配置指令412。例如,可以在路由路径406上发起通信会话420。同时地和/或在发起通信会话420之后,连接服务122确定路由路径406的路径质量408,并生成配置指令412。然后,连接服务122将配置指令412传送到通信服务120,通信服务120将配置指令412转发到端点设备102a、102b。然后,端点设备102a、102b可以应用配置指令412,以便在发起通信会话420之后重新配置端点设备102a、102b的设置。因此,在至少一些实现中,可以在发起通信会话420之后生成和/或应用配置指令412,以提高通信会话420的会话质量。
根据一种或多种实现,基于连接策略126生成配置指令412。例如,假定连接策略126指示端点设备102a是比端点设备102b优先级更高的设备。通常,可以以各种方式来确定端点设备102的优先级,例如基于用户优先级、位置优先级(例如,端点设备102的地理位置)、角色优先级等等。基于指示端点设备102a是较高优先级设备的连接策略126,在生成配置指令412时,向端点设备102a提供比端点设备102b更高的加权值。
例如,假定连接服务122确定基于差的路径质量408,将重新配置端点设备102b的编解码器116b。例如,将降低编解码器116b的数据速率以解决路由路径406上的差的分组质量。但是,降低编解码器116b的数据速率可能会降低端点设备102a处作为通信会话420的一部分所经历的媒体质量。因此,由于端点设备102a的权重高于端点设备102b的权重,所以生成配置指令412以不包括将要降低编解码器116b的数据速率的指示。因此,端点设备102a处的媒体质量比端点设备102b处的媒体质量具有更高的优先级,因此生成配置指令412,以使端点设备102a处的媒体质量优先于端点设备102b处的媒体质量。
根据各种实现,可以采用用于通信会话的端点配置的技术来尝试防止在通信会话期间会话质量下降。例如,考虑下面的场景。
图5根据一种或多种实现,描绘了用于基于分组质量趋势的端点重新配置的示例性实现场景500。例如,该场景500表示上述场景400的延续和/或变化。
在场景500中,通信会话420正在进行中,并且基于配置指令412配置了端点设备102a、102b。在通信会话420正在进行中时,通信服务120检测到路由路径406上的通信会话420的分组质量的变化。例如,通信服务120从端点设备102a接收到质量通知502,该质量通知502指示通信会话420的分组质量正在降低。例如,在通信会话420进行的同时,端点设备102a的通信客户端110a检测到错误的增加,比如分组错误增加、抖动增加等等。因此,执行模块132a通过将值填充到通信API 134a的属性来生成质量通知502,上面详细描述了其示例。然后,端点设备102a将质量通知502传送到通信服务120。
基于质量通知502,通信服务120向连接服务122传送配置查询504。通常,配置查询504标识端点设备102a、102b、路由路径406,并指示正在路由路径406上发生质量趋势。例如,基于增加的PER、增加的分组丢失、增加的抖动等等,路由路径406的配置查询504指示在路由路径406上正在发生增加的错误趋势。
因此,连接服务122基于增加的错误趋势,确定要对端点设备102a、102b进行重新配置。例如,连接服务122例如通过降低编解码器116a、116b各自的数据速率,来确定将要重新配置编解码器116a、116b。替代地或另外地,连接服务122例如通过增加纠错模块118a、118b的纠错冗余度,增加其数据交织深度等等,确定要对纠错模块118a、118b进行重新配置。然后,连接服务122生成重新配置指令506,该重新配置指令506指示将如何对端点设备102a、102b进行重新配置以尝试改善通信会话420的性能,并且响应于增加的错误趋势。
在至少一些实现中,重新配置指令506可以指定要在多个端点设备102上(例如,在端点设备102a、102b处)应用的通常重新配置设置。替代地或另外地,重新配置指令506可以包括特定于设备的指令。例如,重新配置指令506可以包括要由端点设备102a而不是端点设备102b应用的第一设置、以及要由端点设备102b而不是端点设备102a应用的第二设置。因此,本文所讨论的实现使得能够为各个设备生成定制的重新配置,以改善通信会话性能。
进一步对于场景500,连接服务122将包括重新配置指令506的配置响应508传送给通信服务120,通信服务120通过配置通知510将重新配置指令506转发给端点设备102a、102b。端点设备102a、102b利用重新配置指令506来重新配置自身,例如以便改变在先前场景中描述的基于配置指令412所应用的设置。例如,端点设备102a、102b基于重新配置指令506,来重新配置它们各自的编解码器116a、116b。替代地或另外地,端点设备102a、102b基于重新配置指令506,来重新配置它们各自的纠错模块118a、118b。
因此,通信会话420在路由路径406上继续,端点设备102a、102b基于响应于重新配置指令506而应用的它们的重新配置设置来发送、接收和处理通信会话420的数据。因此,可以响应于检测到的错误趋势来重新配置端点设备102a、102b,以便尝试减少将在通信会话420的媒体数据中发生数据错误的可能性。
虽然参考错误增加趋势来讨论了场景500,但也可以检测错误减少的趋势,并使用其来重新配置端点设备102。例如,假定端点设备102a检测到通信会话420中的错误减少趋势的替代实现,因此质量通知502指示这种减少的错误趋势。因此,配置查询504识别出错误减少的趋势,并且连接服务122基于该错误减少的趋势来生成重新配置指令506。例如,生成重新配置指令506以提高通信会话420的媒体质量(例如,通过指示将增加编解码器116a、116b的数据速率)。
替代地或另外地,重新配置指令506可以指定纠错模块118a、118b将减少应用于通信会话420的错误校正的量(例如,通过减少其纠错冗余度、减小交织深度等等)。在至少一些实现中,减少所应用的纠错可以节省设备资源(例如,处理器带宽和电池)。此外,减少所应用的纠错可以节省网络使用,例如通过减少作为通信会话420的一部分发送的数据量。
在至少一些实现中,基于连接策略126来生成重新配置指令506。例如,如上所述,连接策略126可以指示端点设备102a是比端点设备102b更高优先级的设备。因此,在这种场景中,在判断是否以及如何重新配置端点设备102a、102b时,端点设备102a的权重高于端点设备102b。
例如,假定响应于配置查询504,连接服务122确定端点设备102a、102b的两种可能的重新配置。第一重新配置将提高端点设备102a处而非端点设备102b处的通信会话420的质量,并且第二重新配置将提高端点设备102b处而非端点设备102a处的通信会话420的质量。由于连接策略126指示端点设备102a是更高优先级的设备,所以连接服务122使用第一重新配置来生成重新配置指令506。因此,当由端点设备102a和/或端点设备102b应用重新配置指令506时,可以在端点设备102a处改善(例如,提高)通信会话420的会话质量,但不一定在端点设备102b处得到改善。例如,与端点设备102b相比,端点设备102a可以观察到通信会话420的数据错误的更大减少。
虽然本文参考用作连接服务122和端点设备102之间的中介的通信服务120讨论了实现,但是应当理解,在至少一些实现中,可以在连接服务122和端点设备102之间发生直接通信,例如使路径信息、配置信息和重新配置信息能够从连接服务122直接传输到端点设备102。
因此,用于通信会话的端点配置的技术使得可以主动且动态地配置端点设备,以改善设备之间的通信会话和网络性能。
在讨论了一些示例性实现场景之后,现在根据一种或多种实现来考虑某些示例性过程的讨论。
下面的讨论根据一种或多种实现,描述了用于通信会话的端点配置的一些示例性过程。可以在图1的环境100、图12的系统1200和/或任何其它适当的环境中,采用这些示例性过程。例如,这些过程表示用于实现上面所讨论的示例性实现场景的各方面的过程。在至少一些实现中,针对各种过程所描述的步骤可以自动地实施并且独立于用户交互。
图6是描述根据一种或多种实现的方法中的步骤的流程图。该方法根据一种或多种实现,描述了用于提供路径信息以及以用于配置通信会话的端点设备的配置信息的示例性过程。在至少一些实现中,在基于网络的服务(例如,在通信服务120和/或连接服务122)处执行该方法。
步骤600接收针对用于路由通信会话的网络路径的查询。例如,连接服务122从通信服务120和/或端点设备102a、102b接收对用于路由通信会话的路由路径的查询。该查询可以包括各种类型的信息,例如,端点设备102a、102b的标识符和/或要包括在通信会话中的媒体类型。
步骤602基于候选路径的质量属性来识别用于路由通信会话的候选路径。例如,连接服务122在路径列表316中搜索具有足够分组质量的候选路由路径,以用于在端点设备102a、102b之间路由通信会话。如上所述,路径列表316标识不同的路由路径和用于这些路由路径的质量属性。
质量属性的示例包括:分组质量、信号强度、错误周期性(例如,信号中的错误是突发性还是随机性)等等。通常,可以以各种方式来确定数据流的分组质量。例如,可以基于作为前向纠错(FEC)解码的一部分而检测到的差错率(例如,比特差错率)来确定分组质量。在至少一些实现中,例如,可以规定错误阈值,例如阈值PER、阈值抖动值、阈值RTD等等。从而,可以将超过错误阈值的数据流表征为具有错误状况(例如,分组质量差)。可以将不超过阈值差错率的数据流表征为具有可接受的和/或良好的分组质量(例如,不具有错误状况)。
另外地或替代地,可以基于信号的平均接收功率来确定分组质量。例如,可以将平均接收功率超过阈值接收功率的数据信号表征为具有可接受的分组质量。但是,可以将具有不超过阈值接收功率的平均接收功率的数据信号表征为具有差的分组质量。
步骤604确定用于通信会话的端点设备的配置信息。在一种或多种实现中,该配置信息指定要在端点设备上应用的设置,例如,端点设备的编解码器的设置、端点设备的纠错功能的设置等等。不同的纠错功能的例子包括FEC模块、循环冗余校验(CRC)模块、抖动缓冲区等等。
如先前所提及的,连接服务122维护设备记录128,其指定端点设备102的各种属性(例如,不同的端点设备102上的编解码器配置)。因此,连接服务122可以基于候选路径的分组质量,来确定端点设备将被配置为尝试改善通信会话的分组质量。根据各种实现,优化分组质量包括:减少通信会话的媒体数据中的数据错误和/或提高媒体分辨率。
作为对指定要在端点设备102处应用的特定配置的配置指令的替代或补充,该配置指令可以包括所标识的路由路径上的分组质量信息。接收分组质量信息的端点设备102可以基于分组质量,来确定如何配置自身。因此,可以基于由连接服务122确定的特定设备配置(例如,设备设置)、基于在端点设备102上使用分组质量信息在本地执行的决策逻辑和/或二者的组合,来配置端点设备102。
根据各种实现,可以基于连接策略126来生成配置指令。例如,可以基于个体策略126a为单独的端点设备102定制配置指令,和/或可以基于组策略126b为一组端点设备102定制配置指令。例如,假定连接服务122基于组策略126b生成配置指令的场景。在这种场景下,连接服务122可以基于适用的通信模式,将组策略126b应用于一组端点设备102。例如,利用Cloud PBX视频呼叫遍历重叠网络路径的公司范围的会议,可以在PBX视频呼叫上配置端点设备102,以降低其编解码器速率(例如,从音频的每秒64千比特(kbps)和视频的每秒2兆比特(Mbps)降低到音频的16kbps和视频的512kbps。因此,可以基于个体策略126a、组策略126b和/或二者的组合来生成配置指令。
步骤606传送包括标识候选路径的路径信息和配置信息的通知,以使得通过候选路径来路由通信会话,并根据配置信息来配置端点设备。例如,连接服务122例如通过沿着候选路径的各个端点设备102的标识符和/或沿着候选路径的网络104的标识符,将标识候选路径的通知传送给通信服务120。此外,该通知包括配置信息,例如编解码器速率、增加纠错的指令、增加抖动缓冲区大小的指令、路径质量的指示等等。如本文其它地方所详述的,这使得将在候选路径上路由通信会话,并且将配置信息应用在一个端点设备和/或一组端点设备处,以尝试改善通信会话的媒体质量。
图7是描述根据一种或多种实现的方法中的步骤的流程图。该方法根据一种或多种实现,描述了用于基于分组质量的改变来生成重新配置指令的示例性过程。在至少一些实现中,在基于网络的服务(例如,通信服务120和/或连接服务122)处执行该方法。
步骤700接收通信会话的分组质量正在降低的指示。例如,连接服务122从通信服务120和/或端点设备102接收指示通信会话的分组质量正在增加的通知。降低分组质量的指示可以采用各种形式,例如增加PER的指示、增加丢弃分组的数量的指示、增加在端点设备102处经历的抖动等等。
步骤702生成用于端点设备的重新配置信息。例如,重新配置信息指定针对端点设备的编解码器的更新设置或者针对端点设备的纠错功能的更新设置。替代地或另外地,重新配置信息指定通信会话的路由路径的分组质量的指示。例如,连接服务122生成将由端点设备102应用的重新配置信息,以尝试减轻降低的分组质量对通信会话的分组质量的影响。贯穿本公开内容讨论了不同的重新配置信息的例子,其包括诸如改变编解码器的数据速率、增加纠错功能的错误校正、改变抖动缓冲区的大小等等之类的设置。
根据各种实现,可以基于连接策略126来生成重新配置信息。例如,可以基于个体策略126a为单独的端点设备102定制重新配置信息,和/或可以基于组策略126b为一组端点设备102定制重新配置信息。
步骤704传送包括该重新配置信息的通知,以使端点设备根据该重新配置信息进行重新配置。例如,连接服务122将通知传送给通信服务120和/或端点设备102以使端点设备应用该配置信息。
根据各种实现,可以在通信会话期间动态地应用该方法,以对端点设备进行实时调整,并减轻降低的分组质量对通信会话的媒体质量的影响。
图8是描述根据一种或多种实现的方法中的步骤的流程图。该方法根据一种或多种实现,描述了用于基于优先级来生成配置指令的示例性过程。在至少一些实现中,在基于网络的服务(例如,通信服务120和/或连接服务122)处执行该方法。
步骤800确定端点设备的优先级高于不同的端点设备的优先级。例如,端点设备优先级由连接策略126指定(例如,由个体策略126a和/或组策略126b指定)。通常,端点设备优先级可以是基于不同的因素,例如:
设备用户优先级:可以将一些用户标识为比其他用户具有更高的优先级。例如,可以将公司的首席执行官指定为比公司雇员具有更高优先级的用户。
位置优先级:可以认为某些设备位置(例如,端点设备的地理位置)是较高优先级的位置。例如,与位于分支机构的设备相比,可以认为位于公司总部的设备是优先级更高的设备。
角色优先级:端点设备可以与不同的角色(例如,特定于通信会话的角色)相关联。例如,可以为了会议目的而实施通信会话。因此,与和标准会议参与者相关联的端点设备相比,与会议的组织者相关联的端点设备可以具有更高的优先级。再举一个例子,作为通信会话的活跃参与者的用户可以比不活跃用户具有更高的优先级。
仅为了举例目的而给出确定优先级的这些示例方式,应当理解的是,可以以各种不同的方式(其包括本文未具体提及的方式)来确定端点设备优先级。
步骤802生成配置信息,以使该端点设备处的媒体质量优先于不同的端点设备处的媒体质量。例如,假定连接服务122基于路由路径上的分组质量,确定几种配置选项可用。第一配置选项可能提高优先级较低的端点设备处的分组质量,但也可能会降低优先级较高的端点设备的分组质量。此外,第二配置选项将可能提高较高优先级端点设备的分组质量,但可能降低(或者不影响)较低优先级端点设备的分组质量。因此,连接服务122为配置信息选择第二配置选项,以使较高优先级端点设备处的媒体质量优先于较低优先级端点设备处的媒体质量。
虽然参考配置信息讨论了该方法,但应当理解,该方法还可以用于生成重新配置信息(例如,在通信会话正在进行时)。例如,可以响应于路由路径上的分组质量的变化,动态地应用该方法以重新配置端点设备。
图9是描述根据一种或多种实现的方法中的步骤的流程图。该方法根据一种或多种实现,描述了用于使端点设备能够被配置用于通信会话的示例性过程。在至少一些实现中,在基于网络的服务(例如,通信服务120和/或连接服务122)处执行该方法。
步骤900提交针对用于路由通信会话的路由路径的查询。例如,端点设备102和/或通信服务120向连接服务122查询用于路由通信会话的路由路径。通常,该查询包括与通信会话有关的各种类型的信息,例如端点设备102的标识符、媒体类型、优先级信息等等。在至少一些实现中,使用通信API 134来格式化查询,例如使用上面针对通信API 134所描述的属性和值。
步骤902接收标识候选路径和包括用于配置通信会话的端点设备的配置信息的响应。例如,端点设备102和/或通信服务120从连接服务122接收查询响应。该查询响应例如经由沿着候选路径的网络节点和/或网络的标识符来标识候选路径。在至少一些实现中,该配置信息包括以下中的一个或多个:端点设备的编解码器的设置或者端点设备的纠错功能的设置。替代地或另外地,该配置信息包括指示路径质量(例如,候选路径的分组差错的指示)。
步骤904使端点设备根据配置信息进行配置。例如,通信服务120将配置信息传送给端点设备102,其中端点设备102使用该配置信息对其自身进行配置。
步骤906使通信会话在候选路径上进行路由。例如,端点设备102利用用于候选路径的路由信息,来在候选路径上路由通信会话的数据。
图10是描述根据一种或多种实现的方法中的步骤的流程图。该方法根据一种或多种实现,描述了用于检索重新配置信息的示例性过程。在至少一些实现中,在基于网络的服务(例如,通信服务120)和/或端点设备处执行该方法。
步骤1000接收通信会话的分组质量正在降低的通知。例如,通信会话中涉及的端点设备102检测作为通信会话的一部分的分组质量下降的趋势。通常,这种检测可以通过各种功能(例如,通信客户端110和/或执行模块132)来执行。此外,可以以各种方式来检测趋势,例如通过随着时间的过去的差错率和/或错误计数的增加。
步骤1002提交针对更新的配置信息的查询。例如,通信服务120和/或端点设备102向连接服务122查询更新的配置信息。该查询可以包括各种类型的信息,例如,通信会话中涉及的端点设备的标识符、通信会话中使用的网络路径的标识符、描述分组质量趋势的信息(例如,观察到的指示分组质量降低的信息)等等。
步骤1004接收查询响应,其包括用于重新配置通信会话中涉及的端点设备的重新配置信息。例如,通信服务120从连接服务122接收查询响应,并将查询响应转发到端点设备102。替代地或另外地,端点设备102直接从连接服务122接收查询响应。如本文所使用的,重新配置信息可以包括各种类型的信息,例如针对编解码器的更新设置、针对纠错功能的更新设置、路由路径的信号质量指示等等。
步骤1006使端点设备根据重新配置信息进行重新配置。例如,通信会话中涉及的端点设备102基于重新配置信息(如,改变编解码器设置、纠错设置等等)来重新配置自身。
图11是描述根据一种或多种实现的方法中的步骤的流程图。该方法根据一种或多种实现,描述了用于配置通信会话的端点设备的示例性过程。在至少一些实现中,在端点设备处执行该方法。
步骤1100在端点设备处接收路由路径信息和用于配置端点设备在该路由路径上通信的配置信息。例如,端点设备102从例如通信服务120和/或连接服务122接收描述路由路径和配置信息的信息。该配置信息可以包括各种类型的信息,例如,用于编解码器116和纠错模块118的设置、路径质量的指示等等。
步骤1102基于配置信息来配置端点设备。例如,端点设备102应用配置信息来改变编解码器116的设置和/或纠错模块118的设置。贯穿本公开内容描述了改变这些设置的示例方式。
替代地或另外地,端点设备102使用路径质量信息来确定如何配置自身。例如,通信客户端110和/或通信模块112基于路径质量的指示,来确定如何配置端点设备102。因此,端点配置可以是基于由诸如连接服务122之类的远程实体生成的规定性指令,和/或基于在端点设备102上使用路径质量的指示在本地生成的指令。
步骤1104作为与一个或多个其它端点设备的通信会话的一部分,通过路由路径交换通信媒体。例如,端点设备102参与与其它端点设备102的通信会话。此外,端点设备102使用根据配置信息配置的编解码器和/或纠错功能,来处理通信会话的数据。
因此,本文讨论的实现使端点设备能够被配置和重新配置用于通信会话,以提高可能具有可变分组质量的网络路径上的会话性能。
已经讨论了一些示例性过程,现在考虑根据一种或多种实现的示例性系统和设备的讨论。
图12示出了包括示例性计算设备1202的通常以1220表示的示例性系统,其中计算设备1202表示可以实现本文所描述的各种技术的一个或多个计算系统和/或设备。例如,上面参照所图1讨论的端点设备102、通信服务120和/或连接服务120可以体现成计算设备1202。例如,计算设备1202可以是服务提供商的服务器、与客户端(例如,客户端设备)相关联的设备、片上系统和/或任何其它适当的计算设备或计算系统。
如图所示的示例性计算设备1202包括处理系统1204、一个或多个计算机可读介质1206、以及一个或多个输入/输出(I/O)接口1208,它们彼此通信地耦合。虽然没有示出,但计算设备1202还可以包括用于将各种组件彼此耦合的系统总线或其它数据和命令传输系统。系统总线可以包括不同总线结构中的任何一个或组合,例如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何总线架构的处理器或本地总线。还可以预期各种各样的其它示例(例如,控制线和数据线)。
处理系统1204表示使用硬件执行一个或多个操作的功能。因此,将处理系统1204示出为包括可以被配置成处理器、功能块等等的硬件元件1210。这可以包括利用硬件实现成专用集成电路或者使用一个或多个半导体形成的其它逻辑器件。硬件元件1210不受制成它们的材料或者其中采用的处理机制的限制。例如,处理器可以包括半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1206示出为包括存储器/存贮设备1212。存储器/存贮设备1212表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存贮设备1212可以包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如,只读存储器(ROM)、闪存、光盘、磁盘等等)。存储器/存贮设备1212可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等等)。可以以各种其它方式来配置计算机可读介质1206,如下面进一步描述的。
输入/输出接口1208表示允许用户向计算设备1202输入命令和信息,并且还允许使用各种输入/输出设备将信息呈现给用户和/或其它组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音识别和/或语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触的电容或其它传感器)、相机(例如,其可以采用诸如红外频率之类的可见或不可见波长来检测不涉及作为手势的触摸的运动)等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等等。因此,可以以下面进一步描述的支持用户交互的各种方式来配置计算设备1202。
计算设备1202还包括通信组件1214,通信组件1214表示接收和发送用于计算设备1202的数据的功能。例如,通信组件1214表示用于例如经由任何适当的有线和/或无线协议,与网络进行接口和通信的组件。根据各种实现,通信组件1214接收发送给计算设备1202的数据,将该数据路由到计算设备1202的一个或多个其它组件。此外,通信组件1214从计算设备1202的一个或多个内部组件接收数据,并使该数据传输到远离计算设备1202的各个实体(例如,设备)。
本文可以在软件、硬件元件或程序模块的通常上下文中描述各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等等。如本文所使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或者其组合。本文所描述的技术的特征是与平台无关的,这意味着可以在具有各种处理器的各种各样的商业计算平台上实现这些技术。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质进行传输。计算机可读介质包括可以由计算设备1202访问的各种介质。举例而言但非做出限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以指代与仅仅信号传输、载波波形或信号本身相比,能够持久地存储信息的介质和/或设备。计算机可读存储介质本身不包括信号。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或存储设备之类的硬件,其以适于存储诸如计算机可读指令、数据结构、程序模块、逻辑单元/电路或其它数据之类的信息的方法或技术来实现。计算机可读存储介质的示例可以包括但不限于:RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用光盘(DVD)或其它光学存储器、硬盘、盒式磁带、磁带、磁盘存储器或其它磁存储设备、或其它存储设备、有形介质、或者适于存储期望的信息并且可由计算机访问的制品。
“计算机可读信号介质”可以指代信号承载介质,其被配置为例如经由网络将指令发送到计算设备1202的硬件。信号介质通常可以体现计算机可读指令、数据结构、程序模块、或调制数据信号中的其它数据(例如,载波波形、数据信号或其它传输机制)。信号介质还包括任何信息传递介质。术语“调制的数据信号”是以对信号中的信息进行编码的方式来设置或改变其一个或多个特征的信号。举例而言但非做出限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质、以及诸如声波、射频(RF)、红外线之类的无线介质和其它无线介质。
如先前所描述的,硬件元件1210和计算机可读介质1206表示以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑,在一些实现中,其可以用于实现本文所描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及在硅或其它硬件设备中的其它实现。在此上下文中,硬件元件可以作为处理设备以及硬件设备进行操作,该处理设备执行由该硬件元件实现的指令、模块和/或逻辑所规定的程序任务,该硬件设备用于存储要执行的指令(例如,先前描述的计算机可读存储介质)。
还可以采用前述的组合来实现本文所描述的各种技术和模块。因此,软件、硬件或程序模块和其它程序模块可以实现成在某种形式的计算机可读存储介质上体现和/或由一个或多个硬件元件1210实现的一个或多个指令和/或逻辑。计算设备1202可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,可以由计算设备1202作为软件执行的模块的实现,可以至少部分地以硬件来实现,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1210。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备1202和/或处理系统1204)执行/操作,以实现本文所描述的技术、模块和示例。
如图12中进一步所示,当在个人计算机(PC)、电视设备和/或移动设备上运行应用程序时,示例系统1200使得能够实现无处不在的环境以获得无缝的用户体验。服务和应用程序在所有三种环境中基本相似地运行,以便在使用应用程序、玩视频游戏、观看视频等等情况下从一个设备转换到下一个设备时获得共同的用户体验。
在示例系统1200中,多个设备通过中央计算设备互连。该中央计算设备可以是所述多个设备的本地设备,或者也可以远离所述多个设备。在一种实现中,中央计算设备可以是一个或多个服务器计算机的云,其通过网络、互联网或其它数据通信链路来连接到所述多个设备。
在一种实现中,这种互连架构使得能够在多个设备上传递功能,以向所述多个设备的用户提供共同且无缝的体验。所述多个设备中的每一个设备可以具有不同的物理要求和能力,中央计算设备使用平台来实现向设备传递体验,其既针对该设备进行定制又对所有设备是共同的。在一种实现中,创建一种类别的目标设备,并针对通用设备类别来定制体验。可以通过物理特征、使用类型或设备的其它共同特征来规定一种类别的设备。
在各种实现中,计算设备1202可以采用各种不同的配置,例如针对计算机1216、移动台1218和电视1220的使用。这些配置中的每一个包括可以具有通常不同的构造和能力的设备,因此可以根据不同的设备类别中的一个或多个来配置计算设备1202。例如,可以将计算设备1202实现为计算机1216类别的设备,其包括个人计算机、桌上型计算机、多屏幕计算机、膝上型计算机、上网本等等。
还可以将计算设备1202实现为包括移动设备的移动台1218类别的设备,例如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、可穿戴设备、多屏幕计算机等等。还可以将计算设备1202实现为电视1220类别的设备,其包括具有或连接到休闲观看环境中的通常更大屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等等。
本文所描述的技术可以由计算设备1202的这些各种配置支持,并且其不限于本文所描述的技术的特定示例。例如,参考通信服务120和连接服务122所讨论的功能可以全部地或部分地通过使用分布式系统来实现,例如经由平台1224通过“云”1222来实现,如下所述。
云1222包括和/或代表用于资源1226的平台1224。平台1224抽象出云1222的硬件(例如,服务器)和软件资源的底层功能。资源1226可以包括:当在远离计算设备1202的服务器上执行计算机处理时,能够使用的应用和/或数据。资源1226还可以包括通过互联网和/或通过用户网络(例如,蜂窝或Wi-Fi网络)提供的服务。
平台1224可以抽象用于将计算设备1202与其它计算设备连接的资源和功能。平台1224还可以用于抽象资源的缩放,以提供针对经由平台1224实现的资源1226的所遇到的需求的相应级别的规模。因此,在互连的设备实现中,本文描述的功能的实现可以分布在整个系统1200中。例如,功能可以部分地实现在计算设备1202上,以及经由抽象云1222的功能的平台1224来实现。
本文讨论了可以实现以执行本文所讨论的技术的多种方法。这些方法的各方面可以以硬件、固件、或软件、或其组合的方式来实现。将这些方法示出为一组步骤,其指定由一个或多个设备执行的操作,但并不必限于执行各个块的操作所示出的顺序。此外,根据一种或多种实现,可以将关于特定方法示出的操作与不同方法的操作进行组合和/或互换。可以通过上面参考环境100讨论的各种实体之间的交互,来实现方法的各方面。
描述了用于通信会话的端点配置的技术。虽然以特定于结构特征和/或方法动作的语言描述了实施方式,但应当理解的是,所附权利要求书中限定的实施方式并不必需限于所描述的具体特征或动作。而是,将这些特定特征和动作公开成实现所要求保护的实施方式的示例形式。
在本文的讨论中,描述了各种不同的实现。应当理解和明白的是,本文所描述的每种实现可以单独地使用,也可以与本文所描述的一个或多个其它实现结合使用。本文所讨论的技术的进一步方面涉及以下实现中的一个或多个。
一种用于使端点设备被配置用于通信会话的系统,该系统包括:至少一个处理器;一个或多个计算机可读存储介质,其中所述一个或多个计算机可读存储介质包括存储在其上的指令,响应于所述指令被所述至少一个处理器执行,使得该系统执行包括以下的操作:接收针对用于路由通信会话的网络路径的查询;基于候选路径的质量属性来识别用于路由所述通信会话的所述候选路径;基于与所述通信会话相关联的组策略,确定用于所述通信会话的端点设备的配置信息;传送包括标识所述候选路径的路径信息和所述配置信息的通知,以使得通过所述候选路径来路由所述通信会话,并根据所述配置信息来配置所述端点设备。
除了上面所描述的系统中的任何一个之外,包括下面中的任何一个或者其组合:其中,在发起所述通信会话之前,接收所述查询并传送所述通知;其中,在云服务处接收所述查询,所述云服务存储关于基于历史通信会话的路由路径和当前活动通信会话的属性的信息;其中,在云服务处接收所述查询,所述云服务存储关于基于历史应用程序和服务的路由路径的信息,所述历史应用和服务是通过所述路由路径进行路由的;其中,在存储所述候选路径的一个或多个属性和所述端点设备的一个或多个属性的云服务处确定所述配置信息,其中,所述配置信息被配置为改善所述端点设备处所述通信会话的媒体质量;还包括确定所述候选路径具有错误状况,其中所述配置信息被配置为减轻所述错误状况对所述端点设备处的所述通信会话的分组质量的影响;还包括确定所述候选路径具有错误状况,其中所述配置信息指示要降低所述端点设备的编解码器的数据速率;还包括确定所述候选路径具有错误状况,其中所述配置信息指示将增加所述端点设备的纠错功能的错误校正;其中,所述配置信息是在存储所述候选路径的一个或多个属性和所述端点设备的一个或多个属性的云服务处确定的,所述候选路径的所述一个或多个属性指示所述候选路径具有错误状况,所述端点设备的所述一个或多个属性指示所述端点设备的编解码器的数据速率,并且其中,所述配置信息指示所述端点设备将降低所述编解码器的所述数据速率;其中,所述通信会话包括所述端点设备和不同的端点设备,并且其中,所述确定所述配置信息包括:基于所述组策略,确定所述端点设备的优先级高于所述不同的端点设备的优先级;以及生成所述配置信息,以使所述端点设备处的媒体质量优先于所述不同的端点设备处的媒体质量;其中,所述操作还包括:接收关于所述通信会话的分组质量正在下降的指示;生成指定以下中的一个或多个的重新配置信息:针对所述端点设备的编解码器的更新设置、以及针对所述端点设备的纠错功能的更新设置、或者关于所述通信会话的分组质量正在下降的指示;以及传送另外的通知,其中所述另外的通知包括所述重新配置信息,以使所述端点设备根据所述重新配置信息进行重新配置;其中,所述通信会话包括所述端点设备和不同的端点设备,并且其中,所述确定所述配置信息包括:接收关于所述通信会话的分组质量正在下降的指示;生成用于重新配置所述端点设备的重新配置信息,所述重新配置信息是基于所述组策略生成的,所述组策略指定所述端点设备的优先级高于所述不同的端点设备的优先级,使得生成所述重新配置信息以使所述端点设备处的媒体质量优先于所述不同的端点设备处的媒体质量;以及传送另外的通知,其中所述另外的通知包括所述重新配置信息,以使所述端点设备或所述不同的端点设备中的一个或多个根据所述重新配置信息进行重新配置。
一种用于使端点设备被配置用于通信会话的计算机实现的方法,该方法包括:提交针对用于路由通信会话的路由路径的查询;接收标识候选路径和包括用于配置所述通信会话的端点设备的配置信息的响应,所述配置信息包括所述端点设备要应用的设置或者关于所述候选路径的质量属性的指示中的一个或多个;使所述端点设备根据所述配置信息进行配置;以及使得通过所述候选路径来路由所述通信会话。
除了上面所描述的方法中的任何一个之外,包括下面中的任何一个或者其组合:其中,在发起所述通信会话之前,提交所述查询并且接收所述响应;其中,所述配置信息指示要降低所述端点设备的编解码器的编解码器速率;其中,所述配置信息指示要增加所述端点设备的纠错功能的错误校正;还包括:接收关于所述通信会话的分组质量正在下降的通知;提交针对更新的配置信息的查询;接收查询响应,其中所述查询响应包括用于配置编解码器的设置或者纠错功能的设置中的一个或多个的重新配置信息;以及使所述端点设备根据所述重新配置信息进行重新配置。
一种用于使端点设备被配置用于通信会话的计算机实现的方法,该方法包括:在端点设备处接收路由路径信息和用于配置所述端点设备的配置信息,所述配置信息包括以下中的一个或多个:针对所述端点设备的编解码器的设置、针对所述端点设备的纠错功能的设置、或者关于所述路由路径的路径质量的指示;基于所述配置信息来配置所述端点设备;以及作为与一个或多个其它端点设备的通信会话的一部分,通过所述路由路径交换通信媒体。
除了上面所描述的方法中的任何一个之外,包括下面中的任何一个或者其组合:其中,基于所述配置信息并在发起所述通信会话之前,配置所述编解码器或所述纠错功能中的一个或多个;其中,路径质量的所述指示包括所述路由路径的分组质量的指示。

Claims (15)

1.一种用于使端点设备被配置用于通信会话的系统,所述系统包括:
至少一个处理器;以及
包括其上存储指令的一个或多个计算机可读存储介质,响应于所述指令由所述至少一个处理器执行,使所述系统执行包括以下的操作:
接收针对用于路由端点设备的通信会话的网络路径的查询;
基于候选路径的质量属性来识别用于路由所述端点设备的所述通信会话的所述候选路径;
基于所述端点设备的一个或多个属性,确定所述端点设备生成数据的数据速率;
基于与包括所述端点设备的一组预定义设备相关联的组策略、用于路由所述端点设备的所述通信会话的所述候选路径的质量属性以及所述端点设备生成数据的数据速率,确定用于所述通信会话的端点设备的配置信息,其中所述配置信息指示所述端点设备生成数据的所述数据速率的变化,所述组策略限定了应用于所述一组预定义设备中的每个设备的一组配置规则;以及
传送包括标识所述候选路径的路径信息和所述配置信息的通知,以使得通过所述候选路径来路由所述通信会话,并根据所述配置信息来配置所述端点设备。
2.根据权利要求1所述的系统,其中,在发起所述通信会话之前,接收所述查询并传送所述通知。
3.根据权利要求1所述的系统,其中,在云服务处接收所述查询,所述云服务存储关于基于历史通信会话的路由路径和当前活动通信会话的属性的信息。
4.根据权利要求1所述的系统,其中,在云服务处接收所述查询,所述云服务存储关于基于历史应用程序和服务的路由路径的信息,所述历史应用和服务是通过所述路由路径进行路由的。
5.根据权利要求1所述的系统,其中,所述配置信息是在存储所述候选路径的一个或多个属性和所述端点设备的一个或多个属性的云服务处确定的,并且其中,所述配置信息被配置为改善所述端点设备处所述通信会话的媒体质量。
6.根据权利要求1所述的系统,还包括:
确定所述候选路径具有错误状况,并且其中,所述配置信息被配置为减轻所述错误状况对所述端点设备处的所述通信会话的分组质量的影响。
7.根据权利要求1所述的系统,还包括:
确定所述候选路径具有错误状况,并且其中,所述配置信息指示要降低所述端点设备的编解码器的数据速率。
8.根据权利要求1所述的系统,还包括:
确定所述候选路径具有错误状况,并且其中,所述配置信息指示要增加所述端点设备的纠错功能的错误校正。
9.根据权利要求1所述的系统,其中,所述配置信息是在存储所述候选路径的一个或多个属性和所述端点设备的一个或多个属性的云服务处确定的,所述候选路径的所述一个或多个属性指示所述候选路径具有错误状况,所述端点设备的所述一个或多个属性指示所述端点设备的编解码器的数据速率,并且其中,所述配置信息指示所述端点设备将降低所述编解码器的所述数据速率。
10.根据权利要求1所述的系统,其中,所述通信会话包括所述端点设备和不同的端点设备,并且其中,所述确定所述配置信息包括:
基于所述组策略,确定所述端点设备的优先级高于所述不同的端点设备的优先级;以及
生成所述配置信息,以使所述端点设备处的媒体质量优先于所述不同的端点设备处的媒体质量。
11.根据权利要求1所述的系统,其中,所述操作还包括:
接收关于所述通信会话的分组质量正在下降的指示;
生成指定以下中的一个或多个的重新配置信息:针对所述端点设备的编解码器的更新设置、以及针对所述端点设备的纠错功能的更新设置、或者关于所述通信会话的分组质量正在下降的指示;以及
传送另外的通知,其中所述另外的通知包括所述重新配置信息,以使所述端点设备根据所述重新配置信息进行重新配置。
12.根据权利要求1所述的系统,其中,所述通信会话包括所述端点设备和不同的端点设备,并且其中,所述确定所述配置信息包括:
接收关于所述通信会话的分组质量正在下降的指示;
生成用于重新配置所述端点设备的重新配置信息,所述重新配置信息是基于所述组策略生成的,所述组策略指定所述端点设备的优先级高于所述不同的端点设备的优先级,使得生成所述重新配置信息以使所述端点设备处的媒体质量优先于所述不同的端点设备处的媒体质量;以及
传送另外的通知,其中所述另外的通知包括所述重新配置信息,以使所述端点设备或所述不同的端点设备中的一个或多个根据所述重新配置信息进行重新配置。
13.一种用于使端点设备被配置用于通信会话的计算机实现的方法,所述方法包括:
提交针对用于路由通信会话的路由路径的查询;
接收标识候选路径和包括用于配置所述通信会话的端点设备的配置信息的响应,其中,所述配置信息是基于与包括所述端点设备的一组预定义设备相关联的组策略、用于路由所述端点设备的所述通信会话的所述候选路径的质量属性以及所述端点设备生成数据的数据速率来确定的,所述配置信息指示所述端点设备生成数据的数据速率的变化且包括所述端点设备要应用的设置或者关于所述候选路径的质量属性的指示中的一个或多个;
使所述端点设备根据所述配置信息和组策略进行配置,所述组策略限定了应用于包括所述端点设备的一组预定义设备中的每个设备的一组配置规则;以及
使得通过所述候选路径来路由所述通信会话。
14.根据权利要求13所述的方法,其中,在发起所述通信会话之前,提交所述查询并且接收所述响应。
15.根据权利要求13所述的方法,其中,所述配置信息指示以下中的一个或多个:要降低所述端点设备的编解码器的编解码器速率、或者要增加所述端点设备的纠错功能的错误校正。
CN201880026079.1A 2017-04-18 2018-04-06 用于通信会话的端点配置 Active CN110537348B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/490,631 2017-04-18
US15/490,631 US10992729B2 (en) 2017-04-18 2017-04-18 Endpoint configuration for a communication session
PCT/US2018/026361 WO2018194854A1 (en) 2017-04-18 2018-04-06 Endpoint configuration for a communication session

Publications (2)

Publication Number Publication Date
CN110537348A CN110537348A (zh) 2019-12-03
CN110537348B true CN110537348B (zh) 2022-09-20

Family

ID=62104381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880026079.1A Active CN110537348B (zh) 2017-04-18 2018-04-06 用于通信会话的端点配置

Country Status (4)

Country Link
US (1) US10992729B2 (zh)
EP (1) EP3613176B1 (zh)
CN (1) CN110537348B (zh)
WO (1) WO2018194854A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190253341A1 (en) 2018-02-15 2019-08-15 128 Technology, Inc. Service Related Routing Method and Apparatus
US11171900B1 (en) * 2018-03-14 2021-11-09 Whatsapp Llc Techniques for media endpoint configuration
WO2021217070A1 (en) 2020-04-23 2021-10-28 Juniper Networks, Inc. Session monitoring using metrics of session establishment
CN112104553B (zh) * 2020-08-27 2022-07-12 新华三技术有限公司 一种选择路径的方法、装置、路由设备和存储介质
CN112637059B (zh) * 2020-12-14 2022-06-14 浙江大学 一种面向跨界服务网络的服务路由方法
US11556696B2 (en) * 2021-03-15 2023-01-17 Avaya Management L.P. Systems and methods for processing and displaying messages in digital communications
EP4233382A1 (en) * 2021-05-07 2023-08-30 Samsung Electronics Co., Ltd. Method and base station for determining transmission path in wireless communication system
EP4106275A1 (en) * 2021-06-18 2022-12-21 Rohde & Schwarz GmbH & Co. KG Jitter determination method, jitter determination module, and packet-based data stream receiver
US11929907B2 (en) 2022-03-08 2024-03-12 T-Mobile Usa, Inc. Endpoint assisted selection of routing paths over multiple networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101766011A (zh) * 2007-09-12 2010-06-30 诺基亚公司 用于同步的呼叫协议信息的集中式呼叫日志
CN106233698A (zh) * 2014-04-21 2016-12-14 微软技术许可有限责任公司 基于会话的设备配置
WO2017023629A1 (en) * 2015-08-05 2017-02-09 Microsoft Technology Licensing, Llc Notification for a prioritized media path for a communication session

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412051B2 (en) 2006-10-13 2013-04-02 Menara Networks, Inc. 40G/100G optical transceivers with integrated framing and forward error correction
JP4145025B2 (ja) 2001-05-17 2008-09-03 富士通株式会社 予備パスの設定方法および装置
US7827573B2 (en) 2004-04-05 2010-11-02 Comcast Cable Holdings, Llc Method and system for provisioning a set-top box
KR100592049B1 (ko) * 2004-07-16 2006-06-20 에스케이 텔레콤주식회사 멀티미디어 링백톤 서비스를 위한 단말기 및 단말기의제어 방법
US7466810B1 (en) 2004-12-20 2008-12-16 Neltura Technology, Inc. Distributed system for sharing of communication service resources between devices and users
JP4606249B2 (ja) 2005-05-18 2011-01-05 富士通株式会社 情報処理方法及びルータ
US8244127B2 (en) 2005-06-06 2012-08-14 Dynamic Method Enterprises Limited Quality of service in an optical network
US7765294B2 (en) * 2006-06-30 2010-07-27 Embarq Holdings Company, Llc System and method for managing subscriber usage of a communications network
US20120330804A1 (en) * 2006-08-22 2012-12-27 Morrill Robert J System and method for billing utilizing account status
US8583781B2 (en) 2009-01-28 2013-11-12 Headwater Partners I Llc Simplified service network architecture
WO2009153945A1 (ja) 2008-06-19 2009-12-23 パナソニック株式会社 通信経路構築装置及びn-ツリー構築方法
US9331717B2 (en) 2009-02-27 2016-05-03 Blackberry Limited Forward error correction decoding avoidance based on predicted code block reliability
US9203652B2 (en) 2009-12-21 2015-12-01 8X8, Inc. Systems, methods, devices and arrangements for cost-effective routing
US8959139B2 (en) * 2010-05-28 2015-02-17 Juniper Networks, Inc. Application-layer traffic optimization service endpoint type attribute
US9371007B1 (en) 2011-04-22 2016-06-21 Angel A. Penilla Methods and systems for automatic electric vehicle identification and charging via wireless charging pads
BR112013030371A2 (pt) * 2011-05-27 2016-12-13 Huawei Tech Co Ltd método, aparelho e sistema de acesso de rede para processamento de sinal de fala
US9185166B2 (en) 2012-02-28 2015-11-10 International Business Machines Corporation Disjoint multi-pathing for a data center network
WO2014169289A1 (en) 2013-04-12 2014-10-16 Extreme Networks Bandwidth on demand in sdn networks
US9680564B2 (en) 2013-08-26 2017-06-13 Verizon Patent And Licensing Inc. Protection in metro optical networks
US20150254214A1 (en) 2013-09-06 2015-09-10 Knowledge Initiatives LLC Electronic publication environment
US9755950B2 (en) * 2013-10-18 2017-09-05 Microsoft Technology Licensing, Llc Path routing for communication sessions
US9515938B2 (en) 2013-10-24 2016-12-06 Microsoft Technology Licensing, Llc Service policies for communication sessions
JP6026385B2 (ja) * 2013-10-25 2016-11-16 株式会社日立製作所 属性情報提供方法および属性情報提供システム
CA2870080C (en) 2013-11-08 2017-12-19 Accenture Global Services Limited Network node failure predictive system
US9218169B2 (en) 2013-11-19 2015-12-22 Google Inc. Callpath finder
US9461923B2 (en) 2013-12-06 2016-10-04 Algoblu Holdings Limited Performance-based routing in software-defined network (SDN)
US10021214B2 (en) 2014-07-22 2018-07-10 Microsoft Technology Licensing, Llc Synthetic transactions between communication endpoints
US9712447B2 (en) 2014-12-29 2017-07-18 Juniper Networks, Inc. Point-to-multipoint path computation for wide area network optimization
US9563986B2 (en) 2014-12-31 2017-02-07 Ebay Inc. Systems and methods for multi-signal fault analysis
US9762392B2 (en) 2015-03-26 2017-09-12 Eurotech S.P.A. System and method for trusted provisioning and authentication for networked devices in cloud-based IoT/M2M platforms
US10171345B2 (en) 2015-05-04 2019-01-01 Microsoft Technology Licensing, Llc Routing communication sessions
US10237187B2 (en) 2016-04-29 2019-03-19 Citrix Systems, Inc. System and method for service chain load balancing
US10145691B2 (en) 2016-05-18 2018-12-04 Here Global B.V. Ambiguity map match rating

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101766011A (zh) * 2007-09-12 2010-06-30 诺基亚公司 用于同步的呼叫协议信息的集中式呼叫日志
CN106233698A (zh) * 2014-04-21 2016-12-14 微软技术许可有限责任公司 基于会话的设备配置
WO2017023629A1 (en) * 2015-08-05 2017-02-09 Microsoft Technology Licensing, Llc Notification for a prioritized media path for a communication session

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COMPARISONS OF FEC AND CODEC ROBUSTNESS ON VOIP QUALITY AND BANDWIDTH EFFICIENCY;BennyBing et al.;《Networks》;20020801;537-548 *

Also Published As

Publication number Publication date
CN110537348A (zh) 2019-12-03
WO2018194854A1 (en) 2018-10-25
US20180302457A1 (en) 2018-10-18
US10992729B2 (en) 2021-04-27
EP3613176B1 (en) 2023-04-05
EP3613176A1 (en) 2020-02-26

Similar Documents

Publication Publication Date Title
CN110537348B (zh) 用于通信会话的端点配置
EP3146755B1 (en) Synthetic transactions between communication endpoints
US9860321B2 (en) Propagating communication awareness over a cellular network
KR102317694B1 (ko) 세션 기반 디바이스 구성
US9787576B2 (en) Propagating routing awareness for autonomous networks
US9730133B2 (en) Synthetic transaction for wireless handover
US20180287931A1 (en) Provisioning a Network Node for Attribute Sharing
US20180316741A1 (en) Synthetic Transaction based on Network Condition
WO2017034933A1 (en) Preferred network information
US20170041026A1 (en) Interleaving Information for Media Data
US20160269251A1 (en) Subscription for Communication Attributes
US9609064B2 (en) Propagating communication awareness for communication sessions
US20170295209A1 (en) Subscription for Communication Attributes

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