基于p2p的文件传输控制方法及其p2p通信控制装置的制造方法

文档序号:10664020阅读:209来源:国知局
基于p2p的文件传输控制方法及其p2p通信控制装置的制造方法
【专利摘要】本发明涉及一种基于P2P的文件传输控制方法及其P2P通信控制装置,其能够选择并提供能够在基于P2P的文件分布式传输中向客户装置稳定地发送文件片段的最优对等体列表,并且被实现为:接收通过特定通信网络从客户装置发送给对等体管理装置的对等体列表请求消息;代替客户装置访问对等体管理装置以便请求对等体列表;以及根据客户装置的通信环境来修改从对等体管理装置接收到的对等体列表并且向客户装置提供所修改的对等体列表。
【专利说明】
基于P2P的文件传输控制方法及其P2P通信控制装置
技术领域
[0001]本发明涉及用于基于对等(P2P)通信对特定文件进行分布式传输的基于P2P的文件传输技术。更具体地说,本发明涉及一种能够选择并提供用于向客户装置稳定地传输文件片段的最优对等体列表(optimum peer list)的基于P2P的文件传输控制方法及用于该方法的P2P通信控制装置。【背景技术】
[0002]文件传输技术可以被分类为服务器-客户端模型和P2P(对等)模型。
[0003]在基于服务器-客户端模型的文件传输技术中,服务器存储并发送文件,而客户端接收并使用文件。所有客户端需要访问服务器以便从服务器接收所期望的文件。因此,当大量客户端同时进行访问时,在服务器和网络处可能导致瓶颈现象。[〇〇〇4]相反,在基于P2P的文件传输技术中,多个用户装置通过彼此发送或接收文件来同时执行客户端和服务器的功能。该技术能够解决服务器和网络处的瓶颈问题。在P2P通信技术中,根据情况在相同的层选择性地执行客户端和服务器的功能的用户装置被称作对等体。
[0005]然而,在典型的基于P2P的文件传输中,资源由参与P2P通信的所有用户装置共享。 因此,随着用户装置参与者的数量增加,通信网络中的业务也增加。这可能导致用户装置处的系统负载,并且使得传输速率根据用户装置的规格而变化。
[0006]为此,引入了基于P2P的文件分布式传输技术。在该技术中,文件被划分为小尺寸的片段,这些片段被分布到多个对等体并且被存储。然后,文件通过这些对等体被并行发送。代表性地,Bi tTorrent是领域中已知的。
[0007]针对基于P2P的文件分布式传输,另外需要管理与彼此共享文件的至少部分的对等体有关的信息的对等体管理服务器(诸如Bi tTorrent的Tracker)。期望接收文件的客户端应当访问对等体管理服务器,接收共享所期望的文件的对等体列表,建立与所接收到的对等体列表中的这些对等体的相应会话,并且并行地接收文件的大量片段。
[0008]顺便地,在该基于P2P的文件分布式传输技术中,当存在客户端的针对关于特定文件的对等体列表的请求时,对等体管理服务器在不考虑客户端的通信环境的情况下从共享该特定文件的许多对等体当中随机地选择预定数量(例如,五十个)的对等体。因此,通信运营商可能遭受IX(互联网交换)交互网络中的业务的不必要增加,并且可能在IX交互点的业务工程中遇到困难。
【发明内容】

[0009]技术问题
[0010]本发明旨在提供一种能够选择并提供用于在基于P2P的文件分布式传输中向客户装置稳定地传输文件片段的最优对等体列表的基于P2P的文件传输控制方法,并且旨在提供一种用于该方法的P2P通信控制装置。
[0011]具体地说,本发明旨在提供一种基于P2P的文件传输控制方法及其P2P通信控制装置,其通过使得通信运营商能够在基于P2P的文件分布式传输系统中在没有客户装置或对等体管理装置的任何功能改变或干涉的情况下根据用户的通信环境适当地修改由对等体管理装置选择的对等体列表来实现P2P业务的高效管理。
[0012]问题的解决方案
[0013]作为针对以上问题的技术方案,本发明提供了一种由设置在用于连接客户装置和对等体管理装置的通信网络中的P2P通信控制装置进行的基于P2P的文件传输控制方法,该方法包括以下步骤:代替对等体管理装置接收由客户装置发送给对等体管理装置的对等体列表请求消息;代替客户装置向对等体管理装置发送针对对等体列表的请求;从对等体管理装置接收对等体列表;根据客户装置的通信环境来修改所接收到的对等体列表;以及向客户装置提供所修改的对等体列表。
[0014]在根据本发明的基于P2P的文件传输控制方法中,接收对等体列表请求消息的步骤可以包括接收以对等体管理装置的地址作为目的地的请求消息,并且还可以包括收集一个或更多个对等体管理装置的地址信息。
[0015]另外地,在根据本发明的基于P2P的文件传输控制方法中,接收对等体列表请求消息的步骤还可以包括以下步骤:检查所接收到的消息的目的地地址是否与对等体管理装置的地址相同;以及将不相同的消息返回给通信网络。
[0016]并且,在根据本发明的基于P2P的文件传输控制方法中,修改步骤可以包括基于客户装置的路由信息来修改对等体列表,并且还可以包括从通信网络收集客户装置的路由信息。
[0017]另外,作为针对以上问题的另一技术方案,本发明提供了一种设置在用于连接客户装置和对等体管理装置的通信网络中的P2P通信控制装置,该P2P通信控制装置包括:网络交互单元,其被配置为监测正在通过通信网络发送的消息,代替对等体管理装置接收由客户装置发送给对等体管理装置的对等体列表请求消息,并且代替对等体管理装置向客户装置发送对等体列表;以及控制单元,其被配置为代替客户装置向对等体管理装置发送针对对等体列表的请求,从对等体管理装置接收对等体列表,根据客户装置的通信环境来修改所接收到的对等体列表,并且向客户装置提供所修改的对等体列表。
[0018]在根据本发明的P2P通信控制装置中,网络交互单元还可以被配置为收集一个或更多个对等体管理装置的地址信息,接收以所收集的地址作为目的地的对等体列表请求消息,检查所接收到的消息的目的地地址是否与对等体管理装置的地址相同,并且将不相同的消息返回给通信网络。
[0019]在根据本发明的P2P通信控制装置中,控制单元还可以被配置为收集客户装置的路由信息,并且基于所收集的路由信息来修改对等体列表。
[0020]另外地,根据本发明的P2P通信控制装置还可以包括存储单元,该存储单元包括用于存储从对等体管理装置接收的对等体列表的对等体列表DB,并且如果对等体列表DB中存在客户装置所请求的共享文件的对等体列表,则控制单元还可以被配置为根据客户装置的通信环境来修改从对等体列表DB提取的对等体列表,并且在向对等体管理装置发送针对对等体列表的请求之前发送所修改的对等体列表。
[0021]本发明的有益效果
[0022]根据本发明的P2P通信控制装置可以通过以下步骤来在执行典型的P2P通信服务过程的客户装置或对等体管理装置没有任何改变或干涉的情况下修改对等体列表:接收正在通过通信网络从客户装置发送给对等体管理装置的对等体列表请求消息;代替客户装置从对等体管理装置获取对等体列表;根据客户装置的通信环境来修改所获取的对等体列表;以及代替对等体管理装置向客户装置提供所修改的对等体列表。[〇〇23]结果,第三方(例如,用于连接客户装置和对等体管理装置的通信网络的运营商) 而不是与P2P服务直接相关的用户或服务提供商可以在执行典型的P2P通信过程的客户装置或对等体管理装置不知道的情况下随机地修改对等体列表,使得通信运营商能够有效地管理P2P业务,并且使不必要的IX交互业务最小化。【附图说明】[〇〇24]图1是例示基于P2P的文件分布式传输系统的示意性结构的框图。
[0025]图2是例示根据本发明的具有P2P通信控制装置的文件分布式传输系统的框图。
[0026]图3是例示根据本发明的基于P2P的文件传输控制方法的流程图。
[0027]图4是例示根据本发明的P2P通信控制装置的详细结构的框图。【具体实施方式】
[0028]以下将参照附图描述本发明的实施方式。在以下描述和附图中,熟知技术可不详细描述或示出,以避免使本发明的主题模糊。在全部附图中,相同或相似的标号一致地表示对应特征。
[0029]以下描述和附图中所使用的术语和字词不限于文献含义,并且仅由发明人用来使得能够更清楚和一致地理解本发明。因此,对于本领域技术人员而言应该显而易见的是,本发明的示例性实施方式的以下描述仅是为了例示目的而提供,而不是为了限制由所附权利要求书及其等同物限定的本发明。
[0030]当提及组件“联接到”或“连接到”另一组件时,该组件可直接联接或连接到另一组件,或者该组件与另一组件之间可存在新的组件。相比之下,当提及组件“直接联接到”或 “直接连接到”另一组件时,该组件与另一组件之间不存在新的组件。[〇〇31]描述本公开的各种实施方式时所使用的术语仅是用于描述特定实施方式的示例, 而不是限制这些实施方式。除非上下文清楚地指示,否则单数形式旨在包括复数形式。除非不同地定义,否则本文所使用的所有术语(包括技术术语或科学术语)具有本公开所属领域的技术人员所理解的相同含义。术语“包括”、“包含”和“具有”及其衍生词表示包含,而非限制。
[0032]本发明涉及基于P2P的文件分布式传输技术,在该技术中,文件被划分为小尺寸的片段,这些片段被分布到多个对等体并被存储,并且文件通过这些对等体被并行发送。在描述本发明之前,将大致描述应用了本发明的基于P2P的文件分布式传输系统的结构和操作。 [〇〇33]图1是例示基于P2P的文件分布式传输系统的示意性结构的框图。
[0034]如图1所示,基于P2P的文件分布式传输系统包括:通过通信网络10彼此连接的多个客户装置1〇〇、搜索装置200和对等体管理装置300。任何用户能够访问的通信网络10可以由当前使用或者未来可用的一个或更多个通信网络形成,这些通信网络包括诸如W1-Fi网络、移动通信网络和Wibro网络的无线网络以及诸如电缆网络和光通信网络的有线通信网络。另外地,通信网络10可以通过由不同的网络运营商提供的一个或更多个通信网络进行交互来形成。
[0035]客户装置100是指参与基于P2P的文件分布式传输服务并且共享文件的用户装置。 文件共享可以通过创建文件、存储文件的至少一些片段并且发送所存储的文件片段来执行。客户装置1〇〇可以通过执行特定文件的创建、存储和发送中的至少一个来参与文件共享。客户装置1〇〇可以通过在具有通信功能的特定用户装置(例如,智能电话、平板PC、台式 PC、笔记本PC等)处安装根据基于P2P的文件分布式传输协议(例如,BitTorrent)运行的客户程序来实现。
[0036]搜索装置200是提供与通过基于P2P的文件分布式传输服务共享的文件(以下称作共享文件)相关的信息(以下称作共享文件信息)的服务器装置。例如,搜索装置可以存储多条共享文件信息,检索与特定关键词(内容名称、文件名称等)对应的一个或更多个共享文件的列表,并且提供与它们当中的经选择的共享文件相关的共享文件信息。搜索装置200可以是提供至少一种类型的共享文件信息的任何服务器装置,例如支持基于P2P文件传输社区、网络冲浪等的服务器装置。这里,由搜索装置200提供的共享文件信息是包含接收共享文件所需的信息的元数据,这包括共享文件的唯一标识值(例如,唯一散列值)、管理共享文件的对等体信息的对等体管理装置300的地址信息(例如,URL)、共享文件的目录信息、共享文件的创建日期、创建者、共享文件的片段大小以及共享文件的文件名称中的一个或更多个。在该情况下,共享文件的唯一标识值可以通过基于预定的散列算法对包含在共享文件信息中的一种或更多种类型的信息(诸如关于存储的共享文件的目录信息、共享文件的片段大小、文件名称等)进行散列计算来创建。[〇〇37]对等体管理装置300是管理关于对等体的信息的服务器装置,该对等体存储在基于P2P的文件分布式传输服务中共享的文件的至少部分。彼此共享这些文件的对等体可以包括存储完整的共享文件的做种者(seeder)以及存储了大小比共享文件的初始大小小的一些片段的Leecher。概念上,做种者不仅包括初始提供共享文件的对等体,而且包括从其它对等体下载了完整的共享文件的对等体。该对等体可以对应于客户装置100中的一个。
[0038]在以上讨论的基于P2P的文件分布式传输系统中,可以如下执行基于P2P的文件分布式传输处理。
[0039]—开始,共享文件信息可以由期望通过基于P2P的文件分布式传输服务共享文件的特定用户来创建,然后被注册在连接到通信网络10的搜索装置200中。
[0040]当在搜索装置200中注册了共享文件信息时,期望下载所共享的文件的用户可以通过特定客户装置(例如,100-1)访问搜索装置200,并且然后通过搜索处理接收所期望的共享文件的共享文件信息(步骤S105和S110)。
[0041]另外地,客户装置100-1利用共享文件信息(具体地,共享文件的唯一标识值)以及用于管理对等体的对等体管理装置的URL信息来访问对等体管理装置300,并且然后请求关于共享文件的对等体列表(步骤S115)。在该步骤中,对等体(S卩,客户装置100)以及对等体管理装置300可以利用HTTP(超文本传输协议)协议来彼此通信。即,可以通过HTTP GET消息来进行针对对等体列表的请求。[〇〇42]基于共享文件的标识值来管理共享共享文件的对等体(S卩,发送或接收共享文件的对等体)的对等体管理装置300通过响应于客户装置100-1的请求从共享共享文件的对等体当中选择预定数量的对等体来创建对等体列表,并且将对等体列表提供给客户装置100-1(步骤S120)。对等体列表可以通过例如HTTP RESPONSE消息来发送。另外,接收这种对等体列表的客户装置100-1还可以在存储特定量的文件片段时作为用于共享共享文件的对等体被注册在对等体管理装置300中并被管理。[〇〇43] 客户装置100-1与其它客户装置100-2至100-n当中的在从对等体管理装置300接收的对等体列表中指示的一个或更多个对等体执行P2P通信,由此并行地接收共享文件的片段(步骤S125)。具体地说,客户装置100-1通过向其它客户装置100-2至100-n当中的与对等体列表对应的对等体发送共享文件的标识值来请求文件片段,由此从其它客户装置100-2至100-n中的一个或更多个客户装置并行地接收共享文件的文件片段。
[0044]通过以上讨论的处理从其它客户装置100-2至100-n获取一个或更多个文件片段的客户装置100-1作为Leecher被注册在对等体管理装置300中,并且能够向请求相同的共享文件的另一客户装置发送所获取的文件片段。在该情况下,另一客户装置可以是未在从对等体管理装置300接收的对等体列表中指示的客户装置。另外,另一客户装置可以是在从对等体管理装置300接收的对等体列表中指示但是未能具有客户装置100-1所拥有的文件片段的客户装置。
[0045]如果客户装置100-1通过以上讨论的处理获取了共享文件的所有文件片段,则客户装置100-1作为做种者被注册在对等体管理装置300中并且被管理。
[0046]如上所述,在基于P2P的文件分布式传输服务中,可以随机地选择或者基于下载时间、IP(网际协议)等来选择在由对等体管理装置300提供的对等体列表中指示的多个对等体。
[0047]与是随机地选择对等体还是基于特定基础选择对等体无关,由基于P2P的文件分布式传输服务提供商创建对等体管理装置300所提供的对等体列表。因此,难以考虑实际上在客户装置1〇〇之间进行P2P通信的通信网络10的条件或者难以满足通信运营商的要求。 [〇〇48]因此,在以上讨论的基于P2P的文件分布式传输系统中,本发明使得第三方运营商 (例如,通信运营商)能够在基于P2P的文件分布式传输系统没有任何改变的情况下适当地选择并提供客户装置100-1通过P2P通信与其交换共享文件的对等体。
[0049]为此,如图2所示,本发明提供了连接到通信网络10的P2P通信控制装置400,P2P通信控制装置400是基于P2P的文件分布式传输系统的基础。
[0050]P2P通信控制装置400监测通信网络10上的针对基于P2P的文件分布式传输服务的消息,接收正在从客户装置100发送到对等体管理装置300的对等体列表请求消息,并且代替客户装置100从对等体管理装置300接收与特定共享文件关联的对等体列表。另外地,P2P 通信控制装置400基于预定的策略信息并且根据客户装置100的通信环境来修改从对等体管理装置300接收的共享文件的对等体列表,然后将所修改的对等体列表提供给客户装置 400 〇[〇〇51]下文中,将参照图3详细描述通过P2P通信控制装置400执行的根据本发明的基于 P2P的文件传输控制方法。[〇〇52]图3是例示根据本发明的基于P2P的文件传输控制方法的流程图。参照该图,P2P通信控制装置400监测正在通过通信网络10发送的消息,并且收集在基于P2P的文件分布式传输系统中从客户装置100发送给对等体管理装置300的对等体列表请求消息(S205)。可以基于对等体管理装置300的地址信息来提取发送给对等体管理装置300的对等体列表请求消息。具体地说,在如图1所示的基于P2P的文件分布式传输系统中,获取与期望接收的共享文件相关的共享文件信息的客户装置100-1可以在步骤S115向对等体管理装置300发送针对特定共享文件的对等体列表的请求,以便检查彼此共享共享文件的对等体。该请求消息可以是对等体管理装置300的地址被设置为目的地并且客户装置100-1的地址被设置为源的消息。因此,根据本发明的P2P通信控制装置400可以选择性地接收对等体管理装置300的地址被设置为目的地的请求消息(例如,HTTP GET消息)。具体地说,通过在与连接到通信网络 10的路由器或交换机交互的同时对以对等体管理装置300的地址作为目的地的请求消息 (例如,HTTP GET消息)进行重新路由,对等体管理装置300可以接收请求消息。此时,各种技术可以用于接收正在从客户装置100发送到对等体管理装置300的对等体列表请求消息。例如,P2P通信控制装置400可以通过槽洞路由(Sinkhole routing)来过滤以对等体管理装置 300的地址作为目的地的分组,使得该分组可以被转发到P2P通信控制装置。并且,在利用镜像技术接收正在通过通信网络10发送的分组的副本之后,P2P通信控制装置400可以从这些接收到的分组当中过滤以对等体管理装置300的地址作为目的地的分组。[〇〇53]另外地,在以上步骤S205中,为了收集对等体管理装置300的地址被设置为目的地的对等体列表请求消息,P2P通信控制装置400还可以执行以下步骤:周期性地收集与在基于P2P的文件分布式传输系统中使用的一个或更多个对等体管理装置300相关的地址信息。 基于这些收集的地址信息,可以选择性地仅收集正被发送到对等体管理装置300的对等体列表请求消息。[〇〇54]通过以上步骤S205,从客户装置100-1发送的对等体列表请求消息被传送到P2P通信控制装置400而不是被发送到目的地,S卩,对等体管理装置300。
[0055]在该情况下,对等体列表请求消息以外的任何消息应当正常地到达初始目的地。 因此,在以上步骤S205中,P2P通信控制装置400可以检查通过通信网络10收集的请求消息中的地址信息与对等体管理装置300的地址是否相同,并且还向通信网络10返回任何不相同的请求消息。所返回的请求消息可以通过通信网络10发送到初始目的地,然后被正常地处理。[〇〇56]接着,抓取从客户装置100-1发送的对等体列表请求消息的P2P通信控制装置400 代替客户装置100-1访问对等体管理装置300,并且请求对等体列表(S210)。此时,P2P通信控制装置400可以利用其自己的IP地址创建对等体列表请求消息,然后将所创建的消息发送给对等体管理装置300。并且,P2P通信控制装置400可以将从客户装置100-1接收到的对等体列表请求消息的源地址改变为其自己的IP地址,然后将经改变的消息发送给对等体管理装置300。[〇〇57]从P2P通信控制装置400接收对等体列表请求消息的对等体管理装置300通过基于包含在所接收到的对等体列表请求消息中的共享文件的标识值从存储共享文件的片段中的至少一个的许多对等体当中选择特定数量的对等体来创建对等体列表,并且然后发送所创建的对等体列表。[〇〇58]所创建的对等体列表被发送给P2P通信控制装置400(5215)12?通信控制装置400 可以在对等体列表DB中存储从对等体管理装置300接收的对等体列表。在该情况下,对等体列表DB可以通过利用共享文件的一个或更多个标识值以及请求对等体列表的客户装置100 的标识信息对对等体列表进行索引来管理各个对等体列表。在启动客户装置100的同时,可以维护所存储的对等体列表。[〇〇59] P2P通信控制装置400根据客户装置100的通信环境来修改从对等体管理装置300 接收的对等体列表(S220)。并且,P2P通信控制装置400可以通过进一步参照预定的策略信息来修改所接收到的对等体列表。该策略信息可以是由P2P通信控制装置400的运营商(例如,通信运营商)建立的P2P业务管理策略。
[0060]例如,在步骤S220,P2P通信控制装置400可以检查客户装置100的通信环境,并且从对等体列表中去除位于其它通信运营商的通信网络中的对等体。并且,P2P通信控制装置 400可以收集客户装置100的路由信息,并且基于所收集的路由信息来修改对等体列表,使得仅相同运营商的网络中的对等体或者相同运营商的网络附近的邻近对等体可以被包含在对等体列表中。任何对等体是否属于相同运营商的网络或者任何对等体是否邻近相同运营商的网络可以通过参照BGP(边界网关协议)中限定的路由信息当中的例如AS(自主系统) 信息和社区信息来确定。作为参照,AS信息是指由一个网络运营商管理的路由器组并且可以被分派给例如各个通信运营商。社区信息是与路由器组的分组相关的信息并且可以例如在相同的运营商网络中区域性地限定。
[0061]另外地,P2P通信控制装置400可以基于策略来限定最小可访问对等体数量和最大可访问对等体数量以便限制可访问的客户装置100,或者基于从客户装置100-1至包含在对等体列表中的各个对等体的跳跃计数或RTT来选择仅具有预定跳跃计数或RTT的对等体。 [〇〇62]另外地,P2P通信控制装置400向客户装置100-1提供经修改的对等体列表(S225)。 然后,客户装置100-1与包含在所接收到的对等体列表中的多个对等体进行通信,以便交换共享文件的片段。包含在对等体列表中的(即,在对等体列表中指示的)这些对等体是由P2P 通信控制装置400选择的对等体。因此,客户装置100-1与由P2P通信控制装置400选择的对等体执行P2P通信。[〇〇63] 在以上步骤S225中,P2P通信控制装置400可以通过HTTP RESPONSE消息向客户装置100-1发送经修改的对等体列表。此时,HTTP RESPONSE消息可以被处理,就像是从对等体管理装置300发送的一样。例如,当包含经修改的对等体列表的HTTP RESPONSE消息被发送时,对等体管理装置300的IP地址可以代替P2P通信控制装置400的IP地址而被用作HTTP RESPONSE消息的源地址。[〇〇64]因此,通常,客户装置100-1可以识别出响应是从对等体管理装置300接收到的。
[0065]另外地,在如以上讨论接收对等体列表的客户装置100-1通过P2P通信与其它客户装置100-2至100-n当中的包含在对等体列表中的客户装置交换特定共享文件的同时,客户装置100-1可以周期性地向对等体管理装置300通知保持连接(Keep alive)消息,使得对等体管理装置300能够实时管理对等体状态。[〇〇66] 此时,P2P通信控制装置400可以收集正在从客户装置100-1向对等体管理装置300 发送的保持连接消息,并且通过参照所收集的保持连接消息来更新在以上讨论的步骤S215 中存储的对等体列表DB。具体地说,P2P通信控制装置400收集正在通过通信网络10向对等体管理装置300发送的保持连接消息,通过参照所收集的保持连接消息的源地址来标识发送保持连接消息的客户装置100,并且维持被分配给所标识的客户装置100的对等体列表的启动状态。另一方面,在给定时间内未能发送保持连接消息的客户装置100可以被确定为由于断电等而处于针对P2P通信的不可用状态,并且由此可以更新对等体列表DB。[〇〇67]另外地,根据本发明的P2P通信控制装置400可以通过参照按照如上讨论管理的对等体列表DB来向客户装置100提供对等体列表。[〇〇68]具体地说,如果通过步骤S205接收到对等体列表请求消息,则P2P通信控制装置 400可以从对等体列表DB提取与客户装置100所请求的共享文件关联的对等体,创建所提取的对等体的对等体列表,并且在执行步骤S210和S215之前向客户装置100提供所创建的对等体列表。[〇〇69] 通过以上处理并且通过P2P通信控制装置400,通信运营商能够在基于P2P的文件分布式传输系统(尤其是对等体管理装置300)没有任何改变的情况下适当地管理P2P业务, 并且还能够导致访问其自己的通信网络中的对等体而不是其它运营商的通信网络中的对等体。这可以减少IX交互业务,并且由此解决IX交互点的管理问题。
[0070]本发明的上述基于P2P的文件传输控制方法可以按照能够通过各种计算方式读取的程序的形式来实现,并且可以被记录在计算机可读存储介质中。执行根据本发明的基于 P2P的文件传输控制方法的该计算机介质(也称为程序、软件、软件应用、脚本或代码)可以按照包括编译语言或解释语言的任何形式的程序语言来编写,并且按照包括独立程序、模块、组件、子例程或者适于在计算机环境中使用的其它单元的任何形式来开发。这里讨论的计算机程序不必与文件系统中的文件对应。程序可以被存储在保存其它程序或数据的文件 (例如,存储在标记语言文档中的一个或更多个脚本)的一部分中,可以被存储在专用于所关注的程序的单个文件中,或者可以被存储在多个协同文件(例如,存储一个或更多个模块、子程序或部分代码的文件)中。计算机程序可以被部署为在一个计算机上或者在位于一个地点或分布在多个地点并且通过通信网络互连的多个计算机上执行。适于存储计算机程序命令和数据的计算机可读存储介质可以包括所有类型的非易失性存储器、介质和存储装置,这包括诸如EPR0M、EEPR0M和闪存的半导体存储装置、诸如内部硬盘或外部盘的磁盘以及诸如⑶-ROM和DVD-ROM的光盘。处理器和存储器可以通过专用逻辑电路及其集成来补充。 [0071 ]图4是例示按照以上讨论进行操作的P2P通信控制装置400的结构的框图。[〇〇72] 参照图4,P2P通信控制装置400可以包括网络交互单元410、控制单元420和存储单元430。[〇〇73]网络交互单元410监测通过通信网络10发送的分组并且收集正在从客户装置100 发送到对等体管理装置300的对等体列表请求消息。此时,网络交互单元410可以收集与一个或更多个对等体管理装置300有关的地址信息并且基于所收集的地址来收集正在从客户装置100发送到对等体管理装置300的对等体列表请求消息。并且,网络交互单元410在与位于通信网络10中的路由器或交换机交互的同时通过槽洞路由或镜像技术来仅接收以对等体管理装置300的地址作为目的地的对等体列表请求消息。此时,通过网络交互单元410接收的对等体列表请求消息不被传送给对等体管理装置300。[〇〇74]另外地,网络交互单元410检查所接收到的请求消息的目的地地址是否与对等体管理装置300的地址相同,并且然后向通信网络10返回任何不相同的请求消息以进行正常处理。[〇〇75]接着,当通过网络交互单元210接收到正在从客户装置100向对等体管理装置300发送的对等体列表请求消息时,控制单元220代替客户装置100控制对对等体管理装置300 的访问以及指示关于共享共享文件的对等体的信息的对等体列表的接收。然后控制单元 220基于客户装置100的通信环境来修改所接收到的对等体列表,并且控制网络交互单元 210代替对等体管理装置300向客户装置100发送经修改的对等体列表。通过控制单元220, 能够提供适合于客户装置100的通信环境的对等体列表。
[0076]为此,控制单元220可以从通信网络10收集客户装置100的路由信息,并且基于所收集的路由信息来修改对等体列表。[〇〇77]存储单元430是用于存储P2P通信控制装置400的操作所需的数据的元件。在控制单元220中进行处理的同时,存储单元430可以临时存储所接收到的对等体列表请求消息以及从对等体管理装置300接收到的对等体列表。并且,存储单元430可以存储由控制单元220 收集的客户装置100的路由信息。[〇〇78]具体地说,存储单元430可以包括存储从对等体管理装置300接收的对等体列表的对等体列表DB 431。对等体列表DB 431可以利用共享文件的标识值和客户装置100的标识信息中的一个或更多个来进行索引。并且,控制单元420可以通过网络交互单元410来收集正在从客户装置1〇〇向对等体管理装置300发送的保持连接消息,并且利用所收集的保持连接消息来更新对等体列表DB 431。具体地说,控制单元420通过参照所收集的保持连接消息的源地址来标识发送保持连接消息的客户装置100,并且维持被分配给所标识的客户装置 100的对等体列表的启动状态。另一方面,控制单元420可以确定在给定时间内未能发送保持连接消息的客户装置100由于断电等而处于针对P2P通信的不可用状态,并且由此更新对等体列表DB 431以将客户装置100从对等体列表DB 431中去除。[〇〇79]另外地,控制单元420可以利用对等体列表DB 431向客户装置100提供对等体列表。具体地说,当从客户装置100接收到对等体列表请求消息时,控制单元420可以检查对等体列表DB 431中是否存储了共享文件的对等体列表。如果存储了,则控制单元420可以通过基于存储单元430的对等体列表DB 431提取共享客户装置100所请求的共享文件的对等体来创建对等体列表,并且向客户装置100提供所创建的对等体列表。
[0080]另外地,存储单元430还可以包括针对由管理P2P通信控制装置400的第三方运营商(例如,通信运营商)而不是由管理基于P2P的文件分布式传输系统的运营商进行的对等体选择限定的策略信息432。控制单元220可以基于策略信息432修改对等体列表。例如,策略信息432可以包括其它通信运营商的对等体选择优先级或者通信网络10中的对等体选择标准。并且,策略信息432可以包括用于限制可访问的客户装置100的最小可访问对等体数量和最大可访问对等体数量以及客户装置100-1和对等体之间的跳跃计数或RTT参考值(例如,最小值或最大值)。基于该策略信息432,控制单元420可以执行对等体列表的修改,诸如限制针对各个客户装置100的最小可访问对等体数量或最大可访问对等体数量、仅选择客户装置100的具有如策略限定的跳跃计数或RTT的对等体、等等。
[0081]根据本发明的上述P2P通信控制装置400可以通过使得一个或更多个处理器能够执行以上讨论的功能和处理的命令来进行操作。例如,这些命令可以包括诸如脚本命令(例如,JavaScript或ECMAScript)的可解释命令、可执行代码或者存储在计算机可读介质中的其它命令。另外,根据本发明的P2P通信控制装置400可以通过网络按照分布式形式(诸如服务器场(Server Farm))实现或者在单个计算机装置中实现。
[0082]尽管在本说明书和附图中公开了 P2P通信控制装置400的示例性配置,以上讨论的功能操作和主题的实施方式可以按照任何其它类型的数字电子电路、或者按照包括这里公开的结构及其结构等同物的任何计算机软件、固件或硬件、或者按照它们的任何组合来实现。以上讨论的主题的实施方式可以被实现为一个或更多个计算机程序产品,即,在用于由根据本发明的设备执行的或者控制根据本发明的设备的操作的程序存储介质上编码的计算机程序指令的一个或更多个模块。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储装置、实现无线电波型信号的机器可读的材料成分或者它们的任何组合。
[0083]对本公开中描述的实现的各种修改对于本领域技术人员而言可以是显而易见的, 并且在不脱离本公开的范围的情况下,这里限定的通用原理可以应用于其它实现。因而,本公开不旨在限定为这里示出的实现,而是遵循与这里公开的权利要求、原理和新特征一致的最广泛的范围。说明书中在独立实施方式的背景下描述的特定特征也可按照组合实现在单个实施方式中。相反,在单个实施方式的背景下描述的各种特征也可被独立地或者按照任何合适的子组合实现在多个实施方式中。此外,尽管以上可将特征描述为按照特定组合来作用,甚至初始如此要求保护,但是要求保护的组合中的一个或更多个特征在一些情况下可从所述组合中删去,并且要求保护的组合可指向子组合或者子组合的变型。
[0084]类似地,尽管在附图中按照特定顺序描述了操作,但是这不应当被理解为要求这些操作按照所示的特定顺序或者依次地执行,或者要求所有所示的操作均将执行,以实现期望的结果。在特定情况下,多任务和并行处理可以是有利的。另外,不应当被理解为在所有实施方式中均要求如上述实施方式中的各种系统组件的这种分离,并且应该理解,所描述的程序组件和系统通常能够在单个软件产品被集成在一起或者被封装在多个软件产品中。
[0085]另外地,其它实施方式在以下权利要求书的范围内。在一些情况下,权利要求书中记载的动作可以按照不同的顺序来执行并且仍然实现期望的结果。另外,附图可以按照流程图的形式示意性地描述一个或更多个示例处理。然而,未描述的其它操作能够被并入示意性地例示的示例处理中。例如,一个或更多个另外的操作能够在所例示的操作中的任何操作之前、之后、与其同时或者在其之间执行。
[0086]尽管参照本发明的示例性实施方式具体地示出和描述了本发明,本领域技术人员将理解,在不脱离由所附权利要求书限定的本发明的精神和范围的情况下,可对其进行形式和细节上的各种改变。
[0087]因此,本发明的范围应当由所附权利要求书而不是这里公开的实施方式来限定。
[0088]工业实用性
[0089]本发明适用于执行基于P2P的文件分布式传输服务的任何通信网络。本发明的控制装置能够接收正在通过通信网络从客户装置发送给对等体管理装置的对等体列表请求消息;代替客户装置从对等体管理装置获取对等体列表;根据客户装置的通信环境来修改所获取的对等体列表;以及代替对等体管理装置向客户装置提供所修改的对等体列表。
[0090]因此,能够在执行典型的P2P通信服务过程的客户装置或对等体管理装置没有任何改变或干涉的情况下修改对等体列表。
[0091]结果,第三方(例如,用于连接客户装置和对等体管理装置的通信网络的运营商) 而不是与P2P服务直接相关的用户或服务提供商可以在执行典型的P2P通信过程的客户装置或对等体管理装置不知道的情况下随机地修改对等体列表,使得通信运营商能够有效地管理P2P业务,并且使不必要的IX交互业务最小化。
【主权项】
1.一种由设置在用于连接客户装置和对等体管理装置的通信网络中的P2P通信控制装 置进行的基于P2P的文件传输控制方法,该基于P2P的文件传输控制方法包括以下步骤:代替所述对等体管理装置接收由所述客户装置发送给所述对等体管理装置的对等体 列表请求消息;代替所述客户装置向所述对等体管理装置发送针对对等体列表的请求;从所述对等体管理装置接收所述对等体列表;根据所述客户装置的通信环境来修改所接收到的对等体列表;以及向所述客户装置提供所修改的对等体列表。2.根据权利要求1所述的基于P2P的文件传输控制方法,其中,接收所述对等体列表请 求消息的步骤包括以下步骤:接收以所述对等体管理装置的地址作为目的地的请求消息。3.根据权利要求2所述的基于P2P的文件传输控制方法,其中,接收所述对等体列表请 求消息的步骤还包括以下步骤:收集一个或更多个对等体管理装置的地址信息,以及接收 以所收集的地址作为目的地的请求消息。4.根据权利要求2所述的基于P2P的文件传输控制方法,其中,接收所述对等体列表请 求消息的步骤还包括以下步骤:检查所接收到的消息的目的地地址是否与所述对等体管理 装置的地址相同;以及将不相同的消息返回给所述通信网络。5.根据权利要求1所述的基于P2P的文件传输控制方法,其中,修改步骤包括基于所述 客户装置的路由信息来修改所述对等体列表。6.根据权利要求1所述的基于P2P的文件传输控制方法,其中,修改步骤还包括从所述 通信网络收集所述客户装置的路由信息。7.—种设置在用于连接客户装置和对等体管理装置的通信网络中的P2P通信控制装 置,该P2P通信控制装置包括:网络交互单元,其被配置为监测正在通过所述通信网络发送的消息,代替所述对等体 管理装置接收由所述客户装置发送给所述对等体管理装置的对等体列表请求消息,并且代 替所述对等体管理装置向所述客户装置发送对等体列表;以及控制单元,其被配置为代替所述客户装置向所述对等体管理装置发送针对所述对等体 列表的请求,从所述对等体管理装置接收所述对等体列表,根据所述客户装置的通信环境 来修改所接收到的对等体列表,并且向所述客户装置提供所修改的对等体列表。8.根据权利要求7所述的P2P通信控制装置,其中,所述网络交互单元还被配置为收集 一个或更多个对等体管理装置的地址信息,并且接收以所收集的地址作为目的地的对等体 列表请求消息。9.根据权利要求7所述的P2P通信控制装置,其中,所述网络交互单元还被配置为检查 所接收到的消息的目的地地址是否与所述对等体管理装置的地址相同,并且将不相同的消 息返回给所述通信网络。10.根据权利要求7所述的P2P通信控制装置,其中,所述控制单元还被配置为收集所述 客户装置的路由信息,并且基于所收集的路由信息来修改所述对等体列表。11.根据权利要求7所述的P2P通信控制装置,该P2P通信控制装置还包括:存储单元,其包括用于存储从所述对等体管理装置接收的所述对等体列表的对等体列 表DB,其中,如果所述对等体列表DB中存在所述客户装置所请求的共享文件的对等体列表, 则所述控制单元还被配置为根据所述客户装置的通信环境来修改从所述对等体列表DB提 取的所述对等体列表,并且在向所述对等体管理装置发送针对所述对等体列表的请求之前 发送所修改的对等体列表。
【文档编号】H04L29/02GK106031117SQ201580009979
【公开日】2016年10月12日
【申请日】2015年2月24日
【发明人】李宗玟
【申请人】Sk电信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1