CN102624695A - 第三方发起远程方之间的通信 - Google Patents

第三方发起远程方之间的通信 Download PDF

Info

Publication number
CN102624695A
CN102624695A CN2011104277931A CN201110427793A CN102624695A CN 102624695 A CN102624695 A CN 102624695A CN 2011104277931 A CN2011104277931 A CN 2011104277931A CN 201110427793 A CN201110427793 A CN 201110427793A CN 102624695 A CN102624695 A CN 102624695A
Authority
CN
China
Prior art keywords
transmission
data
server
connection
guiding
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.)
Granted
Application number
CN2011104277931A
Other languages
English (en)
Other versions
CN102624695B (zh
Inventor
P·巴勒姆
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102624695A publication Critical patent/CN102624695A/zh
Application granted granted Critical
Publication of CN102624695B publication Critical patent/CN102624695B/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
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及第三方发起远程方之间的通信。在此描述了一种数据传输系统,其允许在第三方客户端计算机的请求下在两个计算设备之间直接发送数据。该系统允许第三方发起网络文件系统中的计算机之间的数据传输。这导致显著的速度提高,因为极少或没有数据通过第三方的可能较慢的连接来传播。该数据传输系统提供一种用于基于每个计算设备之间的带宽和等待时间的度量来确定直接传输是否比两个分开的读取和写入操作更有效的机制。该数据传输提供了源服务器在第三方客户端的引导下对数据进行压缩、以及目的地服务器对数据进行解压缩的支持,以进一步节省网络带宽。

Description

第三方发起远程方之间的通信
技术领域
本发明涉及第三方发起远程方之间的通信。
背景技术
日益常见的是,家庭拥有一个以上计算机,并且这些机器处于家庭网络上。大多数家庭具有台式计算机、膝上型计算机、家庭影院PC(HTPC)形式的多个计算机,以及包含诸如游戏控制台、移动电话和嵌入式设备之类的常见计算硬件的非传统计算设备(例如机顶盒、路由器和其他设备)。家庭网络可以包括一种以上连接类型,比如到一些设备的有线以太网连接、以及到其他设备的无线Wi-Fi连接。一些设备还使用诸如USB连接或蓝牙之类的其他技术进行通信。其他环境可以包括类似的特性,比如小办公室。
用户常常利用多个设备工作以执行特定任务。这些任务常常包括将大量数据从一个设备移动到另一设备。例如,用户可以在家庭影院PC上记录电视节目;将这些节目传送给家庭服务器,在那里,这些节目被代码转换成一个或多个更小的格式;以及然后将经代码转换的文件复制到移动设备以用于在途中观看这些电视节目。用户还执行备份,其中备份包括将大量数据从一个计算设备复制到备份计算设备,比如家庭服务器或网络附连存储(NAS)设备。
当访问存储在服务器计算机上的文件和数据时,客户端机器使用诸如网络文件系统(NFS)或服务器消息块(SMB/CIFS)之类的网络文件系统协议,所述协议提供读取、写入和枚举文件的操作。客户端计算机频繁地与一个以上文件服务器交互。如果客户端希望将文件从一个服务器移动或复制到另一服务器,则客户端通常会从一个服务器将文件读取到其本地存储器中,并且然后将该文件内容写入到第二服务器中。因此,该数据两次穿越该网络。如果网络展示出低带宽(无线/调制解调器)或者高等待时间(卫星/WAN),则该过程既慢又低效。可能在两个服务器之间时常存在更直接的快速路径,但是当前操作系统和文件系统未提供使用该路径的任何方式。
发明内容
在此描述了一种数据传输系统,其允许在第三方客户端计算机的请求下在两个计算设备之间直接发送数据。该系统允许第三方发起网络文件系统中的计算机之间的数据传输。这导致显著的速度提高,因为极少或没有数据通过第三方的可能较慢的连接来传播。该数据传输系统提供一种用于基于每个计算设备之间的带宽和等待时间的度量来确定直接传输是否比两个分开的读取和写入操作更有效的机制。可替代或附加地,每个计算设备都可以参与简短的基准测试过程以汇集关于各个连接的统计数据。该数据传输提供了源服务器在第三方客户端的引导下对数据进行压缩、以及目的地服务器对数据进行解压缩的支持,以进一步节省网络带宽。该数据传输系统将传统的文件系统协议扩展为支持如下操作:该操作允许客户端C请求服务器A从存储在服务器A上的文件Fa中读取数据并且将写入操作直接发送给服务器B以将该数据传输给文件Fb。因此,当直接位于第三方计算机之间的更快速的网络连接可用时,该数据传输系统减少了通过第三方计算机之间的低效网络进行的数据传输。
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
图1是示出在一个实施例中的数据传输系统的各组件的框图。
图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    ReadWriteRequest(FileA,offset 100,ServerB,FileB,offset200)
A to B    WriteRequest(FileB,offset 200,Data)
B to C    ReadWriteResponse(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之间的直接传输是否将导致性能改善。可替代地,微软TM的链路层拓扑发现(LLTD)机制允许联网设备构建家庭网络的地图并且确定每个链路的瓶颈带宽。以一些附加的中央处理单元(CPU)时间为代价,该系统可以在A处对数据进行压缩并在B处对数据进行解压缩,从而导致更少的数据通过网络被发送,但是仅导致稍微更高的等待时间。因此,当直接位于第三方计算机之间的更快速的网络连接可用时,该数据传输系统减少了通过第三方计算机之间的低效网络进行的数据传输。
该数据传输系统所面临的两个其他的考虑因素涉及非对称连接和安全凭证。非对称连接是指可能发生在现代联网中的情况,其中计算机A可以与计算机B通信并且计算机B可以与计算机C通信,但是计算机A不能与计算机C通信。这例如可能在计算机B和C处于网络地址转换器(NAT)之后、而计算机A连接到公共因特网连接时发生。在一些情况下,计算机B可以是微软TMWindowsTM家庭服务器或者专用于家庭之外的外部访问的其他计算机。计算机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本来能够自己执行的那些操作。这被常常在微软TMWindowsTM设定中被称为模仿。在安全机制允许代表特权或者在访问控制基于能力的环境中,其他实施方式是可能的。
图1是示出在一个实施例中的数据传输系统的各组件的框图。系统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文件还将避免用于在源处枚举文件并在目的地处重新创建这些文件的许多同步目录操作。
在一些实施例中,该数据传输系统从目的地服务器向引导客户端发送验证引导客户端的凭证的请求。目的地服务器可能未对源服务器信任得足以允许源服务器代表引导客户端进行动作。因此,目的地服务器可以在传输的设置阶段连接到引导客户端以保证引导客户端已授权该传输或者直接从引导客户端获得安全凭证。尽管大量数据直接在源服务器于目的地服务器之间流动,但是在小数据查询的许多情况下仍然可以到达引导客户端,比如在对性能不产生明显影响的情况下设置操作这一情况。
从上文将会认识到,虽然在此已出于说明目的描述了数据传输系统的具体实施例,但是可以做出各种修改而不背离本发明的精神和范围。因此,本发明只受所附权利要求限制。

Claims (15)

1.一种计算机实现的用于在第三计算设备的引导下在两个计算设备之间传输数据的方法,该方法包括:
从引导客户端接收(210)请求在源服务器与目的地服务器之间直接传输数据的传输请求;
查询(230)一个或多个网络以标识出所述引导客户端、源服务器和目的地服务器之间的连接;
测量(240)所标识出的连接以基于网络性能对所述连接进行排序;
至少部分地基于每个连接的所测量的网络性能来选择(250)用于执行所述传输的连接;
代表所述引导客户端将数据直接从所述源服务器传输(270)给所述目的地服务器,而不必将所述数据首先传输给所述引导客户端;以及
向所述引导客户端报告(280)所述传输的结果;
其中前述步骤由至少一个处理器来执行。
2.如权利要求1所述的方法,其特征在于,接收所述传输请求包括:确定所述源服务器与所述客户端相比是否具有到所述目的地服务器的更佳的连接,该更佳的连接将允许所述传输更快地完成。
3.如权利要求1所述的方法,其特征在于,接收所述传输请求包括:确定所述源服务器是否支持用于代表所述引导客户端将数据从所述源服务器直接传输给所述目的地服务器的经引导的协议。
4.如权利要求1所述的方法,其特征在于,还包括:确定与所述传输请求相关联的将在进行所述传输时所代表的凭证,并且模仿所确定的凭证,使得所述传输能够从所述源服务器使用与在所述引导客户端执行所述传输的情况下的凭证类似的凭证进行,其中确定安全凭证包括:向所述引导客户端查询该安全凭证。
5.如权利要求1所述的方法,其特征在于,查询一个或多个网络包括:向路由器或其他源查询网络信息以标识出附连到该网络的计算设备。
6.如权利要求1所述的方法,其特征在于,测量所标识出的连接包括:确定每个连接的带宽和等待时间。
7.如权利要求1所述的方法,其特征在于,在确定所述源服务器比所述引导服务器具有到所述目的地服务器的更高吞吐量连接以后,选择所述源服务器直接执行所述传输。
8.如权利要求1所述的方法,其特征在于,模仿安全凭证包括:将认证信息从所述引导客户端传输给所述源服务器。
9.如权利要求1所述的方法,其特征在于,模仿安全凭证包括:将认证信息从所述引导客户端传输给所述目的地服务器。
10.如权利要求1所述的方法,其特征在于,传输数据包括:通过经由所述两个服务器之间的较快的网络连接完成所述传输来避免所述客户端的较慢网络连接。
11.如权利要求1所述的方法,其特征在于,包括所述结果包括:在所述引导客户端处从所述源服务器接收指定所述传输的进度的信息。
12.一种用于执行对远程方之间的通信的第三方发起的计算机系统,该系统包括:
被配置成执行包含在以下组件内的软件指令的处理器和存储器;
请求接收组件(110),该请求接收组件(110)在源服务器处从引导客户端接收包含要传输给目的地服务器的数据的请求;
连接查询组件(120),该连接查询组件(120)查询一个或多个网络以标识出计算设备并且确定哪些计算设备能够通过每个网络到达彼此;
连接选择组件(140),该连接选择组件(140)根据一个或多个性能标准从一个或多个可能的连接中选择将允许完成所请求的传输的连接;
经引导传输组件(160),该经引导传输组件(160)从所述引导客户端向所述源服务器发送将数据直接从所述源服务器发送给所述目的地服务器而不首先将数据发送给所述引导客户端的请求;以及
结果处理组件(170),该结果处理组件(170)管理所述传输的结果到所述引导客户端的返回。
13.如权利要求12所述的系统,其特征在于,该请求接收组件利用所述请求接收包括下列项目至少之一的参数:要传输的数据的标识符;要传输的数据的一部分;以及与所述引导客户端相关联的一组安全凭证。
14.如权利要求12所述的系统,其特征在于,还包括连接基准测试组件(130),该连接基准测试组件(130)对计算设备之间的一个或多个可能的连接执行一个或多个测试以确定所述连接的一个或多个数据传输能力,其中该连接基准测试组件执行测试以确定每个连接的带宽和等待时间。
15.如权利要求12所述的系统,其特征在于,还包括凭证模仿组件(150),该凭证模仿组件(150)为所述源服务器创建模仿所述引导客户端的那些凭证的凭证。
CN201110427793.1A 2010-12-20 2011-12-19 第三方发起远程方之间的通信 Active CN102624695B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/972,526 US9686355B2 (en) 2010-12-20 2010-12-20 Third party initiation of communications between remote parties
US12/972,526 2010-12-20

Publications (2)

Publication Number Publication Date
CN102624695A true CN102624695A (zh) 2012-08-01
CN102624695B CN102624695B (zh) 2015-02-18

Family

ID=46236316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110427793.1A Active CN102624695B (zh) 2010-12-20 2011-12-19 第三方发起远程方之间的通信

Country Status (9)

Country Link
US (1) US9686355B2 (zh)
EP (1) EP2656552B1 (zh)
JP (1) JP2014503141A (zh)
KR (1) KR101913444B1 (zh)
CN (1) CN102624695B (zh)
AR (1) AR084438A1 (zh)
HK (1) HK1174452A1 (zh)
TW (1) TWI543000B (zh)
WO (1) WO2012087854A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932376A (zh) * 2012-11-26 2013-02-13 北京神州绿盟信息安全科技股份有限公司 文件传输系统与方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893113B1 (en) 2010-06-14 2014-11-18 Open Invention Network, Llc Simultaneous operation of a networked device using multiptle disparate networks
US9155117B2 (en) * 2011-09-09 2015-10-06 Hewlett-Packard Development Company, L.P. Directly transferring data between devices
US10353783B1 (en) 2013-06-26 2019-07-16 EMC IP Holding Company LLC Pluggable recovery in a data protection system
US10235392B1 (en) 2013-06-26 2019-03-19 EMC IP Holding Company LLC User selectable data source for data recovery
US9904606B1 (en) 2013-06-26 2018-02-27 EMC IP Holding Company LLC Scheduled recovery in a data protection system
US9703618B1 (en) 2013-06-28 2017-07-11 EMC IP Holding Company LLC Communication between a software program that uses RPC with another software program using a different communications protocol enabled via proxy
US9641486B1 (en) * 2013-06-28 2017-05-02 EMC IP Holding Company LLC Data transfer in a data protection system
US10594784B2 (en) * 2013-11-11 2020-03-17 Microsoft Technology Licensing, Llc Geo-distributed disaster recovery for interactive cloud applications
JP2016038692A (ja) * 2014-08-07 2016-03-22 コニカミノルタ株式会社 情報処理装置、ブラウザプログラムおよび情報処理方法
CN104410621B (zh) * 2014-11-25 2018-05-18 北京国双科技有限公司 用于站点读写的数据处理方法和系统
US9998482B2 (en) * 2015-09-18 2018-06-12 International Business Machines Corporation Automated network interface attack response
KR102482324B1 (ko) 2016-01-05 2022-12-29 삼성전자주식회사 클라우드 스토리지 서비스를 지원하는 무선 통신 시스템에서 파일 송/수신 장치 및 방법
US11500824B1 (en) 2017-04-03 2022-11-15 Amazon Technologies, Inc. Database proxy
US11106540B1 (en) 2017-04-03 2021-08-31 Amazon Technologies, Inc. Database command replay
US11182496B1 (en) * 2017-04-03 2021-11-23 Amazon Technologies, Inc. Database proxy connection management
US11392603B1 (en) 2017-04-03 2022-07-19 Amazon Technologies, Inc. Database rest API
US10972358B2 (en) 2017-08-30 2021-04-06 Citrix Systems, Inc. Inferring congestion and signal quality

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1528079A (zh) * 2001-07-06 2004-09-08 ض� 用于对等服务的方法和装备
US20070041383A1 (en) * 2005-04-05 2007-02-22 Mohmmad Banikazemi Third party node initiated remote direct memory access
US7440560B1 (en) * 2003-11-17 2008-10-21 At&T Corp. Schema for empirical-based remote-access internet connection
CN101449543A (zh) * 2006-05-18 2009-06-03 Nxp股份有限公司 客户端-服务器系统内使用的移动电话

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0583259A (ja) 1991-09-19 1993-04-02 Ricoh Co Ltd Lanシステム
JP3817913B2 (ja) 1997-09-22 2006-09-06 富士ゼロックス株式会社 ネットワークシステム、端末装置、サーバ及び画像形成装置
US6003074A (en) * 1998-02-24 1999-12-14 Hewlett-Packard Company Method and apparatus for mapping the physical topology of a subnetwork
US6765919B1 (en) * 1998-10-23 2004-07-20 Brocade Communications Systems, Inc. Method and system for creating and implementing zones within a fibre channel system
JP2000215163A (ja) 1999-01-26 2000-08-04 Hitachi Ltd サ―バ処理進行状況のクライアント表示方式
JP2002163235A (ja) 2000-11-28 2002-06-07 Mitsubishi Electric Corp アクセス権限譲渡装置、共有リソース管理システム及びアクセス権限設定方法
JP2003108519A (ja) 2001-09-27 2003-04-11 Hitachi Ltd ファイル転送システム及びプログラム
JP2003110578A (ja) 2001-09-28 2003-04-11 Canon Inc 無線装置、無線通信システム、伝送方式選択方法、及び記憶媒体
JP2004005189A (ja) 2002-05-31 2004-01-08 Ricoh Co Ltd 文書管理システムおよび文書管理方法
EP1599009A1 (en) * 2004-05-17 2005-11-23 Hewlett-Packard Development Company, L.P. Improvements in message-based communications
US7640363B2 (en) 2005-02-16 2009-12-29 Microsoft Corporation Applications for remote differential compression
US7490140B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Peer data transfer orchestration
US20070055743A1 (en) * 2005-09-02 2007-03-08 Pirtle Ross M Remote control media player
JP4318693B2 (ja) * 2006-01-27 2009-08-26 京セラ株式会社 移動通信システム、基地局装置及び移動通信方法
US8554749B2 (en) * 2006-10-23 2013-10-08 Adobe Systems Incorporated Data file access control
DE102007002617B4 (de) * 2007-01-12 2014-04-10 Thinprint Gmbh Verfahren und Anordnung zur Verwaltung von Daten, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
JP4749392B2 (ja) 2007-08-03 2011-08-17 日本電信電話株式会社 オーバーレイネットワークにおける通信経路決定方法とオーバーレイノードおよびオーバーレイネットワークとプログラム
US8059111B2 (en) 2008-01-21 2011-11-15 Sony Computer Entertainment America Llc Data transfer using hand-held device
US20110041002A1 (en) * 2009-08-12 2011-02-17 Patricio Saavedra System, method, computer program for multidirectional pathway selection
US8495412B2 (en) * 2010-09-10 2013-07-23 International Business Machines Corporation Autonomous propagation of virtual input/output (VIO) operation(s) to second VIO server (VIOS) due to a detected error condition at a first VIOS
US8447866B2 (en) * 2010-11-01 2013-05-21 Telefonaktiebolaget L M Ericsson (Publ) Network nodes that establish sessions using existing connections identified in a central database
US20120158947A1 (en) * 2010-12-17 2012-06-21 Microsoft Corporation Operating system supporting cost aware applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1528079A (zh) * 2001-07-06 2004-09-08 ض� 用于对等服务的方法和装备
US7440560B1 (en) * 2003-11-17 2008-10-21 At&T Corp. Schema for empirical-based remote-access internet connection
US20070041383A1 (en) * 2005-04-05 2007-02-22 Mohmmad Banikazemi Third party node initiated remote direct memory access
CN101449543A (zh) * 2006-05-18 2009-06-03 Nxp股份有限公司 客户端-服务器系统内使用的移动电话

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932376A (zh) * 2012-11-26 2013-02-13 北京神州绿盟信息安全科技股份有限公司 文件传输系统与方法
CN102932376B (zh) * 2012-11-26 2015-06-17 北京神州绿盟信息安全科技股份有限公司 文件传输系统与方法

Also Published As

Publication number Publication date
KR20140004653A (ko) 2014-01-13
KR101913444B1 (ko) 2018-10-30
EP2656552A4 (en) 2017-07-12
TWI543000B (zh) 2016-07-21
EP2656552B1 (en) 2019-08-07
WO2012087854A3 (en) 2012-10-11
US9686355B2 (en) 2017-06-20
JP2014503141A (ja) 2014-02-06
HK1174452A1 (zh) 2013-06-07
TW201227335A (en) 2012-07-01
CN102624695B (zh) 2015-02-18
AR084438A1 (es) 2013-05-15
US20120159595A1 (en) 2012-06-21
WO2012087854A2 (en) 2012-06-28
EP2656552A2 (en) 2013-10-30

Similar Documents

Publication Publication Date Title
CN102624695A (zh) 第三方发起远程方之间的通信
US10491523B2 (en) Load distribution in data networks
US7555306B2 (en) Method and system for mobile device performance monitoring
US10193951B2 (en) Binding CRUD-type protocols in distributed agreement protocols
EP3780485A1 (en) Accessing security hardware keys
CN105306433B (zh) 一种访问虚拟机服务器的方法和装置
JP2017513151A (ja) プライベートクラウド接続装置クラスタアーキテクチャ
KR20130009624A (ko) 네트워크 서비스 교환을 제공하는 데 사용하는 방법 및 시스템
JP4155341B2 (ja) 情報の管理方法及び情報処理装置
Allen et al. Globus online: radical simplification of data movement via SaaS
EP3782061A1 (en) System and method to securely execute datacenter management operations remotely
US20100138544A1 (en) Method and system for data processing
CN111885174B (zh) 一种非相同网段的节点的处理方法及系统
JP2006285962A (ja) ターゲットとされるバリアント入力を使用して、データフォーマットをテストするためのシステムおよび方法
CN114416169A (zh) 基于微前端的数据处理方法、介质、装置和计算设备
CN106878333B (zh) 一种第三方认证方法、装置和应用系统服务器
US20180241700A1 (en) Transfer device, transfer system, and transfer method
CN109347936A (zh) Redis代理客户端的实现方法、系统、存储介质及电子设备
US9288116B2 (en) System and method for NAS server test load generation
US11968238B2 (en) Policy management system to provide authorization information via distributed data store
CN111800511A (zh) 同步登录态的处理方法、系统、设备及可读存储介质
JP4341071B2 (ja) アプリケーションのタイムアウト時間調整システムおよび方法ならびにサーバ装置およびそのプログラム
Cucinella Mass Scale Lightweight Remote Desktop Environments for Educational Purposes
Andreozzi et al. A RESTful approach to the OGSA basic execution service specification
Frécon Web (-like) Protocols for the Internet of Things

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1174452

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150727

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1174452

Country of ref document: HK