通信装置、通信系统及通信方法

文档序号:7847666阅读:171来源:国知局
专利名称:通信装置、通信系统及通信方法
技术领域
本发明涉及一种将电子文件等数据在多个用户间共享的技术,特别地,涉及一种通过进行共享对象数据分发而共享该数据的技术。
背景技术
在企业等中,通常使用路由器等中继装置,将分公司等的各网点中架设的LAN(Local Area Network :以下称为网点内LAN)与普通广域网(例如互联网等)连接,从而构建整个公司的信息系统。在上述信息系统中,如果可以将同一数据向多个网点分发,向各网点的员工共享该数据,则是便利的。其原因在于,如果可以进行上述方式的数据分发,则例如可以将在涵盖多个网点而举行的远程报告所使用的资料的电子文件,事先向各参加者工作的网点进行分发。当前,大多利用服务器·客户端型的数据通信实现同一数据向多个网点的分发。在这里,服务器·客户端型的数据通信是指下述方式的数据通信,即,例如将存储共享对象数据的服务器装置与若干网点内LAN连接,根据来自各用户所使用的通信终端(客户端装置)的请求,将该数据从服务器装置向发出该请求的客户端装置发送,或者在规定的定时(timing),从服务器装置向所有客户端装置广播发送该数据。另外,近年来,提出了一种使用所谓P2P (含义为Point To Point)技术传播文件的方法。在P2P技术中,与服务器 客户端型的数据通信之间的不同点在于,各通信装置的作用并没有明确地固定为服务器(或者客户端),而是作为客户端接收到数据的通信装置随后承担向其它通信装置分发数据的服务器的作用。另外,在专利文献I中,公开了下述技术利用线路交换方式而在各通信装置中顺序建立具有树状拓扑的数据分发路径,沿该数据分发路径分发数据,在专利文献2中公开了下述技术与各通信装置能够利用的带宽相对应,而公平地确定利用多播实现数据的广播发送时的多播树。专利文献I :日本特开平11 - 055258号公报专利文献2 :日本特开2009 - 213120号公报

发明内容
但是,在服务器·客户端型的数据通信中,存在可用性(availability)较差的问题。其原因在于,在服务器·客户端型的数据通信中,如果服务器中产生某种异常,则完全无法进行数据的分发。另外,还存在下述问题,即,有可能在服务器中发生负载集中而产生拥塞,难以应用于大规模系统,可扩展性(应对客户端数量增加的裕量)也较差。另一方面,在P2P形式的通信方式中,虽然解决了服务器 客户端型的问题点,但产生难以进行网点管理的问题,该网点管理为事先向各网点通知与应获取的数据相关的信息;以及对是否向所有网点传递了数据进行确认。另外,在专利文献I所公开的技术中,由于利用线路交换方式连接各通信装置,所 以产生下述问题,即,无法同时向多个网点分发数据,直至向所有网点完成数据分发为止需要较长时间。此外,由于专利文献I所公开的技术是以通过无线线路交换连接各通信装置作为前提的,所以并不一定总是可以应用于上述企业内信息系统中。并且,在专利文献2所公开的技术中,为了构建数据分发路径而需要进行全网(full mesh)通信(S卩,加入的所有装置彼此进行频带信息及延迟信息的交换),存在下述问题,即,由于大量控制消息的发送/接收及用于数据分发路径构建的计算处理,在各通信装置中产生较大的处理负载。本发明就是鉴于上述课题而提出的,其目的在于,提供下述技术,S卩,可以在避免对特定的通信装置过度造成负载的同时,在短时间内将共享对象数据向各通信装置传递。为了解决上述课题,本发明的通信装置是由多个通信装置构成的数据共享组的通信装置,该多个通信装置经由通信网络彼此连接,形成树状的数据分发路径,从位于所述树状的数据分发路径的起点侧的上游侧通信装置向下游侧通信装置,经由所述数据分发路径而顺序分发共享对象数据,其特征在于,具有
选择单元,其对在所述数据分发路径中作为位于该通信装置的紧下游的所述下游侧通信装置进行配置的I个至多个通信装置进行选择;指示单元,其针对所述选择单元所选择的下游侧通信装置,指示该下游侧通信装置进一步选择下游侧通信装置;以及数据转送单元,其将从所述数据分发路径中位于该通信装置的紧上游的其它通信装置分发的共享对象数据,向由所述选择单元选择的下游侧通信装置转送,通过所述选择单元及指示单元,形成从该通信装置开始的单层数据分发路径。优选所述通信装置还具有列表保存单元,其保存所述数据分发路径上的该通信装置及配置在该通信装置下游的I个至多个通信装置的列表;以及列表生成及通知单元,其基于保存在所述列表保存单元中的列表,生成记述有除了由所述选择单元所选择的下游侧通信装置之外的I个至多个通信装置的其它列表,向由所述选择单元所选择的下游侧通信装置通知该生成的列表,所述选择单元从所述列表保存单元所保存的列表中选择所述下游侧通信装置。优选在所述通信装置中,所述选择单元与作为所述上游侧通信装置而配置在所述数据分发路径上的该通信装置上游的通信装置发出的指示相对应,而选择所述下游侧装置。优选所述通信装置还具有第I通信单元,其与所述通信网络连接,用于与其它通信装置相互通信;第2通信单元,其用于与I个至多个网络设备进行通信;共享对象数据存储单元,其对经由所述第I通信单元而从上游侧的通信装置接收到的共享对象数据进行存储;以及数据提供单元,其与经由所述第2通信单元从所述网络设备接收到的请求相对应,而将所述存储的共享对象数据向该网络设备提供,所述数据转送单元将经由所述第I通信单元从所述上游侧的通信装置接收到的共享对象数据,经由所述第I通信单元向所述选择的下游侧通信装置转送。优选所述通信装置还具有脱离检测单元,其对由该通信装置选择作为下游侧通信装置的I个通信装置从所述数据共享组脱离这一情况进行检测,所述选择单元从配置于所述检测出的通信装置下游的I个至多个通信装置中,选择作为位于该通信装置的紧下游的所述下游侧通信装置而配置在所述数据分发路径上的I个至多个通信装置。优选所述通信装置还具有脱离检测单元,其对配置在该通信装置下游的任意通信装置从所述数据共享组脱离这一情况进行检测,所述指示单元与所述检测相对应,而对配置于所述检测到的通信装置上游的通信装置进行指示,以使其选择配置在发生了所述脱离的通信装置下游的下游侧通信装置。优选所述通信装置还具有脱离检测单元,其对所述数据分发路径上配置在该通信装置上游的通信装置从所述数据共享组脱离这一情况进行检测,所述选择单元从配置于所述检测出的通信装置下游的I个至多个通信装置中,选 择作为位于该通信装置的紧下游的所述下游侧通信装置而配置在所述数据分发路径上的I个至多个通信装置。优选所述通信装置还具有脱离检测单元,其对所述数据分发路径上配置在该通信装置上游的通信装置从所述数据共享组脱离这一情况进行检测;以及将与检测到所述脱离的通信装置相关的信息,向配置于所述检测到的通信装置更上游的其它通信装置通知。优选在所述通信装置中,所述脱离检测单元通过从要脱离所述数据共享组的通信装置接收到脱离请求,从而检测到作为该请求源的通信装置从所述数据共享组脱离。优选在所述通信装置中,所述脱离检测单元通过接收到在所述数据分发路径上配置于从所述数据共享组脱离的通信装置的下游的通信装置发送来的脱离通知,从而检测到配置于作为该通知源的通信装置的上游的通信装置从所述数据共享组脱离。优选所述通信装置还具有优先次序存储单元,其存储优先次序;以及优先次序获取单元,其经由所述通信网络获取其它通信装置的优先次序,所述选择单元基于所述获取的优先次序选择所述下游侧通信装置。优选所述通信装置还具有判定单元,其基于在所述优先次序存储单元中存储的优先次序、和通过所述优先次序获取单元获取的其它通信装置的优先次序,判定该通信装置是否为所述多个通信装置中优先次序最高的装置,在由所述判定单元判定为该通信装置为所述多个通信装置中优先次序最高的装置的情况下,所述选择单元进行所述下游侧装置的选择,并且该通信装置在所述数据分发路径中成为所述数据分发路径的起点。优选在技术方案12的基础上,在该通信装置为所述数据分发路径的起点的情况下,该通信装置还具有接收单元,其从不属于所述数据共享组的其它通信装置接收加入该数据共享组的加入请求;以及优先次序获取单元,其获取作为所述请求源的通信装置的优先次序,
所述判定单元基于在所述优先次序存储单元中存储的优先次序、和由所述优先次序获取单元获取的作为请求源的通信装置的优先次序,对该通信装置的优先次序是否高于作为请求源的通信装置进行判定,在由所述判定单元判定为该通信装置的优先次序不高于作为所述请求源的通信装置的情况下,对作为所述请求源的通信装置进行指示,使作为该请求源的通信装置成为新起点。优选在该通信装置为所述所述数据分发路径的起点的情况下,该通信装置还具有接收单元,其从不属于所述数据共享组的其它通信装置接收加入该数据共享组的加入请求;以及优先次序获取单元,其获取作为所述请求源的通信装置的优先次序,所述判定单元基于在所述优先次序存储单元中存储的优先次序、和由所述优先次序获取单元获取的作为请求源的通信装置的优先次序,对该通信装置的优先次序是否高于作为请求源的通信装置进行判定,在由所述判定单元判断为该通信装置的优先次序高于作为所述请求源的通信装置的情况下,所述选择单元对该通信装置的下游侧装置中是否存在优先次序低于作为所述请求源的通信装置的装置进行判断,在存在优先次序低于作为所述请求源的通信装置的装置的情况下,替代优先次序低于作为所述请求源的通信装置的通信装置,将作为所述请求源的通信装置重新选择作为下游侧装置,然后对于该重新选择的下游侧装置中的一个进行指示,使其从上游侧装置未确定的通信装置中选择下游侧装置,在不存在优先次序低于作为所述请求源的通信装置的装置的情况下,对于该通信装置的下游侧装置中的一个进行指示,使其从上游侧装置未确定的通信装置中选择下游侧装置。优选所述通信装置还具有发出加入所述数据共享组的请求的单元,在作为所述请求的响应,从所述数据共享组的所述数据分发路径中作为所述共享数据分发的起点的起点通信装置,接收到主机更换指示的情况下,所述选择单元将所述起点通信装置选择作为该通信装置的下游侧装置,并且该通信装置在所述数据分发路径中成为所述共享数据分发的起点。优选所述通信装置还具有路由单元,其针对从所述第I通信单元及第2通信单元接收到的数据,基于在该数据中添加的发送目标信息,向所述其它通信装置或所述网络设备转送。另外,本发明的通信系统构成具有多个通信装置的数据共享组,该多个通信装置经由通信网络彼此连接,形成树状的数据分发路径,从位于所述树状的数据分发路径的起点侧的上游侧通信装置向下游侧通信装置,经由所述数据分发路径而顺序分发共享对象数据,该通信系统的特征在于,各通信装置具有选择单元,其对在所述数据分发路径中作为位于该通信装置的紧下游的所述下游侧通信装置进行配置的I个至多个通信装置进行选择;指示单元,其针对所述选择单元所选择的下游侧通信装置,指示该下游侧通信装置进一步选择下游侧通信装置;以及
数据转送单元,其将从所述数据分发路径中位于该通信装置的紧上游的其它通信装置分发的共享对象数据,向由所述选择单元选择的下游侧通信装置转送,通过从作为所述数据分发路径的起点的通信装置开始顺序选择下游侧通信装置,从而针对各个通信装置顺序形成单层的所述数据分发路径。优选在所述通信系统中,所述各通信装置具有列表保存单元,其保存所述数据分发路径上的该通信装置及配置在该通信装置下游的I个至多个通信装置的列表;以及列表生成及通知单元,其基于保存在所述列表保存单元中的列表,生成记述有除了由所述选择单元所选择的下游侧通信装置之外的I个至多个通信装置的其它列表,向由所述选择单元所选择的下游侧通信装置通知该生成的列表,所述选择单元从所述列表保存单元所保存的列表中选择所述下游侧通信装置。优选在所述通信系统中,分别向所述各通信装置分配优先次序,并且基于所述优先次序,使所述多个通信装置中的I个通信装置成为所述数据分发路径的起点,所述各通信装置基于所述优先次序选择所述下游侧通信装置。优选在所述通信系统中,所述各通信装置具有第I通信单元,其与所述通信网络连接,用于与其它通信装置相互通信;第2通信单元,其用于与I个至多个网络设备进行通信;共享对象数据存储单元,其对经由所述第I通信单元而从上游侧的通信装置接收到的共享对象数据进行存储;以及与来自所述网络设备的请求对应而将所述存储的共享对象数据向该网络设备提供的单元,所述数据转送单元将经由所述第I通信单元从所述上游侧的通信装置接收到的共享对象数据,经由所述第I通信单元向所述选择的下游侧通信装置转送,将存储在所述各通信装置的所述共享对象数据存储单元中的共享对象数据,向从属于所述数据共享组的任意通信装置所连接的所述网络设备进行共享。优选在所述通信系统中,所述各通信装置具有路由单元,其针对从所述第I通信单元及第2通信单元接收到的数据,基于在该数据中添加的发送目标信息,向所述其它通信装置或所述网络设备转送。另外,本发明的通信方法是具有多个通信装置的数据共享组的通信方法,该多个通信装置经由通信网络彼此连接,形成树状的数据分发路径,从位于所述树状的数据分发路径的起点侧的上游侧通信装置向下游侧通信装置,经由所述数据分发路径而顺序分发共享对象数据,该通信方法的特征在于,各通信装置具有控制单元和第I通信单元,该第I通信单元与所述通信网络连接,用于与其它通信装置相互通信,
所述控制单元执行下述步骤,SP :选择步骤,在该步骤中,对在所述数据分发路径中作为位于该通信装置的紧下游的所述下游侧通信装置进行配置的I个至多个通信装置进行选择;指示步骤,在该步骤中,经由所述第I通信单元,对所述选择步骤所选择的下游侧通信装置进行指示,使该下游侧通信装置进一步选择下游侧通信装置;以及数据转送步骤,在该步骤中,将从所述数据分发路径中位于该通信装置的紧上游的其它通信装置经由所述第I通信单元分发的共享对象数据,经由所述第I通信单元向在所述选择单元中选择的下游侧通信装置转送,利用所述选择步骤及指示步骤,形成从该通信装置开始的单层的数据分发路径。优选在所述通信方法中,所述各通信装置还具有列表保存单元,其保存所述数据分发路径上的该通信装置及配置在该通信装置下游的I个至多个通信装置的列表,所述控制单元执行下述步骤,S卩,基于所述保存的列表,生成记述有除了所述选择的下游侧通信装置之外的I个至多个通信装置的其它列表,向由所述选择单元所选择的下游侧通信装置通知该生成的列表,在进行所述选择的步骤中,从所述列表保存单元所保存的列表中选择所述下游侧
通信装置。优选在所述通信方法中,所述各通信装置还具有存储与各自对应的优先次序的存储单元,所述控制单元执行经由所述通信网络获取其它通信装置的优先次序的步骤,在进行所述选择的步骤中,基于所述获取的优先次序,选择所述下游侧通信装置。优选在所述通信方法中,所述各通信装置还具有用于与I个至多个网络设备进行 通信的第2通信单元,所述控制单元执行下述步骤,即对经由所述第I通信单元从上游侧的通信装置接收到的共享对象数据进行存储的步骤以及与经由所述第2通信单元的来自网络设备的请求对应,将所述存储的共享对象数据向该网络设备提供的步骤。


图I是表示本发明的一个实施方式的通信系统的结构的图。图2是表示本发明的一个实施方式的通信系统中的数据分发路径的一个例子的图。图3是表示本发明的一个实施方式的通信系统中含有的通信装置20 - j的构成例的框图。图4是表示作为主机进行动作的通信装置20 - j中所存储的加入装置列表的一个例子的图。图5是用于说明通信装置20 - j所执行的数据共享组形成处理的图。图6是表示通信装置20 - j的控制部210基于通信控制程序执行的分发路径确定处理的流程的流程图。图7是表示该控制部210基于通信控制程序执行的分发路径重构处理的流程的流程图。图8 (a)、(b)、(C)是用于说明分发路径确定动作的图。图9 (a)、(b)是用于说明由于比主机优先次序低的通信装置中途加入而导致的分发路径重构动作的图。图10 (a)、(b)是用于说明由于比主机优先次序高的通信装置中途加入而导致的分发路径重构动作的图。图11 (a)、(b)、(C)是用于说明 承担中间节点的作用的通信装置中途脱离而导致的分发路径重构动作的图。图12是用于说明承担主机的作用的通信装置中途脱离而导致的分发路径重构动作的图。图13是表示用于对本发明的数据共享组形成处理的概念进行说明的通信装置20 - j的构成例的框图。图14是表示用于对本发明的加入装置列表的概念进行说明的通信装置20 - j的构成例的框图。图15是用于对本发明的共享数据分发进行说明的通信装置20 - j的构成例的框图。标号的说明10…普通广域网、20 — j (j = I 8)…通信装置、210…控制部、220…第I通信I/F部、230…第2通信I/F部、240…外部设备I/F部、250…存储部、252…易失性存储部、254…非易失性存储部、260…总线
具体实施例方式下面,参照附图,说明本发明的实施方式。(A:结构)图I是表示含有本发明的一个实施方式的通信装置20 — j (j = I 8)在内的通信系统的结构的图。在图I中例示了 8台通信装置20 - j,但也可以在通信系统中含有大于或等于9台通信装置20 - j,当然也可以相反地,在通信系统中含有的通信装置20 -j少于8台。通信装置20 — j分别为将企业的各网点中架设的网点内LAN (省略图示)与普通广域网(数据通信网络)10相互连接的路由器。通信装置20 - j各自进行从OSI参考模型的第I层(物理)至第3层(网络层)的连接,利用IP (Internet Protocol)等网络层的通信协议,对发送来的数据包进行转送控制。各网点内LAN中连接有在该网点中工作的员工(下面简称为“用户”)所使用的通信终端(例如个人计算机(省略图示))。这些通信终端可以经由通信装置20 - j与其它通信装置(例如其它网点内LAN中收容的通信终端)进行数据通信,其中,通信装置20 - j将该通信终端所属的网点内LAN与普通广域网10进行连接。收容在各网点内LAN中的通信终端的用户,可以使用该通信终端参加远程报告或远程会议。在上述远程报告等中,如前述所示,如果可以将资料等的电子文件共享给参加人员,则是便利的。在图I所示的通信系统中,使下辖有参加远程报告的用户的通信终端的通信装置20 - j(即,将收容该通信终端的网点内LAN与普通广域网10连接的通信装置20 —j)形成数据共享组,向各个加入该数据共享组的通信装置20 - j分发共享对象数据并进行存储。并且,各通信终端的用户访问下辖有该通信终端的通信装置20 - j,从而取得并浏览上述共享对象数据。在这里,向从属于数据共享组的各通信装置20 - j进行的同一数据的分发是以下述方法进行的。在本实施方式中,通过使各个通信装置20 - j分别执行明显表示出本实施方式特征的处理,从而由加入数据共享组的各通信装置20 - j,构建图2所示的树状的逻辑数据分发路径,通过从主机(位于数据分发路径的起点的通信装置)进行的多播等,将共享对象数据经由构建的数据分发路径向加入数据共享组的各通信装置传播。如果更详细地进行说明,则图I的各个通信装置20 - j中,由系统管理员与通信装置的处理能力及在普通广域网10中可以利用的带宽相对应,而预先分配表示被选为主机的优先级的(或者将通信装置20 - j的处理能力强弱及在通信网络中可以利用的带宽的多少进行指标化而得到的)优先次序,将表示该优先次序的优先次序数据Pr — j (j = I 8)存储在各通信装置20 - j中。具体地说,对于各通信装置20 - j,其处理能力越强就被分配越高的优先次序,另外,如果处理能力相同,则可以利用的带宽越大就被分配越高的优先次序。图I的各个通信装置20 - j如果被系统管理员或者下辖通信终端的用户指示了加入数据共享组,则执行上述构建树状数据分发路径的处理,以使得优先次序最高的通信装置成为主机、即数据分发路径 中的起点(根节点),在除了主机之外的通信装置20 - j中,使优先次序越高者成为越接近主机侧的中间节点。下面,以明显表示出本实施方式特征的通信装置20 - j为中心进行说明。图3是表示通信装置20 - j的构成例的框图。如图3所示,通信装置20 — j含有控制部210 ;第I通信接口(以下称为I/F)部220 ’第2通信I/F部230 ;外部设备I/F部240 ;存储部250 ;以及总线260,其对上述结构要素间的数据发送/接收进行中继。控制部210例如为CPU (Central Processing Unit)。该控制部210通过执行存储部250 (更准确地说是非易失性存储部254)中所存储的程序,从而作为对通信装置20 —j的各部分进行动作控制的控制中枢起作用。第I 通信 I/F 部 220 和第 2 通信 I/F 部 230 均为 NICXNetwork Interface Card),分别与不同的通信网络连接。具体地说,第I通信I/F部220与普通广域网10连接,第2通信I/F部230与网点内LAN连接。第I通信I/F部220和第2通信I/F部230将从各自的连接目标通信网络接收到的数据包(将通信消息以预先确定的数据尺寸进行分割,将分割后的通信消息分别添加规定的数据头而得到的数据块)向控制部210传递,并且将从控制部210传递来的数据包向各自的连接目标通信网络送出。外部设备I/F部240是与USB存储器、串行控制台、或者连接在内部扩展总线上的扩展卡等外部设备之间按照规定协议(USB或RS — 232C等有线协议,或者Bluetooth等无线协议)进行数据发送/接收的接口的集合体。例如,在作为外部设备而使用USB存储器的情况下,只要使外部设备I/F部240含有USB接口即可,在作为外部设备而使用串行控制台的情况下,只要使外部设备I/F部240含有RS - 232C接口等串行接口即可。该外部设备I/F部240在向通信装置20 - j预先存储所述优先次序数据Pr — j等各种数据时使用。存储部250含有易失性存储部252和非易失性存储部254。易失性存储部252是例如RAM (Random Access Memory)等易失性存储器,用作为控制部210执行各种程序时的工作区域,并且,具有对经由第I通信I/F部220或第2通信I/F部230接收到的数据包进行暂时存储的缓存器的作用。另外,至少在作为主机或中间节点起作用的通信装置20 - j的易失性存储部252中存储有加入装置列表,除了作为主机起作用的通信装置之外,在各通信装置20 - j的易失性存储部252中存储有对在数据分发路径中配置于该通信装置20 - j的紧上游处的通信装置进行确定的信息(装置识别数据等);确定数据共享组中的主机的信息(装置识别数据等)。例如,在图I的8台通信装置20 - j全部加入数据共享组,构建成图2所示的树状的逻辑数据分发路径的状态下,作为主机进行动作的通信装置20 - I的易失性存储部252中,存储有图4所示的加入装置列表。该加入装置列表中存储有针对本装置(存储有该加入装置列表的通信装置)的记录;以及在加入数据共享组的通信装置中,针对比本装置优先次序低的装置的记录。并且,在加入装置列表中所存储的各记录中,如图4所示含有装置识别数据、优先次序数据Pr — j。在除了通信装置20 - I之外的各通信装置的易失性存储部252中,还存储有作为主机的通信装置20 - I的装置识别数据、以及在数据分发路径中配置于紧上游的其它通信装置的装置识别数据等。 在这里,装置识别数据是指用于唯一地识别各个通信装置20 - j的数据。作为一个例子,在本实施方式中,使用MAC (Media Access Control)地址或IP地址等通信地址和表示通信装置20 - j的名称的字符串。上述通信地址用作为在基于数据链路层(或者网络层)的通信协议与该通信装置20 - j进行数据通信时的发送目标地址,通信装置20 - j的名称用于在图I所示的通信系统下的覆盖网(overlay network)中,使各用户唯一地识别该通信装置20 - j。另外,在通信装置20 - j作为主机或中间节点起作用的情况下,与该通信装置20 - j选择作为下游侧装置的其它通信装置相关的信息也存储在易失性存储部252中。该信息也可以包含在加入装置列表中,在此情况下,设置用于对当前选择的下游侧装置进行识别的字段,如果为下游侧装置则值记录为1,如果不是下游侧装置则值记录为O0非易失性存储部254 是例如 EPROM(Erasable Programmable Read Only Memory)或闪存等非易失性存储器,在该非易失性存储部254中,预先存储有各种数据及各种程序。作为非易失性存储部254中所存储的数据的一个例子,可以举出所谓路由表等在执行数据包转送控制时所需的数据(在图3中省略图示)、优先次序数据Pr - j、针对本装置的装置识别数据、初始节点数据、以及预先共享钥。作为初始节点数据,是表示该通信装置20 - j加入数据共享组时首先需要访问的I个或多个装置(在本实施方式中为通信装置20 — k (k=I 8,其中k古j)这7台)的数据。另外,所谓预先共享钥是指用于加入该数据共享组的认证、以及对该数据共享组中进行发送/接收的数据进行加密时所使用的密钥。此外,在本实施方式中,在数据共享组内的各通信装置20 - j中,在非易失性存储部254中设置有用于保存作为共享对象的数据(各种文件等)的存储区域,但如果存储器容量足够,则也可以在易失性存储部252中设置该存储区域,也可以在经由外部设备I/F相连接的HDD等外部存储设备中设置存储区域。另外,作为非易失性存储部254中存储的程序的一个例子,举出图3所示的通信控制程序。控制部210以通信装置20 - j的电源(省略图示)接通作为契机,从非易失性存储部254向易失性存储部252读出该通信控制程序,并开始执行,从而实现图3所示的各种功能。根据该通信控制程序而由控制部210实现的功能的概略如下所示。(a)数据包转送控制功能该功能是在经由第I通信I/F部220或第2通信I/F部230接收到以本装置之外的通信装置作为发送目标的数据包(即,发送目标IP地址并非该通信装置20 - j的数据包)的情况下,进行与该发送目标IP地址对应的转送控制。该数据包转送控制功能是所谓路由器原本具有的功能,与通常的路由器具有的功能相比没有特别地改变,因此省略详细说明。(b)数据共享组形成功能该功能用于形成数据共享组,并选定该组的主机。如果更详细地进行说明,则在例如通信装置20 - j没有加入数据共享组的状态下,控制部210以从与第2通信I/F部230连接的通信装置20 - j下辖的通信终端中,获得加入数据共享组的加入指示作为契机,在内容为请求加入数据共享组的通信消息(以下称为加入请求消息)中,写入本装置的优先次序数据Pr - j、装置识别数据和预先共享钥,以初始节点数据示出的通信装置20 — k作为目标发送加入请求消息。此外,在非易失性存储部254中存储有示出多个通信装置20 — k的初始节点数据的情况下,从上述多个通信装置20 — k中选择I台(例如选择通信地址最新的通信装置)发送加入请求消息。通信装置20 — k的控制部210如果接收到加入请求消息,则与本装置向数据共享 组的加入状况相对应,而回送未加入通知消息、主机说明消息、接受确认消息、及主机更换指示消息中的任意消息。未加入通知消息是用于在通信装置20 — k没有加入数据共享组的情况下,回送该内容的通知的通信消息。主机说明消息是用于在通信装置20 — k虽然加入了数据共享组但并不作为主机进行动作的情况下,回送该内容的通知的通信消息。在回送该主机说明消息时,通信装置20 — k的控制部210将该时刻的主机的装置识别数据写入净负载部等中而进行回送。接受确认消息和主机更换指示消息是在通信装置20 — k作为主机进行动作的情况下所回送的通信消息。作为主机进行动作的通信装置20 — k的控制部210,如果接收到加入请求消息,则使用该加入请求消息中所写入的预先共享钥,进行该发送源的认证,如果认证成功则进行下述处理。即,通信装置20 — k的控制部210读出在接收到的加入请求消息中所写入的优先次序数据Pr - j,与本装置的优先次序数据Pr — k进行比较。并且,在本装置的优先次序较高的情况下,通信装置20 — k的控制部210生成包含加入请求消息中所写入的装置识别数据和优先次序数据Pr — j在内的记录,并登录在加入装置列表中,然后,将接受确认消息向加入请求消息的发送源即通信装置20 - j回送。相反地,在本装置的优先次序较低的情况下,通信装置20 — k的控制部210将写入有该时刻的加入装置列表的主机更换指示消息进行回送,向加入请求消息的发送源即通信装置20 - j指示进行主机更换,并且,以在该加入装置列表中登录有装置识别数据的各通信装置为目标,发送新主机的装置识别数据(即,进行主机更换的对方装置即通信装置20 - j的装置识别数据)。另一方面,作为加入请求消息的发送源的通信装置20 — j的控制部210,根据回送来上述4种通信消息的哪一个而执行不同的处理。在回送来未加入通知消息的情况下,通信装置20 - j的控制部210在存在初始节点数据中示出的其它通信装置的情况下,以该装置为目标发送加入请求消息,并等待响应。另一方面,在没有初始节点数据中示出的其它通信装置的情况下(初始节点数据示出的所有通信装置均回送来未加入通知消息的情况下),此后该通信装置20 - j作为数据共享组的主机进行动作。另外,在回送来主机更换指示消息的情况下,通信装置20 - j的控制部210也将写入在该主机更换指示消息中的加入装置列表存储在易失性存储部252中,此后作为主机进行动作。
在回送来主机说明消息的情况下,通信装置20 - j的控制部210以写入在该主机说明消息中的装置识别数据所示的通信装置(例如通信装置20 - i)为目标,重新发送加入请求消息。在针对该加入请求消息而回送来接受确认消息的情况下,通信装置20 - j的控制部210将上述装置识别数据作为示出主机的信息而写入易失性存储部252。此外,在回送来主机更换指示消息的情况下,如上述所示,此后作为主机进行动作。另外,如果在通信装置20 — j没有作为主机进行动作的状态下,从其它通信装置接收到加入请求消息,则在主机说明消息中写入存储于易失性存储部252中的表示主机的装置识别数据,并以加入请求消息的发送源作为目标进行回送。进行上述说明的处理的结果为,如果例如对图I所示的8台通信装置20 - j中的j = I 7发出了加入数据共享组的加入指示,则如图5所示,上述7台通信装置中具有最高优先次序的通信装置20 - I成为主机,在其易失性存储部252中存储有登录了上述7台通信装置的各自的装置识别数据等的加入装置列表,详细内容在动作例中进行说明。(C)分发路径确定功能该功能为,作为已加入数据共享组的通信装置20 - j之间的数据分发路径,确定并构建图2所示的树状数据分发路径。详细内容在后面记述,但在本实施方式中,控制部210以例如从与第2通信I/F部230连接的通信装置20 — j下辖的通信终端接收到开始数据分发的指示等作为契机,执行分发路径确定处理(参照图6),选择位于本装置紧下游的下游侧装置,并对上述下游侧装置进一步发出选择下游侧装置的指示。并且,控制部210在本装置与下游侧装置之间建立加密通信路径,构建图2所示的树状数据分发路径。(d)分发路径重构功能该功能为,在由上述分发路径确定功能确定加入数据共享组中的多个通信装置之间的数据分发路径、并构建了树状数据分发路径后,新通信装置向该数据共享组加入(中途加入)或者已加入数据共享组而构成树状数据分发路径的节点的任意通信装置从数据共享组中脱离(中途脱离)的情况下,重构数据分发路径。例如,对于作为主机进行动作的通信装 置20 — j的控制部210,如果其它通信装置请求进行中途加入,则执行图7所示的分发路径重构处理,进行数据分发路径的重构。针对该分发路径重构处理,为了避免重复,而在动作例的说明中进行详细说明。(e)加密通信功能该功能为,与下游侧装置之间建立加密通信路径并进行加密通信。此外,作为加密通信的具体方法,例如可以是在与下游侧装置之间设定IPsec通道的方式、或者如SSL -VPN这样针对每个进程进行加密的方式,另外,也可以是全网VPN方式。如上述所示,可以通过对沿着数据分发路径的数据通信进行加密而安全地分发共享对象数据。在本实施方式中,对通信装置20 - j间的数据通信进行中继的通信网络为普通广域网10,因此对该数据通信进行加密,但该加密并不一定是必须的。(f)状态通知/监视功能该功能为,针对从属于数据共享组的通信装置20 - j中的预先指定的对象装置(在本实施方式中为下游侧装置)定期发送数据包,通知本装置的运行状况,并且基于从将本装置指定为对象装置的其它通信装置20 - j (即上游侧装置)向本装置发送的数据包的接收状况,进行该通信装置20 — j (上游侧装置)的运行监视。详细内容在后面记述,但该功能用于下述情况,即,对在由于电源断开或线路断开等,已加入数据共享组中且构成树状数据分发路径的节点的任意通信装置突然从数据共享组中脱离这一情况进行检测。以上为通信装置20 - j的结构。(B :动作)下面,参照附图,说明明显表示出本实施方式特征的动作例。(B - I :数据共享组形成动作)下面,对于各个通信装置20 — j (j = I 7 ),在从各个(或者任意)通信装置20 —j下辖的通信终端等以通信装置20 - 2、通信装置20 - I、通信装置20 - 3…通信装置20 —7的顺序顺次发出加入数据共享组的加入指示的情况下,针对各通信装置20 - j的控制部210 (下面表述为控制部210 — j。对于存储部250等其它结构要素也相同地表述)所执行的处理进行说明。 如果对通信装置20 - 2发出加入数据共享组的加入指示,则控制部210 — 2向存储在非易失性存储部254 - 2中的初始节点数据所示出的通信装置20 — k (k古2)发送加入请求消息。此外,在本动作例中,设为各通信装置预先将除了自身之外的所有其它通信装置作为初始节点数据进行存储。在本动作例中,在对通信装置20 - 2发出上述指示的时亥IJ,其它6台通信装置都没有加入数据共享组。因此,控制部210 - 2从任意一个通信装置20-k Ck^ 2)均接收到未加入通知消息。如果确认接收到来自初始节点数据所示的所有通信装置的未加入通知消息,则此后通信装置20 - 2作为主机进行动作。同时在通信装置20 - 2的易失性存储部252 - 2中,作为加入装置列表而存储记述了自身的装置识别数据等的列表。然后,如果对通信装置20 - I发出加入数据共享组的加入指示,则控制部210 — I向非易失性存储部254 - I中存储的初始节点数据所示出的通信装置20 — k (k古I)发送加入请求消息。在该时刻,由于除了通信装置20 - 2之外,其它5台通信装置没有加入数据共享组,所以即使对该5台通信装置发送加入请求消息,该5台通信装置也都回送未加入通知消息。与此相对,通信装置20 - 2已经作为数据共享组的主机进行动作,对通信装置20 — I回送接受确认消息或主机更换指示消息的其中一个。在本动作例的情况下,通信装置20 — 2的控制部210 — 2如果接收到从通信装置20 — I发送来的加入请求消息,则首先将本装置的非易失性存储部254 - 2中存储的优先次序数据Pr — 2和写入在加入请求消息中的通信装置20 - I的优先次序数据Pr - I进行比较。如图2所例示,在本动作例中,由于通信装置20 - I与通信装置20 - 2相比优先次序更高(Pr — I > Pr — 2),所以控制部210 - 2将表示通信装置20 - I的装置识别数据存储在易失性存储部252 — 2中,并且对通信装置20 - I回送包含易失性存储部252 - 2中所存储的加入装置列表在内的主机更换指示消息,此后,通信装置20 - 2作为主机之外的加入装置进行动作。另一方面,通信装置20 - I的控制部210 - I如果接收到上述主机更换指示消息,则将写入在该主机更换指示消息中的加入装置列表写入易失性存储部252 - I中,并且将自身的装置识别数据等追加在加入装置列表中,此后,通信装置20 - I作为数据共享组的主机进行动作。在将主机更换指示消息回送至通信装置20 - I后,控制部210 — 2从其它通信装置接收到加入请求消息的情况下,执行将包含示出主机的信息、即示出通信装置20 — I的装置识别数据在内的主机说明消息进行回送的处理。在该状态下,如果对通信装置20 - j(j = 3 7)分别发出加入数据共享组的加入指示,控制部210 - j对通信装置20 — 2发送加入请求消息,则从通信装置20 - 2回送主机说明消息。控制部210 - j以在该主机说明消息中写入的装置识别数据所示出的通信装置(即通信装置20 — I)为目标再次发送加入请求消息。控制部210 - I将加入请求消息中写入的发送源的优先次序数据Pr — j与本装置(即通信装置20 — I)的非易失性存储部254 - I中所存储的优先次序数据Pr — I进行比较,在本动作例中,由于通信装置20 - I的优先次序最高,所以不会产生主机更换。通信装置20 - I的控制部210 - I将加入请求消息的发送源的装置识别数据等顺次登录在加入装置列表中。其结果,如图5所示,形成以通信装置20 - I作为主机的数据共享组,将包含针对加入该数据共享组的通信装置的装置识别数据等在内的加入装置列表存储在易失性存储部252 — I中。另外,其它通信装置(在图5的情况下为通信装置20 — 2 7)将针对作为所加入的数据共享组的主机起作用的通信装置(通信装置20 - I)的装置识别数据,分别存储在易失性存储部252中。以上为数据共享组的形成动作。(B - 2 :分发路径确定处理中的动作) 下面,说明在形成图5所示的数据共享组的状况下,确定该数据共享组中的数据分发路径时的动作。本实施方式的特征在于采用分布式模型这一点,即,基于优先次序,针对加入数据共享组的通信装置20 — j (j = I 7)中的实现主机或中间节点的作用的通信装置,逐个选择各自下辖的通信装置。具体地说,利用下述方法确定树状的分发路径。具体地说,作为主机进行动作的通信装置20 - I的控制部210 — 1,如果从例如与通信装置20 — I的第2通信Ι/F部连接的通信终端接收到规定的通信消息(例如,内容为指示数据分发开始的分发开始指示消息)(图6 :步骤SA100为是),则从在易失性存储部252 — I所存储的加入装置列表中登录了信息的通信装置中,从除了本装置之外的通信装置中以优先次序从高到低的顺序按照预先规定的设备数量(例如为2台)进行选择(步骤SA110)。在本动作例中,由于除了通信装置20 - I之外,其它6台通信装置20 — j的优先次序为Pr — 2 > Pr — 3···,所以控制部210 — I如图8 (a)所示,选择通信装置20 — 2和通信装置20 - 3作为下游侧装置。此外,在以下参照的各附图的加入装置列表中,将与所选择的通信装置对应的记录以阴影示出。然后,控制部210 — I判定属于数据共享组的通信装置中除了本装置和在步骤SAllO中已选择的下游侧装置之外,是否还存在未确定上游侧装置的通信装置(以下称为上游侧未确定装置)(步骤SA120)。并且,控制部210 - I在步骤SA120的判定结果为“是”的情况下,执行步骤SA 130的处理。在本动作例中,如图8 Ca)所示,在通信装置20 — I的加入装置列表中包括本装置在内登录了针对7台通信装置20 - j的信息,在这7台通信装置20 — j中,除了本装置(通信装置20 - I)之外,确定了上游侧装置的为通信装置20 -2及20 — 3这2台,所以步骤SA120的判定结果为“是”,执行步骤SA130的处理。步骤SA130的处理为,通信装置20 — I的控制部210 — I针对在步骤SAllO中选择的各下游侧装置,发送内容为指示从上游侧未确定装置中选择各自的下游侧装置的通信消息(以下称为选择指示消息)。如果更详细地进行说明,则控制部210 - I首先对于存储在加入装置列表(加入装置列表I)中的记录中的除了本装置之外的通信装置,与在步骤SAllO中选择的下游侧装置(在本动作例的情况下为通信装置20 — 2及通信装置20 — 3)的数量对应地进行分组,针对每个组生成新的加入装置列表(加入装置列表2、3)。然后,控制部210 - I将分别包含上述生成的加入装置列表的选择指示消息向在步骤SAllO中选择的各下游侧装置发送。在这里,作为上述分组的方法,具有各种方式。例如可以是下述分组方法,即,如果在步骤SAllO中选择的各下游侧装置的优先次序彼此差异不大,则使各加入装置列表中含有的上游侧未确定装置的数量大致均等,并且,也使得从属于各组的通信装置的优先次序的分布也均等。与此相对,在步骤SAllO中选择的各下游侧装置的优先次序差异较大的情况下,如下所示进行分组即可,即,对于优先次序较高的下游侧装置,所给与的加入装置列表就包含较多的上游侧未确定装置。在所生成的加入装置列表中,登录有所选择的下游侧装置和以配置在其更下游的方式进行分组的I个至多个上游侧未确定装置的相关信息。在本动作例中,由于在步骤SAllO中作为下游侧装置而选择的通信装置20 — 2和通信装置20 — 3彼此的优先次序没有较大差异,所以以前者的方式进行加入装置列表的分害I]。具体地说,如图8 (b)所示,针对通信装置20 - 2,发送除了该通信装置20 - 2之外还登录有通信装置20 — 4及20 — 6的信息的加入装置列表,针对通信装置20 — 3,发送除了 该通信装置20 - 3之外还登录有通信装置20 — 5及20 — 7的信息的加入装置列表。此夕卜,作为主机进行动作的通信装置20 - I的控制部210 - 1,除了发送选择指示消息及加入装置列表之外,还对本装置的下游侧装置中的合适的通信装置发送在易失性存储部252 -I中存储的加入装置列表(加入装置列表1),并指示作为备份用数据而存储。优选向本装置下游侧的通信装置中优先次序最高的通信装置(处理能力及可利用的带宽等数据传输的能力最高,成为主机的次序为本装置的下一个的通信装置)发送加入装置列表(加入装置列表I)并指示作为备份用数据而存储。此外,该备份用的加入装置列表的发送和指示可以在任意定时执行,例如在发送上述选择指示消息的前后进行。对于如何使用该备份用数据,在后面详细记述。然后,如果控制部210 - 2 (或者控制部210 — 3)接收到从上游侧装置即通信装置20 — I发送来的选择指示消息(图6 :步骤SA100为是),则将写入在该选择指示消息中的加入装置列表(加入装置列表2、3)存储在易失性存储部252中,然后与上述控制部210 — I相同地,执行步骤SAllO之后的处理。另外,与接收到选择指示消息相对应,而将选择指示消息的发送源即通信装置20 - I的装置识别数据,作为用于确定在数据分发路径中配置于该通信装置20 - 2 (或者20 - 3)的紧上游的通信装置的信息,存储在易失性存储部252中。此外,控制部210 — 2除了图6的步骤SAllO之后的处理以外,还执行将上述备份用数据写入易失性存储部252 - 2的处理。例如,控制部210 - 2参照从通信装置20 — I接收到的加入装置列表,按照优先次序从高到低的顺序选择预先规定的数量(例如2台)的下游侧装置(步骤SA110)。如图8(b)所示,由于在从通信装置20 - I发送至通信装置20 - 2的加入装置列表中,含有本装置(通信装置20 — 2)、通信装置20 — 4及20 — 6的信息,所以控制部210 — 2选择通信装置20 — 4及通信装置20 - 6作为下游侧装置。由此,对于在从通信装置20 - I发送至通信装置20 - 2的加入装置列表中所登录的信息示出的各通信装置,其上游侧装置全部得到了确定,控制部210 — 2执行的步骤SA120的判定处理的判定结果为“否”。因此,控制部210 - 2不执行步骤SA130的处理,而是结束分发路径确定处理。相同地,控制部210 — 3也参照从通信装置20 - I接收到的加入装置列表,选择通信装置20 - 5及通信装置20 -7作为下游侧装置,结束本分发路径确定处理。此后,承担主机或中间节点的作用的各个通信装置20 - j,与其下游侧装置之间建立加密通信路径,由此,基于图8 (c)所示的树状数据分发路径传播共享对象数据。如上述说明所示,在本实施方式中,并不只有主机(即优先次序最高的通信装置20 - I)进行用于确定数据分发路径的处理,实现中间节点的作用的通信装置20 — 2及20 — 3也帮助确定数据分发路径。因此,负载不会集中在特定装置中,不易产生拥塞。并且,以使得通信装置20 — j (j = I 7)中优先次序最高的通信装置成为主机,通信装置的优先次序越高就成为越位于上游侧(接近主机的一侧)的中间节点的方式,确定数据分发路径。因此,中间路径不会成为瓶颈,可以进行高通信效率的数据分发。(B - 3 :通信装置中途加入的情况下的动作)下面,针对在形成了数据共享组,构建了树状数据分发路径的状态下,在该数据共享组中中途加入新的通信装置(中途加入装置)的情况下的动作,以如图8 (c)所示确定了数据分发路径的状况作为例子进行说明。(B - 3 - I :优先次序低于主机的通信装置中途加入的情况下的动作)首先,以通信装置20 - 8中途加入的情况作为例子,说明优先次序低于主机的通信装置中途加入的情况下的动作。假设通信装置20 - 8的非易失性存储部254 - 8所存储的优先次序Pr — 8低于通信装置20 - I的优先次序Pr — I。如果控制部210 — 8指示形成数据共享组,则向存储在非易失性存储部254 - 8中的初始节点数据所示出的通信装置20 — k (例如k = 7)发送加入请求消息,接收该时刻的主机的说明。如前述所示,在通信装置20 - 8中途加入的时刻,已经确定了图8(c)所示的数据分发路径,该时刻的主机为通信装置20 — 1,因此,控制部210 - 8根据初始节点数据示出的通信装置20 — k得知通信装置20 - I为主机。这样,得到了针对主机的说明的通信装置20 - 8的控制部210 -8,将前述加入请求消息向该主机(即通信装置20 — I)发送(参照图9 (a))。另一方面,如果控制部210 — I接收到加入请求消息,则参照写入在该加入请求消息中的预先共享钥,进行其发送源的认证,如果完成认证,则执行分发路径重构处理。图7是表示通信装置20 - I的控制部210 — I执行的分发路径重构处理的流程的流程图。如图7所示,控制部210 — I对中途加入的作为请求源的通信装置(以下称为中途加入装置在本动作例中为通信装置20 - 8)是否与本装置的优先次序相比较高进行判定(步骤SB100)。在本例的情况下,由于发送了加入请求消息的通信装置20 - 8的优先次序低于通信装置20 - I的优先次序,所以步骤SB100的判定结果为“否”,控制部210 — I执行步骤SB120以后的处理。在图7的步骤SB120中,控制部210 — I对通信装置20 — I的下游侧装置(在图8 (c)的例子中为通信装置20 — 2及20 — 3)中是否存在与中途加入装置相比优先次序较低的下游侧装置进行判定。并且,如果步骤SB120的判定结果为“是”,则控制部210 - I执行步骤SB130及步骤SB140的处理,相反,如果步骤SB120的判定结果为“否”,则仅执行步骤SB 140的处理。
步骤SB130是对相关下游侧装置和中途加入装置进行替换的处理。此外,在相关下游侧装置存在多台的情况下,控制部210 - I从其中选择I台而进行与中途加入装置的替换。在这里,对于在与中途加入装置相比优先次序较低的下游侧装置存在多台的情况下,选择I个作为替换对象的下游侧装置时的具体选择方式,具有各种方式。例如,选择下游侧装置中优先次序最低的通信装置的方式,或者在与中途加入装置相比优先次序较低的下游侧装置中选择优先次序最高的通信装置的方式,或者也可以是下述方式,即,对与中途加入装置相比优先次序较低的下游侧装置赋予连续序号,在该连续序号的范围内产生伪随机数,将具有与该伪随机数一致的连续 序号的通信装置选为替换对象。在步骤SB140中进行下述处理,即,控制部210 — I选择下游侧装置中的一个,发送写入了该时刻的上游侧未确定装置(如果执行了步骤SB130的处理,则为与中途加入装置进行替换后的通信装置,如果没有执行该处理,则为中途加入装置)的记录的选择指示消息,指示将该上游侧未确定装置编入数据分发路径中。在图9 (a)的例子中,作为该选择指示消息而仅添加与中途加入装置相关的信息,指示编入中途加入装置。这样,收到编入上游侧未确定装置的指示的下游侧装置的控制部210,执行以该下游侧装置为起点的分发路径重构处理或者前述分发路径确定处理(参照图6)的步骤SAllO以后的处理。然后,顺序执行分发路径确定处理,直至下游侧的通信装置20 - j不存在上游侧未确定装置。此外,作为接受编入中途加入装置的指示的下游侧装置的选择方式,具有各种方式。在本实施方式中,采用选择优先次序最高的通信装置的方式,但也可以是相反地选择优先次序最低的通信装置的方式,另外,也可以是使用伪随机数进行选择的方式。另外,由于在本动作例中,作为中途加入的请求源的通信装置20 - 8,与作为主机的通信装置20 - I的下游侧装置(即,通信装置20 - 2及通信装置20 - 3)的任一个相比优先次序都低,所以控制部210 - I执行的分发路径重构处理的步骤SB120的判定结果为“否”,控制部210 - I仅执行步骤SB140的处理。在本动作例中,通信装置20 — I的下游侧装置为通信装置20 — 2及20 — 3,前一个的优先次序较高,因此,向通信装置20 — 2指示编入上游侧未确定装置。与该编入指示相对应,通信装置20 — 2的控制部210 — 2执行以通信装置20 —2为起点的分发路径重构处理。即,将被指示进行编入的中途加入装置的优先次序和选择作为自身的下游侧装置的各通信装置的优先次序进行比较,在存在与中途加入装置相比优先次序较低的下游侧装置的情况下,将该装置与中途加入装置进行交替,在其它情况下,向下游侧装置的任意一个指示编入中途加入装置。在本动作例中,基于优先次序,将通信装置20 - 8与通信装置20 - 6进行交替,使通信装置20 - 4和通信装置20 — 8成为通信装置20 - 2的下游侧装置。此外,由于通信装置20 - 8的优先次序较高,所以向通信装置20 -8指示编入成为上游侧未确定装置的通信装置20 - 6。与该指示相对应,通信装置20 - 8的控制部210 - 8执行分发路径重构处理,但由于在该状态下,通信装置20 - 8尚未选择其下游侧装置(由于应重构的分发路径并未构建),所以执行分发路径确定处理。在控制部210 - 8执行的分发路径确定处理中,通信装置20 - 6被选择作为通信装置20 — 8的下游侧装置,其结果,如图9 (b)所示,重构了数据分发路径。如上述所示,根据本实施方式,主机即使没有掌握数据分发路径整体的拓扑,也可以针对中途加入装置分配与其优先次序对应的作用,从而重构数据分发路径。此外,将图9(a)和图9 (b)进行对比可知,对通信装置20 — 3下游的数据分发路径完全没有影响。SP,根据本实施方式,还可以将数据分发路径重构的影响范围抑制得较小。
(B - 3 - 2 :在优先次序高于主机的通信装置中途加入的情况下的动作)另一方面,在优先次序高于主机的通信装置(以下称为通信装置20 - X)中途加入的情况下,图7的步骤SB 100的判定结果为“是”,发生前述的主机更换。具体地说,如果控制部210 - I接收到从优先次序高于通信装置20 - I的通信装置20 - X发送来的加入请求消息,则回送写入有加入装置列表(加入装置列表I)和指示构建数据分发路径的指示符的主机更换指示消息。接收到该主机更换指示消息的控制部210 - X将写入在该主机更换指示消息中的加入装置列表写入易失性存储部252 - X,并且追加自身的装置识别数据等信息,此后,作为主机执行处理。具体地说,控制部210 - X与写入在该主机更换指示消息中的指示符相对应,而执行重构数据分发路径的处理。在这里,作为控制部210 — X重构数据分发路径时的具体方式,具有各种方式。具有下述第I方式,即,基于加入装置列表的存储内容而重构整个数据分发路径的方式(将除了通信装置20 - X之外的所有通信装置20 - j作为上游侧未确定装置,执行图6的步骤SAllO以后的处理的方式)。根据上述方式,虽然具有下述优点,即,针对加入数据共享组的 各个通信装置20 - j,可以分配与其处理能力等对应的角色而重构数据分发路径,但存在重构的影响范围较大的缺点。因此,除了上述第I方式之外,还考虑采用下述方式,即,如图10 (a)所示仅将通信装置20 - I作为通信装置20 - X的下游侧装置而重构数据分发路径的方式(以下称为第2方式),或者如图10 (b)所示将通信装置20 - I和作为通信装置20 - I的下游侧装置的通信装置(即通信装置20 - 2及通信装置20 - 3)设为通信装置20 - X的下游侧装置的方式(以下称为第3方式)。根据上述方式,对于在发生中途加入通信装置20 — X之前承担主机的作用的通信装置20 - 1,其下游侧装置下游的数据分发路径不受影响,可以使数据分发路径的重构的影响范围成为最小限度。此外,为了实现在图10 (a)所示的方式下的重构,只要在仅将通信装置20 - I设为上游侧未确定装置的状态下,使通信装置20 - X的控制部210执行图6的步骤SAllO以后的处理即可。另外,为了实现在图10 (b)所示的方式下的重构,只要在将通信装置20 — 1、20 — 2及20 — 3设为上游侧未确定装置,且将通信装置20 - X可以选择的下游侧装置的数量设为3台的状态下,使通信装置20 — X的控制部210执行图6的步骤SAllO以后的处理即可。此外,在利用上述第2或第3方式进行重构处理的情况下,作为数据分发路径的起点(根节点)的主机通信装置、以及除了末端之外(中间节点)的通信装置,对在前述分发路径确定处理中分别构成下游分支的各组(即加入装置列表)进行存储,与重构相对应而更新该信息。此外,当然也可以不选择上述第I 第3方式中的某一个,而是在发生主机更换之后立刻利用第2或第3方式重构数据分发路径,然后,在经过一定时间后,利用第I方式进行重构。其原因在于,可能在构建了数据分发路径的状态下正在进行某个数据分发,所以考虑到不会由于数据分发路径的大幅变更而妨碍该数据分发,并且选择该数据分发完成的时亥IJ,将数据分发路径重构为效率更高的路径。另外,在可以由主机检测是否在数据共享组内正在实际进行数据分发的情况下,也可以在发生主机更换的时刻,如果正在进行数据分发,则利用第2或第3方式重构数据分发路径,并且在检测出该数据分发完成的时刻,利用第I方式进行重构,如果在发生主机更换的时刻没有进行数据分发,则立刻利用第I方式重构数据分发路径。此外,在优先次序低于主机的通信装置中途加入的情况下,在将下游侧装置和中途加入装置进行交替时,作为交替对象的下游侧装置(在上述例子的情况下为通信装置20 - 6)的下游还配置有其它通信装置作为下游侧装置的情况下的动作,也利用在这里说明的第I 第3方式或其组合进行重构。(B - 4 :通信装置中途脱离的情况下的动作)下面,说明在如图9 (b)所示确定了数据分发路径的状况下,承担主机或中间节点的作用的通信装置20 - j中途脱离的情况下的动作。此外,在上述数据分发路径中,由于即使下游侧的末端节点(例如图9 (b)的通信装置20 - 4,20 - 5,20 一 6及20 — 7)中途脱离,也无需进行数据分发路径的重构,因此,省略在上述末端节点中途脱离的情况下的说明。(B - 4 - I :主机之外的通信装置中途脱离的情况下的动作) 首先,以在图9 (b)所示的状态下通信装置20 — 8中途脱离的情况作为例子,参照图11 (a)—图11 (C),说明承担中间节点的作用的通信装置20 — j中途脱离的情况下的动作。在本实施方式中,在承担中间节点的作用的通信装置20 - j从数据共享组中中途脱离的情况下,原则上在进行将该情况向上游侧装置通知的处理(以下称为脱离通知处理)后再进行脱离。如果承担中间节点的作用的通信装置中途脱离,则该发生了中途脱离的下游侧装置的下游侧通信装置无法进行数据的共享。因此,将中途脱离的请求源即通信装置20 - j除外而重构数据分发路径,在该重构完成后再使其脱离。但是,还存在由于某种硬件故障或电源断开、或者通信线路断开等导致没有进行脱离通知处理,承担中间节点的作用的通信装置20 - j就中途脱离的情况。下面,分为进行规定的脱离通知处理后通信装置20 - 4中途脱离的情况、以及没有进行脱离通知处理就中途脱离的情况进行说明。(B - 4 - I - I :发出脱离通知后脱离的情况)接受了从数据共享组脱离的指示的通信装置20 - j的控制部210,首先执行脱离通知处理。在该脱离通知处理中,控制部210向内容为请求脱离的通信消息(以下称为脱离请求消息)中写入易失性存储部252中存储的加入装置列表(配置在通信装置20 - j下游的I个至多个通信装置的装置识别数据及优先次序数据),向在数据分发路径中配置于中途脱离的通信装置的紧上游的上游侧装置发送。如上述所示,在数据分发路径中配置于中途脱离的通信装置紧上游的上游侧装置的装置识别数据,是在确定分发路径时存储在易失性存储部252中的。例如,如果在如图9 (b)所示构建了数据分发路径的状况下,控制部210 —8从与第2通信Ι/F部连接的通信终端接收到从数据共享组脱离的指示,则控制部210 — 8参照易失性存储部252,将写入了与通信装置20 - 6相关的信息的脱离请求消息向配置在通信装置20 - 8紧上游的上游侧装置即通信装置20 - 2发送(参照图11 (a))。另一方面,从下游侧装置接收到脱离请求消息后的通信装置的控制部210,将在该脱离请求消息中写入的加入装置列表中所登录的通信装置作为上游侧未确定装置,从该信息示出的通信装置中选择优先次序最高的装置作为下游侧装置,然后执行图6的步骤SA120以后的处理。然后,直至没有上游侧未确定装置之前,在被新选择为下游侧装置的各通信装置20中顺序执行图6的步骤SA120以后的处理,从而进行数据分发路径的重构。与此相应,从下游侧装置接收到脱离请求消息的通信装置的控制部210,进一步向上游侧的通信装置通知下游侧通信装置脱离这一情况,然后,将该信息传播至作为主机起作用的通信装置为止。接收到该通知的上游侧通信装置的控制部210,从加入装置列表中删除与脱离的通信装置对应的记录。例如,如图11 (a)所示,接收到从通信装置20 — 8发送来的脱离请求消息的控制部210 - 2,将写入在该脱离请求消息中的信息示出的通信装置(即通信装置20 — 6)和通信装置20 - 4选为新的下游侧装置(参照图11 (b)),从而重构数据分发路径。(B-4- 1-2 :不发出脱离通知就进行脱离的情况)与此相对,在图9 (b)所示的状态下,通信装置20 - 8不进行上述脱离通知处理而突然脱离的情况下,通信装置20 - 8的下游侧装置即通信装置20 - 6的控制部210 — 6通过前述状态通知/监视功能而检测出该脱离,并将内容为通知通信装置20 - 8中途脱离的通信消息(以下称为脱离通知消息)向主机(即通信装置20 - I)发送(参照图11 (C))。然后,控制部210 - I从加入装置列表中删除与脱离的通信装置(在本动作例中为通信装置20 - 8)对应的记录,利用与脱离通知消息的发送源通信装置中途加入相同的步骤,执行向数据分发路径编入的处理。例如,在如图11(c)所示,从通信装置20 — 6通知了通信装置20 — 8脱离的情况下,控制部210 — I向通信装置20 - 2发送通信装置20 - 8不存在的通知,并且指示进行通信装置20 - 6的编入。由此,将通信装置20 - 6作为通信装置20 - 2的下游侧装置而编入数据分发路径中。此外,在此情况下,即使在通信装置20 - 6的下游已经构建了数据分发路径,也可以在维持该数据分发路径的同时重构数据共享组整体的数据分发路径。即,根据本实施方式,无需进行多余的重新计算就可以进行数据分发路径的重构。另外,参照图
11(c)可知,由于通信装置20 - 3下游的数据分发路径没有变化,所以可以将数据分发路径的重构的影响范围抑制在最小限度。(B-4-2 :主机中途脱离的情况下的动作)下面,说明在图9 (b)所示的状态下作为主机进行动作的通信装置20 - I中途脱离的情况。在作为主机起作用的通信装置20 - j中途脱离的情况下,该通信装置20 - j的控制部210针对本装置的下游侧装置中被指示了将加入装置列表作为备份用数据进行存储的装置(优选为下游侧装置中优先次序高的装置,即,在数据共享组内优先次序仅次于主机的通信装置),发送脱离请求消息。例如在图9 (b)所示的状态下通信装置20 — I中途脱离的情况下,从通信装置20 - I向通信装置20 - 2发送脱离请求消息。控制部210 -2在从上游侧装置收到脱离请求消息的情况下,此后作为主机执行处理。具体地说,控制部 210 - 2执行下述处理,即,基于存储在易失性存储部252 - 2中的备份用数据,生成加入装置列表(具体地说,将与通信装置20 - I相关的记录从加入装置列表删除),基于该生成的新加入装置列表,进行数据分发路径的重构,向紧下位的通信装置20 - j (即通信装置20 - 3)发送所生成的新加入装置列表,并使其作为备份用数据进行存储。对于该情况下的重构的方式,也存在各种方式。具体地说,也可以是通信装置20 一 2基于从通信装置20 - I作为备份用数据接收到的加入装置列表的存储内容,重构整个数据分发路径的方式,另外,也可以是如图12所示,在维持通信装置20 — 4、20 — 8及通信装置20 — 3各自的下游侧数据分发路径不变的同时重构数据分发路径的方式,或者是同时使用这两个方式。例如,为了实现在维持通信装置20 - 4,20 - 8及通信装置20 — 3各自的下游侧数据分发路径不变的同时重构数据分发路径的方式,只要仅将通信装置20 - 3作为上游侧未确定装置,并且将通信装置20 - 2可以选择的下游侧装置的数量设为3台,从而使控制部210 - 2执行图6的步骤SAllO以后的处理即可。此外,为了仅将通信装置20 - 3作为上游侧未确定装置进行处理,只要使控制部210 - 2执行下述处理即可,即,使通信装置20 - I发送写入了示出下游侧装置的信息的脱离请求消息,将该信息示出的通信装置中除了本装置之外的装置作为上游侧未确定装置进行处理即可。另外,对于控制部210 - 2利用上述状态通知/监视功能而检测出主机没有发送脱离请求消息就中途脱离的情况,控制部210 - 2也相同地执行下述处理,即,将存储在易失性存储部252 — 2中的备份用数据作为加入装置列表而进行数据分发路径的重构,向紧下位的通信装置20 - j (即通信装置20 - 3)发送该加入装置列表,并使其作为备份用数据进行存储。以上是主机中途脱离的情况下的动作。 如上所述,即使在主机中途脱离的情况(或者由于硬件故障等而中途脱离的情况)下,也可以重构数据分发路径,另外,通过上述重构的方式,可以将其影响范围抑制在最小限度。如以上说明所示,根据本实施方式,可以一边避免向特定的通信装置20 - j过度造成负载,一边将通信装置20 - j间的数据分发路径与各通信装置20 - j的处理能力等相对应而灵活地确定,可以高效地向上述通信装置20 - j分发同一数据。此外,在本实施方式中,由于通信装置20 - j间的通信方式为数据包交换方式,所以可以通过构建所谓覆盖网,而无需选择连接线路就可以自由地同时向多个发送目标转送数据。因此,可以在覆盖网中构建灵活的网络拓扑,另外,也可以缩短向所有通信装置20 — j分发数据所需的时间。下面,参照图13 图15说明本发明的概念。图13 图15是说明本发明的概念的图。如图13所示,通信装置20 - j具有用于在数据共享组内构建数据分发路径的选择单元2101和指示单元2102。此外,选择单元2101及指示单元2102是控制部210实现的功能。选择单元2101在树状的数据分发路径中选择应配置在通信装置20 - j下游侧的通信装置(下游侧通信装置)。在图13中,例示了通信装置20 - j选择通信装置20 - m、20 —η作为下游侧通信装置的状态。选择下游侧装置的数量也可以是大于或等于I的任意数量。如果通信装置20 - j选择了下游侧通信装置,则指示单元2102对该选择好的下游侧通信装置20 - m、20 - η进行指示,使它们进一步选择下游侧通信装置。从树状的数据分发路径的起点(树状构造中的根节点)即主机(起点通信设备)开始,顺序进行下游侧通信装置(树状构造中的内部节点或叶节点)的选择及对该选择好的下游侧通信装置进行进一步选择下游侧通信装置的指示(当然,如果所选择的下游侧通信装置为叶节点,则不进行该指示,或者即使进行了指示,该下游侧通信装置(叶节点)也不会进一步选择下游侧通信装置),通过形成数据共享组的各通信装置协同动作而确定数据分发路径。此时,如图14所示,在各通信装置20 — j、20 — m、20 — η之间,通知可选择作为下游侧通信装置的其它通信装置的列表。在图14中,例示了下述状态,即,在通信装置20 -j选择了通信装置20 - m、20 - η的状态下,列表生成单元2103生成对上述所选择的通信装置进行通知的列表(列表m、列表η),并分别向通信装置20 — m、20 — η通知。通信装置20 - j所保存的列表记述了包括例如通信装置20 - m、20 — η在内的N个通信装置,选择单元2101从该列表中选择通信装置20 — m及20 — η。列表生成单元2103根据该列表生成去除了所选择的通信装置20 — m、20 — η后的列表。此时,向通信装置20 — m和20 — η通知的列表m、η是以它们所记述的通信装置不会重复的方式生成的。收到该列表的通知的通信装置20 - m、20 - η与来自通信装置20 — j的指示对应,相同地从(所通知的)列表中选择更下游的通信装置。此外,优选各通信装置中的下游侧通信装置的选择是基于该通信装置的处理能力(处理速度等)或可以利用的网络带宽等将通信装置的数据传输能力指标化而成的优先次序进行的,优选选择单元2101从高优先次序的通信装置开始顺序选择下游侧通信装置。将该优先次序作为上述列表而顺序向下游的通信装置(中间节点)通知。通过如上所述进行选择,可以避免在数据传输能力较低的通信装置配置为树状构 造的内部节点的情况下,该通信装置成为共享数据传播的瓶颈,并且可以利用简单的算法构建高通信效率的数据分发路径。此外,如图15所示,经由树状的数据分发路径分发共享对象数据。各通信装置具有第I通信单元2104,其用于在通信装置之间相互进行数据传输;第2通信单元2105,其用于与其它网络装置(PC等客户端终端)之间进行数据传输;以及共享数据存储单元2106,其用于保存经由第I通信单元2104从上游侧通信装置接收到的共享对象数据。将存储在共享数据存储单元2106中的数据,向选择单元2101所选择的下游侧通信设备分发(转送),另外,对应于来自与第2通信单元2105连接的网络装置的请求,向该网络装置提供。如上所述,由于实现树状构造中的根节点及中间节点(即具有上游侧装置且具有I个或多个下游侧装置的节点)的作用的通信装置各自辅助确定数据分发路径,所以不会使负载集中在特定的通信装置中,不易发生拥塞。由于负载不会集中在特定的通信装置中,所以与服务器·客户端方式的通信系统相比,可扩展性变高。另外,例如,如果向各通信装置分配对处理能力的高低及在通信网络中可以利用的带宽的大小等数据传输能力进行指标化而得到的优先次序,基于此对配置在下游侧的通信装置进行选择,则在数据分发路径的上游侧不易产生瓶颈,可以以简单的算法构建高通信效率的数据分发路径,可以利用该构建好的数据分发路径在短时间内完成数据分发。此外,由于各通信装置间的通信方式并不限定于线路交换方式,所以可以通过采用例如数据包交换方式,构建所谓覆盖网而同时向多个发送目标分发数据。因此,在本发明的通信系统中,与专利文献I所公开的技术及P2P型的通信系统相比,可以对从属于数据共享组的所有通信装置在短时间内可靠地传递数据。另外,由于在确定上述数据分发路径时并不需要进行全网通信,所以与专利文献2所公开的技术相比,在各通信装置中不会过度造成处理负载。(C:变形)以上针对本发明的一个实施方式进行了说明,但当然本实施方式也可以施加下述的变形。(I)在上述说明中,基于通信装置20 - j的处理能力及该通信装置20 - j可以利用的带宽这两者,确定了该通信装置20 - j的优先次序,但当然也可以基于任意一种而确定优先次序,另外,也可以与其它指标(例如下辖的通信终端数量等)对应而确定优先次序。另外,在各通信装置20 - j的处理能力等没有较大差异的情况下,也可以是例如从通信地址最新的装置开始顺序分配高优先次序这一方式。只要是针对形成数据共享组的各个通信装置20 - j,基于某指标附加优先次序即可。(2)在以上的说明中,预先由系统管理员等确定了各通信装置20 - j的优先次序,但也可以例如使各通信装置20 - j的控制部210测定可以利用的带宽,与该测量值对应而计算本装置的优先次序。另外,在上述实施方式中,以加入数据共享组的加入指示为契机,使控制部210 - j执行形成数据共享组的处理(具体地说,向初始节点数据示出的其它通信装置20 — k发送加入请求消息的处理),但也可以以指示开始分发数据(即,从下辖的通信终端接收到分发开始指示消息)或通信装置20 - j的电源接通为契机,使控制部210 - j执行形成数据共享组的处理。(3)在以上的说明中,本发明应用于将普通广域网10和各网点内LAN进行连接的路由器。但是,本发明的应用对象并不限定于路由器等中继装置,当然也可以将本发明应用于位于数据通信末端的通信终端(例如,收容于网点内LAN中、由各用户使用的通信终端)。只要是与其它通信装置进行数据通信的通信装置,就可以应用本发明。(4)在以上的说明中,在指示进行中途加入装置的编入时发送的选择指示消息中,仅添加了与中途加入装置相关的信息,但也可以与确定分发路径时相同地,将包含中途加入装置的加入装置列表添加在选择指示消息中。(5)在以上的说明中,在选择指示消息中添加了加入装置列表,但也可以将选择指示消息和加入装置列表在不同的定时向下游侧装置发送。另外,将相当于对发送源的加入装置列表进行分割后的列表向下游侧发送,但也可以在所生成的加入装置列表中,对各记录添加标识等,以将属于所选择的下游装置的组的通信装置以组为单位进行识别。在此情况下,各通信装置中保存的加入装置列表的大小(记录数)相同。另外,也可以在加入装置列 表之外,还一起通知从作为数据分发路径的起点的主机至所选择的下游侧装置为止的路径(path)ο( 6 )在以上的说明中,在通信装置选择下游侧通信装置的情况下,在选择了下游侧通信装置后,对选择了下游侧通信装置的通信装置的下游侧所配置的其它(没有被选择的)通信装置分组,并通知与该组相关的加入装置列表,但也可以首先将加入装置列表划分为规定数量(大于或等于I)的组,从各组中选择I个通信装置作为下游侧通信装置。例如,在图8 (a)—图8 (C)的例子的情况下,也可以使成为主机的通信装置20 - I将登录在加入装置列表中的除了本装置之外的通信装置划分为第I组(通信装置20 - 2、20 - 4,20 一6)和第2组(通信装置20 - 3,20 - 5,20 一 7),从其中分别选择I个通信装置(通信装置20 一 2及通信装置20 - 3)。在此情况下,只要基于在数据共享组形成时得到的(或者从上游侧的通信装置通知的加入装置列表中所记述的)各通信装置的优先次序,例如按照优先次序顺序逐个地向各个组中分配通信装置,从中选择优先次序最高的装置作为下游侧通信装置即可。(7)在以上的说明中,在通信装置从数据共享组脱离时,脱离的通信装置将脱离请求消息向配置于数据分发路径中的紧上游的上游侧装置进行了通知,但也可以将脱离请求消息向主机发送。例如,如果在构建了图9 (b)所示的数据分发路径的状况下,从与第2通信I/F部连接的通信终端向控制部210 - 8指示了从数据共享组脱离,则控制部210 - 8将脱离请求消息向作为主机的通信装置20 - I发送。在此情况下,接收到脱离请求消息的通信装置20 - I的控制部210 — 1,从存储在易失性存储部252 - I中的加入装置列表删除与通信装置20 - 8相关的记录,然后,通信装置20 - I之后的通信装置与在“B-4-1-2 :不发出脱离通知就进行脱离的情况”中说明的步骤相同地,进行数据分发路径的重构。(8)在以上的说明中,在通信装置不发出脱离通知就从数据共享组脱离的情况下,检测到该脱离的下游侧通信装置向主机进行脱离通知,但也可以采用下游侧的通信装置顺序向位于上游侧的通信装置发送脱离通知消息的方式。在此情况下, 检测到在数据分发路径中配置于紧上游的通信装置突然脱离这一情况的通信装置,从配置于中途脱离装置上游的通信装置开始逐级朝向上游发送脱离通知消息,直至产生响应为止。在图11 (C)所示的例子的情况下,检测到通信装置20 - 8脱离的通信装置20 - 6,首先向配置于通信装置20 - 8上游的通信装置20 - 2发送脱离通知消息。在假如没有来自该通信装置的响应的情况下(经过规定时间后没有响应的情况下等),向更上游的通信装置(在此情况下为通信装置20 - I)发送脱离通知消息。取得脱离通知消息的通信装置如上述所示,以与作为脱离通知消息的发送源的通信装置中途加入的情况相同的步骤,执行向数据分发路径编入的处理。此外,在进行上述重构处理的情况下,各通信装置至少存储有从作为数据分发路径的起点的主机至到达该通信装置为止的路径(path)等)。(9)在以上的说明中,在通信装置不发出脱离通知就从数据共享组脱离的情况下,下游侧装置检测到该脱离,但也可以由上游侧的装置通过前述状态通知/监视功能而检测下游侧的通信装置的连接状态。或者,也可以使主机集中对加入数据共享组的各通信装置的连接状态进行监视,利用主机检测通信装置的脱离。(10)在以上的说明中,在通信装置从数据共享组脱离时,从各通信装置的加入装置列表删除已脱离的通信装置的记录,但也可以替代该方式,而在加入装置列表的各记录中标记表示加入/脱离状态的状态标识,基于该状态标识的值识别加入/脱离。例如,作为状态标识,在加入了数据共享组的状态下设为“ 1”,在从数据共享组脱离的状态下设为“O”。在图5、图8 (a)—图8 (C)的例子的情况下,处于形成了数据共享组的阶段,加入装置列表中各装置的状态标识成为“I”。在图9 (a)、图9 (b)的例子的情况下,将中途加入的通信装置20 - 8的信息与状态标识(值为“I”)一起追加到作为主机的通信装置20 - I的加入装置列表中。另外,在图11 (a)—图11 (c)的例子的情况下,由于通信装置20 — 8已脱离,所以在通信装置20 — 2及通信装置20 - I中,在各自的加入装置列表中,将与已脱离的通信装置20 - 8对应的状态标识的值改写为表示脱离状态的“0”,此后,通信装置20 - 2识别为通信装置20 - 8不属于数据共享组,从而不进行共享数据的传输等。在采用上述结构的情况下,存储在各通信装置中的加入装置列表的内容仅变更状态标识的值,在暂时脱离的通信装置回到数据共享组时,可以再次利用该信息。例如,在图11 (a)—图11 (c)的例子的情况下,在通信装置20 — 8再次加入数据共享组的情况下,通过通信装置20 - I、通信装置20 - 2将加入装置列表的通信装置20 - 8的状态标识恢复为“1”,并且通信装置20 - 2再次选择通信装置20 - 8,从而可以简单地重构数据分发路径。
(11)在上述实施方式中,预先在非易失性存储部254中存储了通信控制程序,其用于使控制部210执行明显表示出本发明的特征的分发路径确定处理及分发路径重构处理。但是,也可以在⑶一 ROM (Compact Disk-Read Only Memory)等计算机装置可读取的存储介质中写入上述通信控制程序并进行分发,另外,也可以通过经由互联网等电子通信线路进行下载而分发上述通信控制程序。通过将如上所述分发的通信控制程序安装在通常的通信装置中,并使其控制部按照该通信控制程序进行动作,从而可以对该通信装置添加与本发明所涉及的通信装置相同的功能。(12)在上述实施方式中,利用程序实现了分发路径确定处理及分发路径重构处理。但是,在通信装置20 - j具有脚本执行功能的情况下,当然也可以利用脚本实现上述各处理。具体地说,在非易失性存储部254中预先存储有下述脚本,以通信装置20 - j的电源接通为契机而使控制部210开始进行各脚本的解释及执行,即分发路径确定处理脚本,其是利用规定脚本语言记述了用于使控制部210执行图6所示的分发路径确定处理的命令行的文本文件;以及分发路径重构处理脚本,其是利用同一脚本语言记述了用于使控制部210执行图7所示的分发路径重构处理的命令行的文本文件。此外,作为上述脚本记述语言,可以使用各种语言,但优选使用Lua。其原因在于,Lua与peri等其它脚本语言相 t匕,脚本文件的解释及执行所需的存储器量等较少,适于组装在电子设备中。下面,记载本发明的其它方式的作用效果。本发明提供一种通信系统,其特征在于,包含多个通信装置,对于所述多个通信装置,预先分配有优先次序,该优先次序表示在用于将共享对象数据向各通信装置分发的树状的数据分发路径中选择作为位于该数据分发路径的起点的主机的优先级,在所述多个通信装置中接受了形成数据共享组的指示的装置中,优先次序最高的装置成为主机,所述主机执行第I处理,在该处理中,从从属于所述数据共享组的其余的通信装置中以优先次序从高至低的顺序,以预先确定的数量选择所述数据分发路径中位于本装置的紧下游的下游侧装置;以及第2处理,在该处理中,在从属于所述数据共享组的通信装置中还残留有未确定上游侧装置的装置的情况下,对在所述第I处理中所选择的各个下游侧装置进行指示,使它们从上述通信装置中选择下游侧装置,从属于所述数据共享组的通信装置中除了所述主机之外的通信装置执行 第3处理,在该处理中,以来自上游侧装置的指示为契机,在从属于所述数据共享组的通信装置中,从优先次序低于本装置的装置中以优先次序从高至低的顺序,顺序选择预先规定的数量的下游侧装置;以及第4处理,在该处理中,在从属于所述数据共享组的通信装置中残留有未确定上游侧装置的装置的情况下,对在所述第3处理中所选择的各个下游侧装置进行指示,使它们从上述通信装置中选择下游侧装置。在上述通信系统中,在接收到形成数据共享组的指示的通信装置中,以使得优先次序最高的装置成为主机,通信装置的优先次序越高就越位于上游侧(接近主机的一侧)的方式,确定树状的数据分发路径。因此,例如如果各通信装置的处理能力越高、或者在通信网络中可以利用的带宽越大,就对该通信装置分配更高的优先次序,则在数据分发路径的上游侧不易产生瓶颈,可以构建高通信效率的数据分发路径,并且在短时间内完成数据分发。并且,在本发明的通信系统中,由于并不只有主机进行用于确定数据分发路径的处理,实现中间节点(即具有上游侧装置且具有I个或多个下游侧装置的节点)的作用的通信装置也辅助确定数据分发路径,所以不会使负载集中在特定的通信装置中,不易发生拥塞。由于如上所述,负载不会集中在特定的通信装置中,所以本发明的通信系统与服务器 客户端方式的通信系统相比,可扩展性变高。此外,在本发明中,由于各通信装置间的通信方式并不限定于线路交换方式,所以可以通过采用例如数据包交换方式,构建所谓覆盖网而同时向多个发送目标分发数据。因此,在本发明的通信系统中,与专利文献I所公开的技术及P2P型的通信系统相比,可以对从属于数据共享组的所有通信装置在短时间内可靠地传递数据。另外,由于在确定上述数据分发路径时无需进行全网通信,所以与专利文献2所公开的技术相比,不会在各通信装置中过度造成处理负载。更优选的方式的特征在于,在所述数据共享组中作为主机起作用的通信装置,在从属于所述数据共享组的其它通信装置的上游侧装置全部确定的状况下,从优先次序高于本装置的新通信装置请求中途加入所述数据共享组的情况下,对该新通信装置指示进行主机更换,另一方面,在从属于所述数据共享组的其它通信装置的上游侧装置全部确定的状 况下,从优先次序低于本装置的新通信装置请求中途加入所述数据共享组的情况下,判定在本装置的下游侧装置中是否存在与该新通信装置相比优先次序较低的装置,在存在相应装置的情况下,替代该通信装置而重新选择该新通信装置作为下游侧装置,然后,针对本装置的下游侧装置中的I个装置,指示从上游侧装置未确定的通信装置中选择下游侧装置,在没有相应装置的情况下,针对本装置的下游侧装置中的I个装置,指示从上游侧装置未确定的通信装置中选择下游侧装置。根据上述方式,在优先次序低于主机的通信装置中途加入数据共享组的情况下,并不对数据分发路径整体进行重构,而是仅对与中途加入的通信装置相比优先次序较低的通信装置所涉及的部分进行重构。因此,可以一边将数据分发路径变更导致的影响抑制在最小限度,一边构建高通信效率的数据分发路径。另外,在优先次序高于主机的通信装置中途加入数据共享组的情况下,该新通信装置成为新主机,并重构数据分发路径。详细内容在后面记述,在该重构时,具有对数据分发路径整体进行重构的方式,以及将影响范围抑制在最小限度而重构的方式,只要与需求对应而采用合适的方式即可。另外,其它优选方式的特征在于,上述数据共享组的主机在从属于所述数据共享组的其它通信装置的上游侧装置全部确定的状况下,从某个通信装置接收到表示其上游侧装置从所述数据共享组中途脱离这一内容的通知的情况下,视为从该作为通知源的通信装置请求中途加入,并重构数据分发路径。另外,其它优选方式的特征在于,在从属于所述数据共享组的通信装置中除了主机之外的通信装置的上游侧装置全部确定的状况下,从属于所述数据共享组的各个通信装置从本装置的下游侧装置接收到从所述数据共享组中途脱离的请求的情况下,将该请求源的紧下游的通信装置设为未确定上游侧装置后,将这些通信装置中优先次序最高的装置选择作为新的下游侧装置,针对本装置的下游侧装置中的I个装置,指示从上游侧装置未确定的通信装置中选择下游侧装置。另外,其它优选方式的特征在于,在从属于所述数据共享组的通信装置中除了主机之外的通信装置的上游侧装置全部确定的状况下,在所述主机的下游侧装置中优先次序最高的装置以检测到该主机中途脱离为契机,本装置成为新主机而重构数据分发路径。根据上述方式,即使在主机或中间节点的任意一个中途脱离的情况下,也可以基于剩余的通信装置的优先次序而重构数据分发路径,可以重构高通信效率的数据分发路径。由于即使在如上所述主机或中间节点的任意一个中途脱离的情况下,也可以灵活地重构数据分发路径,所以与服务器·客户端方式相比,本发明的通信系统的可用性优异。此夕卜,对于数据分发路径的重构时的方式,也具有对数据分发路径整体进行重构的方式,以及将影响范围抑制在最小限度而重构的方式,只要与需求对应而采用合适的方式即可。另外,为了解决上述课题,本发明提供一种通信装置,其被预先分配有优先次序,并且与相同地分配了优先次序的其它多个通信装置一起形成所述数据共享组,该优先次序表示在用于向从属于数据共享组的各通信装置分发共享对象数据的树状数据分发路径中,被选定作为位于树状数据分发路径的起点的主机的优先级,该通信装置的特征在于,具有选择单元,其在该通信装置的优先次序最高的情况下,或者接收到来自优先次序高于该通信装置的其它通信装置的指示的情况下,从所述数据共享组中的优先次序低于该通信装置的其它通信装置中,按照优先次序从高到低的顺序选择预先确定数量的应在数据分发路径中位于该通信装置的紧下游的下游侧装置;以及指示单元,其在所述多个其它通信装置中残留有上游侧装置未确定的装置的情况下,针对由所述选择单元所选择的下游侧装置,指示从上述通信装置中选择下游侧装置。此外,作为本发明的其它方式,还提供一种程序,其特征在于,将计算机装置作为上述选择单元及上述指示单元起作用。 详细且参照特定的实施方式对本发明进行了说明,但对于本领域的技术人员而言,显然可以在不脱离本发明的精神、范围或意图的情况下进行各种变更或修正。本发明基于2010年3月30日申请的日本专利申请(特愿2010 — 079291)以及2011年3月22日申请的日本专利申请(特愿2011 — 062779),在这里,作为参照而引用其内容。工业实用性根据本发明,可以提供一种可以在避免对特定的通信装置过度造成负载的同时,将共享对象数据在短时间内向各通信装置传递的技术。
权利要求
1.一种通信装置,其是由多个通信装置构成的数据共享组的通信装置,该多个通信装置经由通信网络彼此连接,形成树状的数据分发路径,从位于所述树状的数据分发路径的起点侧的上游侧通信装置向下游侧通信装置,经由所述数据分发路径而顺序分发共享对象数据, 其特征在于,具有 选择单元,其对在所述数据分发路径中作为位于该通信装置的紧下游的所述下游侧通信装置进行配置的I个至多个通信装置进行选择; 指示单元,其针对所述选择单元所选择的下游侧通信装置,指示该下游侧通信装置进一步选择下游侧通信装置;以及 数据转送单元,其将从所述数据分发路径中位于该通信装置的紧上游的其它通信装置分发的共享对象数据,向由所述选择单元选择的下游侧通信装置转送, 通过所述选择单元及指示单元,形成从该通信装置开始的单层数据分发路径。
2.根据权利要求I所述的通信装置,其特征在于,还具有 列表保存单元,其保存所述数据分发路径上的该通信装置及配置在该通信装置下游的I个至多个通信装置的列表;以及 列表生成及通知单元,其基于保存在所述列表保存单元中的列表,生成记述有除了由所述选择单元所选择的下游侧通信装置之外的I个至多个通信装置的其它列表,向由所述选择单元所选择的下游侧通信装置通知该生成的列表, 所述选择单元从所述列表保存单元所保存的列表中选择所述下游侧通信装置。
3.根据权利要求I或2所述的通信装置,其特征在于, 所述选择单元与作为所述上游侧通信装置而配置在所述数据分发路径上的该通信装置上游的通信装置发出的指示相对应,而选择所述下游侧装置。
4.根据权利要求I至3中任一项所述的通信装置,其特征在于,还具有 第I通信单元,其与所述通信网络连接,用于与其它通信装置相互通信; 第2通信单元,其用于与I个至多个网络设备进行通信; 共享对象数据存储单元,其对经由所述第I通信单元而从上游侧的通信装置接收到的共享对象数据进行存储;以及 数据提供单元,其与经由所述第2通信单元从所述网络设备接收到的请求相对应,而将所述存储的共享对象数据向该网络设备提供, 所述数据转送单元将经由所述第I通信单元从所述上游侧的通信装置接收到的共享对象数据,经由所述第I通信单元向所述选择的下游侧通信装置转送。
5.根据权利要求I至4中任一项所述的通信装置,其特征在于, 还具有脱离检测单元,其对由该通信装置选择作为下游侧通信装置的I个通信装置从所述数据共享组脱离这一情况进行检测, 所述选择单元从配置于所述检测出的通信装置下游的I个至多个通信装置中,选择作为位于该通信装置的紧下游的所述下游侧通信装置而配置在所述数据分发路径上的I个至多个通信装置。
6.根据权利要求I至4中任一项所述的通信装置,其特征在于, 还具有脱离检测单元,其对配置在该通信装置下游的任意通信装置从所述数据共享组脱离这一情况进行检测, 所述指示单元与所述检测相对应,而对配置于所述检测到的通信装置上游的通信装置进行指示,以使其选择配置在发生了所述脱离的通信装置下游的下游侧通信装置。
7.根据权利要求I至4中任一项所述的通信装置,其特征在于, 还具有脱离检测单元,其对所述数据分发路径上配置在该通信装置上游的通信装置从所述数据共享组脱离这一情况进行检测, 所述选择单元从配置于所述检测出的通信装置下游的I个至多个通信装置中,选择作为位于该通信装置的紧下游的所述下游侧通信装置而配置在所述数据分发路径上的I个至多个通信装置。
8.根据权利要求I至4中任一项所述的通信装置,其特征在于,还具有 脱离检测单元,其对所述数据分发路径上配置在该通信装置上游的通信装置从所述数据共享组脱离这一情况进行检测;以及 将与检测到所述脱离的通信装置相关的信息,向配置于所述检测到的通信装置更上游的其它通信装置通知。
9.根据权利要求5至7中任一项所述的通信装置,其特征在于, 所述脱离检测单元通过从要脱离所述数据共享组的通信装置接收到脱离请求,从而检测到作为该请求源的通信装置从所述数据共享组脱离。
10.根据权利要求5、6或8所述的通信装置,其特征在于, 所述脱离检测单元通过接收到在所述数据分发路径上配置于从所述数据共享组脱离的通信装置的下游的通信装置发送来的脱离通知,从而检测到配置于作为该通知源的通信装置的上游的通信装置从所述数据共享组脱离。
11.根据权利要求I至10中任一项所述的通信装置,其特征在于,还具有 优先次序存储单元,其存储优先次序;以及 优先次序获取单元,其经由所述通信网络获取其它通信装置的优先次序, 所述选择单元基于所述获取的优先次序选择所述下游侧通信装置。
12.根据权利要求11所述的通信装置,其特征在于, 还具有判定单元,其基于在所述优先次序存储单元中存储的优先次序、和通过所述优先次序获取单元获取的其它通信装置的优先次序,判定该通信装置是否为所述多个通信装置中优先次序最高的装置, 在由所述判定单元判定为该通信装置为所述多个通信装置中优先次序最高的装置的情况下,所述选择单元进行所述下游侧装置的选择,并且该通信装置在所述数据分发路径中成为所述数据分发路径的起点。
13.根据权利要求12所述的通信装置,其特征在于, 在该通信装置为所述数据分发路径的起点的情况下, 该通信装置还具有 接收单元,其从不属于所述数据共享组的其它通信装置接收加入该数据共享组的加入请求;以及 优先次序获取单元,其获取作为所述请求源的通信装置的优先次序, 所述判定单元基于在所述优先次序存储单元中存储的优先次序、和由所述优先次序获取单元获取的作为请求源的通信装置的优先次序,对该通信装置的优先次序是否高于作为请求源的通信装置进行判定, 在由所述判定单元判定为该通信装置的优先次序不高于作为所述请求源的通信装置的情况下,对作为所述请求源的通信装置进行指示,使作为该请求源的通信装置成为新起点。
14.根据权利要求12所述的通信装置,其特征在于, 在该通信装置为所述所述数据分发路径的起点的情况下, 该通信装置还具有 接收单元,其从不属于所述数据共享组的其它通信装置接收加入该数据共享组的加入请求;以及 优先次序获取单元,其获取作为所述请求源的通信装置的优先次序, 所述判定单元基于在所述优先次序存储单元中存储的优先次序、和由所述优先次序获取单元获取的作为请求源的通信装置的优先次序,对该通信装置的优先次序是否高于作为请求源的通信装置进行判定, 在由所述判定单元判断为该通信装置的优先次序高于作为所述请求源的通信装置的情况下,所述选择单元对该通信装置的下游侧装置中是否存在优先次序低于作为所述请求源的通信装置的装置进行判断,在存在优先次序低于作为所述请求源的通信装置的装置的情况下,替代优先次序低于作为所述请求源的通信装置的通信装置,将作为所述请求源的通信装置重新选择作为下游侧装置,然后对于该重新选择的下游侧装置中的一个进行指示,使其从上游侧装置未确定的通信装置中选择下游侧装置,在不存在优先次序低于作为所述请求源的通信装置的装置的情况下,对于该通信装置的下游侧装置中的一个进行指示,使其从上游侧装置未确定的通信装置中选择下游侧装置。
15.根据权利要求I至14中任一项所述的通信装置,其特征在于, 还具有发出加入所述数据共享组的请求的单元, 在作为所述请求的响应,从所述数据共享组的所述数据分发路径中作为所述共享数据分发的起点的起点通信装置,接收到主机更换指示的情况下,所述选择单元将所述起点通信装置选择作为该通信装置的下游侧装置,并且该通信装置在所述数据分发路径中成为所述共享数据分发的起点。
16.根据权利要求I至15中任一项所述的通信装置,其特征在于, 还具有路由单元,其针对从所述第I通信单元及第2通信单元接收到的数据,基于在该数据中添加的发送目标信息,向所述其它通信装置或所述网络设备转送。
17.—种通信系统,其构成具有多个通信装置的数据共享组,该多个通信装置经由通信网络彼此连接,形成树状的数据分发路径,从位于所述树状的数据分发路径的起点侧的上游侧通信装置向下游侧通信装置,经由所述数据分发路径而顺序分发共享对象数据, 该通信系统的特征在于,各通信装置具有 选择单元,其对在所述数据分发路径中作为位于该通信装置的紧下游的所述下游侧通信装置进行配置的I个至多个通信装置进行选择; 指示单元,其针对所述选择单元所选择的下游侧通信装置,指示该下游侧通信装置进一步选择下游侧通信装置;以及数据转送单元,其将从所述数据分发路径中位于该通信装置的紧上游的其它通信装置分发的共享对象数据,向由所述选择单元选择的下游侧通信装置转送, 通过从作为所述数据分发路径的起点的通信装置开始顺序选择下游侧通信装置,从而针对各个通信装置顺序形成单层的所述数据分发路径。
18.根据权利要求17所述的通信系统,其特征在于, 所述各通信装置具有 列表保存单元,其保存所述数据分发路径上的该通信装置及配置在该通信装置下游的 I个至多个通信装置的列表;以及 列表生成及通知单元,其基于保存在所述列表保存单元中的列表,生成记述有除了由所述选择单元所选择的下游侧通信装置之外的I个至多个通信装置的其它列表,向由所述选择单元所选择的下游侧通信装置通知该生成的列表, 所述选择单元从所述列表保存单元所保存的列表中选择所述下游侧通信装置。
19.根据权利要求17或18所述的通信系统,其特征在于, 分别向所述各通信装置分配优先次序,并且基于所述优先次序,使所述多个通信装置中的I个通信装置成为所述数据分发路径的起点, 所述各通信装置基于所述优先次序选择所述下游侧通信装置。
20.根据权利要求17至19中任一项所述的通信系统,其特征在于, 所述各通信装置具有 第I通信单元,其与所述通信网络连接,用于与其它通信装置相互通信; 第2通信单元,其用于与I个至多个网络设备进行通信; 共享对象数据存储单元,其对经由所述第I通信单元而从上游侧的通信装置接收到的共享对象数据进行存储;以及 与来自所述网络设备的请求对应而将所述存储的共享对象数据向该网络设备提供的单元, 所述数据转送单元将经由所述第I通信单元从所述上游侧的通信装置接收到的共享对象数据,经由所述第I通信单元向所述选择的下游侧通信装置转送, 将存储在所述各通信装置的所述共享对象数据存储单元中的共享对象数据,向从属于所述数据共享组的任意通信装置所连接的所述网络设备进行共享。
21.根据权利要求20所述的通信系统,其特征在于, 所述各通信装置具有路由单元,其针对从所述第I通信单元及第2通信单元接收到的数据,基于在该数据中添加的发送目标信息,向所述其它通信装置或所述网络设备转送。
22.一种通信方法,其是具有多个通信装置的数据共享组的通信方法,该多个通信装置经由通信网络彼此连接,形成树状的数据分发路径,从位于所述树状的数据分发路径的起点侧的上游侧通信装置向下游侧通信装置,经由所述数据分发路径而顺序分发共享对象数据, 该通信方法的特征在于, 各通信装置具有控制单元和第I通信单元,该第I通信单元与所述通信网络连接,用于与其它通信装置相互通信, 所述控制单元执行下述步骤,即选择步骤,在该步骤中,对在所述数据分发路径中作为位于该通信装置的紧下游的所述下游侧通信装置进行配置的I个至多个通信装置进行选择; 指示步骤,在该步骤中,经由所述第I通信单元,对所述选择步骤所选择的下游侧通信装置进行指示,使该下游侧通信装置进一步选择下游侧通信装置;以及 数据转送步骤,在该步骤中,将从所述数据分发路径中位于该通信装置的紧上游的其它通信装置经由所述第I通信单元分发的共享对象数据,经由所述第I通信单元向在所述选择单元中选择的下游侧通信装置转送, 利用所述选择步骤及指示步骤,形成从该通信装置开始的单层的数据分发路径。
23.根据权利要求22所述的通信方法,其特征在于, 所述各通信装置还具有列表保存单元,其保存所述数据分发路径上的该通信装置及配置在该通信装置下游的I个至多个通信装置的列表, 所述控制单元执行下述步骤,即,基于所述保存的列表,生成记述有除了所述选择的下游侧通信装置之外的I个至多个通信装置的其它列表,向由所述选择单元所选择的下游侧通信装置通知该生成的列表, 在进行所述选择的步骤中,从所述列表保存单元所保存的列表中选择所述下游侧通信>j-U ρ α装直。
24.根据权利要求22或23所述的通信方法,其特征在于, 所述各通信装置还具有存储与各自对应的优先次序的存储单元, 所述控制单元执行经由所述通信网络获取其它通信装置的优先次序的步骤, 在进行所述选择的步骤中,基于所述获取的优先次序,选择所述下游侧通信装置。
25.根据权利要求22至24中任一项所述的通信方法,其特征在于, 所述各通信装置还具有用于与I个至多个网络设备进行通信的第2通信单元, 所述控制单元执行下述步骤,即 对经由所述第I通信单元从上游侧的通信装置接收到的共享对象数据进行存储的步骤;以及 与经由所述第2通信单元的来自网络设备的请求对应,将所述存储的共享对象数据向该网络设备提供的步骤。
全文摘要
经由通信网络彼此连接的多个通信装置形成树状的数据分发路径,从位于所述树状的数据分发路径的起点侧的上游侧通信装置向下游侧通信装置,经由所述数据分发路径顺序分发共享对象数据,由所述多个通信装置构成的数据共享组的通信装置具有选择单元,其对在所述数据分发路径中作为位于该通信装置的紧下游的所述下游侧通信装置进行配置的1个至多个通信装置进行选择;指示单元,其对于所述选择单元所选择的下游侧通信装置,指示该下游侧通信装置进一步选择下游侧通信装置;以及数据转送单元,其将从在所述数据分发路径中位于该通信装置的紧上游的其它通信装置分发的共享对象数据,向由所述选择单元所选择的下游侧通信装置转送。通过所述选择单元以及指示单元,形成从该通信装置开始的单层的数据分发路径。
文档编号H04M11/00GK102714630SQ201180006121
公开日2012年10月3日 申请日期2011年3月24日 优先权日2010年3月30日
发明者渥美章佳 申请人:雅马哈株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1