首页> 中国专利> 信息通信系统,信息通信方法,包含在信息通信系统中的节点装置,以及记录信息处理程序的记录介质

信息通信系统,信息通信方法,包含在信息通信系统中的节点装置,以及记录信息处理程序的记录介质

摘要

本发明提供一种在向多个节点装置传送信息时减少传送信息的节点装置等的负荷的信息通信系统。在由通过通信线路相互连接的多个节点装置参加所形成的信息通信系统中,节点装置X确定根据预定规则(例如,DHT)将多个节点装置分成的多个(4个)组中各组中包含的代表的节点装置,向这样确定的节点装置A、B和C传送主信息,并且在从其他节点装置接收到的主信息的目的地址是节点装置X所属的组的情况下,向节点装置X所属的组的代表的节点装置传送接收到的主信息。

著录项

  • 公开/公告号CN101243653A

    专利类型发明专利

  • 公开/公告日2008-08-13

    原文格式PDF

  • 申请/专利权人 兄弟工业株式会社;株式会社爱星;

    申请/专利号CN200680029495.4

  • 发明设计人 牛山建太郎;饭岛康一;

    申请日2006-07-25

  • 分类号H04L12/56;

  • 代理机构上海市华诚律师事务所;

  • 代理人徐申民

  • 地址 日本国爱知县

  • 入库时间 2023-12-17 20:32:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-11-28

    授权

    授权

  • 2008-10-08

    实质审查的生效

    实质审查的生效

  • 2008-08-13

    公开

    公开

说明书

技术领域

[0001]本发明涉及包含通过网络相互连接的多个节点装置的对等(Peer to Peer,P2P)型信息通信系统及方法的技术领域。

背景技术

[0002]当传送相同信息到属于网络的多台终端设备时,发送端的终端设备产生与接收端的终端设备的台数一样多的信息拷贝,并将拷贝的信息发送到终端设备。

[0003]而且,有一种众所周知的技术(IP多播),通过对应传送目的地的多台终端装置插入路由器,通过路由器在目的地的分支点拷贝用于传送信息的终端装置所传送的一个信息,该信息被传送到多台终端装置(例如,参见专利文献1)。这种技术减少了传送信息的终端装置的负荷。

[0004]另外,还有一种众所周知的技术,利用这种技术,将终端装置分组,为各组设置组管理服务器,信息一个接一个地被传送到各组,使得信息被传送到属于各组的所有终端装置(例如,参见专利文献2)。

[0005]同时,近年来一种叫做P2P的技术引起了很多关注。在P2P信息发送系统中,例如,在利用分布式散列表(以下称为DHT)逻辑地配置的覆盖网络中,加入覆盖网络的每个节点装置不能辨别所有节点装置的链接信息(例如,IP地址),但是只保持在加入时或类似的获得的一部分链接信息,并且基于这样的链接信息进行数据查询等操作。

[0006]在这样的覆盖网络中,即使当节点装置的加入和退出经常发生时也必须适当地分配发送负荷。非专利文献1揭示的技术即使在加入和退出经常发生时也能够适当地分配发送负荷。

专利文献1:第2000-49822号日本未经审查的专利公报。

专利文献2:第2002-344477号日本未经审查的专利公报。(图9)

非专利文献1:T.Oka,H.Morikawa,和Y.Aoyama,“Consideration on LightweightLoad Balancing for Distributed Hash Tables”,Technical Report of the Institute ofElectronics,Information,and Communication Engineers Feb.5,2004,No.103 issue,No.650,p.7-12.

发明内容

本发明将要解决的问题

[0007]然而,在传送信息的终端装置制作信息拷贝的实施方式中,当终端装置相当多时,通信量增加,同时传送信息的终端装置的负荷也增加。

[0008]而且,在利用在通信路径上能够产生信息拷贝的特殊路由器传送信息的情况下,虽然没有必要让终端装置产生传送信息的拷贝,但是被传送的信息所通过的通信路径上的所有路由器必须对应上述功能(IP多播功能)这是不方便的。

[0009]另外,当用于一个组的管理服务器被使用时,管理服务器负担管理属于组的终端装置的负荷,并且为每组提供管理服务器在管理整个系统上也产生负荷。

[0010]本发明是考虑了上述问题而提出的,本发明的目的是提供一种包含通过网络相互连接的多个节点装置的对等信息通信系统及方法,其中当一个节点装置传送信息到其他多个节点装置(所谓的多播通信)时,解决了上述问题,并且减少了在传送信息的节点装置等上的负荷。

解决问题的手段

[0011]为了解决上述问题,权利要求1的发明是一种由通过通信线路相互连接的多个节点装置的参加所形成的信息通信系统,包含在所述多个节点装置中的一个节点装置包含:信息传送单元,用于确定根据预定规则将所述多个节点装置分成的多个组中各组中包含的一个所述节点装置,并且向这样确定的所有所述节点装置传送将要被传送的主信息;以及信息转发单元,用于当从其他所述节点装置接收到的所述主信息是传送给包含自己的节点装置的组时,确定根据所述预定规则将自己的节点装置所属的组进一步分成的多个组中各组中包含的一个所述节点装置,并向这样确定的所有所述节点装置传送所接收到的所述主信息。

[0012]根据上述内容,在信息通信系统中,一个节点装置将主信息(例如,用于更新程序的更新信息(程序),不同类型的信息例如包含一个消息的文本信息)传送到要传送到的组中包含的一个节点装置,即将主信息传送到作为该组的代表的节点装置,当接收到的主信息的目的地是传送给包含自己的节点装置的组时,接收主信息的节点装置向代表组的节点装置传送主信息。因此,当节点装置向多个节点装置传送主信息时,并不需要路由器和管理服务器,这样能够简化整个系统的结构,并且还能够减少传送主信息的节点装置等的负荷。而且,通过确定节点装置要将主信息传送到的组,同一主信息可以只传送到这样确定的组或者传送到所有组中的所有节点装置。

[0013]为了解决上述问题,权利要求2的发明是一种由通过通信线路相互连接的多个节点装置的参加所形成的信息通信系统中的信息通信方法,该信息通信方法包含以下步骤:包含在所述多个节点装置中的一个节点装置确定根据预定规则将所述多个节点装置分成的多个组中各组中包含的一个所述节点装置,并且向这样确定的所有所述节点装置传送将要被传送的主信息;以及当从其他所述节点装置接收到的所述主信息是传送给包含自己的节点装置的组时,确定根据所述预定规则将自己的节点装置所属的组进一步分成的多个组中各组中包含的一个所述节点装置,并向这样确定的所有所述节点装置传送所接收到的所述主信息。

[0014]为了解决上述问题,权利要求3的发明是一种包含在由通过通信线路相互连接的多个节点装置的参加所形成的信息通信系统中的节点装置,包含:信息传送单元,用于确定根据预定规则将所述多个节点装置分成的多个组中各组中包含的一个节点装置,并且向这样确定的所有所述节点装置传送将要被传送的主信息;以及信息转发单元,用于当从其他所述节点装置接收到的所述主信息是传送给包含自己的节点装置的组时,确定根据所述预定规则将自己的节点装置所属的组进一步分成的多个组中各组中包含的一个所述节点装置,并向这样确定的所有所述节点装置传送所接收到的所述主信息。

[0015]根据上述内容,当一个节点装置向多个节点装置传送主信息时,由于不需要路由器、管理服务器等,所以可以简化整个系统的结构,并且还可以在信息通信系统中提供一种可以减少传送主信息的节点装置等的负荷的节点装置。

[0016]为了解决上述问题,权利要求4的发明是一种根据权利要求3的节点装置,所述节点装置包含:保存单元,用于根据所述预定规则将包含在所述信息通信系统中的所述节点装置分成多个组,保存包含该组的第一阶段的组群,进一步将所述阶段的所述组群中自己的节点装置所属的所述组分成多个组,保存包含该组的下一阶段的组群,对于这样划分的各组,对预定数目的各阶段保存所述组群,并且保存表示所述自己的节点装置和其他所述节点装置的目的地的目的地信息,同时所述目的地信息与所述组相关联,其中所述信息通信单元是保存在所述保存单元中的所述节点装置,确定包含在预定阶段的所述组群的各组中的一个所述节点装置,并且向这样确定的所有所述节点装置传送所述主信息;以及所述信息转发单元是保存在所述保存单元中的所述节点装置,确定自己的节点装置所属的所述组的阶段的下一阶段的所述组群的各组中包含的一个所述节点装置,并且向这样确定的所有所述节点装置传送这样接收到的所述主信息。

[0017]根据上述内容,根据节点装置保存的各组群(例如,在一个P2P类型的通信系统中的DHT的节点ID中,假定每字节的区域是一个组群,假定各字节进制数的区域是一个组)、所述各组群的节点装置的节点信息(IP地址)、或标识信息(节点ID),将主信息传送到属于一个节点装置想要传送主信息的组的一个节点装置,即代表该组的节点装置。而且,由于主信息可以以上述的方式传送,当节点装置传送主信息到多个节点装置时,由于不需要路由器、管理服务器等,整个系统的结构可以被简化,并且同时,可以减少传送主信息的节点装置等的负荷。另外,由于节点装置决定主信息被传送到的组,同一主信息可以只传送到这个组或者传送到所有组的所有节点装置。

[0018]为了解决上述问题,权利要求5的发明是一种根据权利要求4的节点装置,所述信息转发单元是保存在所述保存单元中的所述节点装置,确定比自己的节点装置所属的所述组的阶段的下一阶段低的阶段的所述组群的各组中包含的一个所述节点装置,并且向这样确定的所有所述节点装置传送这样接收到的所述主信息。

[0019]根据上述内容,由于接收主信息的节点装置传送主信息到属于更低级的组群的组中的节点装置,相同的主信息可以被传送到更多的节点。

[0020]为了解决上述问题,权利要求6的发明是一种根据权利要求4或5的节点装置,所述保存单元利用分布式散列表作为所述预定规则保存所述组群,以及所述自己的节点装置和其他所述节点装置的所述目的地信息。

[0021]根据上述问题,具体地,通过使用分布式散列表(DHT),节点装置可以将主信息传送到属于各阶段即属于节点ID中的各字符的区域(组、组群)的多个节点装置。而且,通过使用DHT,可以将主信息只传送到预定阶段的组群的节点装置或者传送到预定组的节点装置。

[0022]为了解决上述的问题,根据权利要求7的发明是一种根据权利要求4到6中任一项所述的节点装置,其中所述信息传送单元将表示由所述保存单元保存的所述组群的所述阶段的传送组特定值增加到所述主信息中,并且将所述主信息传送到属于与所述传送组特定值相对应的阶段的所述组群中包含的所述组的其他所述节点装置;以及在从其他所述节点装置这样接收到的所述主信息的所述传送组特定值是传送给包含自己的节点装置的组时,所述信息转发单元将这样增加到接收到的所述主信息中的所述传送组特定值转换成表示下一阶段的传送组特定值,将这样转换后的所述传送组特定值增加到所述主信息中,并且将所述主信息传送到属于与这样转换后的所述传送组特定值对应的阶段的所述组群的其他所述节点装置。

[0023]根据上述内容,节点装置可以通过传送组特定值(例如,后面描述的ID掩码等)指定要传送的目的地的组群的阶段,并且传送主信息,由此接收主信息的节点装置将主信息转发到由ID掩码指定的组群。因此,通过使用ID掩码,可以只对预定阶段的组群和预定组的节点装置传送主信息,从而将主信息传送到系统中的系统中的所有节点装置。

[0024]为了解决上述问题,根据权利要求8的发明是一种根据权利要求7的节点装置,其中当向比自己的节点装置所属的所述组的阶段的下一阶段低的阶段的所述组群的各组中包含的一个所述节点装置传送接收到的所述主信息时,所述信息转发单元将接收到的所述主信息的所述传送组特定值转换成表示比所述下一阶段低的阶段的传送组特定值,将这样转换后的所述传送组特定值增加到所述主信息中,并将所述主信息传送到属于与转换后的所述传送组特定值对应的阶段的所述组群的其他所述节点装置。

[0025]根据上述内容,接收主信息的节点装置将主信息传送到属于在更低级的组群的组的节点装置。因此,可以传送一个相同的主信息到更多的节点装置。

[0026]为了解决上述问题,根据权利要求9的发明是一种根据权利要求7或8的节点装置,其中所述信息传送单元是对应于所述传送组特定值的标识信息,将特定的所述节点装置固有的所述标识信息或者与其等效的所述标识信息增加到所述主信息中,并且传送所述主信息,以及所述信息转发单元将增加到这样接收到的所述主信息中的所述标识信息转换成自己的节点装置的所述标识信息,将这样转换后的所述标识信息与这样转换后的所述传送组特定值一起增加到所述主信息中,并且传送所述主信息。

[0027]根据上述内容,除了ID掩码之外,标识信息(例如,与后面描述的节点ID等同的目标节点ID)也被增加到主信息中并且被传送。因此,利用它们可以将主信息传送或者转发到多个目标节点装置。具体地,传送主信息的节点装置或者接收主信息的节点装置通过ID掩码指定DHT的位数的位置,利用该位数主信息可以被传送到节点ID与通过该位数指定和转换的目标节点ID具有相同位数的其他节点装置。在传送主信息的节点装置中,ID掩码和目标ID被按次序转换。这样,可以传送主信息到包含在信息通信系统中的所有节点。

[0028]为了解决上述问题,根据权利要求10的发明是一种根据权利要求9的节点装置,其中所述信息传送单元或者所述信息转发单元中的至少一个将表示所述主信息的    转发次数的上限值的转发次数上限信息增加到所述主信息中,向属于所述保存单元没有保存其他所述节点信息的目的地信息的所述组的其他所述节点装置传送所述主信息,其中所述节点装置进一步包含:处理单元,用于当与这样从其他所述节点装置接收到的所述主信息的所述传送组特定值对应的阶段的组包含自己的节点装置时,对所述主信息进行处理;以及转发次数限制单元,用于接收增加了所述转发次数上限信息的所述主信息,当所述主信息不是传送给自己的节点装置时,识别这样接收到的所述主信息的转发次数,并且当所识别的所述转发次数在与所述转发次数上限信息对应的上限值以下时,向其他的所述节点装置传送所述主信息。

[0029]根据上述内容,节点装置向目的地信息(例如IP地址)没有使用节点ID作为线索保存的其他节点装置传送主信息。而且,在对应节点ID的节点装置不存在的情况下,由于转发次数被限制,因此可以防止主信息被无限制地转发。而且,在从其他节点装置接收到的主信息是传送给包含自己的节点装置的组的情况下,可以对主信息(例如,更新程序的信息)进行处理(例如,对主信息进行更新程序的处理)。

[0030]为了解决上述问题,权利要求11的发明是一种保存介质,用于保存使计算机起到权利要求3到10中任一项所述的节点装置的作用的信息处理程序。

本发明的效果

[0031]根据本发明,当一个节点装置传送信息到多个节点装置时,不需要路由器或者管理服务器,整个系统可以被简化,并且可以减少在传送信息的节点装置等上的负荷。而且,通过预先确定节点装置传送信息的组,可以将相同的信息只传送到该组或所有组中的所有节点装置。

附图说明

[0032]

[图1]表示在根据本实施例的信息通信系统中每个节点装置的连接状态的实例的图。

[图2]表示如何使用DHT制作ID空间和路由表的实例的图。

[图3](A)在第一级中路由表的实例。(B)在第二级中路由表的实例。(C)在第三级中路由表的实例。(D)完成的路由表的实例。

[图4]表示节点装置1的概要结构图。

[图5]用于每个实施例的节点X保持的路由表的实例。

[图6](A)到(D)是示意性表示生成的包的图。

[图7](A)到(B)是表示在传送包中的第一阶段的图。

[图8](A)到(B)是表示在传送包中的第二阶段的图。

[图9](A)到(B)是表示在传送包中的第三阶段的图。

[图10](A)到(B)是表示在传送包中的第四阶段的图。(C)是表示在传送包中的最后阶段的图。

[图11]表示在根据第一实施例的节点装置1中信息传送处理的流程图。

[图12]表示在根据第一实施例的节点装置1中信息传送处理的流程图。

[图13]表示在根据第二实施例的节点装置1中信息传送处理的流程图。

[图14]表示在根据第二实施例的系统中到所有节点装置1的信息传送处理的流程图。

[图15]表示在根据第二实施例的节点装置1中信息传送处理的流程图。

[图16]表示在根据第二实施例的节点装置1中包传送处理的流程图。

参考标号的说明

[0033]1:节点装置

2:网络

9:覆盖网络

11:控制单元

12:存储单元

13:缓冲存储器

14:解码器单元

15:图像处理单元

16:显示单元

17:音频处理单元

18:扬声器

20:通信单元

21:输入单元

22:总线

S:信息通信系统

具体实施方式

[0034]下面将参照附图说明本发明的具体实施方式。这里,下面解释的实施例是在通过使用DHT、传送目的地组的特定值(ID掩码)和识别信息(目标ID)将主信息传送到所有节点装置的通信系统中应用本发明的实施例。

[0035][1.信息通信系统的结构等]

首先,参照图1说明信息通信系统的概要结构等。图1表示在根据本实施例的信息通信系统中每个节点装置的连接状态的实例。

如图1下侧的矩形框所示,因特网等网络8(现实世界中的网络)由因特网交换机(IX)3、因特网服务供应商(ISP)4、数字用户线路供应商(或者他们的装置)5、光纤到户线路供应商(的装置)6和通信线路(例如,电话线和光缆)7等构成。

[0036]信息通信系统S由经由网络8相互连接的多个节点装置1a、1b、1c、...1x、1y、1z...构成,是一种对等网络系统。而且,对每个节点装置1a、1b、1c、... 1x、1y、1z...分别分配唯一的制造编号和网络协议(IP)地址作为表示节点装置的信息。在多个节点装置1中没有一个制造编号和IP地址是重复的。在下面的阐述中,为了阐述方便,任何一个节点装置1a、1b、1c、...1x、1y、1z...将被称为“节点1”。

[0037][1.1.DHT的概述]

以下将说明使用根据本发明的分布式散列表(下面称为DHT)的算法。

[0038]  在上述的信息通信系统S中,当节点装置1访问另一个节点装置1中包含的信息时,该节点装置1需要知道作为对方的节点信息的IP地址。

[0039]例如,在互相共享信息的系统中,让每个节点装置1知道加入网络8的所有节点装置的IP地址是一种简单的方法。然而,当有几万几十万的终端时,记住所有节点装置1的IP地址是不实际的。而且,当任意节点装置的电源被接通或断开时,这就要求每个节点装置1频繁地更新任意节点装置的IP地址,因此就变得难以操作系统。

[0040]因此,有一种系统设计成由一台节点装置1记住(保存)在所有节点装置中最少需要的节点装置1的IP地址,对于不知道(没有保存)IP地址的节点装置1在每个节点装置1之间传送信息。

[0041]作为这样系统的一个实例,如图1的上侧矩形框100所示的覆盖网络9由使用DHT的算法构成。换句话说,覆盖网络9表示一种构成由使用现存的网络8形成的虚拟网络的网络。

[0042]在本实施例中,将一种由使用DHT的算法构成的覆盖网络9作为前提。在该覆盖网络9上配置的节点装置1被称为加入信息通信系统S(换句话说,加入覆盖网络9)的节点装置1。同时,当还没有加入的节点装置向已经加入的任意的节点装置1发送加入请求时,执行向信息通信系统S的加入。

[0043]给加入到信息通信系统S中的节点装置1赋予唯一(固有)编号作为每个节点装置的节点ID(标识信息)。这个编号要求具有可以包含节点装置可以运作的装置的上限数目的比特数。例如,当编号是128比特时,节点装置可以运作2^128=340×10^36台节点装置。

[0044]更具体地,每个节点装置1的节点ID是通过用一个共同的散列函数(散列算法)来散列每个节点装置的唯一编号例如IP地址或制造编号而获得的散列值,并且被无偏差地分散和配置在一个ID空间中。这样,当IP地址或制造编号不相同时,以这种方式用共同的散列函数获得的每个(散列的)节点ID几乎不可能产生相同的值。由于这样的散列函数是众所周知的,因此其详细描述将省略。而且,在本实施例中,节点ID是通过用一个共同的散列函数来散列IP地址(全局IP地址)获得的。

[0045][1-2.路由表的制作]

这里,参照图2描述使用DHT的路由表的制作方法的实例。图2是表示使用DHT制作路由表的实例的图。

[0046]由于赋予每个节点装置1的节点ID是通过一个共同的散列函数产生的,如图2(A)到(C)所示,假设节点ID无偏差地分散和存在于同一环形ID空间中。图2表示节点ID是8比特的情况。在图2中,黑点代表节点ID,并且ID以逆时针方向增加。

[0047]首先,如图2(A)所示,ID空间被分成几个区域。实际上,虽然ID空间通常被分成16个区域,但是为了简化描述,这里空间被分成4个区域,并且ID由比特长度为16比特的4进制数表示。而且,描述的是节点装置1N的节点ID是“1023”并且节点装置1N的路由表被制作的实例的情况。

[0048](第一级的路由)

首先,当ID空间被分成4份时,当用4进制数表示时是上限位不相同的4个区域,例如“0XXXXXXX”,“1XXX”,“2XXX”,以及“3XXX”(这里“X”是任何一个从0到3的自然数,以下相同)。由于节点装置IN的节点ID是“1023”,节点装置1N位于图中左下“1XXX”区域。然后,节点装置1N适当地选择节点装置1N所处的区域以外的区域(即,“1XXX”以外的区域)中存在的节点装置1,并在第一级的表格中保存节点装置的IP地址。图3(A)是第一级的表格的实例。第二列表示自己的节点装置1N,因此没有必要保存IP地址。

[0049](第二级的路由)

接下来,如图2(B)所示,在通过使用上述的路由划分得到的4个区域中,节点装置1N所处的区域被进一步划分为4个,进一步得到4个区域,“10XX”,“11XX”,“12XX”,以及“13XX”。然后,与上述的方法类似,适当地选择存在于节点装置1N所处区域以外的区域中的节点装置1,并在第二级的表格中保存节点ID的IP地址。图3(B)是第二级的表格的实例。第一列表示节点装置1N,因此没有必要保存IP地址。

[0050](第三级的路由)

接下来,如图2(C)所示,在通过使用上述的路由划分得到的4个区域中,节点装置1N所处的区域被进一步划分为4个,进一步得到4个区域,“100X”,“101X”,“102X”,以及“103X”。然后,与上述的方法类似,适当地选择存在于节点装置1N所处区域以外的区域中的节点装置1,并在第三级的表格中保存节点ID的IP地址。图3(C)是第三级的表格的实例。第三列表示节点装置1N,因此没有必要保存IP地址,第二列和第四列是空白的,这是由于在这些区域中不存在节点装置。

[0051]这样,通过将路由表制作到如图3(D)所示的第四级,8比特的所有ID被完全覆盖。级数变得越高,表格中的空白区域越多。

[0052]根据上述方法制作的路由表被分别制作并且被所有的节点装置1所拥有。这样,节点装置1记住作为终端信息的其他节点装置的IP地址以及在作为组和/或组群的节点ID空间中的区域,换句话说,和DHT的每一级和每一列彼此相关联。

[0053]这里,根据节点ID的位数决定级的编号,并且根据二进制数决定引起注意的位数。具体地,在16位16进制的情况中,ID具有64比特,并且在第十六级中引起注意的位的(字母)数字是0到f。在后面描述的路由表中,表示每一级的引起注意的位的数的部分被简称为“列”。

[0054][2.节点装置的结构等]

接下来,参照图4将描述节点装置1的结构和功能。这里,节点装置1基于每个节点所进行的处理分别用作最初发送主信息的节点装置1、转发所接收到的主信息的节点装置1等。然而,节点装置1的结构是一样的。

[0055]图4是表示节点装置1的概要结构图。

[0056]如图4所示,每个节点装置1的结构包含控制单元11、存储单元12、缓冲存储器13、解码器单元14、图像处理单元15、显示单元16、音频处理单元17、扬声器18、通信单元20、输入单元21。控制单元11是由具有计算功能的CPU、工作用RAM、以及用于存储各种数据和程序的ROM构成的计算机,存储单元12由用于保存和记住(存储)各种数据(例如,内容数据,位置信息,以及DHT)的HD等构成,缓冲存储器13用于暂时存储接收到的内容数据,解码器单元14用于解码(扩展数据或者解密)包含在内容数据中的被编码的视频数据(图像信息)和音频数据(声音信息),图像处理单元15用于对解码的视频数据等执行预定的图像处理以将数据作为视频信号输出,诸如CRT或者液晶显示器的显示单元16用于根据从图像处理单元15输出的视频信号显示图像,音频处理单元17用于通过数字/模拟(D/A)转换将解码的音频数据转换为模拟音频信号并且之后通过放大器把转换的信号放大并输出,扬声器18用于将从音频处理单元17输出的音频信号作为声波输出,通信单元20用于通过网络8执行与其他节点装置1之间的信息通信控制,输入单元(例如,键盘,鼠标,或操作板)21接收来自用户的指令并将对应该指令的指令信号提供给控制单元11,控制单元11、存储单元12、缓冲存储器13、解码器单元14和通信单元20通过总线22相互连接。

[0057]然后,当控制单元11中的CPU执行存储单元12等中存储的各种程序(包含本发明的计算机程序)时,节点装置1的控制单元11控制整个节点装置1,并且响应来自输入单元21的指令信号,执行内容数据注册处理等。节点装置1用作发送最初的主信息、接收和转发主信息等。具体地,节点装置1的控制单元11用作信息发送装置、信息转发装置、处理装置以及转发数限制装置。

[0058]

[3.信息通信系统的概述]

下面将描述本实施例的信息通信系统S。根据本实施例的信息通信系统S,一个节点装置1传送主信息到系统S中的所有节点装置1或者到特定组的节点装置1。具体地,一个节点装置1(X)决定代表通过将节点ID空间划分为多个区域获得的各组的各节点装置1(保存IP地址的节点装置),并将主信息传送到节点装置1(参见后面描述的图7到图10)。然后,接收主信息的每个节点装置1决定代表通过将节点装置所属的节点ID空间(组)划分成多个而获得的各组的各节点装置1,以向该节点装置1传送(转发)主信息(参见后面描述的图8到图10)。这里,由接收主信息的节点装置1划分成多个区域并且每个节点装置1所属的节点ID空间(组)表示与发送主信息的发送侧的节点装置向其代表发送主信息的组对应的组。当每个节点装置执行这样的操作时,可以传送主信息到属于信息通信系统S的所有节点装置。

[0059][3.1第一实施例的信息通信系统的运作]

接下来,参照图5到12将描述第一实施例的信息通信系统S的运作。

[0060][3.1.1整个信息通信系统的运作]

以下,参照图5到10将描述第一实施例的整个信息通信系统S的运作。

[0061]前提是假定一个节点装置1是节点X,并且节点X保存有如图5所示的4字符4进制数的路由表。如路由表所示,由节点X保存属于第一级到第四级中任何一级的组群的组的节点A到I的IP地址。

[0062]节点X传送主信息。如图6(A)所示,在主信息的头部包含有作为标识信息的目标节点ID和作为传送组特定值的ID掩码。以下,如图6(A)所示,将包含主信息和头部的信息称为包。

[0063]目标节点ID是类似于节点ID的4字符4进制数。当节点X传送主信息到所有其他节点装置1时,如下文所述,节点X增加的目标节点ID可以是任何ID。然而,自己的节点装置的节点ID通常被设置为目标节点ID。而且,被传送主信息的节点装置1增加的目标节点ID被设置为自己的节点装置的节点ID。另外,当主信息被传送到一个节点装置1时,对应于传送目的地的节点装置1的节点ID被设置为目标节点ID。

[0064]设置ID掩码是用于指定目标节点ID的有效位数,并且通过有效字符数,表示从目标节点ID的头部有效位数共用的节点ID。由于这样的ID掩码特性,在本实施例中,ID掩码的值从0到4,当路由表的位数不同时,ID掩码的值是0以上并且等于或小于路由表的上限位数。通过增加到主信息中的ID掩码,向路由表中ID掩码值+1的级中注册的每个节点装置1传送信息。

[0065]接下来,将描述目标节点ID和ID掩码的组合。

[0066]例如,如图6(B)所示,当目标节点ID是“2132”并且ID掩码是“4”时,目标节点ID的所有“4”字符是有效的,并且只向节点ID为“2132”的节点装置1传送包。

[0067]而且,如图6(C)所示,当目标节点ID是“3301”并且ID掩码是“2”时,目标节点ID的头部“2”是有效的,并且只向节点ID为“33**”并且头两个字符为“33”的节点装置1传送包。

[0068]另外,如图6(D)所示,当目标节点ID是“1220”并且ID掩码是“0”时,目标节点ID的头部“0”字符是有效的,即,没有一个字符是有效的,并且包含主信息的包被传送到节点ID是“****”的系统S中的所有节点装置1。因此,此时的目标节点ID可以是任何值。

[0069]而且,虽然没有详细描述,但是,通常包含在包中的发送侧的节点X的节点ID、IP地址等信息也包含在包中包含的主信息的头部。

[0070]接下来,通过图7到10,将描述使用目标节点ID和ID掩码的主信息的传送和转发操作。

[0071](第一阶段)

首先,由于节点X想要传送主信息到加入信息通信系统S的所有节点装置1,节点X将节点X的节点ID“3102”增加到主信息的头部作为目标节点ID,并且增加作为ID掩码的“0”值以生成包。然后,如图7(A)和(B)所示,节点X参照图5中的路由表将包传送到属于级别“1”的组的各节点装置1(节点A,B,以及C),级别“1”是通过使ID掩码值“0”增加1获得的值。

[0072](第二阶段)

接下来,节点X将增加到被传送的包的ID掩码值“0”转换为“1”,并将如此转换后的ID掩码增加到主信息中以生成包。在这种情况下,由于目标节点ID是节点X的节点ID,目标节点ID没有被改变。然后,节点X参照在图5中的路由表。如图8(A)中的节点ID空间的右上部分和图8(B)所示,节点X将如此生成的包传送到属于级别“2”的组的每个节点装置1(节点D、E和F),级别“2”是通过使ID掩码值“1”增加1获得的值。

[0073]然后,在第一阶段中从节点X接收包的节点A将增加到包的主信息的ID掩码值“0”转换为“1”,并且将如此转换后的ID掩码增加到主信息中以生成包。而且,节点A将目标节点ID“3102”转换为节点A的节点ID“0132”,将如此转换后的目标节点ID增加到主信息中以生成包。然后,节点A参照节点A的路由表(没有显示),并且如图8(A)中的节点ID空间的左上部分和图8(B)所示,节点X将如此生成的包传送到属于级别“2”的组的每个节点装置1(节点A1,A2,和A3),级别“2”是通过使ID掩码值“1”增加1获得的值。

[0074]以上面类似的方式,如图8(A)中的节点ID空间的左下、右下部分以及和图8(B)所示,在第一阶段从节点X接收包的节点B和C根据分别由节点B和C保存的路由表将ID掩码“1”以及作为目标节点ID的节点B和C的节点ID增加到主信息中以生成包,并向属于级别“2”的组的每个节点装置1(节点B1、B2、B3、C1、C2、和C3)传送如此生成的包。

[0075](第三阶段)

接下来,节点X将增加到被传送的包的ID掩码值“1”转换为“2”,并将如此转换后的ID掩码增加到主信息中以生成包。在这种情况下,由于目标节点ID是节点X的节点ID,目标节点ID没有被改变。然后,节点X参照图5中的路由表,并且如图9(A)的节点ID空间的右上部分和图9(B)所示,节点X将如此生成的包传送到属于级别“3”的组的每个节点装置1(节点G、H),级别“3”是通过使ID掩码值“2”增加1获得的值。

[0076]然后,在第二阶段中从节点X接收包的节点D将增加到包的主信息的ID掩码值“1”转换为“2”,并且将如此转换后的ID掩码增加到主信息中以生成包。而且,节点A将目标节点ID“3102”转换为节点D的节点ID“3001”,将如此转换后的目标节点ID增加到主信息中以生成包。然后,节点D参照节点D的路由表(没有显示),并且如图9(B)所示,节点D将如此生成的包传送到属于级别“3”的组的每个节点装置1(节点D1,D2,和D3)(在图9(A)的节点ID空间中没有显示),级别“3”是通过使ID掩码值“2”增加1获得的值。

[0077]以上面类似的方式,虽然没有显示,在第二阶段接收包的节点E,F,A1,A2,A3,B1,B2,B3,C1,C2,和C3也根据由每个节点保存的路由表将ID掩码“2”和作为目标节点ID的每个节点装置的节点ID增加到主信息中以生成包,并将包传送到属于级别3的组的每个节点装置1。

[0078](第四阶段)

接下来,节点X将增加到被传送的包的ID掩码值“2”转换为“3”,并将如此转换后的ID掩码增加到主信息中以生成包。在这种情况下,由于目标节点ID是自己节点装置的节点ID,目标节点ID没有被改变。然后,节点X参照图5中的路由表,并且如图10(A)的节点ID空间的右上部分和图10(B)所示,节点X将如此生成的包传送到属于级别“4”的组的每个节点装置1(节点I),级别“4”是通过使ID掩码值“3”增加1获得的值。

[0079]然后,在第三阶段中从节点X接收包的节点G将增加到包的主信息的ID掩码值“2”转换为“3”,并且将如此转换后的ID掩码增加到主信息中以生成包。而且,节点G将目标节点ID“3102”转换为自己节点装置的节点ID“3123”,将如此转换后的目标节点ID增加到主信息中以生成包。然后,节点G参照节点G的路由表(没有显示),并且如图10(B)所示,节点G将如此生成的包传送到属于级别“4”的组的每个节点装置1(假设节点G1的IP地址被保存)(在图10(A)的节点ID空间中没有显示),级别“4”是通过使ID掩码值“3”增加1获得的值。

[0080]以上面类似的方式,虽然没有显示,在第三阶段从节点E,F,A1,A2,A3,B1,B2,B3,C1,C2,和C3接收包的每个节点装置1也根据由每个节点保存的路由表将ID掩码“3”和作为目标节点ID的每个节点装置的节点ID增加到主信息中以生成包,并将包传送到属于级别4的组的每个节点装置1。

[0081](最后阶段)

接下来,节点X将增加到被传送的包的ID掩码值“3”转换为“4”,并将如此转换后的ID掩码增加到主信息中以生成包。在这种情况下,由于目标节点ID是自己节点装置的节点ID,目标节点ID没有被改变。然后,如图10(C)所示,节点X从目标节点ID和ID掩码识别出包被传送到自己节点装置,结束传送处理。

[0082]同样,在第四阶段中从包含节点X的每个节点装置1接收包的每个节点装置1将增加到所接收到的包的主信息的ID掩码值“3”转换为“4”,并且将如此转换后的ID掩码增加到主信息中以生成包。而且,每个节点装置1将目标节点ID转换为节点装置1的节点ID,并且将如此转换后的目标节点ID增加到主信息中以生成包。因此,从目标节点ID和ID掩码,节点装置1识别出包被传送到节点装置1,结束传送处理。

[0083]这样,由于节点X传送使得包含在信息通信系统S中的所有节点装置1都知道主信息,接收包的每个节点装置1对应主信息执行处理。例如,当主信息是消息的文本信息时,执行在显示单元16上显示消息的显示图像处理,当主信息是程序的更新信息时,执行更新程序的处理。

[0084][3.1.2.节点装置的操作]

接下来,参照图11和12将详细描述(1)当节点X试图将主信息传送到系统S中的所有节点装置1时在一个节点装置1(上述的节点X)中执行的处理(以下,称为信息传送处理),以及(2)从节点X接收包含主信息的包的其他节点装置1(例如,上述的节点A)所执行的处理(以下称为信息转发处理)。

[0085](1)信息传送处理

参照图11将描述节点X的信息传送处理。这里,如上所述,假设节点X保持(保存)如图5所示的路由表。

[0086]节点X的控制单元11以节点X正在工作(换句话说,电源打开并且节点X的各种设置被初始化)为前提,当接收到来自输入单元21、通信单元22等用于向属于信息通信系统S的所有节点装置1传送某些信息的指令时,节点X的控制单元11开始信息传送处理(开始)。

[0087]当信息传送处理开始时,控制单元11生成包(步骤S1)。具体地,控制单元11将包的目标节点ID设置为节点X的节点ID“3102”,将包的ID掩码设置为“0”,并且将包的主信息设置为需要传送的信息,从而生成包。

[0088]接下来,控制单元11判断包的ID掩码是否小于路由表的位数(节点ID的位数和所有级数)  (步骤S2)。这时,由于ID掩码“0”小于路由表的位数“4”,控制单元11判断包的ID掩码小于路由表的位数(步骤S2:是),并且如此生成的包传送到在路由表的级别“包的ID掩码+1”中注册的所有节点装置1。具体地,包被传送到节点A、B和C,其中节点A、B和C是具有ID掩码“0”+1的级别1的阶段的节点装置1。

[0089]接下来,控制单元11将包的ID掩码转换为“包的ID掩码+1”的值(步骤S4)。具体地,控制单元11将该值转换为通过将1增加到包的ID掩码“0”获得的“1”,以再生成包。随后,处理返回到上述的步骤S2。

[0090]然后,控制单元11对ID掩码为“1”、“2”和“3”以上述类似的方式重复步骤S2、S3和S4,并且将包传送到保存在路由表中的节点D、E、F、G、H和I。这样,通过重复步骤S2到S4可以将包传送到路由表中级别1到4的每一级的节点装置1。

[0091]接下来,控制单元11通过将ID掩码从“3”增加1转换成“4”从而再生成包(步骤S4)。然后处理返回到上述的步骤S2。

[0092]  这时,由于ID掩码“4”不小于路由表的位数,控制单元11判断包的ID掩码不小于路由表的位数(步骤S2:否),结束操作(结束)。

[0093](2)信息转发处理

参照图12将描述由节点A执行的信息转发处理。这里,由节点A保持(保存)的路由表没有显示。

[0094]节点A的控制单元11以自己的节点装置正在工作(换句话说,电源打开并且节点X的各种设置被初始化)为前提,当经由通信单元20等接收到来自节点X的包时,节点A的控制单元11开始信息转发处理(开始)。在如此接收到的包中,如图7(B)所示,目标节点ID是“3102”,ID掩码是“0”,包含上述主信息。

[0095]当信息转发处理开始时,控制单元11判断节点A的节点ID是否被包含在包的目标中(步骤S11)。包的目标表示具有与目标节点ID的ID掩码值对应的高位共同的节点ID。例如,当包的ID掩码是“0”时,所有的节点ID被包含在包的目标中,当包的ID掩码是“2”时并且包的目标节点ID是“3102”时,“31**”的节点ID,即前两位为“31”的节点ID,被包含在包的目标中。

[0096]这时,由于包的ID掩码是“0”,并且有效位数没有被指定,控制单元11判断节点A的节点ID“0132”被包含在包的目标中(步骤S11:是)并且将包的目标节点ID转换为自己的节点ID“0132”(步骤S12)。

[0097]然后,控制单元11将包的ID掩码转换为“包的ID掩码+1”的值(步骤S13)。具体地,控制单元11通过将包的ID掩码“0”增加1以使包的ID掩码转换为“1”,再生成包。

[0098]接下来,控制单元11判断包的ID掩码是否小于路由表的位数(节点ID的位数,所有级数)  (步骤S14)。这时,由于ID掩码“1”小于路由表的位数“4”,控制单元11判断包的ID掩码小于路由表的位数(步骤S14:是),并且将如此产生的包传送到在路由表的“包的ID掩码+1”的级中注册的所有节点装置1(步骤S15)。具体的,控制单元11将包传送到节点A1、A2和A3,节点A1、A2和A3是通过将包的ID掩码“1”增加1获得的级别2的节点装置1。然后处理返回到步骤S13。

[0099]之后,控制单元11对ID掩码“2”和“3”以相同方式重复步骤S13、S14和S15。这样,通过重复步骤S13到S15,可以将包传送到在路由表的级别2到4的每一级中的节点装置1。

[0100]接下来,控制单元11通过将包的ID掩码增加1以将包的ID掩码从“3”转换为“4”,以再生成包。

[0101]这时,由于ID掩码“4”不小于路由表的位数,控制单元11判断包的ID掩码不小于路由表的位数(步骤S14:否),对应包的主信息通过处理装置执行处理(步骤S15),并且结束操作(结束)。

[0102]另一方面,当节点A接收到的包的ID掩码为“2”并且它的目标节点ID为“3102”时,控制单元11判断节点A的节点ID“0132”不包含在包的目标“31**”中(步骤S11:否),将如此接收的包传送(转发)到具有与路由表中的包的目标节点ID的高位字符相匹配的字符数最多的节点(步骤S17),并且结束处理(结束)。这里,步骤S17中的转发处理是通过使用普通DHT的路由表转发消息的。

[0103][3.2第二实施例的信息通信系统的操作]

接下来,参照图13到16将描述第二实施例的信息通信系统S的操作。

[0104]在上述第一实施例的信息通信系统S中,在信息传送处理和信息转发处理中,每个节点装置1只将包传送到IP地址保存在路由表中的节点装置1。然而,在第二施实例的信息通信系统S中,当执行信息传送处理或信息转发处理时,包被传送到IP地址没有被保存在路由表中的节点ID的节点装置1。即使在加入系统S和退出系统S的操作频繁发生的情况下,第二实施例的信息通信系统S也能使主信息被传送到上限的所有节点装置中。因此,可以更完全地将信息传送到系统中的所有节点装置1。

[0105][3.2.1整个信息通信系统的操作]

首先,第二实施例的整个信息通信系统的操作与参照图7到10说明的第一实施例的操作几乎相同。两个实施例的不同之处在于在一个节点装置1(上述的节点X)的路由表中,节点X向没有保存其他节点装置1的IP地址的节点ID“311*”、“3100”和“3101”传送包。这里,包的直接传送目的地是传送端的节点装置1保存IP地址的其他节点装置1。在将包传送到IP地址没有被保存在路由表中的节点装置1的情况下,包可能要被连续地转发。因此,转发次数的上限值被包含在包的头部。

[0106][3.2.2.节点装置的操作]

下面将利用图13到16的4个流程图详细描述第二实施例中的节点装置1的操作。

[0107](1)通常的信息传送处理

当节点X试图向指定节点ID的节点装置1传送包含主信息的包时一个节点装置1(上述的节点X)所执行的处理在下面作为通常的信息传送处理进行描述。

[0108]节点X的控制单元11以节点X正在工作(换句话说,电源打开并且节点X的各种设置被初始化)为前提,当接收到来自输入单元21、通信单元20等用于向属于信息通信系统S的一个节点装置1(节点ID:2132)传送某些信息的指令时,节点X的控制单元11开始通常的信息传送处理(开始)。

[0109]如图13所示,当通常的信息传送处理开始时,控制单元11生成包(步骤S21)。具体地,控制单元11将包的目标节点ID设置为节点X的节点ID的“2132”,将包的ID掩码设置为“4”,并且以主信息作为要传送的信息生成包。

[0110]然后,对于这样生成的包,控制单元11执行将在后面使用图16描述的包传送处理(步骤S22),并且结束处理。

[0111](2)到系统中的所有节点装置的信息传送处理

当节点X试图向加入系统S的所有节点装置1传送包含主信息的包时一个节点装置1(上述的节点X)所执行的处理在下面作为将包传送到系统中的所有节点装置的信息传送处理进行描述。

[0112]节点X的控制单元11以自己的节点装置正在工作(换句话说,电源打开并且节点X的各种设置被初始化)为前提,当接收到来自输入单元21、通信单元20等用于向属于信息通信系统S的所有节点装置1传送某些信息的指令时,节点X的控制单元11开始通常的信息传送处理(开始)。

[0113]如图14所示,当用于将信息传送到系统中的所有节点装置的信息传送处理开始时,控制单元11生成包(步骤S31)。具体地,控制单元11将包的目标节点ID设置为节点X的节点ID“3102”,将包的ID掩码设置为“4”,并且使包的主信息成为要传送的信息生成包(参见图7(B))。

[0114]然后,对于这样生成的包,控制单元11执行将在后面使用图16描述的包传送处理(步骤S32),并且结束处理。

[0115](3)信息接收处理

当其他节点装置1(例如,上述的节点A)从上述的节点X接收包含主信息的包时所执行的处理在下面作为信息接收处理进行描述。

[0116]节点X的控制单元11以节点A正在工作(换句话说,电源打开并且节点X的各种设置被初始化)为前提,当从通信单元20等接收到包含主信息的包(例如,目标节点ID“3102”和ID掩码“0”)时,节点X的控制单元11开始信息接收处理(开始)。

[0117]如图15所示,当信息接收处理开始时,控制单元11判断这样接收到的包的转发次数是否超过转发次数上限值(步骤S41)。这里,转发次数上限值如后面所描述,是向IP地址没有被节点X保存的节点装置1传送包时包含在包中的信息。通过这个转发次数上限值,能够防止包被不停的转法(利用转发次数限制装置)。

[0118]这时,当控制单元11判断接收到的包的转发次数没有超过转发次数上限值(步骤S41:否),控制单元11判断节点X的节点ID是否包含在如此接收到的包的目标中(步骤S42)。这时,由于包的ID掩码是“0”并且所有的节点ID被包含,控制单元11判断节点X的节点ID被包含在如此接收到的包的目标中(步骤S42:是),转换如此接收到的包的头部,再生成包(步骤S43)。具体地,控制单元11将包的目标节点ID转换为节点X的节点ID“0132”,并且将包的ID掩码(=0)转换为“1”,即“包的ID掩码+1”的值。

[0119]然后,控制单元11对于如此再生成的包执行包传送处理,该处理将使用图16在后面描述,对应包中的主信息通过处理装置执行处理(步骤S45),并且结束处理。

[0120]另一方面,当在步骤S41中判断所接收到的包被转发的次数超过转发次数的上限值时(步骤S41:是),不转发包结束处理。

[0121]而且,在步骤S42中,当控制单元11判断节点X的节点ID没有包含在如此接收到的包的目标中(步骤S42:否),控制单元11执行包传送处理,该处理将使用图16在后面描述(步骤S46),并且结束处理。这里,以自己的节点装置的节点ID没有包含在如此接收的包的目标中的情况为例,包的目标节点ID为“3110”,ID掩码为“3”并且自己的节点装置的节点ID为“0132”。包的目标是节点ID的头三个字符为“311”的节点装置1。同时,自己的节点ID“0132”没有被包含在目标中。

[0122](4)包传送处理

下面将处理(1)到(3)中进行的包传送处理作为节点装置1(例如,上述的节点X)所进行的处理使用图16进行描述。

[0123]这里,假设节点X保持(保存)如图5所示的路由表。

[0124]当节点装置1的控制单元11开始执行在上述步骤S22,S32,S44和S46中的包的传送处理时(开始),控制单元11将保存在节点装置1中的路由表所指定的级确定为节点装置1的节点ID和包的目标节点ID开头的字符相匹配的字符数加1得到的值(步骤S51)。例如,如在(2)中的描述,在自己的节点ID是“3102”并且目标节点ID是“3102”的情况下,由于所有的字符相互匹配,匹配的字符数为“4”。通过增加1到“4”,路由表的级被确定为5。

[0125]随后,控制单元11判断如此确定的级是否大于包的ID掩码(步骤S52)。在上述实例的情况中,由于如此确定的级“5”大于包的ID掩码“0”,控制单元11判断如此确定的级大于包的ID掩码(步骤S52:是)并且开始执行到系统S中的所有节点装置的传送处理(多播消息转发处理)。

[0126]控制单元11确定由保存在节点装置1中的路由表指定的区域(步骤S53)。所指定的区域是值为“包的ID掩码值+1”的级的最左侧的一列(被关注的位数为0)。这里,当路由表由A字符B进制数构成时,级的值从1到(A值)并且列的值从1到(B值)(被关注的位数是0到(B-1))。当是上述的4字符4进制数时,有1到4四个级别(所有级的值(所有级数)是4)以及1到4四列(所有列(所有列数)是4)。在上述的实例中,由于包的ID掩码是“0”,路由表的“第1级,第1列”被指定。

[0127]随函,控制单元11判断级的值是否等于或者小于所有级的值(所有级数)(步骤S54)。在上述的实例中,由于级的值“1”是等于或小于所有级的值“4”,控制单元11判断级的值等于或小于所有级的值(步骤S54:是),并且判断指定区域是否表示节点装置1的节点ID(步骤S56)。

[0128]在上述的实例中,由于指定的“第1级,第1列”不表示自己的节点ID,控制单元11判断指定的区域不表示自己的节点ID(步骤S56:否)并且判断其他节点装置是否被保存在这样指定的区域中(步骤S57)。在上述的实例中,由于节点A的IP地址被保存在“第1级,第1列”中,控制单元11判断其他的节点装置被保存在这样指定的区域中(步骤S57:是)并且传送包到这样保存的节点装置(步骤S58)。

[0129]接下来,控制单元11增加1到被指定的列的值(步骤S59)。然后处理返回到步骤S55。在上述的实例中,将第“1”列改为第“2”列。然后,重复步骤S55到S59,包被传送到“第1级,第2列”的节点B以及“第1级,第3列”的节点C,将被指定的区域改为“第1级,第4列”,并且处理返回到步骤S55。

[1030]接下来,经过步骤S55到步骤S56中,由于这样指定的“第1级,第4列”表示自己的节点ID,控制单元11判断指定的区域表示自己的节点ID(步骤S56:是),执行步骤S59中的处理将指定的区域改为“第1级,第5列”,并且处理返回到步骤S55。这样可以将包传送到保存在第1级的所有节点装置1。

[0131]这时,由于列的值“5”不等于或不小于所有列的值“4”,控制单元11判断级的值不等于或不小于所有级的值(步骤S55:否),将包的ID掩码值转换为“ID掩码值+1”以再生成包(步骤S60)。然后处理返回到步骤S53。在上述的实例中,掩码ID被设置为“1”。

[0132]在步骤S53中控制单元11将指定的区域设置为“第2级,第1列”,重复步骤S54,S55到S59从而将包传送到“第2级,第1列”的节点D,“第2级,第3列”的节点E,“第2级,第4列”的节点F,并且将指定的区域改为“第2级,第5列”。这样,可以将包传送到保存在第2级的所有节点装置1。

[0133]这时,由于列的值“5”不等于或不小于所有列的值“4“,控制单元11判断列的值不等于或不小于所有列的值(步骤S55:否),将包的ID掩码值转换为”ID掩码值+1”以再生成包(步骤S60)。然后处理返回到步骤S53。在上述的实例中,掩码ID被设置为“2”。

[0134]在步骤S53中控制单元11将指定的区域设置为“第3级,第1列”,通过步骤S54,S55:是,S56:是,以及S59指定“第3级,第2列”,并且经由步骤S55:是以及S56:否执行步骤S57中的判断。

[0135]由于在上述实例中指定的区域“第3级,第2列”中没有保存其他节点装置1的IP地址,控制单元11判断其他的节点装置被保存在这样指定的区域中(步骤S57:否),并且将包传送到IP地址最靠近指定的区域“第3级,第2列”保存的其他的节点装置1(步骤S61)。

[0136]具体地在步骤S61中,控制单元11通过增加1到ID掩码值来转换ID掩码值,将目标节点ID转换为对应于该区域的节点ID,通过将转发次数上限值信息包含在开头部分再生成包,并且传送这样再生成的包。在上述的实例中,将ID掩码值设置为“3”,对应“第3级,第2列”将目标节点ID设置为“3110”,(没有被指定的下划线位数可以被任意确定)  (参见如图9(B)中的“X→空”)。通过以这样的方式指定的目标,当节点装置1加入这个区域时,可以传送包。在上述的实例中,可以将包传送到节点G以进行转发。

[0137]这里,转发次数上限值是用于确定包被转发的上限次数的值,被提供用于作为目标的节点装置1不存在时防止包被无限制的转发。转发次数上限值是相对大的值使得该值在通常的转发处理中不会超出,例如当使用4字符的DHT时,转发次数上限值被设置为8、16等。通常,当使用4字符的DHT时,转发次数等于或者小于4。虽然在下面的处理中没有描述,表示包被转发的次数的信息通常被包含在将被转发的包中。

[0138]接下来,控制单元11返回到步骤S59中的处理,重复步骤S55到S59,将包传送到“第3级,第3列”的节点G以及“第3级,第4列”的节点H,并且将指定的区域转换为“第3级,第5列”。这样可以将包传送到作为第3级保存的所有节点装置1,以及没有保存在第3级的区域中的节点装置1。

[0139]这时,由于列的值“5”不等于或者不小于所有列的值“4”,控制单元11判断列的值不等于或者不小于所有级的值(步骤S55:否),再生成包(步骤S60)。然后处理返回到步骤S53。在上述的实例中,掩码ID被设置为“3”。

[0140]随后,对于第4级的每个区域,控制单元11重复步骤S53,S54,S55到S59,以及S61,将包传送到“第4级,第4列”的节点1,并且将指定的区域转换为“第4级,第5列”(步骤S60)。这样可以将包传送到作为第4级保存的所有节点装置1,以及没有保存在第4级的区域中的节点装置1。

[0141]回到步骤S53,控制单元11将指定的区域设置为“第5级,第1列”并且判断级的值是否等于或者小于所有级的值(步骤S54)。在上述的实例中,由于级的值“5”不等于或者不小于所有级的值“4”,控制单元11判断级的值不等于或者不小于所有级的值(步骤S54:否)。然后处理结束。

[0142]另一方面,在上述的步骤S51中,当自己的节点ID是如(1)中所描述的“3102”时,目标节点ID是“2132”并且ID掩码是“4”时,由于根本没有匹配的位数,“0”被设置并且将其增加1从而确定路由表的级为“1”。

[0143]接下来,控制单元11判断这样确定的级是否大于包的ID掩码(步骤S52)。在上述实例的情况下,由于这样确定的级“1”小于包的ID掩码“4”,控制单元11判断这样决定的级不大于包的ID掩码(步骤S52:否),并且开始执行通常的DHT消息传送/转发处理。

[0144]控制单元11是最接近这样确定的级中的目标节点ID的节点装置1,确定路由表中保存的内容,并且将包传送(转发)到节点装置1(步骤S62)。然后处理结束。这里,在步骤S62中的转发处理是通过使用通常的DHT的路由表转发消息。

[0145][4.变形实施例]

在上述的实施例中,通过传送组特定值(ID掩码)和标识信息(目标节点ID)指定传送目的地的节点装置1,并且将主信息传送到每个组的代表。然而,本发明并不限于这些实施例。本发明足以使节点装置1将包含在系统S中的节点装置1按照预定规则分成多个组,确定每个组中包含的一个节点装置1,将主信息传送到这样决定的所有节点装置1中。同时,当从其他节点装置1接收到主信息并且主信息的目的地是包含节点装置1的组时,可以进一步将节点装置1所属的组按照预定规则分成多个组,确定每个组中包含的一个节点装置1,并且将这样接收的主信息传送到这样确定的所有节点装置1。

[0146]在上述的每个实施例中,作为本发明的预定规则,使用分布式散列表(DHT)的方法,节点装置1对各组群(各级)以及组(各列和引起注意的字符的值)指定节点装置1的区域以及其他节点装置的区域,并且其他节点装置的各IP地址被保存在路由表中。然而,本发明并不限于上述的实施例。根据预定的规则,节点装置1将包含在信息通信系统S中的节点装置1分为多个组,保存包含该组的第一阶段的组群,进一步将组群中自己的节点装置所属的组分成多个组,保存包含该组的下一阶段的组群,根据这样分类的组保存预定数目的阶段的组群,并且与各组相关联地记住表示自己的节点装置和其他节点装置1的目的地的目的地信息(IP地址)。当节点装置1对每个阶段分类其他节点装置来保存它们时,可以传送和转发主信息并且可以将主信息传送到系统S中的所有节点装置或者包含在指定组的所有节点装置。这里,本发明中的“阶段”表示实施例中的“级”,第1级、第2级等相当于阶段。

[0147]在上述的每个实施例中,如图6(A)到(D)所示,传送组特定值(ID掩码)和标识信息(目标节点ID)包含在包的头部。然而,本发明并不限于这样的实施例。只要传送组特定值和标识信息与主信息一起传送,传送组特定值和标识信息可以以任何形式加到主信息上。而且,传送组特定值的定义方法并不限于根据上述实施例的那些方法,任何方法都是可接受的只要传送目的地组可以给定的规则指定,当转发主信息时等,根据给定的规则转换传送组特定值,指定作为目标的节点装置1。

[0148]另外,可以将对应上述节点装置1各操作的程序保存在诸如软盘或硬盘的信息存储介质中,或者通过网络例如因特网来保存,并且通过微型计算机等读出程序用于执行,这样可以将微型计算机作为根据各实施例的控制单元11。

[0149]而且,在上述的实施例中,在图11中,当接收到将某些信息传送到属于信息通信系统S的所有节点装置1的指令时,信息传送处理开始。然而,当接收到将某些信息传送到特定组的指令时,在图11的步骤S1中,将ID掩码确定为表示特定组的值,并且可以执行接下来的处理。例如,当接收到节点ID为“3***”的节点装置1中传送信息的指令时,在图11的S1中,可以将ID掩码确定为1,并且可以执行接下来的处理。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号