首页> 中国专利> 网络系统、节点设备、数据分发方法、信息记录介质以及程序

网络系统、节点设备、数据分发方法、信息记录介质以及程序

摘要

一种网络系统、节点设备、数据分发方法。分发请求发送部(301)向服务器发送分发请求。路径决定部(302)在自己(终端(12)被服务器选定为最上位节点的情况下,决定以自己为起点分别将服务器介绍的各节点从上位到下位排列起来的分发路径。数据接收部(303)基于所决定的分发路径来接收从已连接的上一级节点分发的数据。数据发送部(308)基于分发路径在有已连接的下一级节点的情况下,将接收到的数据发送给下一级节点。而且,接收通知回复部(309)在自己是最下位节点的情况下,当数据接收部(303)接收到了数据时,则将接收通知回复给最上位节点。

著录项

  • 公开/公告号CN101627374A

    专利类型发明专利

  • 公开/公告日2010-01-13

    原文格式PDF

  • 申请/专利权人 科乐美数码娱乐株式会社;

    申请/专利号CN200880004782.9

  • 发明设计人 森昌二;

    申请日2008-07-08

  • 分类号G06F13/00;H04L12/56;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人雒运朴

  • 地址 日本东京都

  • 入库时间 2023-12-17 23:18:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-05-23

    授权

    授权

  • 2010-03-10

    实质审查的生效

    实质审查的生效

  • 2010-01-13

    公开

    公开

说明书

技术领域

本发明涉及能够适当地降低数据分发时的负荷的网络系统、节点设备、数据分发方法、信息记录介质以及程序。

背景技术

历来,人们利用互联网等网络来进行各种各样的数据提供。作为一例,游戏公司等,为了让用户体验发售前等的游戏,而进行评价版程序(游戏范围等被部分限制的宣传用程序)等的数据分发。除此以外还进行游戏的修正程序及程序库等的数据分发。

具体而言,在游戏公司的服务器上保存作为分发对象的评价版程序等,用户能够使用游戏机等自由地进行下载。

此外,在这种技术领域中,还公开了不用使游戏机重新启动或中断游戏而可以下载修正程序和程序库等来利用的技术(例如,参照专利文献1)。

专利文献1:日本专利特开2004-287631(第10-16页、第1图)

在如上述那样的以往的数据分发中,有时候负荷会集中于服务器而无法进行有效的分发。

例如,一旦宣布开始分发评价版程序,许多用户就会在同一时期进行下载,所以负荷将会集中于服务器。由此,将会发生下载完全不能开始、或者尽管开始下载但直至完成将需要很长时间这样的情况。

为此,数据的提供侧(游戏公司等)采用使用多个服务器以使负荷分散之类一般的负荷分散技术来进行应付,以使用户不用那样等待而可进行下载。

但是,在分发用户关心度较高的游戏(评价版程序)等情况下,就易于发生更多的用户要在同一时期进行下载的情况。在这种情况下,实际情况是,即使采用现有的负荷分散技术,负荷也会增高并超过允许范围而无法进行有效的分发。

为此,要求有能够降低数据分发时的负荷的新办法。

发明内容

本发明就是为了解决这样的课题而完成的,其目的是提供一种能够适当地降低数据分发时的负荷的网络系统、节点设备、数据分发方法、信息记录介质以及程序。

本发明第1观点所涉及的网络系统是一种服务器和多个节点设备可以分别进行通信的网络系统,服务器包含分发请求接收部、选定部、介绍部、以及分发部,各节点设备的每个包含分发请求发送部、路径决定部、数据接收部、数据发送部以及接收通知回复部而构成。

首先,在服务器中,分发请求接收部接收从各节点设备发送的分发请求。另外,选定部将发送了该分发请求的各节点设备之中的至少一个选定为最上位节点设备。介绍部对未选定的剩余的各节点设备介绍该最上位节点设备。而且,分发部向该最上位节点设备分发数据。

另一方面,在各节点设备中,分发请求发送部向服务器发送分发请求。另外,在被服务器选定为最上位节点设备的情况下,路径决定部决定以自己为起点分别将服务器介绍的各节点设备从上位到下位排列的分发路径。数据接收部基于所决定的该分发路径来接收从已连接的上一级节点设备或者服务器分发的数据。数据发送部,基于该分发路径,在有已连接的下一级节点设备的情况下,将该接收到的数据发送给该下一级节点设备。而且,接收通知回复部,基于该分发路径,在没有下一级节点设备而自己成为最下位节点设备的情况下,当数据接收部接收到了数据时,则将接收通知回复给最上位节点设备。

这样,服务器侧选定最上位节点设备,并向该节点设备分发数据。另一方面,一旦决定了以最上位节点设备为起点的分发路径,则在节点设备侧,沿着该路径从上位节点设备到下位节点设备以桶传递式(bucket relay)进行数据分发。

因此,在数据分发时,负荷就不会如以往那样集中于服务器而在节点设备侧适当地得以分散。

其结果,能够适当地降低数据分发时的负荷。

还可以是,上述服务器的上述选定部将最早发送了该分发请求的节点设备选定为最上位节点设备,

上述节点设备的上述路径决定部按照被上述服务器介绍的顺序,来决定将各节点设备从上位到下位排列起来的分发路径。

在这种情况下,能够极其自然地决定分发路径,能够使用于决定路径的处理简单化。

还可以是,上述节点设备还具备:地址附加部,其在上述数据接收部接收到的数据上附加自己的地址;和

上位节点管理部,其基于该接收到的数据中已经附加的地址来管理当前时间点的自己上位的节点设备,

上述数据发送部将附加了地址的数据发送给下一级节点设备,

上述接收通知回复部基于上述数据接收部接收到的数据上所附加的全部地址以及自己的地址,生成表示当前时间点的实际的分发路径的列表,在接收通知中附加该列表并回复给最上位节点设备。

在这种情况下,能够把握直至最下位节点设备进行了分发的情况,并且还能够把握该时间点的实际(最新)的分发路径。

还可以是,上述节点设备还具备重发请求部,该重发请求部,在上述数据接收部因与上一级节点设备之间的连接断开而无法接收数据的情况下,从下位起按顺序对上述上位节点管理部所管理的上位节点设备之中的节点设备尝试连接,并对已连接上的节点设备请求重发数据,

上述数据接收部将上述重发请求部已请求了重发的节点设备作为新的上一级节点设备,并接收从该上一级节点设备分发的数据。

在这种情况下,能够自主地重新构建分发路径,适当地继续进行数据分发。

还可以是,在上述服务器介绍了新的节点设备的情况下,上述节点设备的上述路径决定部重新决定将该新的节点设备作为最下位的分发路径。

在这种情况下,能够适当地进行包含了中途参加的节点设备的数据分发。

本发明的第2观点所涉及的节点设备是一种作为数据分发源的服务器和多个节点设备可以分别进行通信的网络中的各节点设备,包含分发请求发送部、路径决定部、数据接收部、数据发送部、以及接收通知回复部而构成。

首先,分发请求发送部向服务器发送分发请求。另外,在自己被服务器选定为最上位节点设备的情况下,路径决定部,决定以自己为起点分别将服务器介绍的各节点设备从上位到下位排列起来的分发路径。数据接收部基于所决定的该分发路径来接收从已连接的上一级节点设备或者服务器分发的数据。数据发送部,基于该分发路径,在有已连接的下一级节点设备的情况下,将该接收到的数据发送给该下一级节点设备。而且,接收通知回复部,基于该分发路径,在没有下一级节点设备而自己成为最下位节点设备的情况下,当数据接收部接收到了数据时,则将接收通知回复给最上位节点设备

这样,各节点设备,一旦决定了以最上位节点设备为起点的分发路径,则沿着该路径从上位节点设备到下位节点设备以桶传递式进行数据分发。

因此,在数据分发时,负荷不会如以往那样集中于服务器而在各节点设备中适当地得以分散。

其结果,能够适当地降低数据分发时的负荷。

还可以是,对于上述节点设备,对上述服务器最早发送了分发请求的节点设备被选定为最上位节点设备,

上述路径决定部按照被上述服务器介绍的顺序,来决定将各节点设备从上位到下位排列起来的分发路径。

在这种情况下,能够极其自然地决定分发路径,能够使用于决定路径的处理简单化。

还可以是,上述节点设备还具备:地址附加部,其在上述数据接收部接收到的数据上附加自己的地址;和

上位节点管理部,其基于该接收到的数据中已经附加的地址来管理当前时间点的自己上位的节点设备,

上述数据发送部将附加了地址的数据发送给下一级节点设备,

上述接收通知回复部基于上述数据接收部接收到的数据上所附加的全部地址以及自己的地址,生成表示当前时间点的实际的分发路径的列表,在接收通知中附加该列表并回复给最上位节点设备。

在这种情况下,能够把握直至最下位节点设备进行了分发的情况,并且还能够把握该时间点的实际(最新)的分发路径。

还可以是,上述节点设备还具备重发请求部,该重发请求部在上述数据接收部因与上一级节点设备之间的连接断开而无法接收数据的情况下,从下位起按顺序对上述上位节点管理部所管理的上位节点设备之中的节点设备尝试连接,并对已连接上的节点设备请求重发数据,

上述数据接收部将上述重发请求部已请求了重发的节点设备作为新的上一级节点设备,并接收从该上一级节点设备分发的数据。

在这种情况下,能够自主地重新构建分发路径,适当地继续进行数据分发。

还可以是,在上述服务器介绍了新的节点设备的情况下,上述节点设备的上述路径决定部重新决定将该新的节点设备作为最下位的分发路径。

在这种情况下,能够适当地进行包含了中途参加的节点设备的数据分发。

本发明第3观点所涉及的数据分发方法是一种服务器和多个节点设备可以分别进行通信的网络系统中的数据分发方法,包含分发请求接收步骤、选定步骤、介绍步骤、分发步骤、分发请求发送步骤、路径决定步骤、数据接收步骤、数据发送步骤、以及接收通知回复步骤而构成。

首先,在服务器中,在分发请求接收步骤中接收从各节点设备发送的分发请求。另外,在选定步骤中将发送了该分发请求的各节点设备之中的至少一个选定为最上位节点设备。在介绍步骤中对未选定的剩余的各节点设备介绍该最上位节点设备。而且,在分发步骤中向该最上位节点设备分发数据。

另一方面,在各节点设备中,在分发请求发送步骤中向服务器发送分发请求。另外,在被服务器选定为最上位节点设备的情况下,在路径决定步骤中决定以自己为起点分别将服务器介绍的各节点设备从上位到下位排列起来的分发路径。在数据接收步骤中,基于所决定的该分发路径来接收从已连接的上一级节点设备或者服务器分发的数据。在数据发送步骤中,基于该分发路径,在有已连接的下一级节点设备的情况下,将该接收到的数据发送给该下一级节点设备。而且,在接收通知回复步骤中,基于该分发路径,在没有下一级节点设备而自己成为最下位节点设备的情况下,当数据接收部接收到了数据时,则将接收通知回复给最上位节点设备。

这样,服务器侧选定最上位节点设备,并向该节点设备分发数据。另一方面,一旦决定了以最上位节点设备为起点的分发路径,则节点设备侧,沿着该路径从上位节点设备到下位节点设备以桶传递式进行数据分发。

因此,在数据分发时,负荷不会如以往那样集中于服务器而在节点设备侧适当地得以分散。

其结果,能够适当地降低数据分发时的负荷。

本发明的第4观点所涉及的信息记录介质,存储用于使计算机(包含电子设备)作为上述的节点设备而发挥功能的程序。

本发明的第5观点所涉及的程序构成为,使计算机(包含电子设备)作为上述的节点设备而发挥功能。

此程序可以记录于激光盘、软磁盘、硬盘、光磁盘、数字视频盘、磁带、半导体存储器等计算机可读取的信息存储介质。

上述程序,可以独立于执行该程序的计算机,通过计算机通信网进行发行/出售。另外,上述信息记录介质,可以独立于该计算机进行发行/出售。

根据本发明,可以适当地降低数据分发时的负荷。

附图说明

图1是表示本实施方式的网络系统之概要构成的示意图。

图2是表示本实施方式的游戏装置之概要构成的示意图。

图3是表示服务器的概要构成之一例的示意图。

图4是表示终端的概要构成之一例的示意图。

图5A是用于说明典型的分发路径的示意图。

图5B是用于说明分发路径被决定的情形的示意图。

图6A是用于说明分发数据的结构的示意图。

图6B是用于说明分发数据中所包含的头部分等的示意图。

图7是用于说明上位节点表之一例的示意图。

图8是表示本发明的实施方式所涉及的分发请求接收处理之一例的流程图。

图9是表示本发明的实施方式所涉及的分发路径决定处理之一例的流程图。

图10是表示本发明的实施方式所涉及的重发请求处理之一例的流程图。

图11A是用于说明进行分支的分发路径的示意图。

图11B是用于说明分发路径被决定的情形的示意图。

附图标记说明:10网络系统;11服务器;12终端;13互联网;100游戏装置;101CPU;102ROM;103RAM;104接口;105控制器;106外部存储器;107DVD-ROM驱动器;108图像处理部;109语音处理部;110NIC;201分发请求接收部;202选定部;203节点信息记录部;204介绍部;205分发部;206分发用数据存储部;301分发请求发送部;302路径决定部;303数据接收部;304分发数据存储部;305地址附加部;306上位节点管理部;307重发请求部;308数据发送部;309接收通知返回部。

具体实施方式

以下对本发明的实施方式进行说明。在下面,为了容易理解,对将本发明应用于可经由网络连接到服务器等上的游戏装置中的实施方式进行说明,但在各种计算机、PDA、便携式电话等信息处理装置中也能够同样地应用本发明。即、以下记载的实施方式仅用于说明,并非对本申请发明的范围进行限制的内容。从而,只要是本领域技术人员就可以采用将这些各要素或者全部要素置换成与此均等的要素的实施方式,这些实施方式也包含在本发明的范围中。

(实施方式1)

图1是表示本发明的实施方式所涉及的网络系统之概要构成的示意图。以下,参照本图进行说明。

在本网络系统10中,作为一例配置有向互联网13上分发数据的服务器11。而且,本网络系统10中的各终端12以可通信的方式经由互联网13与服务器11或者其他终端12连接。

此外,服务器11例如可以分发评价用程序,可从各终端12直接地或者间接地进行下载。另外,各终端12还可以通过所谓的点对点通信技术相互进行通信。

为了容易理解发明,在下面,列举出一例可以连接到互联网的游戏装置作为终端12来进行说明。

图2是表示作为本实施方式的终端12(也就是说节点设备)发挥功能的游戏装置100之概要构成的示意图。下面,参照本图进行说明。

游戏装置100具备:CPU(Central Processing Unit)101、ROM(ReadOnly Memory)102、RAM(Random Access Memory)103、接口104、控制器105、外部存储器106、DVD(Digital Versatile Disk)-ROM驱动器107、图像处理部108、语音处理部109和NIC(Network InterfaceCard)110。

此外,将存储有游戏用的程序以及数据的DVD-ROM安装于DVD-ROM驱动器107,通过接通游戏装置100的电源,执行该程序,来实现本实施方式的节点设备。

CPU101对游戏装置100整体的动作进行控制,与各构成要素连接,并交换控制信号和数据。

ROM102中记录有电源刚接通后执行的IPL(Initial ProgramLoader),通过执行该程序,将记录于DVD-ROM中的程序读出到RAM103,并利用CPU101开始执行。另外,在ROM102中记录有游戏装置100整体的动作控制所需的操作系统的程序和各种数据。

RAM103用于暂时存储数据和程序,保持从DVD-ROM读出的程序和数据,以及其他游戏的推进或聊天通信所需的数据。

通过接口104连接的控制器105,接受用户在执行游戏时进行的操作输入。例如,控制器105按照操作输入来接受字符串(消息)等的输入。

在借助于接口104自由拆装地连接的外部存储器106中,以可重写的方式存储有表示游戏的推进状态的数据、聊天通信的日志(记录)的数据等。用户通过控制器105进行指令输入,由此可以将这些数据适宜地记录于外部存储器106。

在安装于DVD-ROM驱动器107的DVD-ROM中,记录有用于实现游戏的程序和伴随游戏的图像数据或语音数据。通过CPU101的控制,DVD-ROM驱动器107,对安装于其中的DVD-ROM进行读出处理,读出所需的程序或数据,并将它们暂时存储于RAM103等中。

图像处理部108,在利用CPU101或图像处理部108具备的图像运算处理器(未图示),对从DVD-ROM读出的数据进行加工处理后,将其记录于图像处理部108具备的帧存储器(未图示)中。记录于帧存储器中的图像信息,在规定的同步时刻被转换为视频信号并被输出到与图像处理部108连接的监视器(未图示)。由此,能够显示各种图像。

此外,图像运算处理器,可以高速地执行二维图像的叠加运算和α混合等透明运算、各种饱和运算。

另外,通过将配置于虚拟三维空间中的、付加了各种结构信息的多边形信息,利用Z缓冲法进行描绘,可以高速地执行获得描绘图像的运算,该描绘图像是从规定的视点位置鸟瞰配置于虚拟三维空间中的多边形而得到的图像。

此外,通过使CPU101与图像运算处理器协调动作,就能够按照定义文字形状的字体信息,将字符串作为二维图像写入到帧存储器,或写入到各多边形表面。字体信息,被记录于ROM102中,然而也可以利用记录在DVD-ROM中的专用的字体信息。

语音处理部109,将从DVD-ROM读出的语音数据转换为模拟语音信号,并从与此连接的扬声器(未图示)输出。另外,在CPU101的控制下,生成在游戏的推进中应产生的效果音或乐曲数据,并将与此对应的语音从扬声器输出。

NIC110,是用于将游戏装置100与互联网等计算机通信网(未图示)连接的部分,由按照构成LAN(Local Area Network)时所使用的10BASE-T/100BASE-T标准的部件,或用于用电话线路与互联网连接的模拟调制解调器、ISDN(Integrated Services Digital Network)调制解调器、ADSL(Asymmetric Digital Subscriber Line)调制解调器、用于用有线电视线路与互联网连接的线缆调制解调器等,和进行这些调制解调器与CPU101之间的连接的接口(未图示)构成。

除此以外,游戏装置100还可以构成为,使用硬盘等大容量外部存储装置来实现与ROM102、RAM103、外部存储器106、在DVD-ROM驱动器107中安装的DVD-ROM等相同的功能。

另外,还能够采用连接用于接受来自用户的字符串的编辑输入的键盘和、用于接受各种位置的指定以及选择输入的鼠标等的方式。

另外,也可以代替本实施方式的游戏装置100,而将一般的计算机(通用的个人计算机等)作为节点设备来利用。例如,一般的计算机,与上述游戏装置100同样,具备:CPU、RAM、ROM、DVD-ROM驱动器以及NIC,具备具有比游戏装置100简单的功能的图像处理部,除了具有作为外部存储装置的硬盘以外,还可以利用软盘、光磁盘、磁带等。另外,可以将键盘或鼠标等不是作为控制器而是作为输入装置来利用。而且,若在安装了游戏程序后执行该程序,则作为节点设备发挥功能。

(服务器的概要构成)

图3是表示本实施方式所涉及的服务器11的概要构成之一例的示意图。以下,参照本图进行说明。

服务器11如图3所示那样具备:分发请求接收部201、选定部202、节点信息存储部203、介绍部204、分发部205和分发用数据存储部206。

分发请求接收部201接收从作为节点设备(以下简称为“节点”)的各终端12发送的分发请求。

例如,若从终端12指定了任意的评价用程序,并被请求了下载,则接收关于该评价用程序的分发请求。

选定部202将已发送了分发请求的各终端12之中的至少一个选定为最上位节点。

例如,将指定了相同评价用程序的分发请求之中的、最早发送了分发请求的终端12作为最上位节点进行选定。而且,将已选定的终端12的识别信息(例如MAC地址等)、以及可以接入该终端12的地址(例如IP地址等)保存在节点信息存储部203中。

节点信息存储部203存储作为最上位的节点而被选定的终端12的信息。

例如,节点信息存储部203将已被选定的终端12的识别信息(MAC地址等)以及地址(IP地址等)与已被进行了分发请求的评价用程序对应起来进行存储。

介绍部204若从未选定的剩余的终端12接收到了分发请求,则对各终端12介绍已选定的终端12(也就是说最上位节点)。

具体地是,介绍部204参照节点信息存储部203,来判断是否存储有与被进行了分发请求的评价用程序相对应的终端12的信息(最上位节点信息)。而且,在存储有终端12的信息的情况下,由于最上位节点已经被选定,所以通过回复所存储的信息(地址等)来介绍最上位节点。

此外,在未存储有最上位节点信息的情况下,上述的选定部202选定成为最上位的节点的终端12。

分发部205向作为最上位节点的终端12(也就是说被选定的终端12)分发数据。

例如,分发部205在与最上位节点之间对分发用的会话进行连接,并从分发用数据存储部206读出对象评价用程序进行分发。

此外,在评价用程序被分发之际,按规定的块大小实施分割(片断化),并以此块为单位来进行数据分发。

分发用数据存储部206存储有可以提供给用户(具体而言是终端12)的各种各样的评价用程序等数据。

(作为节点的各终端的概要构成)

图4是表示本实施方式所涉及的终端12的概要构成之一例的示意图。以下,参照本图进行说明。

终端12如图4所示那样具备:分发请求发送部301、路径决定部302、数据接收部303、分发数据存储部304、地址附加部305、上位节点管理部306、重发请求部307、数据发送部308和接收通知回复部309。

分发请求发送部301向服务器11发送分发请求。

例如,若由操作终端12的用户指定了任意的评价用程序,则对服务器11发送关于该评价用程序的分发请求。

此外,上述的NIC110可作为这种分发请求发送部301而发挥功能。

路径决定部302在自己(终端12)被服务器11选定为最上位节点的情况下发挥功能,决定各终端12间的分发路径。

例如,路径决定部302决定以自己为起点的分别将由服务器11所介绍的其他各终端12从上位到下位排列起来的分发路径。

具体而言,若如图5A所示那样按节点B~E的顺序向最上位节点A进行了基于来自服务器11的介绍的接入,则节点A的路径决定部302决定如图5B所示那样的分发路径。

也就是说,节点A(路径决定部302)将基于介绍而最初接入的节点B决定为下一级节点。而且,对接着接入的节点C~E分别介绍节点B。因此,节点C~E对节点B进行接入。

另外,节点B将基于介绍而最初接入的节点C决定为下一级节点,并对接着接入的节点D、E分别介绍节点C。因此,节点D、E对节点C进行接入。

而且,节点C将最初接入的节点D决定为下一级节点,并对接下来接入的节点E介绍节点D。因此,节点E对节点D进行接入。

最后,节点D将接入的节点E决定为下一级节点。

按照这样决定的分发路径,各节点与上一级节点之间、而且与下一级节点之间分别连接分发用的会话。

例如,如果是图5B所示的节点C,则与上一级节点B之间、而且与下一级节点D之间展开会话。另外,直至节点E与上一级节点D之间展开会话,也是同样如此,但由于是最下位节点,所以与最上位节点A之间展开用于进行后述的接收通知的会话。

此外,上述的CPU101等可作为这种路径决定部302而发挥功能。

返回到图4,数据接收部303基于由路径决定部302决定的分发路径来接收从已连接的上一级节点分发的数据。此外,在是作为最上位节点的终端12的情况下,数据接收部303接收从服务器11直接分发的数据。

而且,数据接收部303将接收到的数据依次保存在分发数据存储部304中。

此外,上述的NIC110可作为这种数据接收部303而发挥功能。

分发数据存储部304存储数据接收部303接收到的数据。

此外,如上述那样,将评价用程序按规定的块大小进行分割来进行分发。因此,在所分发的数据中还包含为了恢复到原来的评价用程序所需要的信息。

分发数据存储部304依次存储这样分发的数据,并在取得了全部数据(全部块)以后,存储已被复原的评价用程序。

此外,上述的RAM103及外部存储器106可作为这种分发数据存储部304而发挥能够。

地址附加部305在数据接收部303接收到的数据上附加自己的地址等。

具体而言,如图6A所示那样,所分发的数据除数据主体(数据部)以外还设置有头部分。此头部分被区分成规定数量的区域(ad1~adn),各节点能够将自己的地址等信息附加在各区域上。

因此,地址附加部305从此头部分的开头区域(ad1)向末尾区域(adn)搜索空闲区域,并在最初发现的空闲区域上设置自己的地址(例如IP地址等)及自己的识别信息(MAC地址等)。

也就是说,由于各节点分别在接收到数据之际,搜索头部分的空闲区域并附加自己的地址等,所以例如如图6B所示那样,按照实际的分发路径的顺序从开头开始填充头部分的各区域。

此外,上述的CPU101等可作为这种地址附加部305而发挥功能。

返回到图4,上位节点管理部306基于数据接收部303接收到的数据(头部分)中附加的地址等,来管理成为当前时间点的自己上位的节点的终端12。

例如,上位节点管理部306读出如上述的图6B所示那样的附加在头部分的节点的地址等,并创建(更新)如图7所示那样的上位节点表T。也就是说,上位节点管理部306适当地更新上位节点表T来进行管理,以使自己上位的分发路径(节点的排列)总是处于最新状态。如后述那样,在与上一级节点之间的会话已被切断等情况下参照此上位节点表T。

此外,上述的CPU101以及RAM103等可作为这种上位节点管理部306而发挥功能。

在数据接收部303因与上一级节点的连接断开而无法接收数据的情况下,重发请求部307连接到其他上位节点并请求重发数据。

例如,重发请求部307参照上位节点管理部306所管理的上位节点表,取代上一级节点而尝试连接至其他上位的节点,并对已连接上的上位节点请求重发数据。

具体而言,若在已决定了如图5B所示那样的分发路径的状态下节点C消失了,则节点C与节点D之间的会话被断开(更详细而言就是节点B与节点C之间的会话也被断开)。在此情况下,节点D的重发请求部307参照图7所示的上位节点表T,对节点C的上一级节点B尝试连接。而且,在已连接上的情况下请求该节点B重发数据。此外,在未能连接到节点B的情况下,进一步对上位的节点A尝试连接,在已连接上的情况下请求该节点A重发数据。

而且,由重发请求部307请求了重发的节点成为新的上一级节点。

此外,上述的NIC110可作为这种重发请求部307而发挥功能。

返回到图4,数据发送部308基于所决定的分发路径对已连接的下一级节点发送自己接收到的数据。

也就是说,将数据接收部303接收到的数据(更详细而言就是地址附加部305附加了地址等的数据)分发给作为下一级节点的终端12。

由此,各节点从上位节点至下位节点以桶传递式(buckets relay)那样来分发数据。

此外,最下位节点的数据发送部308因没有下一级节点故不进行数据发送。

而且,上述的NIC110可作为这种数据发送部308而发挥功能。

接收通知回复部309在自己(终端12)成为最下位节点的情况下发挥功能,若数据接收部303接收到了数据,则对最上位节点回复接收通知。

例如,接收通知回复部309生成表示当前时间点的全部分发路径的列表,并将包含此列表的接收通知回复给作为最上位节点的终端12。

若具体地以图5B所示的分发路径的情况作为一例进行说明,则最下位节点E的接收通知回复部309读出上位节点管理部306所管理的上位节点表,而且还生成附加了自己的地址等的列表,也就是说生成表示从节点A至节点E的全部分发路径的列表。然后,将包含所生成的列表的接收通知发送给最上位节点A。

此外,上述的CPU101以及NIC110等可作为这种接收通知回复部309而发挥功能。

(服务器以及终端的动作概要)

图8是表示由上述构成的服务器11所执行的分发请求接收处理的流程的流程图。另外,图9是表示由各终端12所执行的分发路径决定处理的流程的流程图。以下,参照这些图对服务器11以及各终端12的动作进行说明。

首先,参照图8的分发请求接收处理对处理服务器11的动作进行说明。此外,设评价用程序以可以分发的方式被保存在服务器11的分发用数据存储部206中。

首先,服务器11对后续处理的执行进行待机,直至从终端12发送了分发请求(步骤S401:否)。也就是说,进行待机,直至接收任意的评价用程序已被指定的分发请求。

而且,若接收到了分发请求(步骤S401:是),服务器11针对已被请求分发的评价用程序,检索节点信息存储部203(步骤S402)。

也就是说,从节点信息存储部203之中检索与被指定的评价用程序相对应的节点信息。

服务器11判别最上位节点是否已选定完毕(步骤S403)。也就是说,判别与被指定的评价用程序相对应的节点信息是否被保存在节点信息存储部203中。

即、在与评价用程序相对应的节点信息已被保存的情况下,判别为最上位节点已选定完毕,反之,在尚未保存的情况下,判别为最上位节点未选定。

服务器11若判别为最上位节点未选定完毕(步骤S403:否),则将请求了分发的终端12选定为最上位节点(步骤S404)。

也就是说,选定部202将对于该评价用程序最早发送来分发请求的终端12选定为最上位节点。然后,将所选定的终端12的地址等保存在节点信息存储部203中。

另一方面,在判别为最上位节点已选定完毕的情况下(步骤S403:是),服务器11对请求了分发的终端12介绍最上位节点(步骤S405)。

也就是说,介绍部204通过对进行了请求的终端12回复节点信息存储部203中所存储的终端12的地址等,来介绍作为最上位节点的终端12。

通过这种分发请求接收处理,服务器11,在已被请求了分发之际,如果是未选定成为最上位节点的终端12的状态,则将进行了请求的终端12选定为最上位节点。另一方面,如果是已选定完毕的状态,则将该已选定完毕的终端12(最上位节点)介绍给进行了请求的终端12。

而且,在对数据进行分发之际,服务器11只仅对已选定的节点设备进行分发即可,所以能够减轻负荷。

下面,参照图9的分发路径决定处理对各终端12(各节点)的动作进行说明。此外,对于此分发路径决定处理,也可以在开始数据分发以前,规定数量的终端12已备齐了的状态下进行,另外,即使在曾一度决定了分发路径以后,因为增加新终端而随时进行也可以。

首先,终端12对后续处理的执行进行待机,直至有来自其他终端12的基于介绍的接入(步骤S501:否)。也就是说,路径决定部302对基于源自服务器11的介绍、或源自上位终端12的介绍而进行的来自其他终端12的接入进行待机。

而且,若有了基于介绍的接入(步骤S501:是),则终端12判别在自己下一级是否存在节点(步骤S502)。也就是说,路径决定部302判别是否为管理着作为下一级节点的其他终端12的状态。

终端12,若判别为不存在下一级节点(步骤S502:否),则将接入源的终端12作为下一级节点进行管理(步骤S503)。

也就是说,路径决定部302在与接入源的终端12之间建立分发用的会话,而成为可以从自己向该终端12进行分发等的状态。

另一方面,在判别为存在下一级节点的情况下(步骤S502:是),终端12则对接入源的终端12介绍下一级节点(步骤S504)。

也就是说,路径决定部302,由于在自己的下位有若干节点,因此,将下一级节点介绍给接入源的终端12后,使之再次进行接入。

通过这种分发路径决定处理,后进行了分发请求的终端12按顺序被介绍给最上位的终端12、其下位(下一级)的终端12、进一步下位的终端12,最后作为最下位节点与其上一位(上一级)的节点进行连接。

若这样决定了分发路径,并可以分别进行通信,则沿着该路径从上位节点至下位节点以桶传递式进行数据的分发。

因此,数据分发时的负荷在节点侧适宜地被分散而不会如以往那样集中于服务器。

其结果,可以避免负荷集中于服务器11,适当地降低数据分发时的负荷。

(节点消失时的动作)

在通过上述的分发路径决定处理来决定分发路径,并正进行数据分发的过程中,还有可能会发生节点因某种理由而消失的情况。例如,若终端12的网络连接被切断,或者终端12的电源被断开,则该节点就会消失。

在这种情况下,如果不除去已消失的节点重新构建分发路径,就无法对在已消失的节点下位的节点进行数据分发。

为此,在本申请实施方式所涉及的终端12上具备上述的重发请求部307,在节点已消失之际也能够适当地继续数据分发。

以下,参照图10对节点已消失的情况下的终端12的动作进行说明。

图10是表示由各终端12执行的重发请求处理的流程的流程图。例如与数据分发并行地执行此重发请求处理。

首先,终端12依次判别与上一级节点的连接是否已经断开(步骤S601)。例如,重发请求部307在正进行数据分发的过程中监视数据接收部303的接收状态,若变成无法接收,则判别为与上一级节点的连接已经断开。

此外,如果连接尚未断开(步骤S601:否),则不执行以后的处理。

另一方面,若判别为连接已断开(步骤S601:是),终端12则将变量n设成初始值2。此变量n是表示是比自己高几位的上位的节点的值。

也就是说,在变量n为2的情况下,表示是比自己高两位的上位的节点,另外,在变量n为3的情况下,表示是比自己高三位的上位的节点。此外,跳过变量n为1的情况是因为,比自己高一位的上位的节点也就是表示上一级节点。

终端12按照变量n的值根据上位节点表特定比自己高n位(n个)的上位的节点(步骤S603)。

然后,终端12尝试与已特定的节点进行连接(步骤S604)。也就是说,重发请求部307对比连接已断开的上一级节点还在上位的节点尝试连接。

终端12判别是否可以进行连接(步骤S605)。也就是说,重发请求部307判别是否与已特定的上位节点之间展开了分发用的会话。

若终端12判别为不能连接(步骤S605:否),则在变量n上加1(步骤S606),并将处理返回到步骤S603。

另一方面,若判别为可以连接(步骤S605:是),终端12则对已连接的节点发送重发请求(步骤S607)。

而且,终端12将上一级节点切换到这次新连接的节点,并继续进行数据分发(步骤S608)。

即,若数据接收部303接收到了从切换后的上一级节点重新分发的数据,则在该数据上附加了地址等以后,由数据发送部308分发给下一级节点。也就是说,对自己以及比自己下位的节点,省去已消失的节点的地址等(不附加),分发数据。因此,通过上位节点管理部306使上位节点表更新成最新的状态。

通过这种重发请求处理,就能够在中途节点消失之际,自主地重新构建分发路径,适当地继续分发数据。

(其他实施方式)

在上述的实施方式中,为了容易理解发明,以图5B所示那样的各节点排列成1列的最简单的分发路径为一例进行了说明。

但是,分发路径的排列并不限于这种简单的路径,还可以依照各终端12的处理能力及各终端12间的通信容量(通信速度等)适宜进行变更。

例如,对于图11A所示那样的进行分支的分发路径,本申请发明也能够适当应用。以下,具体地进行说明。

首先,在决定图11A的分发路径之前,同样地通过服务器11来选定最上位节点(在该情况下也为节点A)。而且,设如图11B所示那样按节点B~G的顺序对最上位节点A进行基于来自服务器11的介绍的接入。

若节点A基于处理能力等决定了下一级节点数(在此情况下,节点数:2),则将到第2个为止进行了接入的节点(在此情况下为节点B、C)决定为下一级节点。而且,对接下来接入的节点D~G介绍节点B、C中的任意一方。作为一例,节点A交替地切换介绍对象进行介绍。因此,节点B被介绍给节点D、F,另外,节点C被介绍给节点E、G。而且,节点D~G分别对被介绍的节点进行接入。

另外,若节点B也基于处理能力等决定了下一级节点数(在此情况下,节点数:1),则将最初接入的节点(在此情况下为节点D)决定为下一级节点。而且,对接下来接入的节点F介绍节点D。

进而,节点D将接入的节点F决定为下一级节点。

最后,若节点C也基于处理能力等决定了下一级节点数(在此情况下,节点数:2),则将到第2个为止进行了接入的节点(在此情况下为节点E、G)决定为下一级节点。

按照这样决定的分发路径,各节点在与上一级节点之间、而且与下一级节点之间分别连接分发用的会话。

此外,成为最下位的节点F、E、G,分别在与最上位的节点A之间,展开用于进行接收通知的会话。

即使在是这种进行分支的分发路径的情况下,也是沿着这些路径(已分支的各路径)从上位节点至下位节点以桶传递式进行数据的分发。

其结果,能够避免负荷集中于服务器11,适当地降低数据分发时的负荷。

此外,关于本申请,其主张以日本专利申请特愿2007-189149号为基础的优先权,并将该基础申请的内容全部引入本申请。

产业上的可利用性

如以上说明的那样,根据本发明能够提供一种可以适当降低数据分发时的负荷的网络系统、节点设备、数据分发方法、信息记录介质以及程序。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号