第三方发起远程方之间的通信的制作方法

文档序号:7785847阅读:136来源:国知局
专利名称:第三方发起远程方之间的通信的制作方法
技术领域
本发明涉及第三方发起远程方之间的通信。
背景技术
日益常见的是,家庭拥有一个以上计算机,并且这些机器处于家庭网络上。大多数家庭具有台式计算机、膝上型计算机、家庭影院PC(HTPC)形式的多个计算机,以及包含诸如游戏控制台、移动电话和嵌入式设备之类的常见计算硬件的非传统计算设备(例如机顶盒、路由器和其他设备)。家 庭网络可以包括一种以上连接类型,比如到一些设备的有线以太网连接、以及到其他设备的无线Wi-Fi连接。一些设备还使用诸如USB连接或蓝牙之类的其他技术进行通信。其他环境可以包括类似的特性,比如小办公室。用户常常利用多个设备工作以执行特定任务。这些任务常常包括将大量数据从一个设备移动到另一设备。例如,用户可以在家庭影院PC上记录电视节目;将这些节目传送给家庭服务器,在那里,这些节目被代码转换成一个或多个更小的格式;以及然后将经代码转换的文件复制到移动设备以用于在途中观看这些电视节目。用户还执行备份,其中备份包括将大量数据从一个计算设备复制到备份计算设备,比如家庭服务器或网络附连存储(NAS)设备。当访问存储在服务器计算机上的文件和数据时,客户端机器使用诸如网络文件系统(NFS)或服务器消息块(SMB/CIFS)之类的网络文件系统协议,所述协议提供读取、写入和枚举文件的操作。客户端计算机频繁地与一个以上文件服务器交互。如果客户端希望将文件从一个服务器移动或复制到另一服务器,则客户端通常会从一个服务器将文件读取到其本地存储器中,并且然后将该文件内容写入到第二服务器中。因此,该数据两次穿越该网络。如果网络展示出低带宽(无线/调制解调器)或者高等待时间(卫星/WAN),则该过程既慢又低效。可能在两个服务器之间时常存在更直接的快速路径,但是当前操作系统和文件系统未提供使用该路径的任何方式。

发明内容
在此描述了一种数据传输系统,其允许在第三方客户端计算机的请求下在两个计算设备之间直接发送数据。该系统允许第三方发起网络文件系统中的计算机之间的数据传输。这导致显著的速度提高,因为极少或没有数据通过第三方的可能较慢的连接来传播。该数据传输系统提供一种用于基于每个计算设备之间的带宽和等待时间的度量来确定直接传输是否比两个分开的读取和写入操作更有效的机制。可替代或附加地,每个计算设备都可以参与简短的基准测试过程以汇集关于各个连接的统计数据。该数据传输提供了源服务器在第三方客户端的引导下对数据进行压缩、以及目的地服务器对数据进行解压缩的支持,以进一步节省网络带宽。该数据传输系统将传统的文件系统协议扩展为支持如下操作该操作允许客户端C请求服务器A从存储在服务器A上的文件Fa中读取数据并且将写入操作直接发送给服务器B以将该数据传输给文件Fb。因此,当直接位于第三方计算机之间的更快速的网络连接可用时,该数据传输系统减少了通过第三方计算机之间的低效网络进行的数据传输。提供本发明内容以便以简化的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。


图I是示出在一个实施例中的数据传输系统的各组件的框图。 图2是示出一个实施例中的用于在第三计算设备的引导下在两个计算设备之间传输文件的数据传输系统的处理的流程图。图3是示出一个实施例中的用于收集基准测试信息以构建用于选择连接以供传输数据的连接优选表的数据传输系统的处理的流程图。图4是示出一个实施例中的数据传输系统的示例性操作环境的框图。
具体实施例方式在此描述了一种数据传输系统,其允许在第三方客户端计算机的请求下在两个计算设备之间直接发送数据。该系统允许第三方发起网络文件系统中的计算机之间的数据传输。例如,如果通过慢速Wi-Fi连接而连接到家庭网络的膝上型计算机上的用户请求将大文件从服务器A传输给服务器B,并且服务器A和B通过快速网络连接相连接,则该膝上型计算机可以请求服务器A将该数据直接传输给服务器B而不将该数据首先路由到该膝上型计算机。这导致显著的速度提高,因为极少或没有数据通过膝上型计算机的慢速连接来传播。该数据传输系统提供一种用于基于每个计算设备之间的带宽和等待时间的度量来确定直接传输是否比两个分开的读取和写入操作更有效的机制。例如,上一示例中的膝上型计算机和两个服务器的操作系统可以维护关于每个系统间的传输速度的统计数据。可替代或附加地,每个计算设备都可以参与简短的基准测试过程以汇集关于各个连接的统计数据。在一些实施例中,该数据传输系统提供了服务器A对数据进行压缩、以及服务器B 对数据进行解压缩的支持,以节省网络带宽。这可以在网络比由于在每次通信结束时的压缩和解压缩所引入的等待时间开销更慢的情况下导致更快速的传输。该系统还可以使用差异压缩来仅仅发送服务器B还未具有的数据部分。例如,如果A和B频繁地交换经更新的文件,则文件的许多部分可能已经在B处可用,使得A不需要发送这些部分。该数据传输系统使用类似的机制来执行有效的复制,比如将相同的数据写入到一个以上文件服务器。该数据传输系统将传统的文件系统协议扩展为支持如下操作该操作允许客户端 C请求服务器A从存储在服务器A上的文件Fa中读取数据并且将写入操作直接发送给服务器B以将该数据传输给文件Fb。现有协议将以下面的伪码为例的消息用于这种类型的传输。C to A ReadRequest (FileA,offset 100)A to C ReadReponse (Data)C to B WriteRequest (FileB,offset 200,Data)B to C WriteResponse (OK)
使用该数据传输系统,该对话如下面的伪码所示那样改变。C to A ReadffriteRequest (FileA, offset 100, ServerB, FileB, offset200)A to B WriteRequest (FileB, offset 200,Data)B to C ReadffriteResponse(OK)存在该对话的许多 替代方案,例如其中A向C发送读取响应,并且B向C发送写入响应。可替代地,B的响应可以被发送给A,A将其转发给C。另一替代方案是数据以相反方向被复制、即C要求A从B读取数据并将其在A写入的情况。客户端C可以预先与A和B协商以确定各个网络性能特性并且创建A与C之间的会话/连接,由此B信任A在充当C的情况下执行操作。这使得能够省略上面的消息中的一些参数。C、A和B使用公知技术(例如“分组对”、查验(ping)、tracert)来确定三个网络路径的带宽和等待时间、并且确定A与C之间的直接传输是否将导致性能改善。可替代地,微软 的链路层拓扑发现(LLTD)机制允许联网设备构建家庭网络的地图并且确定每个链路的瓶颈带宽。以一些附加的中央处理单元(CPU)时间为代价,该系统可以在A处对数据进行压缩并在B处对数据进行解压缩,从而导致更少的数据通过网络被发送,但是仅导致稍微更高的等待时间。因此,当直接位于第三方计算机之间的更快速的网络连接可用时, 该数据传输系统减少了通过第三方计算机之间的低效网络进行的数据传输。该数据传输系统所面临的两个其他的考虑因素涉及非对称连接和安全凭证。非对称连接是指可能发生在现代联网中的情况,其中计算机A可以与计算机B通信并且计算机B 可以与计算机C通信,但是计算机A不能与计算机C通信。这例如可能在计算机B和C处于网络地址转换器(NAT)之后、而计算机A连接到公共因特网连接时发生。在一些情况下, 计算机B可以是微软TMWind0WS 家庭服务器或者专用于家庭之外的外部访问的其他计算机。计算机B可以通过路由器被放置在非军事化区域(DMZ)中,或者能够直接接收外部网络连接,而计算机C不能。在这种情况下,从家庭之外连接的计算机A在传统系统中完全不能在计算机B与C之间复制文件(因为A可以直接访问B而不是C)。然而,使用该数据传输系统,这样的传输在计算机B确定有从B直接到C的连接可用时是可能的(因为二者都连接在防火墙之后的相同家庭网络内)。第二个考虑因素是安全凭证。当计算机A将文件传输给计算机C时,计算机C使用计算机A的凭证来检查计算机A或用户,验证所请求的操作是被许可的,并且然后执行该操作。当计算机A使用在此所述的文本传输系统来引导计算机B将文件或其他资源传输给计算机C时,计算机B保证与计算机A相同或者至少具有类似权限的凭证被用于到计算机 C的传输。否则,计算机A将能够绕开普通的安全限制。在一些实施例中,计算机A向计算机B标识出安全主体以用于执行该传输,为了使计算机B满意而认证该安全主体,并且然后计算机B模仿该安全主体以用于到计算机C的传输。通过这样做,计算机C可以执行其传统上执行的相同授权检查,并且计算机B将能够仅仅在计算机A的请求下才执行计算机A 本来能够自己执行的那些操作。这被常常在微软 Wind0WSTM设定中被称为模仿。在安全机制允许代表特权或者在访问控制基于能力的环境中,其他实施方式是可能的。图I是示出在一个实施例中的数据传输系统的各组件的框图。系统100包括请求接收组件110、连接查询组件120、连接基准组件130、连接选择组件140、凭证模仿组件 150、经引导传输组件160、以及结果处理组件170。这些组件中的每一个都在此处进一步详细讨论。请求接收组件110在源服务器处从引导客户端接收包含要传输给目的地服务器的数据的请求。该请求可以包括标识出该数据(例如文件路径或其他标识符)、要传输的数据的一部分(例如文件偏移量、数据大小或该数据的部分或全部的其他规范)、与该引导客户端或该引导客户端的用户相关联的一组安全凭证等等的参数。引导客户端从运行在该客户端上的应用接收将数据从源服务器传输给目的地服务器的请求。存在许多方式供该系统确定是否和何时使用经引导的传输。在一些实施例中,客户端向源服务器发送确定该源服务器是否支持经引导的传输的请求,其中经引导的传输将允许该源服务器代表引导客户端将数据直接发送给目的地服务器,而不必首先将该数据发送给引导客户端。如果源服务器支持经引导的请求(并且源服务器到目的地服务器的连接比客户端到源服务器和目的地服务器二者的连接都要快),则客户端引导源服务器完成到目的地服务器的直接传输。 使用该机制的判定可以在开始时被做出一次,并且然后周期性地、或者在这些机器中的任何一个注意到网络条件的改变以后被检查。该判定可以不通过与服务器A或B进行对话来做出,有时(例如利用LLTD协议),网络上的所有机器都能够确定和分析网络拓扑和带宽。连接查询组件120查询一个或多个网络以标识出计算设备并且确定哪些计算设备可以通过哪些网络到达彼此。例如在家庭环境中,可能存在有线和无线网络,这些网络可以从引导客户端通过如下方式被标识出在每个网络上广播数据;或者连接到使用动态主机配置协议(DHCP)向该网络上的每个计算设备提供因特网协议(IP)地址的路由器。LLTD和/或BAND协议还可以用于发现网络信息。在标识出计算设备和它们连接的方式以后,该系统可以继续收集关于每个潜在的连接的统计数据。连接基准组件130对计算设备之间的一个或多个可能的连接执行一个或多个测试以确定所述连接的一个或多个数据传输能力。例如,该系统可以执行查验测试、分组对测试或其他测试,这些测试被设计为确定每个连接的带宽、等待时间、缓冲区容量、以及影响数据传输速率的其他网络参数。该系统可以在每个计算设备上安装代理(比如LLTD响应器),或者每个设备都可以具有经修改的操作系统,该经修改的操作系统允许该系统引导每个计算设备执行从该设备到另一设备的基准测试。在完成以后,该系统可以构建连接优选表,该连接优选表将可用连接按照其数据传输能力进行排列。连接选择组件140根据一个或多个性能标准从一个或多个可能的连接中选择将允许完成所请求的传输的连接。通常,所述性能标准尝试在最小的时间量中完成该传输。然而,其他考虑因素可能导致诸如下列其他的性能标准使用更慢的空闲连接来完成该传输而不必消耗更多宝贵的高速带宽;通过使用更低电池电能的连接类型来完成该传输;在一天中的空闲时间段中完成该传输等等。连接选择组件140选择将进行该传输的连接,并且通知引导客户端,使得该客户端可以请求所选连接。在一些情况下,该系统维护事先确定的连接优选表,并且该系统在传输的时间咨询该表以选择所标识出的一组服务器之间的最快速的连接。 凭证模仿组件150为源服务器创建模仿引导客户端的凭证的凭证。引导客户端可以提供一组凭证,或者源服务器可以自动确定这些凭证。在一些情况下,源服务器可以从引导客户端请求诸如口令之类的附加信息,使得该源服务器可以代表该客户端使用正确的一组凭证将数据传输给目的地服务器。这防止了引导客户端完成该引导客户端未被授权执行的动作,即使源服务器能够被授权执行这些动作。经引导传输组件160从引导客户端向源服务器发送将数据直接从源服务器发送给目的地服务器而不首先将数据发送给引导客户端的请求。如果各服务器间是通过快速网络连接的并且客户端通过慢速网络连接到这些服务器,则经引导的传输通常将比传统上首先传输给客户端完成得快得多。经引导传输组件160可以包括为了允许经引导的传输而对与源服务器的网络相关的软件进行的修改,比如对SMB和/或NFS层的修订以允许第三方引导从源服务器到其他服务器的传输。在一些实施例中,经引导传输组件160请求数据压缩或其他控件节省技术以用于进一步提高数据传输性能。尽管在此被标识为客户端和服务器,但是本领域普通技术人员能够认识到,任何计算设备都可以有时充当客户端,并且在其他时候充当服务器,并且这些指定不表示每个计算设备的任何特定能力或者缺乏能力。结果处理组件170管理传输的结果到引导客户端的返回。以前,引导客户端本应该执行每个动作,并且本应该直接从每个服务器接收传输的结果。使用数据传输系统100,引导客户端在最初请求传输数据以后在很大程度上处于对话之外(但是该系统可以提供进度消息),并且因此将不是传输结果的第一接收者。例如,如果发生任何错误,或者如果传输成功完成,则目的地服务器将通知源服务器,但是由源服务器来将该信息传达给引导客户端。因此,源服务器可以跟踪关于每个传输的状态信息,该状态信息标识出源服务器是代表谁执行该传输的,使得源服务器可以将传输的结果提供给引导客户端。源服务器和/或引导客户端可以包括用于重试或其他错误处理的逻辑。上面实现数据传输系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和定点设备)、输出设备(例如,显示设备)和存储设备(例如,盘驱动器或其他非易失性存储介质)。存储器和存储设备是可以用实现或启用该系统的计算机可执行指令(例如,软件)来编码的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传送介质发送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、月艮务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码照相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备、机顶盒、片上系统(SOC)等中任一种的分布式计算环境等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程消费电子设备、数码相机等。该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。图2是示出一个实施例中的用于在第三计算设备的引导下在两个计算设备之间传输文件的数据传输系统的处理的流程图。在框210开始,该系统从引导客户端接收请求在源服务器与目的地服务器之间直接传输数据的传输请求。例如,该客户端可以通过Wi-Fi 连接到家庭网络,并且可以发送请求以询问源服务器是否具有比该客户端更好的到目的地服务器的连接,该连 接将允许更快速地完成该传输。该传输可以标识出诸如文件之类的作为传输对象的数据。该请求可以以多种方式发出。例如,处于引导客户端处的用户可以使用命令行解释器(shell)程序(例如微软tmWINDOWStm Explorer)来查看源服务器上的文件。 用户可以使用复制粘贴操作来请求将一个或多个文件从源服务器复制到目的地服务器。继续框220,该系统确定与该传输请求相关联的将在进行该传输时所代表的安全凭证。如果源服务器最终直接执行该传输,则源服务器使用该安全凭证来代表引导客户端进行动作。源服务器可以向引导客户端查询安全凭证,或者将该凭证作为传输请求的一部分来接收。继续框230,该系统可以查询一个或多个网络以标识出引导客户端、源服务器和目的地服务器之间的连接。该系统可以通过如下方式进行查询在源服务器处查找DNS高速缓存信息;向路由器或其他源查询网络信息;或者广播以标识出其他网络设备。源服务器还可以在各个网络(例如Wi-Fi网络和有线网络)上直接查验引导客户端和目的地服务器以确定源服务器可以如何到达其他计算设备。继续框240,该系统测量所标识出的连接,以基于网络性能对所述连接进行排序。 例如,该系统可以确定有线网络比无线网络具有更高的吞吐量;或者在有线网络上具有千兆比特网络接口卡(NIC)的两个计算机比两个中的一个具有100兆NIC的两个计算机更快。该系统使用本领域公知的各种技术来测量连接,比如查验测试或者测量带宽、等待时间和其他网络参数的其他速度测试。继续框250,该系统基于每个连接的所测得的网络性能来选择执行该传输的连接。 例如,如果该系统确定源服务器比引导服务器具有到目的地服务器的更高吞吐量连接,则该系统将选择源服务器直接执行该传输。在一些情况下,该客户端可以具有到目的地服务器的更佳连接,或者源服务器可能根本不具有到目的地的连接,在这种情况下,引导客户端将以传统方式通过首先将数据传输给客户端、然后传输给目的地服务器来执行该传输。继续框260,该系统模仿所确定的安全凭证,使得该传输可以从源服务器使用与在引导客户端执行该传输的情况下的凭证类似的凭证进行。模仿凭证常常对单个计算设备执行,但是可以扩展为在网络上工作。在家庭网络的情况下,每个计算设备都可以使用类似的一组用户帐户和口令,使得一个计算设备单单通过知道使用哪个用户帐户就可以模仿另一计算设备。在其他情况下,该系统可以将认证信息从一个计算设备传输给另一计算设备以允许模仿,或者可以使用Kerberos或其他认证服务器来提供对该请求是从引导客户端发出的验证。继续框270,该系统代表引导客户端将数据直接从源服务器传输给目的地服务器, 而不必将数据首先传输给引导客户端。直接传输数据将加快传输,并且避免首先将数据传输给客户端的冗余步骤。更重要的是,该传输通过经由两个服务器之间的快速网络连接完成该传输而避免了客户端可能慢的网络连接。继续框280,该系统向引导客户端报告传输的结果。源服务器将该数据传输给目的地服务器,并且由此接收关于该传输的进度以及该传输的最终结果的信息。源服务器将该信息提供给引导客户端,使得该客户端可以要么确认传输的成功完成,要么以引导客户端所确定的方式处理任何错误。在框280之后,这些步骤结束。图3是示出一个实施例中的用于收集基准测试信息以构建用于选择连接以供传输数据的连接优选表的数据传输系统的处理的流程图。从框310开始,该系统标识出通过一个或多个网络附连的一个或多个计算设备。该网络可以包括家庭或小办公室内的网络,所述网络通过以太网、Wi-Fi或其他联网技术来连接计算机系统。设备还可以通过公共网络来连接,比如可以通过3G或其他蜂窝数据连接来访问家庭网络的电话。该系统可以通过广播请求、查询网络信息的源(例如路由器或DNS服务器)等等来标识出计算设备。继续框320,该系统生成所标识出的计算设备之间的连接的一个或多个组合。例如,该系统可以确定可用计算设备的每种排列,并且确定是否可以通过经由所选网络查验目的地计算设备来做出连接。一些设备可能通过多个网络(例如冗余NIC、有线和Wi-Fi等等)被连接,并且每个网络都表示单独的连接组合。继续框330,该系统选择所生成的第一组合。在随后的迭代中,该系统选择下一组合。尽管为便于说明而是串行示出的,但是本领域普通技术人员能够认识到,该系统可以并行地测试多个连接组合以加快基准测试过程。继续框340,该系统基于由所选组合标识出的源计算设备和目标计算设备来建立连接。该连接可以包括传输控制协议(TCP)或用于传输测试数据的其他连接以测量连接的性能。继续框350,该系统通过如下方式执行连接测试发送一个或多个测量数据传输,以评价所选连接的网络能力。所测量的能力可以包括带宽、等待时间、缓冲区大小、对特性的支持(例如报头压缩、选择性确认等)等等。继续框360,该系统将基准测试结果存储在连接优选表中,该连接优选表可以被访问以用于确定如下连接该连接可选择用于在任何两个所标识出的计算设备之间执行传输,而无论该传输是哪个计算设备发起的。继续框370,如果存在更多的组合,则系统循环到框330以选择下一组合。继续框380,该系统对经排列的连接优选表进行排列以提供对具有最快网络能力的连接的优选。例如,该系统可以按带宽或者根据带宽或其他网络参数确定的分数来对该表进行排列。每个计算设备都可以高速缓存网络优选表以在进行传输时用于确定可选择用于该传输的最快连接。在框380之后,这些步骤结束。图4是示出一个实施例中的数据传输系统的示例性操作环境的框图。该图包括引导客户端410、源服务器420和目的地服务器430。引导客户端410处的用户可以执行各种动作,包括请求将文件从源服务器420传输给目的地服务器430。这是包括家庭、小办公室或甚至数据中心在内的多种网络设定中的常见操作。遗憾的是,引导客户端410通过慢速网络440连接到源服务器420。网络440可以是无线连接、经由因特网的虚拟专用网络(VPN)连接、或者某种其他类型的相对慢速的连接。如今,文件传输通信在两方之间进行,并且客户端被迫首先将数据从源服务器420传输给引导客户端410,并且然后从引导客户端419传输给目的地服务器430。遗憾的是,引导客户端410还通过慢速网络450连接到目的地服务器430,使得数据传输的总体速度将是非常慢的,并且完成该传输将花费非常长的时间。使用在此所述的数据传输系统,引导客户端410可以指示源服务器420使用源服务器420与目的地服务器430之间的快速网络460将数据直接传输给目的地服务器430。这将大大加快该传输,并且甚至可以允许客户端在传输完成时断开或者做其他事情。在一些实施例中,该数据传输系统允许引导客户端发起数据传输并且在没有来自该客户端进一步干预的情况下完成该数据传输。该客户端可以从网络断开以及执行其他任务(例如由于离开家而断开膝上型计算机,其中该膝上型计算机连接到本地家庭Wi-Fi网络)。该客户端可以之后返回并且从源服务器请求传输的结果,或者直接检查该文件或其他数据是否存在于目的地服务器上。这允许客户端引导多个操作而不必被束缚于等待操作完成。在一些实施例中,该数据传输系统允许客户端请求源服务器确定数据压缩被用于该传输。数据压缩可以有助于在数据包括冗余信息的情况下加快文件传输,其中所述冗余信息很好地压缩以产生较小的数据大小来通过该网络进行传输。数据压缩还在通过网络传输目录或许多小数据项的其他源时是有帮助的。正常情况下,每个文件都是单独地传输的,这涉及用于设置和执行每个传输的开销。通过对数据进行压缩,该系统可以产生可在一个操作中传输的一个文件或数据项。然后,目的地服务器对经压缩的数据进行解压缩以完成该传输。将整个目录压缩成ZIP或TAR文件还将避免用于在源处枚举文件并在目的地处重新创建这些文件的许多同步目录操作。在一些实施例中,该数据传输系统从目的地服务器向引导客户端发送验证弓丨导客户端的凭证的请求。目的地服务器可能未对源服务器信任得足以允许源服务器代表引导客户端进行动作。因此,目的地服务器可以在传输的设置阶段连接到引导客户端以保证引导客户端已授权该传输或者直接从弓I导客户端获得安全凭证。尽管大量数据直接在源服务器于目的地服务器之间流动,但是在小数据查询的许多情况下仍然可以到达引导客户端,t匕如在对性能不产生明显影响的情况下设置操作这一情况。从上文将会认识到,虽然在此已出于说明目的描述了数据传输系统的具体实施例,但是可以做出各种修改而不背离本发明的精神和范围。因此,本发明只受所附权利要求限制。
权利要求
1.一种计算机实现的用于在第三计算设备的引导下在两个计算设备之间传输数据的方法,该方法包括 从引导客户端接收(210)请求在源服务器与目的地服务器之间直接传输数据的传输请求; 查询(230) —个或多个网络以标识出所述引导客户端、源服务器和目的地服务器之间的连接; 測量(240)所标识出的连接以基于网络性能对所述连接进行排序; 至少部分地基于每个连接的所测量的网络性能来选择(250)用于执行所述传输的连接; 代表所述引导客户端将数据直接从所述源服务器传输(270)给所述目的地服务器,而不必将所述数据首先传输给所述引导客户端;以及 向所述引导客户端报告(280)所述传输的结果; 其中前述步骤由至少ー个处理器来执行。
2.如权利要求I所述的方法,其特征在于,接收所述传输请求包括确定所述源服务器与所述客户端相比是否具有到所述目的地服务器的更佳的连接,该更佳的连接将允许所述传输更快地完成。
3.如权利要求I所述的方法,其特征在于,接收所述传输请求包括确定所述源服务器是否支持用于代表所述引导客户端将数据从所述源服务器直接传输给所述目的地服务器的经引导的协议。
4.如权利要求I所述的方法,其特征在于,还包括确定与所述传输请求相关联的将在进行所述传输时所代表的凭证,并且模仿所确定的凭证,使得所述传输能够从所述源服务器使用与在所述引导客户端执行所述传输的情况下的凭证类似的凭证进行,其中确定安全凭证包括向所述引导客户端查询该安全凭证。
5.如权利要求I所述的方法,其特征在干,查询ー个或多个网络包括向路由器或其他源查询网络信息以标识出附连到该网络的计算设备。
6.如权利要求I所述的方法,其特征在于,測量所标识出的连接包括确定每个连接的带宽和等待时间。
7.如权利要求I所述的方法,其特征在于,在确定所述源服务器比所述引导服务器具有到所述目的地服务器的更高吞吐量连接以后,选择所述源服务器直接执行所述传输。
8.如权利要求I所述的方法,其特征在于,模仿安全凭证包括将认证信息从所述引导客户端传输给所述源服务器。
9.如权利要求I所述的方法,其特征在于,模仿安全凭证包括将认证信息从所述引导客户端传输给所述目的地服务器。
10.如权利要求I所述的方法,其特征在于,传输数据包括通过经由所述两个服务器之间的较快的网络连接完成所述传输来避免所述客户端的较慢网络连接。
11.如权利要求I所述的方法,其特征在于,包括所述结果包括在所述引导客户端处从所述源服务器接收指定所述传输的进度的信息。
12.一种用于执行对远程方之间的通信的第三方发起的计算机系统,该系统包括 被配置成执行包含在以下组件内的软件指令的处理器和存储器;请求接收组件(110),该请求接收组件(110)在源服务器处从引导客户端接收包含要传输给目的地服务器的数据的请求; 连接查询组件(120),该连接查询组件(120)查询ー个或多个网络以标识出计算设备并且确定哪些计算设备能够通过每个网络到达彼此; 连接选择组件(140),该连接选择组件(140)根据ー个或多个性能标准从ー个或多个可能的连接中选择将允许完成所请求的传输的连接; 经引导传输组件(160),该经引导传输组件(160)从所述引导客户端向所述源服务器发送将数据直接从所述源服务器发送给所述目的地服务器而不首先将数据发送给所述引导客户端的请求;以及 结果处理组件(170),该结果处理组件(170)管理所述传输的结果到所述引导客户端的返回。
13.如权利要求12所述的系统,其特征在于,该请求接收组件利用所述请求接收包括下列项目至少之ー的參数要传输的数据的标识符;要传输的数据的一部分;以及与所述引导客户端相关联的ー组安全凭证。
14.如权利要求12所述的系统,其特征在于,还包括连接基准测试组件(130),该连接基准测试组件(130)对计算设备之间的ー个或多个可能的连接执行ー个或多个测试以确定所述连接的ー个或多个数据传输能力,其中该连接基准测试组件执行测试以确定每个连接的带宽和等待时间。
15.如权利要求12所述的系统,其特征在于,还包括凭证模仿组件(150),该凭证模仿组件(150)为所述源服务器创建模仿所述引导客户端的那些凭证的凭证。
全文摘要
本发明涉及第三方发起远程方之间的通信。在此描述了一种数据传输系统,其允许在第三方客户端计算机的请求下在两个计算设备之间直接发送数据。该系统允许第三方发起网络文件系统中的计算机之间的数据传输。这导致显著的速度提高,因为极少或没有数据通过第三方的可能较慢的连接来传播。该数据传输系统提供一种用于基于每个计算设备之间的带宽和等待时间的度量来确定直接传输是否比两个分开的读取和写入操作更有效的机制。该数据传输提供了源服务器在第三方客户端的引导下对数据进行压缩、以及目的地服务器对数据进行解压缩的支持,以进一步节省网络带宽。
文档编号H04L29/06GK102624695SQ20111042779
公开日2012年8月1日 申请日期2011年12月19日 优先权日2010年12月20日
发明者P·巴勒姆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1