虚拟桌面基础架构中的呼叫增强的制作方法

文档序号:30952019发布日期:2022-07-30 08:02阅读:79来源:国知局
虚拟桌面基础架构中的呼叫增强的制作方法
虚拟桌面基础架构中的呼叫增强


背景技术:

1.企业实体依靠多种通信模式来支持其操作,包括电话、电子邮件、内部消息传递等。这些分开的通信模式历来是由服务提供商实现的,这些服务提供商的服务未相互集成。至少在某些情况下,这些服务之间的断开要求用户手动将信息从一项服务传递到下一项服务。此外,传统上,某些服务(诸如,电话服务)是通过本地部署解决方案交付的,这意味着远程工作人员和通常越来越机动的人员可能无法依靠它们。一种解决方案是借助统一通信即服务(ucaas)平台,该平台包括通过网络(诸如,互联网)集成的若干通信服务,以交付完整的通信体验,而与物理位置无关。


技术实现要素:

2.本文尤其公开了用于虚拟桌面基础架构中的呼叫增强的系统和技术的实现。
3.本公开的一方面是一种方法,该方法包括测试针对个人计算设备与媒体服务器之间的绕过虚拟桌面基础架构服务器的网络套接口对连接的通信网络条件,以获得直接连接测试结果;基于直接连接测试结果,从针对使用虚拟桌面基础架构服务器发起的呼叫的一组媒体通道中选择一媒体通道,其中该组媒体通道包括第一媒体通道和第二媒体通道,第一媒体通道使用个人计算设备与媒体服务器之间的网络套接口对连接,第二媒体通道被路由通过虚拟桌面基础架构服务器并且按用于交换针对虚拟桌面应用的数据的协议被封装;以及使用所选择的媒体通道在媒体服务器与个人计算设备之间传送媒体数据以启用呼叫。
4.本公开的一方面是一种个人计算设备,包括网络接口、处理器和存储器,其中存储器存储器存储指令,该指令可由处理器执行以:测试针对个人计算设备与媒体服务器之间的绕过虚拟桌面基础架构服务器的网络套接口对连接的通信网络条件,以获得直接连接测试结果;基于直接连接测试结果,从针对使用虚拟桌面基础架构服务器发起的呼叫的一组媒体通道中选择一媒体通道,其中一组媒体通道包括第一媒体通道和第二媒体通道,第一媒体通道使用个人计算设备与媒体服务器之间的网络套接口对连接,第二媒体通道被路由通过虚拟桌面基础架构服务器并且按用于交换针对虚拟桌面应用的数据的协议被封装;以及使用所选择的媒体通道在媒体服务器与个人计算设备之间传送媒体数据以启用呼叫。
5.本公开的一方面是一种非瞬态计算机可读存储介质,其包括可执行指令,该可执行指令在由处理器执行时促进操作的执行,包括:测试针对个人计算机设备与媒体服务器之间的绕过虚拟桌面基础架构服务器的网络套接口对连接的通信网络条件,以获得直接连接测试结果;基于直接连接测试结果,从针对使用虚拟桌面基础架构服务器发起的呼叫的一组媒体通道中选择一媒体通道,其中一组媒体通道包括第一媒体通道和第二媒体通道,第一媒体通道使用个人计算设备与媒体服务器之间的网络套接口对连接,第二媒体通道被路由通过虚拟桌面基础架构服务器并且按用于交换针对虚拟桌面应用的数据的协议被封装;以及使用所选择的媒体通道在媒体服务器与个人计算设备之间传送媒体数据以启用呼叫。
附图说明
6.当结合附图阅读时,根据以下详细描述可以最好地理解本公开。需要强调的是,根据惯例,附图的各个特征未按比例绘制。相反,为了清楚起见,各个特征的尺寸被任意放大或缩小。
7.图1是电子计算和通信系统的示例的框图。
8.图2是电子计算和通信系统的计算设备的示例内部配置的框图。
9.图3是由电子计算和通信系统实现的软件平台的示例的框图。
10.图4是被配置为使用虚拟桌面实例来启用呼叫的虚拟桌面基础架构系统的示例的框图。
11.图5是被配置为使用虚拟桌面实例来启用呼叫的系统的示例的框图,其示出了支持呼叫的媒体数据流。
12.图6是用于选择媒体通道以支持使用虚拟桌面基础架构服务器发起的呼叫的技术的示例的流程图。
13.图7是用于测试针对系统中的网络套接口对连接的通信网络条件的技术的示例的流程图,该系统被配置为使用虚拟桌面实例来启用呼叫。
14.图8是用于测试针对系统中的网络套接口对连接的通信网络条件的技术的示例的流程图,该系统被配置为使用虚拟桌面实例来启用呼叫。
15.图9是用于选择媒体通道以支持使用虚拟桌面基础架构服务器发起的呼叫的技术的示例的流程图。
具体实施方式
16.通常被提供给大量用户的服务是虚拟桌面基础架构(vdi),它允许用户访问由服务器提供的桌面接口。该桌面接口提供对在虚拟桌面实例所使用的操作系统上运行的应用的访问,该操作系统可以是与用户用来远程访问虚拟桌面的个人计算设备所使用的操作系统不同的操作系统。
17.用于ucaas平台的客户端软件可以在虚拟桌面实例上运行。例如,在vdi服务器上运行的ucaas客户端软件可用于促进用户参与来自其个人计算设备的呼叫(例如,视频会议呼叫或仅语音呼叫),其个人计算机被连接至vdi服务器。vdi服务器可以中继用于促进ucaas平台的一个或多个服务器与用户的个人计算设备之间的呼叫的部分或全部数据。在某些情况下,将针对呼叫的媒体数据(例如,音频和/或视频数据)在ucaas平台的媒体服务器与个人计算设备之间更直接地路由以绕过vdi服务器是有利的。这种做法通常称为媒体卸载。在适当的情况下,媒体卸载可以节省vdi服务器上的计算资源、节省网络带宽,否则该网络带宽将用于中继针对呼叫的媒体数据,这可能是相对较高的数据速率,并且可以减少呼叫的延迟,从而可能成为影响通话质量的重要因素。这是以增加个人计算设备上的处理资源的使用为代价的,个人计算设备必须本地运行用于媒体流的媒体编码器和解码器。但是,在某些情况下,媒体卸载可能降低呼叫质量。
18.本公开的实施方式通过使正通过在vdi服务器上运行的客户端软件进入呼叫建立的个人计算设备能够测试通信网络条件并从一组支持的媒体通道选择用于传送针对呼叫的媒体数据的媒体通道以适应当前情况,来解决诸如此类的问题。例如,该组支持的媒体通
道可以包括(1)到媒体服务器的相对直接连接,该连接绕过vdi服务器并使用媒体服务器与个人计算设备之间的网络套接口对连接(例如,使用用户数据报协议(udp)套接口对);(2)第二媒体通道,该媒体通道被路由通过vdi服务器并按用于交互虚拟桌面应用的数据的协议(例如,独立计算体系结构(ica)协议或远程桌面协议(rdp)协议)被封装;和/或(3)使用个人计算设备与vdi服务器之间的网络套接口对连接(例如,使用udp套接口对)的第三媒体通道。在一些实施方式中,使用第一媒体通道的更直接的连接是优选的,并且只要该直接连接的测试结果满足标准(例如,足够的数据吞吐量和/或足够低的时延)就可以使用。在一些实施方式中,第三媒体通道相对于第二媒体通道被优先,并且当第一媒体通道不合格并且第三媒体通道满足标准,则选择第二媒体通道;如果第一媒体通道和第三媒体通道均不合格,则选择第二媒体通道。在一些实施方式中,可以将针对多个支持的媒体通道的测试结果彼此相比较,并且可以基于该比较来选择媒体通道。
19.当使用被路由通过vdi服务器并按用于交换虚拟桌面应用的数据的协议(例如,ica协议或rdp协议)被封装的第二媒体通道时,可以有利于节约给定呼叫所使用的协议的虚拟通道的数目。例如,多个媒体流(例如,来自不同呼叫参与者的媒体流)可以被合并到协议的单个虚拟通道中。在一些实施方式中,在呼叫期间交换的所有数据(例如,包括控制数据、音频数据、视频数据、以及共享数据)可以被合并到协议的单个虚拟通道中。节约虚拟通道使用可以使vdi系统能够支持大量呼叫,从而使系统更具可伸缩性。将不同类型的呼叫数据合并到协议的单个虚拟通道中还可以通过电话代理或会议代理支持各种流量类型的自定义优先级。
20.为了更详细地描述一些实施方式,首先参考用于实现虚拟桌面基础架构中的呼叫增强的硬件和软件结构的示例。图1是电子计算和通信系统100的示例的框图,该通信系统100可以是或者包括分布式计算系统(例如,客户端-服务器计算系统)、云计算系统、集群计算系统等。
21.系统100包括一个或多个客户,诸如客户102a至102b,它们各自可以是购买或以其他方式使用软件服务(诸如,ucaas平台提供者的软件服务)的公共实体、私人实体或另一公司实体或个人。每个客户可以包括一个或多个客户端。例如,如所示但不限于,客户102a可以包括客户端104a至104b,而客户102b可以包括客户端104c至104d。客户可以包括客户网络或域。例如但不限于,客户端104a至104b可以与用于客户102a的客户网络或域相关联或与之通信,并且客户端104c至104d可以与用于客户102b的客户网络或域相关联或与之通。
22.客户端(诸如,客户端104a至104d中的一个客户端)可以是或者可以其他方式指代客户端设备或客户端应用中的一者或两者。在客户端是或指代客户端设备的情况下,客户端可以包括计算系统,该计算系统可以包括一个或多个计算设备,诸如移动电话、平板计算机、膝上型计算机、笔记本计算机、台式计算机、或其他合适的计算设备或计算设备的组合。相反,在客户端是或指代客户端应用的情况下,客户端可以是在客户端设备(例如,客户端设备或另一设备)上运行的软件的实例。在一些实施方式中,客户端可以被实现为单个物理单元或物理单元的组合。在一些实施方式中,单个物理单元可以包括多个客户端。
23.系统100可以包括多个客户和/或客户端,或者可以具有与图1中总体示出的不同的客户或客户端的配置。例如但不限于,系统100可以包括数百或数千个客户,并且这些客户中的至少一些客户可以包括或与多个客户端相关联。
24.系统100包括数据中心106,其可以包括一个或多个服务器。数据中心106可以表示地理位置,该地理位置可以包括一个或多个服务器所位于的设施。系统100可以包括多个数据中心和服务器,或者可以包括与图1中总体示出的配置不同的数据中心和服务器的配置。例如但不限于,系统100可以包括数十个数据中心,并且这些数据中心中的至少一些数据中心可以包括数百个或其他合适数目的服务器。在一些实施方式中,数据中心106可以与一个或多个数据中心网络或域相关联或与之通信,域可以包括除了用于客户102a至102b的客户域之外的域。
25.数据中心106包括用于实现ucaas平台的软件服务的服务器。总体上说明的数据中心106包括应用服务器108、数据库服务器110以及电话服务器112。服务器108至112可以各自是计算系统,其可以包括一个或多个计算设备,诸如台式计算机、服务器计算机、或能够用作服务器的其他计算机、或它们的组合。可以在数据中心106上实现适当数目的服务器108至112中的每一个服务器。ucaas平台使用多租户架构,在该架构中在客户102a至102b之间共享服务器108至112的安装或实例化。
26.在一些实施方式中,服务器108至112中的一个或多个服务器可以是在诸如硬件服务器之类的物理设备上实现的非硬件服务器。在一些实施方式中,应用服务器108、数据库服务器110和电话服务器112中的两个或更多个的组合可以被实现为单个硬件服务器或者被实现为在单个硬件服务器上实现的单个非硬件服务器。在一些实施方式中,数据中心106可以包括与服务器108至112不同的服务器或者除了服务器108至112之外的服务器,例如,媒体服务器、代理服务器或网络服务器。
27.应用服务器108运行可交付给客户端(诸如,客户端104a至104d中的一个客户端)的、基于网络的软件服务。如上所述,软件服务可以是ucaas平台的。例如,应用服务器108可以实现ucaas平台的全部或一部分,例如,包括会议软件、消息传递软件和/或其他方内或其他方间通信软件。应用服务器108可以例如是或包括单一的java虚拟机(jvm)。
28.在一些实施方式中,应用服务器108可以包括应用节点,该应用节点可以是在应用服务器108上执行的过程。例如但不限于,应用节点可以被执行以便将软件服务交付客户端(诸如,客户端104a到104d中的一个客户端),作为软件应用的一部分。应用节点可以使用应用服务器108的处理线程、虚拟机实例或其他计算功能来实现。在某些这样的实施方式中,取决于与应用服务器108相关联的系统负载或其他特征,应用服务器108可以包括适当数目的应用节点。例如,但不限于,应用服务器108可以包括形成节点群集的两个或更多个节点。在一些这样的实施方式中,在单个应用服务器108上实现的应用节点可以在不同的硬件服务器上运行。
29.数据库服务器110存储、管理或以其他方式提供用于将应用服务器108的软件服务交付给客户端(诸如,客户端104a至104d中的一个客户端)的数据。具体地,数据库服务器110可以实现一个或多个数据库、表或者适合与使用应用服务器108实现的软件应用一起使用的其他信息源。数据库服务器110可以包括数据存储单元,该数据存储单元可由在应用服务器108上执行的软件访问。由数据库服务器110实现的数据库可以是关系数据库管理系统(rdbms)、对象数据库、xml数据库、配置管理数据库(cmdb)、管理信息库(mib)、一个或多个平面文件、其他合适的非瞬态存储机制或它们的组合。系统100可以包括一个或多个数据库服务器,其中每个数据库服务器可以包括被配置为或包括合适的数据库类型或其组合的一
个、两个、三个或其他合适数目的数据库。
30.在一些实施方式中,一个或多个数据库、表、其他合适的信息源或其部分或组合可以由系统100的除数据库服务器110之外的一个或多个元件(例如,客户端104或应用服务器108)来存储、管理或以其他方式提供。
31.电话服务器112支持来自或去往客户的客户端(诸如,客户102a的客户端104a至104b或者客户102b的客户端104c至104d)的基于网络的电话和网络通信。客户端104a至104d中的一些或全部可以是被配置为通过网络(例如,网络114)发送和接收呼叫的、支持互联网协议语音(voip)的设备。具体地,电话服务器112包括会话发起协议(sip)区域和网络(web)区域。sip区域使诸如客户102a或102b之类的客户的客户端能够使用sip请求和响应通过网络114来发送和接收呼叫。网络区域将电话数据与应用服务器108集成在一起,以使基于电话的流量访问由应用服务器108运行的软件服务。给定sip区域和网络区域的组合功能,电话服务器112可以是或者包括基于云的专用小交换机(pbx)系统。
32.sip区域从客户的客户端接收电话流量并将其定向到目的地设备。sip区域可以包括一个或多个用于路由电话流量的呼叫交换机。例如,为了将voip呼叫从客户的第一支持voip的客户端路由到同一客户的第二支持voip的客户端,电话服务器112可以使用针对客户的pbx在第一客户端和第二客户端之间发起sip交易。但是,在另一示例中,为了将voip呼叫从客户的支持voip的客户端路由到不支持voip的客户端或非客户端设备(例如,未被配置用于voip通信的台式电话),电话服务器112可以经由voip网关发起sip交易,该voip网关将sip信号传输至公共交换电话网(pstn)系统以用于与不支持voip的客户端或非客户端电话的出站通信。因此,电话服务器112可以包括pstn系统,并且在某些情况下可以访问外部pstn系统。
33.电话服务器112包括一个或多个会话边界控制器(sbc),用于将sip区域与电话服务器112外部的一个或多个方面接口连接。具体地,sbc可以充当给定客户的客户端或非客户端设备与该客户外部的客户端或非客户端设备之间的中介来传输和接收sip请求和响应。当接收到源自电话服务器112外部的用于递送至客户的客户端(诸如,客户端104a至104d中的一个客户端)的传入电话流量时,sbc接收该流量并将其转发至呼叫交换机,以路由至客户端。
34.在一些实施方式中,电话服务器112经由sip区域可以实现一种或多种形式的与运营商或客户本地对等。例如,与客户本地的互联网对等可以被支持以减轻客户从传统提供商到操作电话服务器112的服务提供商的迁移。在另一示例中,与客户本地的私有对等可以被支持以利用一端端接电话服务器112并且另一端端接客户环境的计算方面的私有连接。在又一示例中,运营商对等可以被支持以利用对等运营商到电话服务器112的连接。
35.在一些这样的实现中,客户环境内的sbc或电话网关可以作为电话服务器112的sbc与对等运营商的pstn之间的中介操作。当外部sbc首先被注册到电话服务器112时,来自客户端的呼叫可以通过sbc被路由到sip区域的负载均衡器,该负载均衡器将流量定向到电话服务器112的呼叫交换机。其后,sbc可以被配置为直接与呼叫交换机通信。
36.网络区域经由sip区域从客户的客户端接收电话流量,并经由一个或多个域名系统(dns)解析将该电话流量定向到应用服务器108。例如,网络区域内的第一dns可以处理经由sip区域接收到的请求,然后将经处理的请求传递到网络服务,该网络服务连接到在应用
服务器108处或与之相关联地连接到第二dns。一旦第二dns解析,该请求被传送到应用服务器108上的目的地服务。web区域还可以包括一个数据库,该数据库用于验证对在sip区域内处理的电话业务(例如软电话)的软件应用的访问权限。
37.客户端104a至104d经由网络114与数据中心106的服务器108至112通信。网络114可以是或包括例如互联网、局域网(lan)、广域网(wan)、虚拟专用网(vpn)或能够在客户端与一个或多个服务器之间传输数据的电子计算机通信的其他公用或专用方式。在一些实施方式中,客户端可以经由公共连接点、链路或路径,或者使用不同的连接点、链路或路径连接到网络114。例如,连接点、链路或路径可以是有线的、无线的、使用其他通信技术或其组合。
38.系统100的网络114、数据中心106或其他元件或元件的组合可以包括网络硬件,诸如路由器、交换机、其他网络设备或其组合。例如,数据中心106可以包括用于将流量从网络114路由到与数据中心106相关联的各种服务器的负载均衡器116。负载均衡器116可以将诸如信号或消息之类的计算通信流量路由或指导到数据中心106的相应元件。
39.例如,负载均衡器116可以用作服务的代理或反向代理,该服务诸如是由应用服务器108、电话服务器112和/或其他服务器提供给一个或多个远程客户端(诸如,客户端104a至104d中的一个或多个客户端)的服务。负载均衡器116的路由功能可以被直接配置或者经由dns被配置。负载均衡器116可以协调来自远程客户端的请求,并可以通过从远程客户端屏蔽数据中心106的内部配置来简化客户端访问。
40.在一些实施方式中,负载均衡器116可以作为防火墙操作,其基于配置设置而允许或阻止通信。尽管在图1中将负载均衡器116描绘为在数据中心106之内,但是在一些实施方式中,负载均衡器116可以替代地位于数据中心106之外,例如,当为多个数据中心提供全局路由时。在一些实施方式中,负载均衡器可以被包括在数据中心106之内和之外。
41.图2是电子计算和通信系统的计算设备200的示例内部配置的框图,计算设备200例如是实现图1所示的系统100的客户端104、应用服务器108、数据库服务器110或电话服务器112中的一个或多个的计算设备。
42.计算设备200包括组件或单元,诸如处理器202、存储器204、总线206、电源208、外围设备210、用户接口212、网络接口214、其他合适的组件或它们的组合。存储器204、电源208、外围设备210、用户接口212或网络接口214中的一个或多个可以经由总线206与处理器202通信。
43.处理器202是中央处理单元,诸如微处理器,并且可以包括具有单个或多个处理核的单个或多个处理器。备选地,处理器202可以包括被配置用于操纵或处理信息的其他类型的一个或多个设备,无论是现有的还是以后开发的。例如,处理器202可以包括以一种或多种方式互连的多个处理器,该一种或多种方式包括硬连线或联网(包括无线联网)。例如,处理器202的操作可以跨可被直接耦合的多个设备或单元分布或者跨局域网或其他合适类型的网络分布。处理器202可以包括用于本地存储操作数据或指令的高速缓存或高速缓存存储器。
44.存储器204包括一个或多个存储器组件,其各自可以是易失性存储器或非易失性存储器。例如,存储器204的易失性存储器可以是随机存取存储器(ram)(例如,dram模块,诸如ddr sdram)或另一形式的易失性存储器。在另一示例中,存储器204的非易失性存储器可
以是磁盘驱动器、固态驱动器、闪存、相变存储器或被配置用于持久性电子信息存储的另一形式的非易失性存储器。存储器204还可以包括被配置用于存储数据或指令以供处理器202处理的其他类型的设备,无论是现有的还是以后开发的。在一些实施方式中,存储器204可以跨多个设备分布。例如,存储器204可以包括基于网络的存储器或执行这些多个设备的操作的多个客户端或服务器中的存储器。
45.存储器204可以包括供处理器202立即访问的数据。例如,存储器204可以包括可执行指令216、应用数据218和操作系统220。可执行指令216可以包括一个或多个应用程序,其可以被全部或部分地从非易失性存储器加载或复制到由处理器202执行的易失性存储器。例如,可执行指令216可以包括用于执行本公开的某些或全部技术的指令。应用数据218可以包括用户数据、数据库数据(例如,数据库目录或字典)等。在一些实施方式中,应用数据218可以包括功能性程序,诸如网络浏览器、网络服务器、数据库服务器、另一程序或其组合。操作系统220可以是,例如microsoftmac os或用于移动设备(诸如,智能电话或平板设备)的操作系统;或用于非移动设备(诸如,大型计算机)的操作系统。
46.电源208包括用于向计算设备200提供电力的源。例如,电源208可以是到外部配电系统的接口。在另一示例中,电源208可以是电池,诸如在计算设备200是移动设备,或者以其他方式被配置为独立于外部配电系统操作的情况下。在一些实施方式中,计算设备200可以包括或以其他方式使用多个电源。在一些这样的实施方式中,电源208可以是备用电池。
47.外围设备210包括一个或多个传感器、检测器或被配置用于监测计算设备200或计算设备200周围的环境的其他设备。例如,外围设备210可以包括地理位置组件,诸如全球定位系统位置单元。在另一示例中,外围设备可以包括温度传感器,该温度传感器用于测量诸如处理器202之类的计算设备200的组件的温度。在一些实施方式中,计算设备200可以省略外围设备210。
48.用户接口212包括一个或多个输入接口和/或输出接口。输入接口可以例如是位置输入设备,诸如鼠标、触摸板、触摸屏等;键盘;或其他合适的人类或机器接口设备。输出接口可以例如是显示器,诸如液晶显示器、阴极射线管、发光二极管显示器或其他合适的显示器。
49.网络接口214提供到网络(例如,图1所示的网络114)的连接或链接。网络接口214可以是有线网络接口或无线网络接口。计算设备200可以使用一种或多种网络协议(诸如使用以太网、传输控制协议(tcp)、互联网协议(ip)、电力线通信、ieee 802.x协议(例如,wi-fi、蓝牙、zigbee等)、红外、可见光、通用分组无线服务(gprs)、全球移动通信系统(gsm)、码分多址(cdma)、z-wave、其他协议或其组合),经由网络接口214与其他设备进行通信。
50.图3是由电子计算和通信系统(例如,图1所示的系统100)实现的软件平台300的示例的框图。软件平台300是ucaas平台,ucaas平台可由ucaas平台提供商的客户的客户端(例如,图1所示的客户102a的客户端104a至104b或客户102b的客户端104c至104d)访问。例如,软件平台300可以是使用在一个或多个数据中心处的一个或多个服务器来实例化的多租户平台,该一个或多个服务器包括,例如图1所示的数据中心106的应用服务器108、数据库服务器110和电话服务器112。
51.软件平台300包括通过使用一个或多个客户端可访问的软件服务。例如,客户302
(其可以是,例如所示的客户102a、客户102b或另一个客户)包括四个客户端—台式电话304、计算机306、移动设备308和共享设备310。台式电话304是被配置为至少发送和接收呼叫的台式单元,并且包括用于接收要拨打的电话号码或分机的输入设备以及用于输出正在进行的呼叫的音频和/或视频的输出设备。计算机306是台式计算机、膝上型计算机或平板计算机,计算机306包括用于接收某种形式的用户输入的输入设备以及用于以音频和/或视觉格式输出信息的输出设备。移动设备308是智能电话、可穿戴设备或其他移动计算方面,移动设备308包括用于接收某种形式的用户输入的输入设备以及用于以音频和/或视觉格式输出信息的输出设备。台式电话304、计算机306和移动设备308通常可以被认为是配置用于由单个用户使用的个人设备。共享设备312是台式电话、计算机、移动设备或不同的设备,共享设备312可以被配置用于由多个指定或未指定的用户使用。
52.客户端304到310中的每一个客户端都包括或在被配置为访问软件平台300的至少一部分的计算设备上运行。在一些实施方式中,客户302可以包括未示出的附加客户端。例如,客户302可以包括一种或多种客户类型的多个客户端(例如,多个台式电话、多个计算机等)和/或图3中未示出的客户类型的一个或多个客户端(例如,除共享设备以外的可穿戴设备、电视等)。例如,客户302可以具有数十或数百个台式电话、计算机、移动设备和/或共享设备。
53.软件平台300的软件服务通常涉及通信工具,但绝不对范围进行限制。如图所示,软件平台300的软件服务包括电话软件312、虚拟会议软件314、消息传递软件316、以及其他软件318。软件312至318中的某些或全部使用特定于客户302的客户配置320。客户配置320可以例如是存储在数据库或数据库服务器(诸如,图1所示的数据库服务器110)处的其他数据存储内的数据。
54.电话软件312支持在客户端304至310中的一个客户端与其他支持电话的设备之间的电话业务,该其他支持电话的设备可以是客户端304至310中的其他客户端、客户302的其他支持voip的客户端、客户302的非voip支持设备、另一客户的voip支持客户端、另一客户的非voip支持设备、或其他voip支持客户端或非voip支持设备。例如,电话软件312可以使用应用服务器和电话服务器(诸如,图1所示的应用服务器108和电话服务器112)中的一个或多个来实现。使用电话软件312被发送或接收的呼叫可以,例如使用台式电话304、在计算机306上运行的软电话、在移动设备308上运行的移动应用或者使用同样包括电话特征的共享设备310来被发送或接收。
55.虚拟会议软件314在多个设备之间支持音频、视频和/或其他形式的虚拟会议,诸如来促进这些设备的用户之间的会议。虚拟会议软件314可以包括用于主持,呈现日程安排,加入或以其他方式参加虚拟会议的功能。虚拟会议软件314还可以包括用于记录虚拟会议的一些或全部和/或记载虚拟会议的转录的功能。
56.消息传递软件316能够在多个设备之间进行即时消息传递、统一消息传递以及其他类型的消息传递通信,诸如以促进这些设备的用户之间的聊天或类似的虚拟对话。消息传递软件316的统一消息传递功能可以例如是指包括以电子邮件格式传送的语音邮件转录服务的电子邮件消息传递。
57.其他软件318支持软件平台300的其他功能。其他软件318的示例包括、但不限于设备管理软件、资源供应和部署软件、管理软件、第三方集成软件等。在一个特定示例中,其他
软件318可以包括用于从一组选项中选择媒体通道的代码,该选项用于使用虚拟桌面基础架构进行的呼叫,以便增强呼叫。
58.软件平台300的软件服务的特征可以彼此集成以为用户提供统一的体验。例如,消息传递软件316可以包括被配置为发起与客户302的另一用户的呼叫的用户接口元素。在另一示例中,电话软件312可以包括用于将电话呼叫提升为虚拟会议的功能。在又一示例中,虚拟会议软件314可以包括用于在参与者和/或客户302的其他用户之间发送和接收即时消息的功能。在又一示例中,虚拟会议软件314可以包括用于在参与者和/或客户302的其他用户之间进行文件共享的功能。在一些实施方式中,软件312至318中的一些或全部可以被组合成在客户的客户端(诸如,客户端304-310中的一个或多个客户端)上运行的单个软件应用。
59.图4是被配置为使用虚拟桌面实例来启用呼叫的虚拟桌面基础架构系统400的示例的框图。虚拟桌面基础架构系统400包括虚拟桌面基础架构主机410;虚拟桌面基础架构客户端420(例如,vdi瘦客户端);以及虚拟桌面基础架构客户端422。虚拟桌面映像412由虚拟桌面基础架构主机410提供,该虚拟桌面映像412包括应用虚拟桌面基础架构客户端414。虚拟桌面基础架构客户端420包括应用虚拟桌面基础架构插件430,该应用虚拟桌面基础架构插件430包括电话代理440和会议代理450。虚拟桌面基础架构客户端422包括应用虚拟桌面基础架构插件432,该应用虚拟桌面基础架构插件432包括电话代理442和会议代理452。注意,实际上,虚拟桌面基础架构主机410可以支持比图4中描绘的两个虚拟桌面基础架构客户端多得多的虚拟桌面基础架构客户端。例如,虚拟桌面基础架构系统400可以用于实现图6的技术600。例如,图6的技术600可以由虚拟桌面基础架构客户端420或虚拟桌面基础架构客户端422实现。
60.可以通过应用虚拟桌面基础架构客户端414与虚拟桌面基础架构插件(430或432)的协作在虚拟桌面基础架构系统400中支持呼叫。例如,呼叫可以包括来自两个或更多个参与者的音频流,其中包括使用电话代理440来使用虚拟桌面基础架构客户端420的用户来发出或应答呼叫。例如,呼叫可以包括来自两个或多个参与者的流式传输的音频和视频,参与者包括使用会议代理450托管或出席呼叫的虚拟桌面基础架构客户端420的用户,这可以促进视频呼叫/会议。
61.应用虚拟桌面基础架构客户端414被安装在虚拟桌面映像412中,虚拟桌面映像412被实例化在虚拟桌面基础架构主机410上。虚拟桌面基础架构插件430被安装在虚拟桌面基础架构客户端420中。例如,虚拟桌面基础架构客户端420运行在个人计算设备(例如,膝上型计算机、智能电话或平板电脑)上。虚拟桌面基础架构客户端420可以在与虚拟桌面映像412不同的操作系统(例如,windows、os x、linux或android)上运行,并且可以在与其他虚拟桌面基础架构客户端不同的操作系统上运行。例如,这里虚拟桌面基础架构客户端420可以在windows上运行,并且虚拟桌面基础架构客户端422在linux上运行。结果,虚拟桌面基础架构插件430、电话代理440以及会议代理450是这些软件的windows版本。虚拟桌面基础架构插件432、电话代理442以及会议代理452是这些软件的linux版本。在一些实施方式中,电话代理440和442仅仅是相同软件组件的不同实例。在一些实施方式中,会议代理450和452仅仅是相同软件组件的不同实例。虚拟桌面基础架构系统400可以使各种设备能够访问由应用虚拟桌面基础架构客户端414提供的呼叫功能。
62.图5是被配置为使用虚拟桌面实例来启用呼叫的系统500的示例的框图,其示出了支持呼叫的媒体数据流。系统500包括媒体服务器510、虚拟桌面基础架构服务器520以及个人计算设备530。例如,系统500可以用于实现图6的技术600。例如,图6的技术600可以由个人计算设备530实现。
63.例如,媒体服务器510可以是电话服务器112。在一些实施方式中,媒体服务器510是公共分支交换服务器。在一些实施方式中,媒体服务器510是多媒体路由器(mmr)服务器。
64.例如,虚拟桌面基础架构服务器520可以运行虚拟桌面基础架构主机410,其包括安装了应用虚拟桌面基础架构客户端414的一个或多个虚拟桌面映像。例如,虚拟桌面基础架构服务器520可以包括计算设备,诸如图2的计算设备200。
65.例如,个人计算设备530可以是膝上型计算机、智能电话、平板电脑。例如,个人计算设备530可以是客户端304至310之一。例如,个人计算设备530可以运行包括应用虚拟桌面基础架构插件的虚拟桌面基础架构客户端(例如,虚拟桌面基础架构客户端420),该应用虚拟桌面基础架构插件带有用于参与呼叫的电话代理和/或会议代理。在一些实施方式中,在个人计算设备530上运行的虚拟桌面基础架构客户端(例如,vdi瘦客户端)充当从设备,并且在虚拟桌面基础架构服务器520上运行的虚拟桌面基础架构主机充当主/从交互中的主设备以促进通话。例如,个人计算设备530可以包括计算设备,诸如图2的计算设备200。
66.例如,响应于来自个人计算设备530的请求(例如,由来自用户的输入,诸如拨号所引起)或响应于来自个人计算设备530或使用媒体服务器510支持呼叫的相关联的服务器的呼入消息,呼叫可以由虚拟桌面基础架构服务器520发起。作为呼叫设置的一部分,可以通过通信网络经由控制通道540在媒体服务器510与虚拟桌面基础架构服务器520之间交换命令或其他控制数据。例如,控制信道540可以利用诸如传输层安全性(tls)1.2或安全套接口层(ssl)之类的加密协议。虚拟桌面基础架构服务器520可以被配置为经由控制信道542将接收到的包括呼叫参数的控制数据中的一些或全部中继到个人计算设备530。例如,控制信道542可以按用于交换虚拟桌面应用的数据的协议(例如,ica协议或rdp协议)被封装。具体地,虚拟桌面基础架构服务器520可以将针对媒体服务器510的标识符传递至个人计算设备530,以促使在媒体服务器510与个人计算设备530之间建立绕过虚拟桌面基础架构服务器520的更直接的连接以实现启用媒体卸载。
67.个人计算设备530可以被配置为实现图6的技术600以测试通信网络条件并从一组支持的媒体通道中选择用于承载针对呼叫的媒体数据的媒体通道。该组支持的媒体通道集合可以包括使用个人计算设备530和媒体服务器510之间的网络套接口对连接的第一媒体通道550。支持的媒体通道集合可以包括被路由通过虚拟桌面基础架构服务器520并按用于交换虚拟桌面应用的数据的协议(例如,ica或rdp)被封装的第二媒体通道552。该组支持的媒体通道可以包括第三媒体通道554,该第三媒体通道554使用个人计算设备530与虚拟桌面基础架构服务器520之间的第二网络套接口对连接。如果将媒体数据路由通过虚拟桌面基础架构服务器520的间接连接被使用,则还将在虚拟桌面基础架构服务器520与媒体服务器510之间建立媒体通道556。例如,媒体通道550、554和/或556可以根据传输协议,诸如,例如udp或安全实时传输协议(srtp)将网络套接口对用于它们各自的端点。在一些实施方式中,媒体通道(例如,550或554)可以使用定制的端口范围(例如,udp端口9000-10000)。一旦已经选择了用于呼叫的媒体通道,则可以使用所选择的媒体通道(例如,媒体通道550、媒体
通道552或媒体通道554)在媒体服务器510与个人计算设备530之间进行传送以启用呼叫。基于通信网络条件的测试针对呼叫动态地选择媒体通道可以通过在保持呼叫质量的同时提高资源利用率来增强虚拟桌面基础架构系统中的呼叫。
68.为了更详细地进一步描述实施方式,接下来参考可以在虚拟桌面基础架构中提供呼叫增强的技术的示例。图6是用于选择媒体通道以支持使用虚拟桌面基础架构服务器发起的呼叫的技术600的示例的流程图。图7是用于测试针对系统中的网络套接口对连接的通信网络条件的技术700的示例的流程图,该系统被配置为使用虚拟桌面实例来启用呼叫。图8是用于测试针对系统中的网络套接口对连接的通信网络条件的技术800的示例的流程图,该系统被配置为使用虚拟桌面实例来启用呼叫。图9是是用于选择媒体通道以支持使用虚拟桌面基础架构服务器发起的呼叫的技术900的示例的流程图。
69.可以使用计算设备来执行技术600、700、800和/或900,该计算设备诸如是关于图1-5所述的系统、硬件和软件。可以例如通过执行机器可读程序或其他计算机可执行指令(例如,例程、指令、程序或其他代码)来执行技术600、700、800和/或900。600、700、800和/或900或结合本文所公开的实施方式描述的其他技术、方法、过程或算法的步骤或操作可以直接在硬件、固件、由硬件执行的软件、电路或其组合中实现。
70.为了简化说明,本文将技术600、700、800和/或900中的每一个描绘和描述为一系列步骤或操作。然而,根据本公开的步骤或操作可以以各种顺序和/或同时发生。另外,可以使用本文未提出和描述的其他步骤或操作。此外,可能不需要所有示出的步骤或操作来实现根据所公开的主题的技术。
71.参考图6,其示出了用于选择媒体通道以支持使用虚拟桌面基础架构服务器发起的呼叫的技术600。在602,技术600包括使用个人计算设备(例如,个人计算设备530)向虚拟桌面基础架构服务器(例如,虚拟桌面基础架构服务器520)传输针对呼叫的请求。例如,该请求可以使用在个人计算设备上运行的应用虚拟桌面基础架构插件(例如,应用vdi插件430)上运行的应用软件(例如,电话代理440或会议代理450)来发送。该请求可以由在虚拟桌面基础架构服务器上运行的虚拟桌面实例中运行的应用虚拟桌面基础架构客户端(例如,应用vdi客户端414)接收。例如,该请求可以被封装在用于交换针对虚拟桌面应用的数据的协议(例如,ica协议或rdp协议)中。虚拟桌面基础架构服务器可以继而响应于该请求,经由与媒体服务器(例如,媒体服务器510)的控制通信来发起呼叫。例如,媒体服务器可以是公共分支交换服务器。例如,媒体服务器可以是公共分支交换服务器。例如,媒体服务器可以是多媒体路由器服务器。例如,该请求可以使用个人计算设备的网络接口(例如,网络接口214)来发送。
72.在604,技术600包括使用个人计算设备从虚拟桌面基础架构服务器接收呼叫参数,其中呼叫参数包括针对媒体服务器的标识符。例如,针对媒体服务器的标识符可以包括针对媒体服务器的互联网协议(ip)地址。例如,针对媒体服务器的标识符可以包括针对媒体服务器的ip地址。例如,针对媒体服务器的标识符可以包括媒体服务器使用的互联网域名。呼叫参数可以包括可用于促进呼叫的建立和维护的其他数据,诸如,要被用于传送呼叫的数据的端口号。例如,呼叫参数可以被中继到在虚拟桌面基础架构服务器上运行的虚拟桌面实例中运行的应用虚拟桌面基础架构客户端(例如,应用vdi客户端414)。例如,呼叫参数可以被封装在用于交换针对虚拟桌面应用的数据的协议(例如,ica协议或rdp协议)中。
例如,呼叫参数可以使用个人计算设备的网络接口(例如,网络接口214)来接收。
73.在606,技术600包括测试针对一个或多个网络套接口对连接的通信网络条件。技术600可以包括测试针对个人计算设备与媒体服务器之间的绕过虚拟桌面基础架构服务器的网络套接口对连接的通信网络条件,以获得直接连接测试结果。例如,网络套接口对可以包括传输层协议(例如,udp、传输控制协议(tcp)、流控制传输协议(sctp)或数据报拥塞控制协议(dccp))的套接口。例如,网络套接口对可以包括媒体服务器处的套接口和个人计算设备处的套接口,它们可用于使用适用的通信网络协议在两个设备之间发送媒体数据。在一些实施方式中,套接口对从用于被连接的两个设备的udp端口的指定范围中被选择。例如,测试针对个人计算设备与媒体服务器之间的绕过虚拟桌面基础架构服务器的网络套接口对连接的通信网络条件可以包括使用网络套接口对连接来执行握手测试。例如,握手测试可以包括在个人计算设备与媒体服务器之间来回交换rtp控制协议(rtcp)分组。在一些实施方式中,直接连接测试结果包括网络时延度量。在一些实施方式中,直接连接测试结果包括网络数据吞吐量度量。在606,技术600还可以包括测试针对个人计算设备与虚拟桌面基础架构服务器之间的第二网络套接口对连接的通信网络条件,以获得间接连接测试结果。例如,测试针对个人计算设备与虚拟桌面基础架构服务器之间的第二网络套接口对连接的通信网络条件可以包括使用第二网络套接口对连接来执行握手测试。在一些实施方式中,间接连接测试结果包括网络时延度量。在一些实施方式中,间接连接测试结果包括网络数据吞吐量度量。例如,在606,测试针对一个或多个网络套接口对连接的通信网络条件可以包括实现图7的技术700。例如,在606,测试针对一个或多个网络套接口对连接的通信网络条件可以包括实现图8的技术800。
74.在608,技术600包括基于直接连接测试结果,从一组媒体通道中选择用于使用虚拟桌面基础架构服务器发起的呼叫的媒体通道。该组媒体通道包括使用个人计算设备与媒体服务器之间的网络套接口对连接的第一媒体通道(例如,第一媒体通道550)和被路由通过虚拟桌面基础架构服务器并按用于交换虚拟桌面应用的数据的协议(例如,ica协议或rdp协议)被封装的第二媒体通道(例如,第二媒体通道552)。在一些实施方式中,该组媒体通道还包括使用个人计算设备与虚拟桌面基础架构服务器之间的第二网络套接口对连接的媒体通道(例如,第三媒体通道554)。选择媒体通道也可以基于间接连接测试结果。例如,如果直接连接测试结果满足标准(例如,连接以可接受的吞吐量和/或时延建立),则可以选择第一媒体通道以用于呼叫。例如,如果直接连接测试结果不满足标准并且间接连接测试结果满足标准(例如,连接以可接受的吞吐量和/或时延被建立),则可以选择第三媒体通道以用于呼叫。例如,如果直接连接测试结果和间接连接测试结果均不满足标准,则第二媒体通道可以被选择用于呼叫。在一些实施方式中,将直接连接测试结果与间接连接测试结果相比较,并选择具有更好连接测试结果的媒体通道以用于呼叫。在一些实施方式中,该组媒体通道包括更多的媒体通道(例如,使用不同协议在通信网络上传输的直接和/或间接媒体通道),针对这些媒体通道确定连接测试结果,并基于这些附加连接测试结果来选择媒体通道。
75.在610,技术600包括使用所选择的媒体通道在媒体服务器与个人计算设备之间传输媒体数据以启用呼叫。例如,使用所选媒体通道传送的媒体数据包括音频数据的分组。在一些实施方式中,使用所选择的媒体通道传送的媒体数据包括视频数据的分组。当所选择
的媒体通道是被路由通过虚拟桌面架构服务器和按用于交换虚拟桌面应用的数据的协议(例如,ica或rdp)被封装的第二媒体通道时,技术600可以包括将多个媒体数据流合并在协议的单个虚拟通道中。例如,针对呼叫中的多个参与者的音频流可以被合并在单个ica虚拟通道中。在一些实施方式中,针对呼叫的数据(包括媒体数据和呼叫控制数据)在协议的单个虚拟信道(例如,ica或rdp)中被传送。例如,单个虚拟信道可以用于传送呼叫的所有数据。合并不同类型的呼叫数据(例如,媒体数据、控制数据、共享数据)和/或合并不同来源(例如,不同的呼叫参与者)的呼叫数据可以提供一种或多种好处,例如节省针对呼叫的虚拟通道的数目和支持呼叫内的呼叫数据的自定义优先级,以提高呼叫质量。使用基于动态通信网络条件选择的媒体通道可以使支持利用虚拟桌面基础架构的呼叫的系统能够在保持或增强呼叫质量的同时更有效地扩展规模。
76.参照图7,示出了用于测试针对系统中的网络套接口对连接的通信网络条件的技术700,该系统被配置为使用虚拟桌面实例来启用呼叫。在702,技术700包括测试针对个人计算设备(例如,个人计算设备530)与媒体服务器(例如,媒体服务器510)之间的绕过虚拟桌面基础架构服务器(例如,虚拟桌面基础架构服务器520)的网络套接口对连接的通信网络条件,以获得直接连接测试结果。例如,测试针对个人计算设备与媒体服务器之间的绕过虚拟桌面基础架构服务器的网络套接口对连接的通信网络条件可以包括使用网络套接口对连接来执行握手测试。例如,握手测试可以包括在个人计算设备与媒体服务器之间来回交换rtcp分组。在一些实施方式中,直接连接测试结果包括网络时延度量。在一些实施方式中,直接连接测试结果包括网络数据吞吐量度量。
77.在704,如果直接连接测试结果满足标准,则技术700在706包括继续媒体通道的选择。例如,使用第一媒体通道550可能是优选的,因此检查直接连接测试结果并在608基于该直接连接测试结果来选择第一媒体通道就足够了。
78.在704,如果直接连接测试结果不满足标准,则技术700在708包括测试针对个人计算设备与虚拟桌面基础架构服务器之间的第二网络套接口对连接的通信网络条件以获得间接连接测试结果。例如,测试针对个人计算设备与虚拟桌面基础架构服务器之间的第二网络套接口对连接的通信网络条件可以包括使用第二网络套接口对连接来执行握手测试。在一些实施方式中,间接连接测试结果包括网络时延度量。在一些实施方式中,间接连接测试结果包括网络数据吞吐量度量。
79.在710,技术700包括继续媒体通道的选择。例如,在直接连接测试结果不满足标准的情况下,间接连接测试结果也被确定和检查以准备在608基于直接连接测试结果以及还基于间接连接测试结果来选择媒体通道。例如,在基于直接连接测试结果已经排除了第一媒体通道550之后,间接连接测试结果可以被考虑以在第二媒体通道552和第三媒体通道544之间进行选择。
80.参考图8,其示出了用于测试系统中的网络套接口对连接的通信网络条件的技术800,该系统被配置为使用虚拟桌面实例来启用呼叫。在802,技术800包括测试针对个人计算设备(例如,个人计算设备530)与媒体服务器(例如,媒体服务器510)之间的绕过虚拟桌面基础架构服务器(例如,虚拟桌面基础架构服务器520)的网络套接口对连接的通信网络条件,以获得直接连接测试结果。例如,测试针对个人计算设备与媒体服务器之间的绕过虚拟桌面基础架构服务器的网络套接口对连接的通信网络条件可以包括使用网络套接口对
连接来执行握手测试。例如,握手测试可以包括在个人计算设备与媒体服务器之间来回交换rtcp分组。在一些实施方式中,直接连接测试结果包括网络时延度量。在一些实施方式中,直接连接测试结果包括网络数据吞吐量度量。
81.在804,技术800包括测试针对个人计算设备与虚拟桌面基础架构服务器之间的第二网络套接口对连接的通信网络条件,以获得间接连接测试结果。例如,测试针对个人计算设备与虚拟桌面基础架构服务器之间的第二网络套接口对连接的通信网络条件可以包括使用第二网络套接口对连接来执行握手测试。在一些实施方式中,间接连接测试结果包括网络时延度量。在一些实施方式中,间接连接测试结果包括网络数据吞吐量度量。
82.在806,技术800包括将直接连接测试结果与间接连接测试结果相比较。例如,针对各个网络套接口对连接测量的吞吐量和/或时延可以相比较。在一些实施方案中,该比较可以被影响为偏好优选的媒体通道(例如,直接连接测试结果可以被增强以用于比较,其中出于系统利用的目的,第一媒体通道550被优选)。
83.在808,技术800包括继续对608处的媒体通道的选择。例如,在608,媒体通道可以基于直接连接测试结果与间接连接测试结果的比较来被选择。
84.参考图9,其示出了用于选择媒体通道以支持使用虚拟桌面基础架构服务器发起的呼叫的技术900。技术600将定时器的使用合并作为测试通信网络条件和选择用于呼叫的媒体模式的方案的一部分。在902,技术900包括执行vdi插件检测操作。在904,如果未成功检测到vdi插件,则技术900包括在906,针对呼叫的媒体流选择使用回退模式。例如,回退模式可以包括在vdi服务器上运行用于呼叫的媒体编解码器,该媒体编解码器进而经由所使用的vdi协议的标准通道以完全未经压缩的数据速率向作为呼叫的用户接口的个人计算设备和/或从个人计算设备传送媒体数据。在904,如果成功检测到vdi插件,则技术900包括在908开始媒体模式检测操作。例如,步骤908可以是用于测试以检测要用于呼叫的媒体模式的起点。在910,15秒定时器被启动。如果在15秒内未获得完整的测试结果,则技术900包括在906针对选择使用回退模式以用于针对呼叫的媒体流传输。当15秒定时器仍在运行时,技术900包括在912尝试检测使用vdi服务器与个人计算设备之间的udp套接口对连接的媒体通道的状态。例如,关于图7中的步骤708所描述的技术可以用来测试使用vdi服务器与个人计算设备之间的udp套接口对连接的媒体通道。当测试vdi服务器与个人计算设备之间的udp套接口对连接时,1秒定时器被启动,并且在914,使用vdi服务器与个人之间的udp套接口对连接的媒体通道的检测结果被设置或存储以供以后使用。一秒钟后,在916,该技术包括尝试检测直接模式媒体通道的状态,该直接模式媒体通道使用个人计算设备与支持该呼叫的媒体服务器之间的更直接的连接。直接模式媒体通道可以绕过vdi服务器。例如,直接模式媒体通道可以使用媒体服务器与个人计算设备之间的udp套接口对连接。例如,关于图7中的步骤702描述的技术可以用来测试直接模式媒体通道。
85.在918,如果直接模式检测测试成功,则技术900包括在920选择使用直接模式以用于针对呼叫的媒体流。例如,直接模式可以使用媒体服务器与个人计算设备之间的udp套接口对连接来传送针对呼叫的媒体数据。在918,技术900包括设置1秒定时器并等待多达1秒以获得结果。否则,如果定时器到期,则检测结果为失败,技术900继续检查下一选项。
86.在922,如果udp模式检测测试成功,则技术900包括在924,选择使用udp模式以用于针对呼叫的媒体流传输。例如,udp模式可以使用vdi服务器与个人计算设备之间的udp套
接口对连接来传送针对呼叫的媒体数据。
87.在922,如果udp模式检测测试失败,则技术900包括在926选择使用ica模式以用于针对呼叫的媒体流传输。例如,ica模式可以使用vdi服务器与个人计算设备之间的ica协议虚拟通道来传输针对呼叫的媒体数据。使用ica模式(如udp模式和直接模式)传送的媒体数据可以进行压缩以节省网络带宽资源。在个人计算设备上运行的插件可以使用一个或多个媒体编解码器在本地处理媒体数据,而不是依靠在vdi服务器上运行的应用程序执行这些功能。
88.本公开的实施方式可以按照功能块组件和各种处理操作来描述。这样的功能块组件可以由执行指定功能的许多硬件或软件组件来实现。例如,所公开的实施方式可以采用各种集成电路组件(例如,存储器元件、处理元件、逻辑元件、查找表等),其可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。类似地,在使用软件编程或软件元件来实现所公开的实施方式的元素的情况下,可以利用诸如c、c++、java、javascript、汇编器之类的编程或脚本语言,以及利用数据结构、对象、过程、例程或其他编程元素实现的各种算法来实现系统和技术。
89.功能方面可以以在一个或多个处理器上执行的算法来实现。此外,本文公开的系统和技术的实施方式可以采用用于电子配置、信号处理或控制、数据处理等的许多常规技术。词语“机制”和“组件”被广泛地使用,并且不限于机械或物理实现,而是可以包括与处理器等结合的软件例程。类似地,本文中以及附图中使用的术语
[0090]“系统”或“工具”无论如何基于它们的上下文,可以理解为与使用软件、硬件(例如,集成电路,诸如asic)或软件和硬件的组合实现的功能单元相对应。在某些上下文中,这样的系统或机制可以理解为是由可执行程序可调用的或者是可执行程序的一部分的处理器实现的软件系统或处理器实现的软件机制,该可执行程序本身可以全部或部分地由这样链接的系统或机制组成。
[0091]
以上公开内容的实施方式或实施方式的部分可以采取从例如计算机可用或计算机可读介质可访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如可以有形地包含、存储、通信或传输供处理器使用或与其结合使用的程序或数据结构的设备。介质可以是例如电子、磁性、光学、电磁或半导体设备。
[0092]
其他合适的介质也是可用的。这样的计算机可用或计算机可读介质可以被称为非瞬态存储器或介质,并且可以包括可随时间变化的易失性存储器或非易失性存储器。除非另有说明,否则本文所描述的装置的存储器不必由装置物理地包含,而是可以由该装置远程访问的存储器,并且不必与可能由该装置物理地包含的其他存储器邻接。
[0093]
尽管已经结合某些实施方式描述了本公开,但是应当理解,本公开不限于所公开的实施方式,相反,其旨在涵盖包括在所附权利要求书的范围内的各种修改和等效布置,所附权利要求书的范围应被赋予最宽泛的解释,以涵盖法律所允许的所有此类修改和等效结构。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1