具有中继设备的远程计算设备的子组的制作方法

文档序号:18095414发布日期:2019-07-06 11:00阅读:155来源:国知局
具有中继设备的远程计算设备的子组的制作方法

多年来,通信网络已经得到改善,以允许计算设备与其他计算设备通信。通信网络改善了生活各个领域的效率和生产力。计算设备可以通过通信网络以相对高的速率传输数据。



技术实现要素:

因此,通信网络可以被用来允许计算设备实时地彼此协作。例如,一个计算设备可以托管会话而其他的计算设备可以能够与主机交互。结果,远程用户可以协作以共享想法、为单个设计做出贡献等等。

附图说明

图1是本公开内容的示例通信网络的框图;

图2是本公开内容的示例发送方设备的详细框图;

图3是用于创建具有相应中继设备的多个子组的示例方法的框图;

图4是用于连续监控多个子组的示例方法的框图;以及

图5是存储由处理器执行的指令的非暂时性计算机可读介质的框图。

具体实施方式

本公开内容公开了用于创建具有相应中继设备的多个子组的方法和装置。如上所讨论的,一些通信网络可以被用来允许计算设备实时地彼此协作。例如,一个计算设备可以托管会话而其他的计算设备可以能够与主机交互。结果,远程用户可以协作以共享想法、为单个设计做出贡献等等。

一些协作项目可以包括与计算机辅助设计(cad)绘图、音频信号、视频信号等等相关的大量数据。一些协作项目实时地发生。结果,当大量数据被传输到多个位于远处的计算设备以供查看时,一些计算设备可能由于相对于其他位于远处的计算设备的较慢连接速度而体验到严重滞后。

本公开内容的示例提供了创建具有相应中继设备的多个子组的方法和装置。例如,可以基于位置或在公共子网内将位于远处的计算设备划分为子组。在每一个子组内,可以将其中一个计算设备标识为中继设备。剩余计算设备可以与托管远程协作会话的发送机断开连接并重新连接到中继设备。可以基于子组内具有最低等待时间的计算设备来选择中继设备。结果,可以将与远程协作会话相关联的数据发送到中继设备,并且经由中继设备在本地网络内传输数据的速度可以比单独地将数据发送到每个计算设备更快。因此,计算设备的延迟或滞后应当被最小化,并且协作项目的整体用户体验应当被改善。

图1图示了本公开内容的示例通信网络100的框图。通信网络100可以包括:发送机器102、主要机器104和多个计算设备1061-1068(也被统称为“计算设备106”)。尽管在图1中示出了八个计算设备,但是应当注意的是,通信网络100可以包括任何数量的计算设备。

在一个示例中,发送机器102、主要机器104和计算设备106可以是包括处理器和存储器的任何类型的设备。例如,发送机器102、主要机器104和计算设备106可以是台式计算机、膝上型计算机、平板计算机、智能电话等等。

主要机器104可以与发送机器102一起定位,或者可以远离发送机器102而定位。计算设备106可以远离发送机器102而定位。例如,计算设备106可以位于与发送机器102不同的地理位置或不同的建筑物中。

应当注意的是,为了易于解释,已简化了通信网络100。例如,通信网络100可以包括未示出的附加网络元件和接入网络。例如,通信网络100可以包括:网关、路由器、交换机、防火墙、核心互联网协议(ip)网络/服务提供商和接入网络,诸如蜂窝网络、宽带网络、本地ip网络等等。

在一个示例中,发送机器102可以托管协作项目。例如,主要机器104可以发起会话,以利用计算设备1061-1067进行cad绘图。会话可以包括每个用户的实况视频、每个用户的音频、去往和来自发送机器102上的cad绘图程序的输入控件等等。在一个实现方式中,主要机器104可以向计算设备1061-1067发送协作项目会话正在发送机器102上开始的通知。该通知可以包括可以被用来使每个计算设备1061-1067连接到发送机器102的链接或信息。

在一个实现方式中,主要机器104和每个计算设备1061-1067可以经由有线或无线连接建立与发送机器102的相应连接。换言之,“连接”可以是经由物理连接或无线连接建立的通信路径。相应连接由线120、122和124以及虚线126、128、130、132和134图示出。计算设备1061-1067可以为ip地址或子网提供对发送机器102的每个连接。基于该ip地址或子网,发送机器102可以基于公共网络创建多个计算设备的子组。

一些计算设备1061-1067可以基于计算设备1061-1067的子网一起位于公共网络内。例如,主要机器104和计算设备1061可以是基于具有相同子网的子组108的部分,计算设备1062-1064可以是基于具有相同子网的子组110的部分,并且计算设备1065-1067可以是基于具有相同子网的子组112的部分。应当注意的是,尽管图1中图示了三个子组,但是可以部署任何数量的子组。

使用对每个计算设备1061-1067的相应连接,发送机器102可以确定每个子组108、110和112内的哪些计算设备1061-1067具有最低等待时间或最高带宽。例如,发送机器102可以ping每个计算设备1061-1067以确定对每一个计算设备1061-1067的连接速度。

发送机器102可以基于等待时间或带宽来识别每个子组108、110和112内的中继设备。例如,发送机器102可以确定主要机器104、计算设备1062和计算设备1065在它们相应子组108、110和112内具有最低等待时间。因此,主要机器104、计算设备1062和计算设备1065可以维持它们与发送机器102的相应连接(由实线120、122和124图示的)。

然后,发送机器102可以通知或指示每个剩余计算设备1061、1063、1064、1066和1067与发送机器102断开连接,并且连接到在它们相应子组108、110和112内的中继设备。例如,剩余计算设备1061、1063、1064、1066和1067的断开连接在图1中由虚线126、128、130、132和134图示。通过实线136、138、140、142和144图示了与相应中继设备的后续连接。

例如,计算设备1061可以建立与主要机器104的连接136,该主要机器104被识别为子组108的中继设备。例如,计算设备1063和1064可以建立与计算设备1062的相应连接138和140,该计算设备1062被识别为子组110的中继设备。计算设备1066和1067可以建立与计算设备1065的相应连接142和142,该计算设备1065被识别为子组112的中继设备。

结果,发送机器102可以将数据直接发送到子组108、110和112内所识别的中继设备。然后,子组108、110和112内的中继设备可以通过快速本地网络或较大网络的快速本地部分将数据发送到相应子组108、110和112内的计算设备106。

在一些实现方式中,发送机器102可以连续地监控与计算设备1061-1067的连接或与新计算设备的新连接。随着计算设备1061-1067的等待时间或带宽值随时间的推移改变,发送机器102可以改变子组108、110或112内的中继设备。

例如,子组108、110和112内的网络条件可以随时间的推移改变。非协作项目的部分的计算设备可能已经消耗了大量网络带宽,这对计算设备1063的连接速度产生了负面影响。

在已经形成了子组108、110和112、已识别了中继设备并且已经断开剩余计算设备的连接并与中继设备重新建立连接之后,发送机器102可以周期性地ping全部的计算设备1061-1067。例如,周期性地可以包括任何量的预定义时间量,诸如每30秒、每五分钟等等。在示例中,发送机器102可以周期性地将协作项目数据直接发送到以其他方式间接连接的计算设备以确定它们的等待时间或带宽。

在ping或直接向全部的计算设备1061-1067递送数据之后的稍后时间处,发送机器102可以检测到计算设备1063比先前被识别为中继设备的计算设备1062具有更低的等待时间或更高的带宽。结果,发送设备102可以将计算设备1063自动识别为子组110的新中继设备。因此,计算设备1063可以直接连接到发送机器102。计算设备1062可以与发送机器102断开连接,并且直接连接到被识别为新中继设备的计算设备1063。计算设备1064可以与计算设备1062断开连接并且连接到计算设备1063。

在一些实现方式中,发送机器102可以具有预定义的时间量以允许中继设备的改变。例如,如果等待时间或较高带宽值在两个计算设备106之间连续地改变,那么连接和断开连接的持续过程可能是破坏性的。结果,为了维持一定的稳定性,如果在预定义的时间量内(例如,在最后30分钟内、在最后一小时内等等)没有识别出新中继设备,则发送机器102可以允许改变到新中继设备。在示例中,发送机器102可以使用阈值来确定改变中继设备的时间。例如,发送机器102可以确定等待时间或带宽中的差异是否大于阈值。在示例中,发送机器102可以多次比较等待时间或带宽,并且基于有利于改变的比较的全部或预先确定的百分比(例如,50%、60%、70%、80%、90%等)来改变中继设备。在另一个实现方式中,发送机器102可以随着等待时间或带宽值改变来连续地改变中继设备,而不管在特定时间段内已经识别出新中继设备的次数。

在一些实现方式中,所识别的中继设备可以与发送机器102断开连接。例如,计算设备1065可能必须离开协作项目会话并且与发送机器102断开连接。发送机器102可以检测该断开,并且通知计算设备1066和1067直接重新连接到发送机器102。然后,发送机器102可以计算计算设备1066和1067的等待时间值并识别新中继设备。

在一些实现方式中,当中继设备与发送机器102断开连接时,发送机器可以指示全部剩余计算设备106直接重新连接到发送机器102。可以重复创建子组108、110、112,计算与剩余计算设备106的每个相应连接的等待时间以及识别每个子组108、110和112内的中继设备的过程。

在一些实现方式中,新计算设备1068可以连接到发送机器102。当新计算设备1068连接到发送机器102时,该发送机器102可以识别计算设备1068的子网并且识别要分配给计算设备1068的子组108、110、112或新子组。然后,发送机器102可以计算对计算设备1068的等待时间,并且确定该等待时间是否低于子组108、110、112或要分配给计算设备1068的新子组中的中继设备的等待时间。

图2图示了发送方设备102的示例的框图。在一个实现方式中,发送方设备102可以包括通信设备206和协作控制器204。通信设备206可以包括用于与计算设备106进行有线或无线通信的接口。例如,通信设备206可以是网络接口卡,其包括以太网端口或用以与无线路由器通信的无线通信模块。通信设备206可以与多个远程计算设备106建立相应连接。

协作控制器204可以包括与协作控制器204通信的处理器。协作控制器204还可以包括:本地存储器,用以临时存储和管理所创建的子组108、110和112、与每个计算设备106相关联的等待时间值、当前连接的计算设备106、所识别的中继设备等等。

在一个实现方式中,协作控制器204通过经由通信设备206建立的相应连接与远程定位的计算设备106中的每一个进行通信。协作控制器204可以使用所建立的连接来测量等待时间(例如,经由ping过程)或带宽,并且接收计算设备106中的每一个的子网或ip地址。协作控制器204可以基于计算设备106中的每一个的子网或ip地址将多个计算设备106分组为子组108、110和112。然后,协作控制器204可以将在相应子组108、110和112内具有最低等待时间或最高带宽的计算设备106识别为该子组108、110或112的中继设备。

一旦识别出中继设备,协作控制器204就可以通知未被识别为中继设备的全部剩余计算设备106连接到相应子组108、110或112内的中继设备。协作控制器204可以等待已与相应中继设备建立连接的确认,然后断开与剩余远程计算设备的连接。

在一个实现方式中,协作控制器204可以周期性地ping或将数据直接传送到计算设备106,以获得计算设备106中的每一个的当前等待时间或带宽。例如,协作控制器204可以临时地重新建立到全部计算设备106的连接,以获得或测量当前等待时间或带宽。

在一些实现方式中,由发送机器102托管的协作项目或会话可以是实时的。因此,协作控制器204可以基于与发送机器102通信的中继设备的所测量的等待时间值来同步图像数据(例如,计算设备106和主要机器104的用户的实时视频)、cad数据等等。换言之,图像数据(例如,视频)可以被延迟到被识别为具有更快连接的中继设备的计算设备106,同时将视频中继到子组108、110和112内的其他计算设备106。可以基于相应的等待时间和带宽值来计算每个中继设备处的延迟量。例如,由于不同的等待时间或带宽值,被识别为中继设备的每个计算设备106可能具有不同的延迟量。结果,被连接到发送机器102的中继设备之间的滞后应当被最小化。

图3图示了用于创建具有相应中继设备的多个子组的示例方法300的流程图。在一个示例中,方法300可以由图1和2中图示的发送机器102或下面图5中描述的装置500来实行。

在块302处,方法300开始。在块304处,方法300建立与多个远程计算设备的相应连接。例如,主要机器可以在发送机器上发起协作项目或会话。然后,主要机器可以向多个远程计算设备发送通知或消息,其具有关于如何经由发送机器而连接到发送机器的信息(例如,链接、发送机器的ip地址等等)。在另一示例中,主要机器可以将通知直接发送到远程计算设备。

然后,发送机器可以与远程计算设备中的每一个建立相应连接。例如,每个远程计算设备可以基于被发送到远程计算设备的信息来请求与发送设备的连接。

在块306处,方法300基于公共网络将多个远程计算设备分组为多个子组。在一个示例中,当与远程计算设备建立连接时,每个远程计算设备可以向发送机器提供关于相应计算设备的信息。例如,每个计算设备可以向发送机器提供网络信息。网络信息可以包括ip地址、子网、地理位置等等。

在一个示例中,可以基于子网、ip地址、地理位置等将计算设备布置或创建为子组。例如,可以假设同一子网内的计算设备可以处于公共局域网内。结果,同一子网内的计算设备之间的连接速度可以比与对发送机器的连接速度更快。

在块308处,方法300在多个子组中的每一个内将远程计算设备识别为中继设备,该中继设备在相应子组内与发送机器具有最佳连接。在一个示例中,可以基于发送机器与远程计算设备中的每一个之间的、可以测量的等待时间或带宽。例如,发送机器可以在与远程计算设备中的每一个建立的相应连接上实行ping操作,以获得相应的等待时间或带宽值。

相应子组内的具有最低等待时间或最高带宽的远程计算设备可以被识别为具有最佳连接并且被识别为中继设备。中继设备可以保持直接连接到发送机器,并且负责将从发送机器接收到的全部数据转发到相应子组内的其他计算设备。

在块310处,方法300将未被识别为中继设备的剩余远程计算设备的连接重新定向到相应子组内被识别为中继设备的远程计算设备。例如,发送机器可以通知未被识别为中继设备的剩余计算设备建立与相应子组内的中继设备的连接。发送机器可以等待已与中继设备建立连接的确认,然后断开与未被识别为中继设备的剩余计算设备的连接。在块312处,方法300结束。

图4图示了用于连续监控多个子组的示例方法400的流程图。在一个示例中,方法400可以由图1和图2中图示的发送机器102或下面图5中描述的装置500来实行。

在块402处,方法400开始。在块404处,方法400确定是否连接了新计算设备或断开了当前中继设备。例如,在创建初始的子组并且在上面的方法300中识别出初始的中继设备之后,新计算设备可以尝试连接到发送机器,或者中继设备可以与发送机器断开连接。

如果块404的答案为是,则方法400可以前进至块412,其中方法400重复上面图3中描述的方法300。然后,方法400可以往回循环到块404。在一些实现方式中,当连接了新计算设备时,方法400可以简单地将新的远程计算设备分配给已创建的子组之一,并且确定对新的远程计算设备的连接的等待时间或带宽。如果等待时间低于对相应子组内的当前识别的中继设备的等待时间或者带宽较高,则可以将新的远程计算设备识别为新中继设备。

如果块404的答案为否,则方法400可以前进至块406。在块406处,方法400周期性地ping或将数据发送到多个远程计算设备中的每一个,以获得多个远程计算设备中的每一个的当前等待时间或带宽。例如,发送机器可以从初始的连接获得每个计算设备的信息,以临时地重新建立连接来测量当前等待时间或带宽。

在块408处,方法400确定子组内的不同远程计算设备是否比子组内的当前为中继设备的远程计算设备具有更低的等待时间或更高的带宽。例如,第一远程计算设备最初可能已被识别为第一子组内的中继设备。在稍后的时间,发送机器可以确定第一子组内的第二远程计算设备比第一远程计算设备具有更低的等待时间或更高的带宽。

如果块408的答案为否,则方法400可以往回循环到块404并且继续监控多个子组。然而,如果块408的答案为是,则方法400可以继续到块410。在块410处,方法400将不同的远程计算设备识别为子组内的新中继设备。

使用上面在块408中描述的示例,可以将具有较低当前等待时间或较高当前带宽的第二远程计算设备识别为新中继设备。结果,第二远程计算设备可以直接与发送机器建立连接。第一子组中的第一远程计算设备和剩余远程计算设备(如果有的话)可以直接连接到第二远程计算设备。然后,第一远程计算设备可以与发送机器断开连接。

然后,方法400可以往回循环到块404以连续监控多个子组。在一个实现方式中,方法400可以连续循环,直到由发送机器托管的协作会话结束为止。

图5图示了装置500的示例。在一个示例中,装置可以是发送机器102。在一个示例中,装置500可以包括处理器502和非暂时性计算机可读存储介质504。该非暂时性计算机可读存储介质504可以包括指令506、508和510,该指令506、508和510当由处理器502执行时使处理器502实行各种功能。

在一个示例中,指令506可以包括用以响应于相应连接请求建立来自多个远程计算设备的相应连接请求的指令。指令508可以包括用以从相应连接请求获得对发送机器的相应连接质量以及多个远程计算设备中的每一个的相应网络标识的指令。例如,对发送机器的相应连接质量可以基于从多个远程计算设备中的每一个获得的等待时间或带宽值。相应网络标识可以包括多个远程计算设备中的每一个的相应子网、ip地址或地理位置。指令510可以包括用以创建多个子组的指令,其中多个子组中的每一个包括共享相应网络标识的多个远程计算设备中的一些并且具有被识别为中继设备的远程计算设备,该中继设备在相应子组内与发送机器具有最佳相应连接质量。

将领会的是,以上公开的变体以及其他特征和功能或其替换方案可以被组合到许多其他不同的系统或应用中。本领域技术人员随后可以进行各种目前不可预见或未预料到的替换、修改、变化或改进,这些也意图被以下权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1