在端点状态检查失败之后服务器发起的通信会话加入的制作方法

未命名 08-18 阅读:152 评论:0

在端点状态检查失败之后服务器发起的通信会话加入
1.优先权要求
2.本技术要求享有于2020年12月11日提交的卢森堡专利申请no.lu102277的优先权,该专利申请通过引用以全文并入本文。
技术领域
3.实施例涉及基于网络的通信会话。一些实施例涉及当向用户注册的第一通信应用不可用于加入基于网络的通信会话时,由提供所述基于网络的通信会话的通信服务器将连接请求发送至向所述用户注册的第二通信应用。


背景技术:

4.由基于网络的通信服务提供的基于网络的通信会话允许两个或更多个参与者使用诸如音频、视频、应用、文件、计算机屏幕的内容等各种不同媒体彼此交互。这些会话可以以使用这些媒体的实时或接近实时的通信为特征。示例性通信会话包括在线会议、互联网协议语音(voip)电话呼叫、聊天会话等。这些会话允许用户以有时比面对面交流更有效的方式进行远程交互。
附图说明
5.在不一定按比例绘制的附图中,相似数字可以描述不同视图中的相似组件。具有不同字母后缀的相似数字可以表示相似组件的不同实例。附图通过示例而不是限制的方式总体地图示了在本文档中所讨论的各种实施例。
6.图1图示了根据本公开的一些示例的在端点故障之后服务器发起的通信会话加入的系统的图。
7.图2图示了根据本公开的一些示例的在端点故障之后服务器发起的通信会话加入的消息序列图。
8.图3图示了通信应用的图形用户界面(gui)的图。
9.图4图示了移动电话的通信应用的gui的图。
10.图5图示了根据本公开的一些示例的通信应用和通信服务器的逻辑图。
11.图6示出了根据本公开的一些示例的示例性机器学习组件。
12.图7图示了根据本公开的一些示例的当由通信服务器执行的端点状态检查失败之后服务器发起的通信会话加入的方法的流程图。
13.图8图示了在其上可以实现在本文中所讨论的技术(例如,方法)中的任意一种或多种技术(例如,方法)的示例性机器的框图。
具体实施方式
14.随着技术的进步,计算设备已经变得更便宜、更小型并且更强大。因此,计算设备在人们的日常生活中扮演了更重要的角色。计算设备对用户的重要性的组合增加以及这些
设备成本的降低已经使得用户能够拥有多个可支配的计算设备。例如,在一天的过程中,用户可以使用一个或多个不同的台式计算设备、智能电话计算设备、膝上型计算设备、可穿戴计算设备以及其他设备。
15.用户可以安装通信应用,所述通信应用允许用户在这些计算设备中的一个以上的计算设备上参与基于网络的通信会话。在安装每个通信应用之后,可以向通信服务注册所述通信应用。作为注册过程的一部分,所述通信服务可以记录关于所述应用、在其上执行所述应用的设备以及应用被认证到的账户的信息。以这种方式,所述通信服务可以建立用户在过去用于连接到所述通信服务的设备和应用的简档。另外,用户可以通过一个或多个图形用户界面(gui)向所述基于网络的通信服务注册设备——诸如注册用户的移动设备的电话号码(例如,智能电话、voip号码等)。
16.特定软件问题、网络连接问题或者用户错误可能导致用户难以连接到预定的基于网络的通信会话。这可能导致用户受挫,并且在一些情况下可能导致用户对于基于网络的通信会话发生延迟。在一些示例中公开了方法、系统和机器可读介质,其响应于通信服务检测到用户无法使用第一通信应用加入基于网络的通信会话,而使用第二通信应用自动地发起到基于网络的通信会话的连接。所述第一通信应用和所述第二通信应用可以在相同或不同的计算设备上。例如,如果用户的台式设备不可用或者经历连接问题,则通信服务器可以自动地请求用户的移动电话上的通信应用加入基于网络的通信会话。用户可以在他们的移动电话上接受连接,并且被允许使用他们的移动电话进入通信会话。更一般而言,如果提供通信服务的通信服务器检测到通信服务预测用户将试图用于加入预定会议的第一注册通信应用不可用,则通信服务器可以尝试发起到第二注册通信应用的连接。
17.以这种方式,本公开利用技术解决方案解决了技术问题。具体地,本公开包括自动地识别阻止用户加入基于网络的通信会话的技术问题,并且然后,响应于识别技术问题,向用户的不同通信应用发送加入消息。这允许用户快速地加入基于网络的通信会话。另外,本公开解决了通过使用以下的技术解决方案来自动地确定用户具有技术问题的技术问题:分析诸如对轮询消息缺乏响应的信号;对指示错误的轮询消息的响应;或者通过多次尝试来加入基于网络的通信会话。
18.此外,所述系统利用技术方案解决其他技术问题;诸如通过使用诸如连接数据的一个或多个信号来确定:用户将尝试使用哪个应用来连接到基于网络的通信会话,以及在主应用遇到技术问题的情况下系统应当尝试哪个设备。当前的技术解决方案改善了计算机系统和网络的功能。例如,通过增加通过应用的会议加入的有效性;通过消除或减少当用户试图连续地并且不成功地加入第一通信应用上的基于网络的通信会话时发生的网络业务、处理器使用和存储器使用;并且通过减少网络业务、处理器使用、存储器使用以及当其他出席者需要等待用户加入会议时发生的基于网络的通信系统资源。
19.如前所述,通信服务可以确定预测用户将用于加入预定会议的第一注册通信应用。通信服务可以使用一个或多个因素来确定第一注册通信应用。系统可以使用用户的连接数据,所述连接数据指定连接偏好或者过去的连接信息,诸如过去的应用使用。连接数据可以包括过去使用第一通信应用连接到基于网络的通信会话的不成功尝试。例如,用户可能已经尝试使用应用加入通信会话。该应用可以被选择作为第一应用。
20.在一些示例中,所述连接数据可以包括用户的偏好,所述偏好可以指定用户偏好
的注册应用的排序。根据用户的偏好可以将第一注册通信应用识别为最高排名的应用。所述偏好可以是特定于上下文的。例如,如果用户在特定位置(由用户的移动设备所确定的),则用户可以具有特定的优选设备。类似地,上下文可以包括一天的时间、一周的某一天,等等。
21.在一些示例中,用户的历史应用使用可以被用于选择第一注册通信应用。使用用户历史选择第一注册通信应用的示例可以包括选择用户最后与其交互的应用;用户使用最多的应用;用户通常用于通信会话的应用;用户通常用于该通信会话(例如,用于重新出现的会话或者与特定其他用户或用户集合的会话)的应用;在给定用户的当前上下文的情况下用户通常使用的应用;用户的其他过去历史;等等。用户的当前上下文可以包括用户的位置、一天中的时间、用户的速度等。例如,所述系统可以基于用户的习惯,诸如基于用户通常用于给定位置、一天中的时间、速度和/或关于用户的其他信息的应用,来动态地选择应用。在其他示例中,所述系统可以通过其移动设备上的位置传感器(例如,全球定位系统(gps)传感器)或者通过日历条目或使用数据来确定用户的位置。该位置信息可以被用于选择应用。例如,如果确定用户的位置在其家中,则所述系统可以选择具有最后已知ip地址的应用,所述ip地址解析为离用户家最近的位置。
22.在一些示例中,所述系统可以将第一注册通信应用的选择限制在已知正在执行和/或对通信服务进行认证的注册通信应用的列表中。
23.在一些示例中,可以仅使用上文所提到的因素中的一个因素,但是在其他示例中,可以组合使用上文所提到的因素中的多个因素。例如,所述系统可以首先使用最后使用的注册通信应用,除非最后使用的时间大于阈值时间,在这种情况下,所述系统可以使用用户过去曾用于相似或相同长度的、具有相似或相同出席者的、并且在一天中的相似或相同时间的基于网络的通信会话的注册通信应用程序。在其他示例中,可以根据上述因素中的一个或多个因素对每个应用进行评分,并且可以选择总分数最高的应用作为第一应用。因此,可以基于用户在多长时间以前使用应用、应用的最后已知网络地址是否与用户的位置相匹配等来给予所述应用分数。
24.第二注册通信应用是不同于第一通信应用的通信应用,并且可以在与第一注册通信应用相同或不同的计算设备上。通信系统可以以多种方式来确定第二注册应用。例如,如上所述,通信系统可以使用用户的连接数据,诸如用户的偏好,所述偏好可以指定用户偏好的注册应用的排序。根据用户的偏好,第二注册通信应用可以是第二排名的应用(在第一注册通信应用之后)。在其他示例中,所述系统可以使用连接数据(诸如用户的历史)来选择第二注册通信应用。使用用户历史来选择第二注册通信应用的示例可以包括从以下项中选择应用:用户最后与其交互的注册通信应用(不包括第一通信应用)的列表;用户使用最多的应用;用户通常用于通信会话的应用;用户通常用于该通信会话(例如,用于重新出现的会话或者与特定其他用户或用户集合的会话)的应用;在给定用户的当前上下文的情况下,用户通常使用的应用;用户的其他过去历史;等等。用户的当前上下文可以包括用户的位置、一天中的时间、用户的速度等。例如,所述系统可以基于用户的习惯,诸如基于用户通常用于给定位置、一天的时间、速度和/或关于用户的其他信息的应用(不包括第一通信应用),来动态地选择第二通信应用。在其他示例中,所述系统可以通过其移动设备上的位置传感器(例如,全球定位系统(gps)传感器)或者通过日历条目或使用数据来确定用户的位置。该
位置信息可以用于选择应用。例如,如果确定用户的位置在其家中,则所述系统可以选择具有最后已知ip地址的应用,所述ip地址解析为用户家附近的位置。
25.在一些示例中,所述系统可以将对第二注册通信应用的选择限制在不包括第一注册通信应用并且已知正在执行和/或对通信服务进行认证的注册通信应用的列表中。
26.与对第一注册通信应用的选择一样,对第二注册通信应用的选择可以仅使用上文所提到的因素中的一个因素,但是在其他示例中,可以使用上文所提到的因素中的多个因素。例如,系统可以首先使用最后使用的注册通信应用(不包括第一通信应用),除非最后使用的时间大于阈值时间,在这种情况下,所述系统可以使用用户在过去用于相似或相同长度的、具有相似或相同出席者的、并且在一天中相似或相同时间的基于网络的通信会话的注册通信应用(不包括第一通信应用程序)。在其他示例中,可以根据上述因素中的一个或多个因素对每个应用进行评分,并且可以选择总分数最高的应用(不包括第一应用)作为第二应用。因此,可以基于用户在多长时间以前使用应用、应用的最后已知网络地址是否与用户的位置相匹配等来给予应用分数。对第二通信应用的选择可以使用与对第一应用的选择相同、相似或者不同的因素。
27.所述通信服务器可以以多种方式确定第一注册应用存在问题。例如,用户可能已经尝试在特定时间段内超过阈值次数加入与第一注册通信应用的基于网络的通信会话。在其他示例中,服务器可以向第一通信应用发送一个或多个轮询或ping消息。这些消息可以请求来自第一注册应用的响应。如果没有接收到响应,则通信服务器可以推断第一注册应用存在问题。这些消息可以在计划开始在线通信会话之前、当时或之后被发送。在又其他示例中,通信服务可以指定经认证并且执行的通信应用以特定周期发送状态更新消息。如果在阈值时间段内没有从第一注册通信应用接收到状态消息,则通信服务可以推断第一注册通信应用不起作用。
28.所述通信服务器可以通过向第二注册应用发送连接请求来发起到第二注册应用的连接。这可能导致第二注册应用警告用户。如果用户接受连接请求,则可以使用第二通信应用将用户加入到基于网络的通信会话。如前所述,第二注册应用可以在与第一注册应用相同或不同的设备上。连接请求可以是呼叫建立请求(用于将移动电话连接到会议的音频);sip-invite请求,任何其他协议设置请求;等等。如果用户不响应所述请求,则通信服务器可以继续尝试不同的注册通信应用(使用如上文所描述的用于选择第二注册应用的相同或相似标准来选择),直到用户从通信应用加入基于网络的通信会话、系统已经尝试了所有注册通信应用,或者直到用户拒绝连接请求。
29.图1图示了根据本公开的一些示例的在端点故障之后服务器发起的通信会话加入的系统100的图。通信服务可以由一个或多个通信服务器130来提供。示例性通信服务可以包括microsoftskype foramazongooglegoogle等。同一用户可以将用于同一通信服务的通信应用安装在一个或多个计算设备上。例如,图1图示了可以执行通信系统的一个或多个通信应用并且可以向通信服务注册的三个计算设备110、115和120。计算设备110、115和120上的通信应用可以通过向通信服务器130传递消息来向通信服务注册。在一些示例中,注册可以在安装通信应用和认证用户时初始发生,并且可以被周期性地更新或刷新。
30.在一些示例中,在注册之后,当计算设备上的通信应用开始执行时,其联系通信服
务器130以进行认证。通信应用周期性地提供状态更新,所述状态更新指示通信应用正在执行并且可以被联系。例如,通信应用可以向通信服务器130提供网络可达性信息——诸如网络地址。另外,通信应用可以提供用户状态信息,诸如用户是否忙、空闲、不可用等。通信服务器130可以跟踪用户使用的注册应用的列表,并且存储包括网络可达性信息的状态更新的记录。
31.在相对于预定的基于网络的通信会话的预定时间段,通信服务可以确定通信服务预测用户将使用的第一设备上的第一通信应用是否加入通信会话。相对于预定的基于网络的通信会话的时间段可以在基于网络的通信会话的预定时间之前、在该时间或之后。如上所述,通信服务可以以多种方式确定第一通信应用。例如,在图1中,通信服务可以确定在计算设备120上执行的应用将用于加入通信会话。例如,计算设备120可以正在执行最近用于访问通信服务的通信应用。
32.如在本文中所使用的,通信应用是可以用于访问通信服务或通信服务的特征的任何计算设备应用。通信应用包括台式应用、移动应用、互联网浏览器、电话应用等。通信应用可以允许用户利用由通信服务所提供的所有形式的通信和媒体,或者仅利用一些形式的媒体。例如,用于在移动电话上进行和/或接收电话呼叫的移动电话上的电话呼叫应用在本文中被认为是通信应用。
33.通信服务可以执行健康检查以确定如上所述的第一注册通信应用是否存在问题。在一些示例中,通信服务可以通过向第一注册通信应用发送轮询消息来执行健康检查。如果第一通信应用在指定时间段内没有响应,或者响应指示存在问题,则通信服务可以确定存在问题。在其他示例中,如果在阈值时间量内没有从第一注册通信应用接收到所需的状态更新消息,则健康检查可以确定存在问题。在又其他示例中,如果在阈值时间量内没有从第一注册通信应用接收到所需的状态更新消息,则通信服务可以发送轮询消息,并且如果在阈值时间量内没有接收到应答,则通信服务可以确定存在问题。如果通信服务确定存在问题,并且如果用户尚未加入基于网络的通信会话,则通信服务可以尝试将用户加入第二通信应用——所述第二通信应用可以在第一计算设备或第二计算设备上。
34.如上所述,通信应用可以响应于轮询消息,但是可以报告在加入基于网络的通信会话时有问题。问题可能包括难以设置媒体流、难以利用音频记录或重放设备等。另外,如果用户在指定时间段中已经加入和离开相同的基于网络的通信会话大于阈值时间量,则第一通信应用可以确定尽管应用不能够检测到任何问题,但是用户感知到问题。如果第一通信应用响应于其难以加入基于网络的通信会话,则通信服务可以尝试发起用户到第二通信应用的连接——所述第二通信应用可以在第一计算设备或第二计算设备上。应当注意,可以在第一注册通信应用或通信服务中的任一者或者这两者处检测到加入基于网络的通信会话的多次尝试。
35.例如,如果第一通信应用正在计算设备120上执行,并且计算设备120不响应轮询消息或者响应第一通信应用在连接到基于网络的通信会话方面有困难,则通信服务器130可以将连接请求发送至向用户注册的另一应用以加入基于网络的通信会话,例如,在计算设备110或115上执行的应用。请求可以被发送到基于由那些应用所发送的状态更新而确定的应用的最后已知网络地址。在一些示例中,所述请求可以被发送到已知正在执行并且被认证到基于网络的通信服务的应用。在其他示例中,所述请求可以被发送到任何注册应用。
在又其他示例中,所述请求可以被发送到已知正在执行并且被首先认证的应用;如果已知正在执行并且被认证的应用没有应答,则可以尝试未知正在执行并且被认证的其他注册应用。
36.图2图示了根据本公开的一些示例的在端点故障之后服务器发起的通信会话加入的消息序列图200。在设备注册阶段中,第一通信应用232可以向提供通信服务或者通信服务的一部分的通信服务器230发送一个或多个注册消息236。注册消息可以向通信服务器230注册第一通信应用232。通信服务器230可以提供确认消息238。类似地,第二通信应用234发送注册消息240并且接收确认242。在注册阶段期间,通信服务器230可以将第一通信应用232和第二通信应用234添加到与特定用户账户相关联的应用列表中。在一些示例中,注册可能发生在用户认证之前、之间或之后。
37.在状态更新阶段期间,第一通信应用232可以发送状态更新消息244。所述状态更新消息可以更新用户的状态,并且可以提供第一通信应用232的当前网络地址。通信服务器230可以提供确认消息246。在一些示例中,状态更新消息,诸如状态更新消息244,可以从第一通信应用232以定义的间隔周期性地发送。在其他示例中,状态更新消息可以仅当检测到用户或应用中的状态改变时才发送。
38.在指定时间内,相对于预定的基于网络的通信会话,通信服务器230可以确定第一通信应用232将被用于连接到基于网络的通信会话。这可以如先前所描述地确定。通信服务器230可以执行健康检查。例如,通过发送健康检查消息248。当发送健康检查消息248时,通信服务器230可以设置计时器。如果计时器超时或者发送指示错误250的响应(并且用户当前未加入通信会话),则通信服务器230可以确定用户可能在加入预定的基于网络的通信会话方面有困难。如先前所描述的,其他健康检查可以包括确定用户是否试图加入特定应用。
39.如果通信服务器230确定用户在加入预定的基于网络的通信会话方面有困难,则通信服务器230可以确定第二注册应用,诸如如先前所描述的第二通信应用234。通信服务器230可以向第二通信应用234发送连接消息252。连接消息252可以是会话发起协议(sip)消息,诸如sip邀请消息、将应用连接到基于网络的通信会话的音频信道的电话拨出消息,或者可以发起到基于网络的通信会话的连接的某个其他消息。第二通信应用234可以向用户显示提示,以确定用户是否希望使用第二通信应用234进行连接。如果用户接受,则第二通信应用234发送接受消息254。一旦通信服务器230接收到接受消息254,通信服务器230就可以开始向第二通信应用234流式传输基于网络的通信会话的媒体256。
40.图3图示了通信应用的图形用户界面(gui)300的图。弹出通知310通知用户预定的基于网络的通信会话(在线会议形式)已经在进行中,并且询问用户他们是否希望加入在该应用上的基于网络的通信会话。用户可以通过点击“是”按钮312来接受所述提议——此时他们加入到基于网络的通信会话中。如在本文中所使用的,加入基于网络的通信会话意味着被认证并且接收基于网络的通信会话的音频、视频和/或其他媒体(取决于共享的媒体和应用的能力)。如果用户选择“否”按钮314,则用户未连接到基于网络的通信会话。如果用户拒绝所述提议,则在一些示例中,尝试额外的应用,但是在其他示例中,明确的拒绝终止对在所述应用和其他应用处的进一步尝试。
41.图4图示了移动电话400的通信应用的gui 410的图。在该示例中的通信应用是电话应用。在412处,gui指示通信服务正在呼叫。用户能够通过敲击、滑动或者以其他方式与
接受按钮420交互来接受呼叫,或者可以通过敲击、滑动或者以其他方式与拒绝按钮415交互来拒绝呼叫。
42.图5图示了根据本公开的一些示例的示例性通信应用505和示例性通信服务器550的逻辑图。在一些示例中,通信应用505和通信服务器550可以具有比在图5中所示更少或更多的组件。
43.通信应用505可以包括注册组件510,注册组件510可以向通信服务器550发送一个或多个注册消息。通信服务器550的注册组件555可以接收这些消息,并且在设备注册表585中记录关于正在执行通信应用505的设备的信息。这可以包括网络地址和其他网络可达性信息。这可以进一步包括将设备和通信应用505与正在使用通信应用505的特定用户相关联;例如,被认证到由通信服务器550提供的通信服务的用户。
44.认证组件520可以通过向通信服务器550的认证组件580发送凭证来向通信服务认证通信应用505的用户。一旦被认证,通信服务器550就可以基于授予用户的访问级别向被认证的用户提供一个或多个通信服务。例如,用户的账户可以被授权进行音频呼叫或音频会议,但是未被授权使用视频。
45.状态组件525可以更新通信应用505的状态。例如,执行通信应用505的设备的当前网络地址、用户的可用性状态(例如,空闲、忙碌、勿打扰)等。通信服务器550的状态报告处理程序组件582可以接收来自通信应用505的状态消息并且更新在状态数据存储590中的信息,诸如用户的可用性。在一些示例中,可以更新网络地址或者其他可达性信息。网络地址或者其他可达性信息可以被存储在设备注册表585或状态数据存储590中。
46.gui和通知组件530可以提供显示通信应用505的界面的一个或多个gui。gui和通知组件530可以提供一个或多个gui,其允许用户预定和/或参与基于网络的通信会话、设置包括通信应用偏好的排序等的各种选项等。gui和通知组件530可以提供一个或多个通知,诸如通信服务正在试图发起连接的通知。例如,gui和通知组件530可以提供诸如在图3和图4中所示的gui。
47.通信会话组件515经由gui和通知组件530向用户提供通信会话。这包括显示、播放或者以其他方式呈现通信会话的媒体以及捕获和发送由通信应用的用户所提供的媒体。可以通过输入和输出组件535来捕获、播放或者呈现媒体,输入和输出组件535可以与麦克风、扬声器等接口以捕获和/或播放媒体。通信会话组件515和575可以使用一个或多个协议来实现和彼此通信,所述协议诸如是实时传送协议(rtp)、传输控制协议(tcp)、会话发起协议(sip)等。
48.通信服务器550可以提供通信服务的功能。对于基于网络的通信会话的一个或多个特定参与者,应用选择组件565可以确定第一通信应用;由系统确定为可能被用户用于连接到基于网络的通信会话的第一通信应用。
49.如前所述,该确定可以使用诸如用户偏好数据的用户连接数据。用户偏好数据可以包括用户输入到由通信应用505的gui和通知组件530提供的gui中的所输入的应用排名。然后,可以将这些偏好提供给通信服务并且存储在例如设备注册表585或状态数据存储590中,在这些示例中,第一通信应用的选择可以是最高排名的通信应用。在一些示例中,所述选择可以是用户向通信服务认证的最高排名的应用。在又其他示例中,所述选择可以是用户向通信服务认证的并且最近已经发送了状态更新的最高排名的应用。
50.在其他示例中,系统可以基于重复成功(从通信服务的观点来看)或者加入基于网络的通信会话的不成功尝试来选择第一通信应用。例如,通信会话组件575可以监视通信应用以及其状态。如果同一应用试图加入基于网络的通信会话不成功,则可以选择所使用的应用作为第一通信应用。
51.在其他示例中,连接数据可以包括可以用于选择第一注册通信应用的用户的历史活动。示例包括选择用户上次与其交互的应用。例如,如果用户上次使用特定注册应用来加入另一基于网络的通信会话,则可以选择该应用。可以考虑其他活动,诸如聊天活动、与基于网络的通信应用的gui的活动(例如,由gui和被发送给通信服务的通知组件530监视)、基于网络的通信预定活动、日历查询、状态更新等。
52.在其他示例中,第一通信应用可以是用户使用最多的应用。在又另外的示例中,系统可以选择用户通常用于通信会话的应用;用户通常用于该通信会话(例如,用于重新出现的会话)的应用;在给定用户的当前上下文的情况下用户通常使用的应用;用户的其他过去历史;等等。用户的当前上下文可以包括用户的位置、一天中的时间、用户的速度等。在一些示例中,系统可以将对第一注册通信应用的选择限制在已知正在执行和/或向通信服务认证的注册通信应用的列表中。
53.在一些示例中,使用上述连接数据项中的一项或多项来选择第一通信应用可以用作对可以预测应用的机器学习模型的输入。这将在图6的讨论中更详细地描述。
54.选择第一通信应用之一,然后地址确定组件570可以确定第一通信应用的网络地址。例如,可以确定在其上执行第一通信应用的设备的互联网协议(ip)地址。可以从由应用发送的一个或多个状态更新中观察到网络地址。
55.健康检查组件560可以通过向第一通信应用发送一个或多个轮询消息来确定第一通信应用是否正在执行并且处于正确的工作顺序。一旦发送轮询消息,健康检查组件560就可以设置指定持续时间的计时器。如果在计时器到期之前接收到响应,则健康检查组件560可以确定第一通信应用是健康的并且没有经历任何问题。在一些示例中,即使应用是健康的,在用户尚未加入的情况下,发起组件567也可以在会议开始的预定时间内向第一通信应用发送连接请求。在一些示例中,应用可以通过指示应用有问题来响应轮询消息。例如,用户可能已经尝试与基于网络的通信会话连接并且出现问题。例如,通过在特定时间段内重复加入和离开基于网络的通信会话阈值次数。在其他示例中,响应可以指示与用户的音频/视觉设备的问题——诸如与扬声器、麦克风或者其他设备的问题。响应也可以指示发送或接收分组、与通信服务器同步等方面的问题。
56.如果轮询消息超时或者如果响应指示问题,则状态检查组件可以让应用选择组件选择与用户的第一注册应用不同的用户的第二注册应用。所述选择可以使用与用于选择第一通信应用相同或不同的因素。如已经注意到的,健康检查组件560可以替代或者除了使用轮询消息之外来确定用户已经不成功地尝试加入基于网络的通信会话。
57.发起组件567可以向第二通信应用发送针对基于网络的通信会话的连接请求。如果用户接受,则第二通信应用可以加入到基于网络的通信会话中。第二通信应用可以通过允许应用到基于网络的通信会话来加入,这导致将基于网络的通信会话的媒体递送到第二通信应用,以及从第二通信应用接收媒体并且递送到作为基于网络的通信会话的一部分的其他计算设备。
58.如前所述,该过程可以针对基于网络的通信会话的单个参与者、多个参与者或者所有参与者来执行。如也注意到的,如果第二通信应用没有加入,则系统可以选择第三应用并且向第三应用发送连接请求,等等。
59.图6示出了根据本公开的一些示例的示例性机器学习模块600。机器学习模块600可以由一个或多个计算设备全部或部分地实现。在一些示例中,训练模块610可以由与预测模块620不同的设备来实现。在这些示例中,可以在第一机器上创建模型680,并且然后将模型680发送到第二机器。例如,训练模块和预测模块620中的一个或多个模块可以被实现为应用选择组件565的一部分,以选择用户可能用于加入基于网络的通信会话的注册应用和/或选择要向其发送连接请求的第二通信应用。
60.机器学习组件600利用训练组件610和预测组件620。训练组件610将训练数据630输入到选择器组件650。训练数据630可以包括用户连接数据,诸如用户的历史应用选择、用户的使用历史、用户的应用排名、当用户选择特定应用时的用户的上下文等。用户的当前上下文可以包括用户的位置、一天中的时间、用户的速度等。
61.训练数据630可以利用在给定上下文的情况下用户使用的所选择的应用来标记。在其他示例中,训练数据可能没有被标记,并且可能使用反馈数据来训练模型——诸如通过强化学习方法。反馈数据可以是由用户对由基于网络的通信服务发送的连接请求的接受率。在一些示例中,训练数据(和结果模型)可以是针对每个用户的——亦即,仅使用用户的连接数据来构建模型。在其他示例中,可以使用一组通信服务用户的连接数据。
62.选择器组件650从训练数据630转换和/或选择训练向量660。例如,选择器组件650可以过滤、选择或者以其他方式转换训练数据。例如,选择器组件650可以应用一个或多个特征选择算法来查找训练数据中的特征。所选择的数据可以填充训练向量660,并且包括被确定为预测用户将选择以加入基于网络的通信会话的应用的训练数据集。被选择包含在训练向量660中的信息可以是所有训练数据630,或者在一些示例中,可以是所有训练数据630的子集。机器学习算法670可以利用训练向量660(连同任何适用的标签)来产生模型680。在一些示例中,可以使用除向量之外的其他数据结构。机器学习算法670可以学习模型的一个或多个层。示例层可以包括卷积层、丢包层、池化/上采样层、softmax层等。示例性模型可以是神经网络,其中每一层包括多个神经元,所述多个神经元接受多个输入,对输入进行加权,将经加权的输入输入到激活函数中以产生输出,所述输出然后被发送到另一层。示例性激活函数可以包括整流线性单元(relu)等。模型的各层可以完全连接或部分连接。在其他示例中,模型可以是决策树、决策树桩、贝叶斯网络、支持向量机、逻辑回归等。
63.在预测组件620中,特征690被输入到选择器组件5。特征690可以是或者包括用户的当前连接数据和/或用户的当前上下文。选择器组件695可以与选择器组件650相同或不同地操作。在一些示例中,选择器组件650和695是相同组件或者相同组件的不同实例。选择器组件695产生向量697,向量697被输入到模型680中以产生应用选择699。例如,通过将向量697应用到模型680的第一层以产生到模型680的第二层的输入,可以在向量697上执行由训练组件610学习的权重和/或网络结构,以此类推,直到输出编码。如先前所述,可以使用除向量(例如,矩阵)以外的其他数据结构。
64.训练组件610可以以离线方式来操作以训练模型680。然而,预测组件620可以被设计成以在线方式来操作。应当注意,模型680可以经由额外训练和/或用户反馈周期性地更
新。例如,当用户接受或拒绝加入请求(对于第二通信应用选择)时,或者当用户利用与系统预测用户将试图从其加入的第一通信应用的选择不同的应用加入基于网络的通信会话时,可以收集额外训练数据630。
65.机器学习算法670可以从许多不同的潜在有监督或无监督机器学习算法中选择。学习算法的示例包括人工神经网络、卷积神经网络、贝叶斯网络、基于实例的学习、支持向量机、决策树(例如,迭代二分法3、c4.5、分类和回归树(cart)、卡方自动交互检测器(chaid)等)、随机森林、线性分类器、二次分类器、k最近邻、线性回归、逻辑回归、基于区域的cnn、全cnn(用于语义分割)、用于实例分割的掩码r-cnn算法和隐马尔可夫模型。无监督学习算法的示例包括期望最大化算法、向量量化和信息瓶颈方法。
66.图7图示了根据本公开的一些示例的在由通信服务器执行的端点状态检查失败之后服务器发起的通信会话加入的方法700的流程图。在操作710处,系统确定当前时间是相对于基于网络的通信会话的开始时间的预定时间。在这时,执行图7的剩余操作。在操作715处,系统可以识别在第一计算设备上执行的参与者的第一通信应用。在一些示例中,该设备可以仅仅是用户使用的最后一个应用、发送状态更新的最后一个应用,等等。在其他示例中,这可以是优先化应用列表中最高排名的应用,或者可以基于用户的历史数据或其他连接数据,如先前所描述的。
67.在操作720处,系统可以确定第一计算设备的网络地址。例如,从由第一设备上的第一通信应用向基于网络的通信服务发送的状态更新消息或注册消息中确定互联网协议(ip)地址。在操作725处,系统可以对第一计算设备执行健康检查。例如,服务器可以向第一计算设备发送轮询分组。如果第一计算设备上的第一通信应用接收轮询分组,则第一计算设备上的第一通信应用发送响应分组。如果服务器接收到响应分组并且响应分组指示第一通信应用是ok的,则在操作730处,健康检查不指示问题并且流程结束。如果在超时时段结束之后服务器没有接收到响应,或者如果服务器接收到指示响应中的问题的响应(例如,响应分组中的响应代码),那么在操作730处,健康检查指示问题。如先前所讨论的,其他健康检查也是可能的。
68.在操作735处,如果健康检查指示问题,则可以选择第二通信应用。第二通信应用可以是不是第一通信应用的用户的注册通信应用。第二通信应用可以如先前所描述地——例如使用用户的连接数据来选择。
69.在操作740处,系统可以向第二通信应用发送连接请求。所述请求是使用第二通信应用加入基于网络的通信会话的连接请求。连接请求可以是电话呼叫、sip invite请求或者一些其他消息。第二通信应用可以在第一或第二计算设备上。第二通信应用可以是计算设备的整体功能,诸如电话呼叫功能。例如,服务器可以调用第一或第二设备以将其连接到基于网络的通信会话的音频。应用可以是在第一或第二设备上提供电话功能(其可以由硬件和/或软件的组合提供)的应用。请求可以使得第二通信应用通知用户。在操作745处,确定用户是否接受请求。例如,通过接听来电,通过点击按钮接受请求,等等。如果用户不接受,则流程可以返回操作735,在其中可以尝试不同的应用。否则,流程进行到操作750,其中第二通信应用与基于网络的通信会话联接。当第二通信应用加入时,诸如音频、视频或者这两者的媒体分组可被发送到第二通信应用以用于显示和/或向用户播放。
70.图8图示了可以在其上执行在本文中所讨论的一种或多种技术(例如,方法)的示
例性机器800的框图。在替代实施例中,机器800可以作为独立设备操作,或者可以连接(例如,联网)到其他机器。在联网部署中,机器800可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的容量操作。在示例中,机器800可以充当对等(p2p)(或者其他分布式)网络环境中的对等机器。机器800可以是执行通信应用的计算设备,例如计算设备110、115、120、410;提供通信服务的设备,例如通信服务器130、230、550。机器800可以实现或提供第一通信应用232、第二通信应用234、gui 300、图4中所示的gui、图5中所示的一个或多个组件、训练模块610、预测模块620或方法700中的一个或多个。机器800可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、智能电话、web设备、网络路由器、交换机或桥、或能够执行指定由机器进行的动作的指令(顺序的或其他方式)的任何机器的形式。此外,尽管仅图示了单个机器,但是术语“机器”还应被理解为包括单独或联合执行一组(或多组)指令以执行在本文中所讨论的任何一种或多种方法的任何机器集合,例如云计算、软件即服务(saas)、其他计算机集群配置。
71.如在本文中所描述的示例可包括或可操作逻辑或多个组件、模块或机械装置(以下称为“模块”)。模块是能够执行指定操作并可以以某种方式配置或布置的有形实体(例如,硬件)。在示例中,电路可以以指定方式布置为模块(例如,内部或相对于诸如其他电路的外部实体)。在示例中,一个或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或一个或多个硬件处理器的全部或部分可以由固件或软件(例如,指令、应用部分或应用)配置为操作以执行指定操作的模块。在示例中,软件可以驻留在机器可读介质上。在示例中,当由模块的底层硬件执行时,软件使硬件执行指定的操作。
72.因此,术语“模块”被理解为包含有形实体,即被物理构造、具体配置(例如,硬连线)或临时(例如,暂时)配置(例如,编程)以特定方式操作或执行本文所述任何操作的部分或全部的实体。考虑到临时配置模块的示例,每个模块都不需要在任何一个时刻实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,通用硬件处理器可以在不同时间被配置为相应的不同模块。软件可以相应地配置硬件处理器,例如,以在一个时间实例处构成特定模块,并在不同的时间实例处构成不同的模块。
73.机器(例如,计算机系统)800可以包括硬件处理器802(例如,中央处理单元(cpu)、图形处理单元(gpu)、硬件处理器核心或其任何组合)、主存储器804和静态存储器806,其中一些或全部可经由互连(例如,总线)808彼此通信。机器800还可以包括显示单元810、字母数字输入设备812(例如,键盘)和用户界面(ui)导航设备814(例如,鼠标)。在示例中,显示单元810、输入设备812和ui导航设备814可以是触摸屏显示器。机器800还可以包括存储设备(例如,驱动单元)816、信号生成设备818(例如,扬声器)、网络接口设备820和一个或多个传感器821,例如全球定位系统(gps)传感器、罗盘、加速度计或其他传感器。机器800可以包括输出控制器828,例如串行(例如,通用串行总线(usb)、并行或其他有线或无线(例如,红外(ir)、近场通信(nfc)等)连接,以通信或控制一个或多个外围设备(例如,打印机、读卡器等)。
74.存储设备816可以包括机器可读介质822,在其上存储有一组或多组数据结构或指令824(例如,软件),该数据结构或指令体现或由本文描述的技术或功能中的任何一个或多个使用。指令824当由机器800执行期间也可以完全或至少部分地驻留在主存储器804内、在静态存储器806内或在硬件处理器802内。在示例中,硬件处理器802、主存储器804、静态存
储器806或存储设备816的一个或任何组合可以构成机器可读介质。
75.尽管机器可读介质822被示为单个介质,但是术语“机器可读介质”可以包括被配置为存储一个或多个指令824的单个介质或多个介质(例如,集中或分布式数据库,和/或相关联的高速缓存和服务器)。
76.术语“机器可读介质”可以包括能够存储、编码或携带供机器800执行的指令并使得机器800执行本公开的任何一个或多个技术的任何介质,或者能够存储、编码或携带由这些指令使用或与这些指令相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的具体示例可以包括:非易失性存储器,例如半导体存储器设备(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;随机存取存储器(ram);固态硬盘(ssd);以及cd-rom和dvd-rom磁盘。在一些示例中,机器可读介质可以包括非暂时性机器可读介质。在一些示例中,机器可读介质可以包括不是短暂传播信号的机器可读介质。
77.指令824还可以使用传输介质经由网络接口设备820在通信网络826上发送或接收。机器800可以利用多个传输协议(例如,帧中继、互联网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传输协议(http)等)中的任何一个与一个或多个其他机器通信。示例性通信网络可以包括局域网(lan)、广域网(wan)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通旧电话(pots)网络和无线数据网络(例如,称为的电气和电子工程师协会(ieee)802.11标准系列、称为的ieee 802.16标准系列)、ieee 802.15.4标准系列、长期演进(lte)标准系列、通用移动电信系统(umts)标准系列、对等(p2p)网络等。在示例中,网络接口设备820可以包括一个或多个物理插孔(例如,以太网、同轴或电话插孔)或者一个或多个天线以连接到通信网络826。在示例中,网络接口设备820可以包括多个天线,以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一种无线通信。在一些示例中,网络接口设备820可以使用多个用户mimo技术进行无线通信。
78.其他注释和示例
79.示例1是一种提供通信服务的计算设备,所述计算设备包括:处理器;存储器,所述存储器存储指令,所述指令当由处理器执行时,使得所述计算设备执行包括以下的操作:在相对于基于网络的通信会话的开始时间的预先指定的时间处,在托管所述基于网络的通信会话的所述通信服务的所述计算设备处自动地:从参与者的多个注册通信应用中识别第一通信应用,所述第一通信应用在所述参与者的第一计算设备上执行;基于从所述第一计算设备接收的先前接收到的分组来确定所述第一计算设备的网络地址;向所述第一计算设备上的所述第一通信应用发送轮询分组,所述轮询分组请求响应分组并且被寻址到所述第一计算设备的所述网络地址;确定在自从发送所述轮询分组以来已经经过阈值时间量之后没有从所述第一通信应用接收到针对所述轮询分组的响应分组;响应于确定没有接收到响应分组:使用所述参与者的连接数据从所述多个注册应用中选择第二通信应用;使得向所述第二通信应用发送连接请求;从所述第二通信应用接收连接确认;以及响应于接收到所述连接确认,通过向所述第二通信应用发送所述基于网络的通信会话的媒体分组来将所述第二通信应用加入所述基于网络的通信会话。
80.在示例2中,示例1的主题包括,其中,所述第二通信应用在所述第一计算设备上执行。
81.在示例3中,示例1-2的主题包括,其中,所述第二通信应用在第二计算设备上执行,并且其中,向所述第二通信应用发送所述连接请求的操作包括:基于从所述第二计算设备先前接收到的分组来确定所述第二计算设备的网络地址。
82.在示例4中,示例1-3的主题包括,其中,先前接收到的分组是由所述第一计算设备作为认证过程的一部分或者作为状态更新过程的一部分来发送的。
83.在示例5中,示例1-4的主题包括,其中,所述第二通信应用是提供电话通信功能的移动电话上的电话应用,并且所述连接请求是电话呼叫。
84.在示例6中,示例1-5的主题包括,其中,从参与者的多个注册应用中识别所述第一通信应用的操作包括:提供所述参与者的连接数据和上下文数据作为对机器学习模型的输入,所述机器学习模型先前使用所述参与者的历史连接数据、所述参与者的历史上下文数据以及由所述参与者用于先前通信请求的应用的标识进行训练。
85.在示例7中,示例1-6的主题包括,其中,从所述多个注册应用中选择所述第二通信应用的操作包括:提供所述参与者的连接数据和上下文数据作为对机器学习模型的输入,所述机器学习模型先前使用所述参与者的历史连接数据、所述参与者的历史上下文数据以及由所述参与者用于先前通信请求的应用的标识进行训练。
86.在示例8中,示例1-7的主题包括,其中,所述连接数据包括所述参与者的应用偏好的有序排名,并且其中,识别所述第一通信应用的操作包括选择最高排名的应用,并且其中,选择所述第二通信应用的操作包括选择第二排名的应用。
87.在示例9中,示例1-8的主题包括,其中,从参与者的多个注册应用中识别所述第一通信应用的操作包括基于针对所述参与者的连接数据来选择所述第一通信应用以用于加入所述基于网络的通信会话。
88.示例10是一种用于将用户连接到基于网络的通信会话的方法,所述方法包括:在相对于基于网络的通信会话的开始时间的预先指定的时间处,在托管所述基于网络的通信会话的通信服务的计算设备处自动地:从参与者的多个注册通信应用中识别第一通信应用,所述第一通信应用在所述参与者的第一计算设备上执行;基于从所述第一计算设备接收的先前接收到的分组来确定所述第一计算设备的网络地址;向所述第一计算设备上的所述第一通信应用发送轮询分组,所述轮询分组请求响应分组并且被寻址到所述第一计算设备的所述网络地址;确定在自从发送所述轮询分组以来已经经过阈值时间量之后没有从所述第一通信应用接收到针对所述轮询分组的响应分组;响应于确定没有接收到响应分组:使用所述参与者的连接数据从所述多个注册应用中选择第二通信应用;使得向所述第二通信应用发送连接请求;从所述第二通信应用接收连接确认;以及响应于接收到所述连接确认,通过向所述第二通信应用发送所述基于网络的通信会话的媒体分组来将所述第二通信应用加入所述基于网络的通信会话。
89.在示例11中,示例10的主题包括,其中,所述第二通信应用在所述第一计算设备上执行。
90.在示例12中,示例10-11的主题包括,其中,所述第二通信应用在第二计算设备上执行,并且其中,向所述第二通信应用发送所述连接请求包括:基于来自所述第二计算设备
的先前接收到的分组来确定所述第二计算设备的网络地址。
91.在示例13中,示例10-12的主题包括,其中,所述先前接收到的分组是由所述第一计算设备作为认证过程的一部分或者作为状态更新过程的一部分来发送的。
92.在示例14中,示例10-13的主题包括,其中,所述第二通信应用是提供电话通信功能的移动电话上的电话应用,并且所述连接请求是电话呼叫。
93.在示例15中,示例10-14的主题包括,其中,从参与者的多个注册应用中识别所述第一通信应用包括:提供所述参与者的连接数据和上下文数据作为对机器学习模型的输入,所述机器学习模型先前使用所述参与者的历史连接数据、所述参与者的历史上下文数据以及由所述参与者用于先前通信请求的应用的标识进行训练。
94.在示例16中,示例10-15的主题包括,其中,从所述多个注册应用中选择所述第二通信应用包括:提供所述参与者的连接数据和上下文数据作为对机器学习模型的输入,所述机器学习模型先前使用所述参与者的历史连接数据、所述参与者的历史上下文数据以及由所述参与者用于先前通信请求的应用的标识进行训练。
95.在示例17中,示例10-16的主题包括,其中,所述连接数据包括所述参与者的应用偏好的有序排名,并且其中,识别所述第一通信应用的操作包括选择最高排名的应用,并且其中,选择所述第二通信应用的操作包括选择第二排名的应用。
96.在示例18中,示例10-17的主题包括,其中,从参与者的多个注册应用中识别所述第一通信应用的操作包括基于针对所述参与者的连接数据来选择所述第一通信应用以用于加入所述基于网络的通信会话。
97.示例19是一种提供通信服务的计算设备,所述计算设备包括:在相对于基于网络的通信会话的开始时间的预先指定的时间处,在托管所述基于网络的通信会话的所述通信服务的所述计算设备处自动地:用于从参与者的多个注册通信应用中识别第一通信应用的单元,所述第一通信应用在所述参与者的第一计算设备上执行;用于基于从所述第一计算设备接收的先前接收到的分组来确定所述第一计算设备的网络地址的单元;用于向所述第一计算设备上的所述第一通信应用发送轮询分组的单元,所述轮询分组请求响应分组并且被寻址到所述第一计算设备的所述网络地址;用于确定在自从发送所述轮询分组以来已经经过阈值时间量之后没有从所述第一通信应用接收到针对所述轮询分组的响应分组的单元;响应于确定没有接收到响应分组:用于使用所述参与者的连接数据从所述多个注册应用中选择第二通信应用的单元;用于使得向所述第二通信应用发送连接请求的单元;用于从所述第二通信应用接收连接确认的单元;以及用于响应于接收到所述连接确认,通过向所述第二通信应用发送所述基于网络的通信会话的媒体分组来将所述第二通信应用加入所述基于网络的通信会话的单元。
98.在示例20中,示例19的主题包括,其中,用于从参与者的多个注册应用中识别所述第一通信应用的单元包括:用于基于针对所述参与者的连接数据来选择所述第一通信应用以用于加入所述基于网络的通信会话的单元。
99.示例21是至少一种包括指令的机器可读介质,所述指令当由处理电路执行时,使得所述处理电路执行操作以实现示例1-20中的任一项。
100.示例22是包括用于实现示例1-20中的任一项的单元的装置。
101.示例23是实现示例1-20中的任一项的系统。
102.示例24是实现示例1-20中的任一项的方法。

技术特征:
1.一种提供通信服务的计算设备,所述计算设备包括:处理器;存储器,所述存储器存储指令,所述指令当由所述处理器运行时,使得所述计算设备执行包括以下的操作:在相对于基于网络的通信会话的开始时间的预先指定的时间处,在托管所述基于网络的通信会话的所述通信服务的所述计算设备处自动地:从参与者的多个注册通信应用中识别第一通信应用,所述第一通信应用在所述参与者的第一计算设备上运行;基于从所述第一计算设备接收的先前接收到的分组来确定所述第一计算设备的网络地址;向所述第一计算设备上的所述第一通信应用发送轮询分组,所述轮询分组请求响应分组并且被寻址到所述第一计算设备的所述网络地址;确定在自从发送所述轮询分组以来已经经过阈值时间量之后没有从所述第一通信应用接收到针对所述轮询分组的响应分组;响应于确定没有接收到响应分组:使用所述参与者的连接数据从所述多个注册应用中选择第二通信应用;使得向所述第二通信应用发送连接请求;从所述第二通信应用接收连接确认;以及响应于接收到所述连接确认,通过向所述第二通信应用发送所述基于网络的通信会话的媒体分组来将所述第二通信应用加入所述基于网络的通信会话。2.根据权利要求1所述的计算设备,其中,所述第二通信应用在所述第一计算设备上运行。3.根据权利要求1所述的计算设备,其中,所述第二通信应用在第二计算设备上运行,并且其中,向所述第二通信应用发送所述连接请求的操作包括:基于来自所述第二计算设备的先前接收到的分组来确定所述第二计算设备的网络地址。4.根据权利要求1所述的计算设备,其中,所述先前接收到的分组是由所述第一计算设备作为认证过程的一部分或者作为状态更新过程的一部分来发送的。5.根据权利要求1所述的计算设备,其中,所述第二通信应用是提供电话通信功能的移动电话上的电话应用,并且所述连接请求是电话呼叫。6.根据权利要求1所述的计算设备,其中,从参与者的多个注册应用中识别所述第一通信应用的操作包括:提供所述参与者的连接数据和上下文数据作为对机器学习模型的输入,所述机器学习模型是先前使用所述参与者的历史连接数据、所述参与者的历史上下文数据以及由所述参与者用于先前通信请求的应用的标识进行训练的。7.根据权利要求1所述的计算设备,其中,从所述多个注册应用中选择所述第二通信应用的操作包括:提供所述参与者的连接数据和上下文数据作为对机器学习模型的输入,所述机器学习模型是先前使用所述参与者的历史连接数据、所述参与者的历史上下文数据以及由所述参与者用于先前通信请求的应用的标识进行训练的。8.根据权利要求1所述的计算设备,其中,所述连接数据包括所述参与者的应用偏好的有序排名,并且其中,识别所述第一通信应用的操作包括选择最高排名的应用,并且其中,
选择所述第二通信应用的操作包括选择第二排名的应用。9.根据权利要求1所述的计算设备,其中,从参与者的多个注册应用中识别所述第一通信应用的操作包括:基于针对所述参与者的连接数据来选择所述第一通信应用以用于加入所述基于网络的通信会话。10.一种用于将用户连接到基于网络的通信会话的方法,所述方法包括:在相对于基于网络的通信会话的开始时间的预先指定的时间处,在托管所述基于网络的通信会话的通信服务的计算设备处自动地:从参与者的多个注册通信应用中识别第一通信应用,所述第一通信应用在所述参与者的第一计算设备上运行;基于从所述第一计算设备接收的先前接收到的分组来确定所述第一计算设备的网络地址;向所述第一计算设备上的所述第一通信应用发送轮询分组,所述轮询分组请求响应分组并且被寻址到所述第一计算设备的所述网络地址;确定在自从发送所述轮询分组以来已经经过阈值时间量之后没有从所述第一通信应用接收到针对所述轮询分组的响应分组;响应于确定没有接收到响应分组:使用所述参与者的连接数据从所述多个注册应用中选择第二通信应用;使得向所述第二通信应用发送连接请求;从所述第二通信应用接收连接确认;以及响应于接收到所述连接确认,通过向所述第二通信应用发送所述基于网络的通信会话的媒体分组来将所述第二通信应用加入所述基于网络的通信会话。11.根据权利要求10所述的方法,其中,所述第二通信应用在所述第一计算设备上运行。12.根据权利要求10所述的方法,其中,所述第二通信应用在第二计算设备上运行,并且其中,向所述第二通信应用发送所述连接请求包括:基于来自所述第二计算设备的先前接收到的分组来确定所述第二计算设备的网络地址。13.根据权利要求10所述的方法,其中,所述先前接收到的分组是由所述第一计算设备作为认证过程的一部分或者作为状态更新过程的一部分来发送的。14.一种提供通信服务的计算设备,所述计算设备包括:在相对于基于网络的通信会话的开始时间的预先指定的时间处,在托管所述基于网络的通信会话的所述通信服务的所述计算设备处自动地:用于从参与者的多个注册通信应用中识别第一通信应用的单元,所述第一通信应用在所述参与者的第一计算设备上运行;用于基于从所述第一计算设备接收的先前接收到的分组来确定所述第一计算设备的网络地址的单元;用于向所述第一计算设备上的所述第一通信应用发送轮询分组的单元,所述轮询分组请求响应分组并且被寻址到所述第一计算设备的所述网络地址;用于确定在自从发送所述轮询分组以来已经经过阈值时间量之后没有从所述第一通信应用接收到针对所述轮询分组的响应分组的单元;
响应于确定没有接收到响应分组:用于使用所述参与者的连接数据从所述多个注册应用中选择第二通信应用的单元;用于使得向所述第二通信应用发送连接请求的单元;用于从所述第二通信应用接收连接确认的单元;以及用于响应于接收到所述连接确认而通过向所述第二通信应用发送所述基于网络的通信会话的媒体分组来将所述第二通信应用加入所述基于网络的通信会话的单元。15.根据权利要求14所述的计算设备,其中,用于从参与者的多个注册应用中识别所述第一通信应用的单元包括:用于基于针对所述参与者的连接数据来选择所述第一通信应用以用于加入所述基于网络的通信会话的单元。

技术总结
在一些示例中公开了方法、系统和机器可读介质,其响应于通信服务检测到用户无法使用第一通信应用加入基于网络的通信会话,而使用第二通信应用自动地发起到所述基于网络的通信会话的连接。第一和第二通信应用可以在相同或不同的计算设备上。例如,如果用户的台式设备不可用或者经历连接问题,则通信服务器可以自动地请求用户的移动电话上的通信应用加入基于网络的通信会话。于网络的通信会话。于网络的通信会话。


技术研发人员:A
受保护的技术使用者:微软技术许可有限责任公司
技术研发日:2021.10.29
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐