运用暂存管理与数据传输负载平衡的代理服务装置与方法转让专利

申请号 : CN200910002966.8

文献号 : CN101789913B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘炳传张中一吴振益徐伟伦李宗杰

申请人 : 财团法人工业技术研究院

摘要 :

运用暂存管理与数据传输负载平衡的代理服务装置与方法。洪流文件检测器检测来自外部网域的原始洪流文件。点对点代理服务器控制单元修改原始洪流文件以产生修改洪流文件,以及将修改洪流文件转送至内部网域中的终端机。内部点对点追踪服务器接收询问信息,并根据回应信息回复终端机。暂时存储装置用以暂时存储被分享内容。对外模拟点对点引擎载入原始洪流文件。对内模拟点对点引擎根据请求信息检查暂时存储装置是否具有被分享内容,如果有,则将被分享内容从暂时存储装置中取出并传送给终端机。网络地址转换单元针对原始洪流文件执行网络地址转换程序。

权利要求 :

1.一种网络网关装置,连接在一外部网域和一内部网域之间,包括:

一点对点超描述文件检测器,检测来自位于上述外部网域的一原始点对点超描述文件,上述原始点对点超描述文件包括被分享文件片段的信息和一点对点追踪服务器地址;

一点对点代理服务器控制单元,将上述原始点对点超描述文件中所记录的上述点对点追踪服务器地址修改成一内部网络地址以产生一修改点对点超描述文件,以及将上述修改点对点超描述文件转送至上述内部网域中的一第一计算机;

一内部点对点追踪服务器,可根据上述第一计算机的询问产生一下载记录表与一分享计算机列表,发出一请求信息,并根据所收到的回应回复上述第一计算机;

一存储元件,用以存储上述被分享文件片段;

一对外模拟点对点用户端,设定其网络地址为一外部网络地址,载入上述原始点对点超描述文件;以及一对内模拟点对点用户端,设定其网络地址为上述内部网络地址,可根据上述请求信息执行一第一内部询问程序与一负载平衡程序,根据上述负载平衡程序的回应回复上述内部点对点追踪服务器,根据上述第一计算机的请求检查上述存储元件是否具有上述第一计算机所请求的被分享文件片段,在上述存储元件具有上述第一计算机所请求的被分享文件片段时,将上述第一计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述第一计算机。

2.如权利要求1所述的网络网关装置,其中上述下载记录表记录计算机信息、拥有文件信息或下载时间,而上述分享计算机列表记录被分享文件片段位于上述内部网域中的计算机的网络地址。

3.如权利要求1所述的网络网关装置,其中上述下载记录表记录文件拥有量信息,而上述分享计算机列表记录被分享文件片段位于上述内部网域中的计算机的网络地址。

4.如权利要求1所述的网络网关装置,其中上述存储元件还存储上述被分享文件片段的片段位置、上述被分享文件片段的片段大小、以及上述被分享文件片段的已存在时间值。

5.如权利要求1所述的网络网关装置,还包括一网络地址转换单元,产生一内部计算机信息列表,上述内部计算机信息列表记录上述内部网域中所有计算机的网络频宽信息、上传网络使用量信息、下传网络使用量信息、或回应能力信息。

6.如权利要求5所述的网络网关装置,其中上述第一内部询问程序包括根据上述下载记录表或上述内部计算机信息列表询问上述内部网域中的计算机是否有上述第一计算机所请求的被分享文件片段,以及更新上述下载记录表和上述分享计算机列表。

7.如权利要求1所述的网络网关装置,其中上述负载平衡程序根据循环式排程挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址为回应内容。

8.如权利要求1所述的网络网关装置,其中上述负载平衡程序根据上述下载记录表中的文件拥有量信息或下载时间信息挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址为回应内容。

9.如权利要求5所述的网络网关装置,其中上述负载平衡程序根据上述内部计算机信息列表中的网络频宽信息、上传网络使用量信息、下传网络使用量信息、或回应能力信息挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址为回应内容。

10.如权利要求1所述的网络网关装置,其中上述负载平衡程序可由一使用者设定而取消进行,并且以上述分享计算机列表中所记录的计算机的网络地址为回应内容。

11.如权利要求1所述的网络网关装置,其中上述对内模拟点对点用户端于上述存储元件不具有上述第一计算机所请求的被分享文件片段时,要求上述对外模拟点对点用户端从上述外部网域下载上述第一计算机所请求的被分享文件片段至上述存储元件,以及将上述第一计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述第一计算机。

12.如权利要求1所述的网络网关装置,其中上述对内模拟点对点用户端在上述存储元件不具有上述第一计算机所请求的被分享文件片段时,根据上述负载平衡程序的回应下载上述第一计算机所请求的被分享文件片段至上述存储元件,以及将上述第一计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述第一计算机。

13.如权利要求1所述的网络网关装置,其中上述对外模拟点对点用户端还根据来自上述外部网域的一第二计算机所询问的被分享文件片段信息、上述存储元件、上述下载记录表、以及一遮罩规则计算一第一拥有区块信息,并将上述第一拥有区块信息回复予上述第二计算机,其中上述遮罩规则为以下其中之一:保留上述外部网域中最少见的数据;以及

舍弃上述内部网域已不再需要的数据。

14.如权利要求13所述的网络网关装置,其中上述对外模拟点对点用户端还接收来自上述第二计算机的请求,检查上述存储元件是否具有上述第二计算机所请求的被分享文件片段,在上述存储元件具有上述第二计算机所请求的被分享文件片段时,将上述第二计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述第二计算机。

15.如权利要求14所述的网络网关装置,其中上述对外模拟点对点用户端在上述存储元件不具有上述第二计算机所请求的被分享文件片段时,要求上述对内模拟点对点用户端执行一第二内部询问程序与上述负载平衡程序。

16.如权利要求15所述的网络网关装置,其中上述对外模拟点对点用户端在上述负载平衡程序的回应指示上述内部网域中没有任何计算机拥有上述第二计算机所请求的被分享文件片段时,根据上述存储元件、上述下载记录表、以及上述遮罩规则计算一第二拥有区块信息,以及将上述第二拥有区块信息回复予上述第二计算机。

17.如权利要求15所述的网络网关装置,其中上述对外模拟点对点用户端在上述负载平衡程序的回应指示上述内部网域中有计算机拥有上述第二计算机所请求的被分享文件片段时,根据上述负载平衡程序的回应下载上述第二计算机所请求的被分享文件片段至上述存储元件,以及将上述第二计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述第二计算机。

18.如权利要求15所述的网络网关装置,其中上述第二内部询问程序包括根据上述下载记录表或上述内部计算机信息列表询问上述内部网域中的计算机是否有上述第二计算机所请求的被分享文件片段,以及更新上述下载记录表和上述分享计算机列表。

19.如权利要求1所述的网络网关装置,在欲将数据写入上述存储元件但上述存储元件容量已满时,淘汰上述存储元件中符合一淘汰规则的数据,上述淘汰规则为以下其中之一:淘汰上述外部网域中最常见的数据;

淘汰存在上述存储元件中最久的数据;以及

淘汰上述内部网域中最常见的数据。

20.如权利要求1所述的网络网关装置,还定期根据上述下载记录表与上述分享计算机列表将上述内部网域已不再需要的数据从上述存储元件中删除。

21.一种在一网络网关装置中提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法,其中上述网络网关装置连接在一外部网域和一内部网域之间,包括:检测来自上述外部网域的一原始点对点超描述文件,上述原始点对点超描述文件包括被分享文件片段的信息和一点对点追踪服务器地址;

将上述原始点对点超描述文件载入一对外模拟点对点用户端;

将上述原始点对点超描述文件中所记录的上述点对点追踪服务器地址修改成一内部网络地址以产生一修改点对点超描述文件;

将上述修改点对点超描述文件转送至上述内部网域中的一计算机;

接收来自上述计算机的询问;

产生一下载记录表与一分享计算机列表;

执行一内部询问程序;

执行一负载平衡程序;以及

根据上述负载平衡程序的回应回复上述计算机。

22.如权利要求21所述的点对点通信方法,其中上述下载记录表记录计算机信息、拥有文件信息或下载时间,而上述分享计算机列表记录被分享文件片段位于上述内部网域中的计算机的网络地址。

23.如权利要求21所述的点对点通信方法,其中上述下载记录表记录文件拥有量信息,而上述分享计算机列表记录被分享文件片段位于上述内部网域中的计算机的网络地址。

24.如权利要求21所述的点对点通信方法,还包括从上述网络网关装置的一网络地址转换单元取得一内部计算机信息列表,其中上述内部计算机信息列表记录上述内部网域中所有计算机的网络频宽信息、上传网络使用量信息、下传网络使用量信息、以及回应能力信息。

25.如权利要求24所述的点对点通信方法,其中上述内部询问程序包括根据上述下载记录表或上述内部计算机信息列表询问上述内部网域中的计算机是否有对应于上述计算机询问的被分享文件片段,以及更新上述下载记录表和上述分享计算机列表。

26.如权利要求21所述的点对点通信方法,其中上述负载平衡程序根据循环式排程挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址为回应内容。

27.如权利要求21所述的点对点通信方法,其中上述负载平衡程序根据上述下载记录表中的文件拥有量信息或下载时间信息挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址为回应内容。

28.如权利要求24所述的点对点通信方法,其中上述负载平衡程序根据上述内部计算机信息列表中的网络频宽信息、上传网络使用量信息、下传网络使用量信息、或回应能力信息挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址和上述内部网络地址为回应内容。

29.如权利要求21所述的点对点通信方法,其中上述负载平衡程序可由一使用者设定而取消进行,并且以上述分享计算机列表中所记录的计算机的网络地址为回应内容。

30.如权利要求21所述的点对点通信方法,还包括接收来自上述计算机的请求,检查一存储元件是否具有上述计算机所请求的被分享文件片段,以及在上述存储元件具有上述计算机所请求的被分享文件片段时,将上述计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述计算机。

31.如权利要求30所述的点对点通信方法,还包括在上述存储元件不具有上述计算机所请求的被分享文件片段时,通过上述对外模拟点对点用户端从上述外部网域下载上述计算机所请求的被分享文件片段至上述存储元件,以及将上述计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述计算机。

32.如权利要求30所述的点对点通信方法,还包括在上述存储元件不具有上述计算机所请求的被分享文件片段时,根据上述负载平衡程序的回应从上述内部网域下载上述计算机所请求的被分享文件片段至上述存储元件,以及将上述计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述计算机。

33.如权利要求30所述的点对点通信方法,还包括在上述存储元件被要求写入数据但容量已满时,从所存储的数据中挑选符合一淘汰规则的数据进行淘汰,其中上述淘汰规则为以下其中之一:淘汰上述外部网域中最常见的数据;

淘汰存在上述存储元件中最久的数据;以及

淘汰上述内部网域中最常见的数据。

34.如权利要求30所述的点对点通信方法,还包括定期根据上述下载记录表与上述分享计算机列表将上述内部网域已不再需要的数据从上述存储元件中删除。

35.一种在一网络网关装置中提供存储管理与数据传输负载平衡点对点代理服务的点对点通信方法,其中上述网络网关装置连接在一外部网域和一内部网域之间,包括:接收来自上述外部网域的一计算机的询问;

取得一下载记录表、一分享计算机列表、以及一内部计算机信息列表;以及根据上述计算机所询问的被分享文件片段信息、一存储元件所存储的被分享文件片段、上述下载记录表、以及一遮罩规则计算一第一拥有区块信息,以及将上述第一拥有区块信息回复予上述计算机,其中上述遮罩规则为以下其中之一:保留上述外部网域中最少见的数据;以及

舍弃上述内部网域已不再需要的数据。

36.如权利要求35所述的点对点通信方法,其中上述下载记录表记录计算机信息、拥有文件信息或下载时间;上述分享计算机列表记录被分享文件片段位于上述内部网域中的计算机的网络地址;上述内部计算机信息列表记录上述内部网域中所有计算机的网络频宽信息、上传网络使用量信息、下传网络使用量信息、或回应能力信息。

37.如权利要求35所述的点对点通信方法,其中上述下载记录表记录文件拥有量信息;上述分享计算机列表记录被分享文件片段位于上述内部网域中的计算机的网络地址;

上述内部计算机信息列表记录上述内部网域中所有计算机的网络频宽信息、上传网络使用量信息、下传网络使用量信息、或回应能力信息。

38.如权利要求35所述的点对点通信方法,还包括接收来自上述计算机的请求,检查上述存储元件是否具有上述计算机所请求的被分享文件片段,在上述存储元件具有上述计算机所请求的被分享文件片段时,将上述计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述计算机。

39.如权利要求38所述的点对点通信方法,还包括在上述存储元件不具有上述计算机所请求的被分享文件片段时,执行一内部询问程序与一负载平衡程序,并在上述负载平衡程序的回应指示上述内部网域中没有任何计算机拥有上述计算机所请求的被分享文件片段时,根据上述存储元件、上述下载记录表、以及上述遮罩规则计算一第二拥有区块信息,将上述第二拥有区块信息回复予上述计算机。

40.如权利要求39所述的点对点通信方法,还包括在上述负载平衡程序的回应指示上述内部网域中有计算机拥有上述计算机所请求的被分享文件片段时,根据上述负载平衡程序的回应下载上述计算机所请求的被分享文件片段至上述存储元件,以及将上述计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述计算机。

41.如权利要求39所述的点对点通信方法,其中上述内部询问程序包括根据上述下载记录表或上述内部计算机信息列表询问上述内部网域中的计算机是否有上述计算机所请求的被分享文件片段,以及更新上述下载记录表和上述分享计算机列表。

42.如权利要求39所述的点对点通信方法,其中上述负载平衡程序根据循环式排程挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址为回应内容。

43.如权利要求39所述的点对点通信方法,其中上述负载平衡程序根据上述下载记录表中的文件拥有量信息或下载时间信息挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址为回应内容。

44.如权利要求39所述的点对点通信方法,其中上述负载平衡程序根据上述内部计算机信息列表中的网络频宽信息、上传网络使用量信息、下传网络使用量信息、或回应能力信息挑选上述分享计算机列表中的计算机,以挑选出的计算机的网络地址和上述网络网关装置的一内部网络地址为回应内容。

45.如权利要求39所述的点对点通信方法,其中上述负载平衡程序可由一使用者设定而取消进行,并且以上述分享计算机列表中所记录的计算机的网络地址为回应内容。

46.如权利要求35所述的点对点通信方法,还包括在上述存储元件被要求写入数据但容量已满时,从所存储的数据中挑选符合一淘汰规则的数据进行淘汰,其中上述淘汰规则为以下其中之一:淘汰上述外部网域中最常见的数据;

淘汰存在上述存储元件中最久的数据;以及

淘汰上述内部网域中最常见的数据。

47.如权利要求35所述的点对点通信方法,还包括定期根据上述下载记录表与上述分享计算机列表将上述内部网域已不再需要的数据从上述存储元件中删除。

说明书 :

运用暂存管理与数据传输负载平衡的代理服务装置与方法

技术领域

[0001] 本发明主要涉及点对点通信代理服务(peer-to-peer proxy service)技术,特别涉及一种运用快取管理与数据传输负载平衡的点对点代理服务装置与方法。

背景技术

[0002] 近年来,使用点对点通信技术进行文件分享的应用受到广泛的使用,例如比特洪流(BitTorrent简称BT)和电骡(eMule)等通信协议,使用者可以很方便地由网际网络上的其他使用者下载取得想要的文件,点对点网络技术与传统下载方式不同之处在于,传统的下载方式通常是由一位使用者通过其上传频宽分享文件给其他使用者,而当下载该分享文件的使用者越多时,会造成分享端的网络资源和系统资源吃紧,且每个下载端的使用者所分配到的下载频宽也越小。在点对点通信技术架构下,以比特洪流为例,每个下载文件的使用者也同时扮演分享文件的角色,因此当下载同一分享文件的使用者越多时,每个下载端的使用者所能取得的下载频宽就越大,由于上传的任务分散至每个下载使用者,因此解决了以往由单一使用者进行上传时的资源大量耗用问题。
[0003] 然而,使用此点对点通信技术的应用服务所产生的连线数目远比其他应用服务来得多,因此对于广泛使用于一般中小型公司或家庭的网络地址(IP)分享器造成极大的负担。网络地址分享器使用了网络地址转换(Network Address Translation,NAT)的技术,在网络地址分享器所连接的内部网域(private network)中的计算机皆使用内部网络地址(private IP)来定址,当内部网域中的计算机需要连接上外部网域(public network)的计算机时,网络分组会经由网络地址分享器中的网络地址转换技术将内部网络地址转换成对外的外部网络地址(public IP)地址,因此网络地址分享器可视为一种网络网关器(NAT gateway)。在这个转换的过程中,网络网关器会建立一个网络地址转换表(NAT Translation Table)用以记录每个网络连线的内部网络地址与外部网络地址的对应关系,包括来源网络地址(source IP)、来源端口(source port)、目的网络地址(destination IP)、目的端口(destination port)、混杂网络地址(mangled IP)、混杂端口(mangledport)、以及其它连线的标志等信息。
[0004] 点对点下载服务有很多种形式,其中一种最常见的称之为比特洪流式(bit-stream based)的点对点下载。在比特洪流式的点对点下载中,在外部网络上会有一至数个服务器负责提供比特种子文件(.torrent)来供民众下载。比特种子是原始的比特洪流所用的称呼。这个种子文件是一个点对点文件下载超描述文件,负责描述有关于可以通过点对点方式下载进行的某个文件的相关数据,并且包含一或数个针对点对点追踪服务器(tracker)的信息。通过点对点追踪服务器,以点对点方式下载文件的计算机可以知道,网络上有哪些计算机可以参与点对点分享。随后欲下载文件的计算机再根据点对点追踪服务器提供的可分享计算机清单来分别进行询问是否有所需的文件片段。
[0005] 图1是显示网络地址转换过程中的网络地址转换表内容的范例。在使用者操作网络应用程序时,每个分组皆会通过查表来转换成正确的数据,其中一内部网域120的一计算机121执行一模拟比特洪流式(BT-like)的下载应用,根据所下载的洪流文件(torrent file)101向位于一外部网络110的一外部点对点追踪服务器111询问可分享文件数据片段的计算机信息,然后根据此信息建立与计算机112和计算机113的连线,在连线建立后计算机121询问计算机112以及计算机113是否有所需的文件数据片段,并向计算机112和计算机113要求下载所分享的文件数据片段。连接外部网域110与内部网域120的一网络网关器130根据内部网域120的连线状况维护一网络地址转换表131,其中包括计算机121与计算机112以及计算机121与计算机113的比特洪流连线信息,其他所有进出网络网关器130的网络连线亦均需进行网络地址转换的动作。由于每一个位于内部网域的计算机与每一个位于外部网域的计算机之间的组合,在对外进行点对点下载服务时都会在网络地址转换表131上产生一个甚至多个网络地址转换对应项。这个转换表会在执行点对点下载应用时成长得非常快,导致网络网关器130的存储器快速地被消耗、同时因为所接受的每一个网络分组都必须要进行网络地址转换的查表导致网络网关器130的负荷加重,尤其当网络地址转换表131所含的连线数目越多、连线的上下载速度越快、或分组数目越多时,将导致网络网关器130的效能明显下降,而其中又以点对点通信技术的应用服务所产生的连线数目占最高比例。

发明内容

[0006] 根据本发明一实施例所述的一种网络网关装置,连接在一外部网域和一内部网域之间,包括一点对点超描述文件检测器,检测来自上述外部网域的一原始点对点超描述文件,上述原始点对点超描述文件包括被分享文件片段的信息和一点对点追踪服务器地址;一点对点代理服务器控制单元,将上述原始点对点超描述文件中所记录的上述点对点追踪服务器地址修改成上述内部网络地址以产生一修改点对点超描述文件,以及将上述修改点对点超描述文件转送至上述内部网域中的一第一计算机;一内部点对点追踪服务器,可根据上述第一计算机的询问产生一下载记录表与一分享计算机列表,发出一请求信息,并根据所收到的回应回复上述第一计算机;一存储元件,用以存储上述被分享文件片段;一对外模拟点对点用户端,设定其网络地址为上述外部网络地址,载入上述原始点对点超描述文件;以及一对内模拟点对点用户端,设定其网络地址为上述内部网络地址,可根据上述请求信息执行一第一内部询问程序与一负载平衡程序,根据上述负载平衡程序的回应回复上述内部点对点追踪服务器,根据上述第一计算机的请求检查上述存储元件是否具有上述第一计算机所请求的被分享文件片段,在上述存储元件具有上述第一计算机所请求的被分享文件片段时,将上述第一计算机所请求的被分享文件片段从上述存储元件中取出并传送给上述第一计算机。
[0007] 根据本发明一实施例所述的一种在一网络网关装置中提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法,其中上述网络网关装置连接于一外部网域和一内部网域之间,包括:检测来自上述外部网域的一原始点对点超描述文件,上述原始点对点超描述文件包括被分享文件片段的信息和一点对点追踪服务器地址;将上述原始点对点超描述文件载入一对外模拟点对点用户端;将上述原始点对点超描述文件中所记录的上述点对点追踪服务器地址修改成上述内部网络地址以产生一修改点对点超描述文件;将上述修改点对点超描述文件转送至上述内部网域中的一计算机;接收来自上述计算机的询问;产生一下载记录表与一分享计算机列表;执行一内部询问程序;执行一负载平衡程序;以及根据上述负载平衡程序的回应回复上述计算机。
[0008] 根据本发明另一实施例所述的一种在一网络网关装置中提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法,其中上述网络网关装置连接在一外部网域和一内部网域之间,包括:接收来自上述外部网域的一计算机的询问;取得一下载记录表、一分享计算机列表、以及一内部计算机信息列表;以及根据上述计算机所询问的被分享文件片段信息、一存储元件所存储的被分享文件片段、上述下载记录表、以及一遮罩规则计算一第一拥有区块信息,以及将上述第一拥有区块信息回复予上述计算机。
[0009] 关于本发明其他附加的特征与优点,部分将在实施方法中公开、部分可从实施方法中明显观察得到、部分则可由实施过程中习得。本发明的特征与优点将可由附属项专利宣告范围所指出的要素与组合方法得以实现。
[0010] 上述发明内容和接下来的实施方法仅为本发明的范例与说明,然其并非用以限定本发明的范围,因此本发明的保护范围当视所附权利要求书所界定者为准。

附图说明

[0011] 图1是显示网络地址转换过程中的网络地址转换表内容的范例。
[0012] 图2是显示根据本发明一实施例所述在一网络网关装置中提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法。
[0013] 图3是显示根据本发明一实施例所述在一网络网关装置中对内提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法流程图。
[0014] 图4是显示根据本发明一实施例所述在一网络网关装置中对外提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法流程图。
[0015] 【主要元件符号说明】
[0016] 101、202~原始点对点超描述文件;
[0017] 110、210~外部网域;
[0018] 112~113、121、211、212、221~224~计算机;
[0019] 120、220~内部网域;
[0020] 130、230~网络网关器;
[0021] 131、238~网络地址转换表;
[0022] 202~修改点对点超描述文件;
[0023] 111、211~外部点对点追踪服务器;
[0024] 231~点对点超描述文件检测器;
[0025] 232~点对点代理服务器控制单元;
[0026] 233~内部点对点追踪服务器;
[0027] 234~对内模拟点对点用户端;
[0028] 235~存储元件;
[0029] 236~对外模拟点对点用户端;以及
[0030] 237~网络地址转换单元。

具体实施方式

[0031] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举一些优选实施例,并配合附图,作详细说明如下:
[0032] 图2是显示根据本发明一实施例所述在一网络网关装置中提供暂存管理与数据传输负载平衡点对点代理服务(peer-to-peer proxy service)的点对点通信方法。在此实施例中,一网络网关器230连接于一外部网域210与一内部网域220之间,并具有一外部网络地址140.96.115.210和一内部网络地址192.168.0.1,且网络网关器230使用了点对点代理服务,将点对点类别的网络连线交予此点对点代理服务的相关元件去处理,网络网关器230包括一点对点超描述文件检测器231、一点对点代理服务器控制单元232、一内部点对点追踪服务器233、一对内模拟点对点用户端234、一存储元件235、一对外模拟点对点用户端236、以及一网络地址转换单元237。相较于图1的架构,图2中的网络地址转换表238就不再需要记录并维护众多的点对点连线信息了,因此可大幅减少网络地址转换表238中所记录的连线信息,另外,更通过存储元件235将下载过的点对点被分享文件片段存储起来,使对内与对外的点对点下载更有效率。
[0033] 根据图2,网络地址转换单元237在网络网关器230启动时即产生一内部计算机信息列表,记录内部网域220中所有计算机的网络频宽信息、上传网络使用量信息、下传网络使用量信息、以及回应(ping)能力信息,并随时针对除了点对点通信数据包(datagram)之外的所有来自或送往外部网域210的数据包执行一网络地址转换程序。
[0034] 当内部网域220中的一计算机221试图执行点对点连线时,会从外部网域210下载一原始点对点超描述文件201,原始点对点超描述文件201包括被分享文件片段的信息和一点对点追踪服务器地址,网络网关器230中的点对点超描述文件检测器231会拦截原始点对点超描述文件201,并将之转送给点对点代理服务器控制单元232,点对点代理服务器控制单元232将原始点对点超描述文件201转送给对外模拟点对点用户端236,再将原始点对点超描述文件201中所记录的点对点追踪服务器地址修改为内部点对点追踪服务器233的地址,即为网络网关器230的内部网络地址192.168.0.1,以产生一修改点对点超描述文件202,然后将修改点对点超描述文件202转送给计算机221。对外模拟点对点用户端
236收到原始点对点超描述文件201后,载入原始点对点超描述文件201。
[0035] 计算机221根据修改点对点超描述文件202所记录的点对点追踪服务器地址,送出一第一询问信息向内部点对点追踪服务器233询问分享中的计算机信息,当内部点对点追踪服务器233接收到此询问时,产生一分享计算机列表与一下载记录表,并发出一请求信息请求对内模拟点对点用户端234询问内部网域220中是否有计算机正在分享对应于上述询问信息的被分享文件片段,其中上述分享计算机列表记录上述内部网络地址,而上述下载记录表记录计算机信息、拥有文件信息、下载时间、以及文件拥有量信息。当对内模拟点对点用户端234收到上述请求信息时,执行一第一内部询问程序询问内部网域220内有哪些计算机拥有对应于上述请求信息的被分享文件片段,并根据询问的结果更新上述下载记录表和上述分享计算机列表,然后执行一负载平衡程序从上述分享计算机列表挑选数据传输负载较轻的计算机,并将所挑选出的计算机回复予内部点对点追踪服务器233,内部点对点追踪服务器233进一步根据所收到的回应内容,再加上上述内部网络地址
192.168.0.1后,意即对内模拟点对点用户端234也拥有对应于上述第一请求信息的被分享文件片段,再回复计算机221。
[0036] 上述第一内部询问程序可根据上述下载记录表找出内部网域220中有哪些计算机可能拥有所要询问的被分享文件片段,然后针对这些计算机进行询问;或上述第一内部询问程序可根据上述内部计算机信息列表向内部网域220中目前所有的计算机进行询问。上述负载平衡程序可根据上述内部计算机信息列表中的网络频宽信息、上传网络使用量信息、下传网络使用量信息、或回应能力信息挑选上述分享计算机列表中的计算机,或根据上述下载记录表中的文件拥有量信息、或下载时间信息挑选上述分享计算机列表中的计算机,或采用循环式排程(round-robin scheduling)挑选上述分享计算机列表中的计算机,而后以挑选出的计算机网络地址作出回应。
[0037] 计算机221根据内部点对点追踪服务器233的回复内容,向对内模拟点对点用户端234请求下载被分享文件片段,对内模拟点对点用户端234在收到请求后,检查存储元件235是否具有计算机221所请求的被分享文件片段,如果有,则将计算机221所请求的被分享文件片段从存储元件235中取出并传送给计算机221。如果没有,则有两个方案可选择:
[0038] 方案1:
[0039] 对内模拟点对点用户端234要求对外模拟点对点用户端236从上述外部网域下载计算机221所请求的被分享文件片段,对外模拟点对点用户端236根据原始点对点超描述文件201开始进行下载动作,该下载动作包括先向外部点对点追踪服务器211询问外部网域210中有哪些计算机拥有计算机221所请求的被分享文件片段,然后根据询问的结果将计算机221所请求的被分享文件片段下载至存储元件235,最后发出一完成下载的回应给对内模拟点对点用户端234,对内模拟点对点用户端234再将计算机221所请求的被分享文件片段从存储元件235中取出并传送给计算机221。
[0040] 方案2:
[0041] 对内模拟点对点用户端234从上述负载平衡程序所挑选出的计算机下载计算机221所请求的被分享文件片段至存储元件235,然后再将计算机221所请求的被分享文件片段从存储元件235中取出并传送给计算机221。
[0042] 网络网关器230会在存储元件235被要求写入数据但容量已满时,从存储元件235所存储的数据中挑选淘汰上述外部网域中最常见的数据、或挑选淘汰存在上述存储元件中最久的数据、或挑选淘汰上述内部网域中最常见的数据。并且网络网关器230会定期根据上述下载记录表与上述分享计算机列表将内部网域220已不再需要的数据从存储元件235中删除。
[0043] 根据图2,当外部网域210中的计算机212欲下载内部网域曾下载的被分享文件片段时,会先向对外模拟点对点用户端236询问其所拥有的被分享文件片段为何,对外模拟点对点用户端236从上述下载记录表中取得内部网域220中所拥有的全部被分享文件片段的信息,将此信息与存储元件235中所存储的全部被分享文件片段的信息作一逻辑或运算(OR),再将逻辑或运算的结果与一遮罩规则进行逻辑与运算(AND)得到一第一拥有区块信息,并将上述第一拥有区块信息回复予计算机212。上述遮罩规则可为「保留外部网域210中最少见的数据」、或「舍弃内部网域220中已不再需要的数据」。
[0044] 如果第一拥有区块信息指示对外模拟点对点用户端236具有计算机212所欲下载的数据,计算机212会进一步向对外模拟点对点用户端236请求进行点对点连线下载,对外模拟点对点用户端236收到此请求后,先检查存储元件235是否具有计算机212所请求的被分享文件片段,如果有,则将计算机212所请求的被分享文件片段从存储元件235中取出并传送给计算机212。如果没有,则要求对内模拟点对点用户端234执行一第二内部询问程序,上述第二内部询问程序根据上述下载记录表或上述内部计算机信息列表询问内部网域220中有哪些计算机拥有计算机212所请求的被分享文件片段,并根据询问的结果更新上述下载记录表和上述分享计算机列表,然后对内模拟点对点用户端234再执行上述负载平衡程序从上述分享计算机列表挑选数据传输负载较轻的计算机,如果上述负载平衡程序的回应指出内部网域220中没有任何计算机拥有计算机212所请求的被分享文件片段,则从上述下载记录表中取得内部网域220中所拥有的全部被分享文件片段的信息,将此信息与存储元件内所拥有的全部被分享文件片段的信息作一逻辑或运算(OR),再将逻辑或运算的结果与上述遮罩规则进行逻辑与运算(AND)得到一第二拥有区块信息,并将上述第二拥有区块信息回复予计算机212;若上述负载平衡程序的回应指出内部网域中220有计算机(计算机221、计算机222、计算机223、以及计算机224中的至少一个)拥有计算机212所请求的被分享文件片段,则从这些计算机下载计算机212所请求的被分享文件片段至存储元件235,然后将计算机212所请求的被分享文件片段从存储元件235中取出并传送给计算机212。
[0045] 上述负载平衡程序可经由一使用者设定而取消对上述分享计算机列表进行挑选的动作,直接以上述分享计算机列表中的计算机的网络地址作为回应,意即网络网关器230取消了数据传输负载平衡的功能,但仍提供暂存管理与点对点代理服务。且网络网关器230会在存储元件235被要求写入数据但容量已满时,从存储元件235所存储的数据中淘汰掉外部网域210中最常见的、存在存储元件235中最久的、或内部网域220中最常见的被分享文件片段,且网络网关器230会定期根据上述下载记录表与上述分享计算机列表将内部网域220已不再需要的数据从存储元件235中删除。
[0046] 在其它实施例中,网络网关器230可具有多个内部网络地址,而使得内部点对点追踪服务器233与对内模拟点对点用户端234能够分别使用不同内部网络地址为其代表网络地址。
[0047] 图3是显示根据本发明一实施例所述在一网络网关装置中对内提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法流程图。当点对点超描述文件检测器231检测到原始点对点超描述文件201时(步骤S101),会将原始点对点超描述文件201转送至点对点代理服务器控制单元232,点对点代理服务器控制单元232直接将原始点对点超描述文件201转送至对外模拟点对点用户端236,让对外模拟点对点用户端236载入原始点对点超描述文件201(步骤S102),点对点代理服务器控制单元232再修改原始点对点超描述文件201以产生修改点对点超描述文件202(步骤S103),然后将修改点对点超描述文件转202送至内部网域220的计算机221(步骤S104),当计算机221收到修改点对点超描述文件202后,向网络网关装置230传送一询问信息,网络网关装置230收到上述询问信息时(步骤S105),由内部点对点追踪服务器233产生一下载记录表和一分享计算机列表(步骤S106),上述分享计算机列表中记录了对内模拟点对点用户端234的网络地址,即网络网关装置230之内部网络地址192.168.0.1,而上述下载记录表记录了计算机信息、拥有文件信息、下载时间、以及文件拥有量信息。然后再由对内模拟点对点用户端234执行一内部询问程序(步骤S107),上述内部询问程序包括根据上述下载记录表或上述内部计算机信息列表询问内部网域220内有哪些计算机拥有对应于上述第二请求信息的被分享文件片段,以及根据询问的结果更新上述下载记录表和上述分享计算机列表。然后,对内模拟点对点用户端234再执行一负载平衡程序(步骤S108),根据循环式排程方式、或文件拥有量、下载时间、网络频宽、上传网络使用量、下传网络使用量、以及回应能力等信息从上述分享计算机列表挑选数据传输负载较轻的计算机,然后以所挑选出的计算机的网络地址再加上上述内部网络地址192.168.0.1,意即对内模拟点对点用户端234也拥有对应于上述第一请求信息的被分享文件片段,回复计算机221(步骤S109),当计算机221收到此回应后,会再向网络网关装置230传送一请求信息,网络网关装置230收到上述请求信息(步骤S110)后,会由对内模拟点对点用户端234检查存储元件235中是否具有对应于上述请求信息的被分享文件片段(步骤S111),如果有,将对应于上述请求信息的被分享文件片段从存储元件235中取出并传送给计算机221(步骤S112),流程结束;如果没有,有两个方案可选择:
选择方案1,则由对外模拟点对点用户端236根据原始点对点超描述文件201开始从外部网域将对应于上述请求信息的被分享文件片段下载至存储元件235(步骤S113),然后再将对应于上述请求信息的被分享文件片段从存储元件235中取出并传送给计算机221(步骤S114),流程结束;选择方案2,则对内模拟点对点用户端234从上述负载平衡程序所挑选出的计算机下载对应于上述请求信息的被分享文件片段至存储元件235(步骤S115),然后再将对应于上述请求信息的被分享文件片段从存储元件235中取出并传送给计算机221(步骤S116),流程结束。
[0048] 图4是显示根据本发明一实施例所述在一网络网关装置中对外提供暂存管理与数据传输负载平衡点对点代理服务的点对点通信方法流程图。在此实施例中,计算机221已通过如图3所示的点对点通信方法进行点对点通信,此时,位于外部网域210的计算机212可通过外部点对点追踪服务器211所提供的信息,向网络网关装置230送出一外部询问讯息,当网络网关装置230收到上述外部询问讯息时,对外模拟点对点用户端236从上述下载记录表中取得内部网域220中所拥有的全部被分享文件片段的信息,将此信息与存储元件235内所拥有的全部被分享文件片段的信息作一逻辑或运算(OR),再将逻辑或运算的结果与一遮罩规则进行逻辑与运算(AND)得到一第一拥有区块信息(步骤S201),并将上述第一拥有区块信息回复予计算机212(步骤S202)。上述遮罩规则可为「保留外部网域210中最少见的数据」、或「舍弃内部网域220中已不再需要的数据」。
[0049] 然后计算机212根据所收到的回复,向网络网关装置230送出一外部请求讯息,当网络网关装置230收到上述外部请求讯息时,由对外模拟点对点用户端236检查存储元件235中是否有对应于上述外部请求讯息的被分享文件片段(步骤S203),如果有,将对应于上述外部请求信息的被分享文件片段从存储元件235中取出并传送给计算机212(步骤S204),流程结束;如果没有,则由对内模拟点对点用户端234执行一内部询问程序(步骤S205),上述内部询问程序包括根据上述下载记录表或上述内部计算机信息列表询问内部网域220中有哪些计算机拥有对应于上述外部请求信息的被分享文件片段,以及根据询问的结果更新上述下载记录表和上述分享计算机列表。然后,对内模拟点对点用户端234再执行上述负载平衡程序(步骤S206),根据循环式排程方式、或文件拥有量、下载时间、网络频宽、上传网络使用量、下传网络使用量、以及回应能力等信息从上述分享计算机列表挑选数据传输负载较轻的计算机。如果上述负载平衡程序的回应指出内部网域220中没有任何计算机拥有对应于上述外部请求信息的被分享文件片段,则从上述下载记录表中取得内部网域220中所拥有的全部被分享文件片段的信息,将此信息与存储元件235内所拥有的全部被分享文件片段的信息作一逻辑或运算(OR),再将逻辑或运算的结果与上述遮罩规则进行逻辑与运算(AND)得到一第二拥有区块信息(步骤S207),并将上述第二拥有区块信息回复予计算机212(步骤S208),流程结束;若上述负载平衡程序的回应指出内部网域中220有计算机(计算机221、计算机222、计算机223、以及计算机224的至少一者)拥有对应于上述外部请求信息的被分享文件片段,则从这些计算机下载对应于上述外部请求信息的被分享文件片段至存储元件235(步骤S209),然后将对应于上述外部请求信息的被分享文件片段从存储元件235中取出并传送给计算机212(步骤S210),流程结束。
[0050] 图3和图4所述的点对点通信方法还包括在欲写入数据到存储元件235却发现存储元件235的容量已满时,从存储元件235中淘汰掉外部网域210中最常见的、存在存储元件235中最久的、或内部网域220中最常见的被分享文件片段。并定期根据上述下载记录表与上述分享计算机列表将内部网域220已不再需要的数据从存储元件235中删除。
[0051] 上述负载平衡程序可经由一使用者设定而取消对上述分享计算机列表进行挑选的动作,直接以上述分享计算机列表中的计算机的网络地址作为回应,意即网络网关器230取消了数据传输负载平衡的功能,但仍提供暂存管理与点对点代理服务。
[0052] 在其它实施例中,网络网关器230可具有多个内部网络地址,而使得内部点对点追踪服务器233与对内模拟点对点用户端234能够分别使用不同内部网络地址为其代表网络地址。
[0053] 本发明虽以范例公开如上,然其并非用以限定本发明的范围,本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视所附权利要求书所界定者为准。