首页> 中国专利> 节点设备、共享信息更新方法、共享信息存储方法以及程序

节点设备、共享信息更新方法、共享信息存储方法以及程序

摘要

本发明提出了一种在不提供管理服务器的情况下,在任何时候都能够有效获取最新状态的共享信息的节点设备、共享信息更新方法、共享信息存储方法、共享信息更新处理程序、共享信息存储处理程序等。本发明涉及在具有经由网络相互连接的多个节点设备的信息分发系统中的一种节点设备,其包括:共享信息存储装置,用于存储待由多个节点设备共同使用的第一共享信息;识别信息生成装置,用于根据第一共享信息来生成与第一共享信息相对应的唯一识别信息;节点设备识别装置,用于根据所生成的第一识别信息来识别作为第一共享信息的管理源的节点设备,更新信息获取装置,用于从所识别的节点设备获取与第一共享信息相对应的更新信息;以及共享信息更新装置,用于根据所获取的更新信息将在共享信息存储装置中所存储的第一共享信息更新为第二共享信息。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-11-14

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20100526 终止日期:20110912 申请日:20050912

    专利权的终止

  • 2010-05-26

    授权

    授权

  • 2007-10-31

    实质审查的生效

    实质审查的生效

  • 2007-09-05

    公开

    公开

说明书

技术领域

[0001]

本发明涉及一种具有经由网络相互连接起来的多个节点设备的对等型(P2P)内容分发(distribution)系统,并且更为确切地说,涉及其中在多个节点设备中分发和存储待从一个节点设备分发到另一个节点设备的内容数据的内容分发系统和方法等的技术领域。

背景技术

[0002]

在这种类型的内容分发系统中,每一个节点设备具有与在多个节点设备中所分发和存储的内容数据有关的列表描述信息(例如内容数据的属性信息(内容名称或类似信息)和用于存储内容数据的节点设备的IP地址),并且根据在列表中所述的信息,用户可以下载期望的内容数据。这种列表是由多个节点设备所共同使用的共享信息,并且一般由用于管理在内容分发系统中所存储的所有内容数据的管理服务器进行管理。该列表从管理服务器被分发到每一个节点设备。

[0003]

例如,日本专利未决公开第2002-318720公开了作为这种类型的管理服务器的位于顶层的索引服务器,并且用于管理内容分发管理系统中的所有内容信息。

发明内容

本发明待要解决的问题

[0004]

在对等型内容分发系统中,撤销的频率(由于电源断开或节点设备故障、网络局部断开等原因引起的)和各节点设备的参与较高。而且,将内容数据新存储到节点设备/从节点设备去除内容数据的频率较高。结果,必须经常执行如上所述的列表更新。因此,如上所述的管理服务器有必要总是将列表保持在最新状态上。

[0005]

不过,在其中管理服务器管理该列表的内容分发系统中,会产生这样一种不利的问题,即随着节点设备个数增加得越多,服务器负载增加得越多,而且网络负载越集中于一个地方,并且在例如当更新列表时的时间上,可分发的列表受到限制。另一个问题是当管理服务器出现问题(例如由于故障等原因)时该列表不能被更新。还有一个问题是管理服务器用于管理各列表的管理成本。

[0006]

作为不使用管理服务器的方法,还发明了诸如Gnutella、Freenet、Winny等纯对等型分发系统。在以这种方式进行工作的系统中,通过指定内容的标题或内容的关键字来搜索和访问其位置可识别的内容。在该方法中,不能获取所有内容标题的列表。结果,用户无法扫描标题列表以从该标题列表中选择和访问期望内容。因此,需要一种有效管理和更新诸如标题列表和关键字列表等共享信息的方法。

[0007]

本发明的实现考虑了这些问题,并且本发明的目标是提出一种在不提供如上所述的管理服务器的情况下在任何时候都能够有效获取最新状态共享信息的节点设备、共享信息更新方法、共享信息存储方法、共享信息更新处理程序以及共享信息存储处理程序。

用于解决这些问题的装置

[0008]

为了解决这些问题,如权利要求1所述的本发明在具有经由网络相互连接的多个节点设备的信息分发系统中提供了节点设备,该节点设备包括:共享信息存储装置,用于存储待由多个节点设备共同使用的第一共享信息;识别信息生成装置,用于根据第一共享信息来生成与第一共享信息相对应的唯一识别信息;节点设备识别装置,用于根据所生成的第一识别信息来识别作为第一共享信息的管理源的节点设备;更新信息获取装置,用于从所识别的节点设备获取与第一共享信息相对应的更新信息;以及共享信息更新装置,用于根据所获取的更新信息将在共享信息存储装置中所存储的第一共享信息更新为第二共享信息。

[0009]

根据权利要求1所述的本发明,每一个节点设备根据与第一共享信息相对应的唯一识别信息来识别第一共享信息的管理源,从该管理源获取与该第一共享信息相对应的更新信息,并且将该第一共享信息更新为第二共享信息。结果,在不提供管理服务器的情况下,可以有效更新由该节点设备自身所持的共享信息,以便可以有效获取处于最新状态的共享信息。因此,可以减少该管理服务器用于列表管理的管理成本。

[0010]

权利要求2所述的本发明提出了根据第一方面的节点设备,其中该共享信息更新装置根据所获取的更新信息来确定在作为该第一共享信息的管理源的节点设备中该第一共享信息是否得到了更新,并且在其中该第一共享信息得到了更新的情况下,将在该共享信息存储装置中所存储的该第一共享信息更新为该第二共享信息。

[0011]

根据权利要求2所述的本发明,每一个节点设备可以知道该第一共享信息是否已经被更新,并且在其中该第一共享信息已经被更新的情况下,有效更新由自身所持的共享信息。

[0012]

权利要求3所述的本发明提出了根据第二方面的节点设备,其中当将该第一共享信息更新为第二共享信息时,该识别信息生成装置根据该第二共享信息来生成与该第二共享信息相对应的唯一的第二识别信息,该节点设备识别装置根据所生成的第二识别信息来识别作为该第二共享信息的管理源的节点设备,该更新信息获取装置从所识别的节点设备获取与该第二共享信息相对应的更新信息,并且共享信息更新装置根据所获取的更新信息来确定在作为该第二共享信息的管理源的节点设备中是否已经更新了该第二共享信息,并且在其中该第二共享信息已经被更新的情况下,将在共享信息存储装置中所存储的该第二共享信息更新为第三共享信息。

[0013]

根据权利要求3所述的本发明,与该第一共享信息相对应的更新信息由作为该第一共享信息的管理源的节点设备进行管理,并且与该第二共享信息相对应的更新信息由作为该第二共享信息的管理源的节点设备进行管理。以这种方式,分发位于更新级上的共享信息的管理源。因此,当每一个节点设备更新共享信息时,可以避免网络负载集中在一个地方上。由于安排每一个节点设备以逐渐更新由自身所持的共享信息,可以更加有效地更新由自身所持的共享信息。因此,可以有效获取最新状态的共享信息。

[0014]

权利要求4所述的本发明提出了根据第一方面至第三方面中任一项的节点设备,其中更新信息为在作为该第一共享信息的管理源的节点设备中被更新到的第二共享信息。

[0015]

权利要求5所述的本发明提出了根据第一方面至第三方面中任一项的节点设备,其中更新信息为与在作为该第一共享信息的管理源的节点设备中所更新的第一共享信息中的更新部分相对应的部分信息。

[0016]

根据如权利要求5所述的本发明,更新信息为与该第一共享信息的更新部分相对应的部分信息,以便可以减少数据量。因此,可以减少网络负载。

[0017]

权利要求6所述的本发明在具有经由网络相互连接的多个节点设备的信息分发系统中提供了节点设备,该节点设备包括:共享信息存储装置,用于存储待由多个节点设备共同使用的共享信息;识别信息生成装置,当更新该共享信息时,用于根据更新之前的共享信息来生成与该共享信息相对应的唯一识别信息;节点设备识别装置,用于根据所生成的识别信息来识别作为共享信息的管理源的节点设备;以及共享信息存储装置,用于使所识别的节点设备存储与更新之前的该共享信息相对应的更新信息。

[0018]

根据如权利要求6所述的本发明,通过将与更新之前的共享信息相对应的更新信息存储到作为共享信息的管理源的节点设备,每一个节点设备可以有效更新由自身所持的共享信息。因此,在不提供管理服务器的情况下可以有效获取最新状态的共享信息。因此,可以减少用于管理服务器的管理成本。

[0019]

权利要求7所述的本发明提出了根据第六方面的节点设备,其中更新信息为更新之后的共享信息。

[0020]

如权利要求8所述的本发明提出了根据第六方面的节点设备,其中更新信息为与更新之前的共享信息中的更新部分相对应的部分信息。

[0021]

权利要求9所述的本发明提出了根据第一方面至第八方面的任一项的节点设备,其中识别信息生成装置通过预定散列函数处理共享信息来生成作为散列值的识别信息。

[0022]

权利要求10所述的本发明提出了根据第一方面至第九方面的任一项的节点设备,该节点设备识别装置将识别信息发送给多个节点设备中的任一个,并且根据从多个节点设备的任一个发出的用于表示作为管理源的节点设备的信息来识别该节点设备。

[0023]

权利要求11所述的本发明提出了根据第一方面至第十方面的任一项的节点设备,其中在多个节点设备中分发和存储待从一个节点设备分发到另一个节点设备的分发信息,并且其中共享信息为列表信息,其中描述了被分发和存储的分发信息的信息。

[0024]

权利要求12所述的本发明在具有经由网络相互连接的多个节点设备的信息分发系统中的节点设备中提供了一种共享信息更新方法,该方法包括:用于根据由多个节点设备共同使用的第一共享信息来生成与第一共享信息相对应的唯一识别信息的步骤;用于根据所生成的第一识别信息来识别作为该第一共享信息的管理源的节点设备的步骤;用于从所识别的节点设备获取与第一共享信息相对应的更新信息的步骤;以及用于根据所获取的更新信息将该第一共享信息更新为第二共享信息的步骤。

[0025]

权利要求13所述的本发明在具有经由网络相互连接的多个节点设备的信息分发系统中的节点设备中提供了一种共享信息存储方法,该方法包括:用于当更新由多个节点设备共同使用的共享信息时,根据更新之前的共享信息来生成与该共享信息相对应的唯一识别信息的步骤;用于根据所生成的识别信息来识别作为该共享信息的管理源的节点设备的步骤;以及用于使所识别的节点设备来存储与更新之前的共享信息相对应的更新信息的步骤。

[0026]

权利要求14所述的本发明提出了一种共享信息更新处理程序,用于使在具有经由网络相互连接的多个节点设备的信息分发系统中的节点设备中所包括的计算机起到以下作用:共享信息存储装置,用于存储待由多个节点设备共同使用的第一共享信息;识别信息生成装置,用于根据该第一共享信息来生成与该第一共享信息相对应的唯一识别信息;节点设备识别装置,用于根据所生成的第一识别信息来识别作为该第一共享信息的管理源的节点设备;更新信息获取装置,用于从所识别的节点设备中获取与该第一共享信息相对应的更新信息;以及共享信息更新装置,用于根据所获取的更新信息将在共享信息存储装置中所存储的第一共享信息更新为第二共享信息。

[0027]

权利要求15所述的本发明提出了一种共享信息存储处理程序,用于使在具有经由网络相互连接的多个节点设备的信息分发系统中的节点设备中所包括的计算机起到以下作用:共享信息存储装置,用于存储待由多个节点设备共同使用的共享信息;识别信息生成装置,当更新共享信息时,用于根据更新之前的共享信息来生成与该共享信息相对应的唯一识别信息;节点设备识别装置,用于根据所生成的识别信息来识别作为该共享信息的管理源的节点设备;以及共享信息存储装置,用于使所识别的节点设备存储与更新之前的共享信息相对应的更新信息。

[0028]

权利要求16所述的本发明提出了一种记录媒介,其中以计算机可读的方式记录了根据第十四方面的共享信息更新处理程序。

[0029]

权利要求17所述的本发明提出了一种记录媒介,其中以计算机可读的方式记录了根据第十五方面的共享信息存储处理程序。

[0030]

权利要求18所述的本发明在具有经由网络相互连接的多个节点设备并且其中包括有作为位于各个更新级上互不相同的共享信息的管理源的节点设备的信息分发系统中,提供了一种节点设备,其中该共享信息是由多个节点设备共同使用,该节点设备包括:共享信息存储装置,用于存储位于任一个更新级上的共享信息;节点设备识别装置,用于执行识别作为在共享信息存储装置中所存储的共享信息的管理源的节点设备的识别处理;更新信息获取装置,用于执行从所识别的节点设备中获取与在共享信息存储装置中所存储的共享信息相对应的更新信息的获取处理;以及共享信息更新装置,用于执行根据所获取的更新信息来更新在共享信息存储装置中所存储的共享信息的更新处理。

[0031]

权利要求19所述的本发明提出了根据第十八方面的节点设备,其中重复由节点设备识别装置执行的识别处理、由更新信息获取装置执行的获取处理,以及由共享信息更新装置执行的更新处理,直到在共享信息存储装置中所存储的共享信息变成最新状态。

[0032]

根据如第十九方面所述的本发明,在不提供管理服务器的情况下可以总是有效地获取最新状态的共享信息。

本发明的效果

[0033]

根据本发明,每一个节点设备根据与第一共享信息相对应的唯一识别信息来识别第一共享信息的管理源,从该管理源获取与该第一共享信息相对应的更新信息,并且将该第一共享信息更新为第二共享信息。结果,在不提供管理服务器的情况下可以有效更新由节点设备自身所持的共享信息,因此可以有效获取最新状态的共享信息。

附图说明

[0034]

图1示出了根据实施例的内容分发系统中的节点设备的连接模式的例子;

图2示出了其中通过使用DHT来搜索用于存储内容数据的节点设备1的状态的例子;

图3示出了节点设备1的示意性结构的例子;

图4为流程图,示出了节点设备1的控制器11中的关键字列表存储处理的主流程;

图5为流程图,示出了节点设备1的控制器11中的关键字列表存储处理的子流程;

图6为流程图,示出了节点设备1的控制器11中的关键字列表存储处理的子流程;

图7为概念图,示出了其中在关键字列表存储处理中存储内容数据和关键字列表等的状态;

图8为流程图,示出了节点设备1的控制器11中的关键字列表更新处理;以及

图9为概念图,示出了其中在关键字列表更新处理中所执行的更新关键字列表等的状态。

[0035]

附图标记的说明

1  节点设备

8  网络

11 控制器

12 存储器

13 缓存器

14 解码器

15 图像处理器

16 显示器

17 声音处理器

18 扬声器

19 编码器

20 通信单元

21 输入单元

22 总线

S  内容分发系统

具体实施方式

[0036]

下面参照附图来描述本发明的最佳模式。在以下实施例中,本发明被应用于内容分发系统中。

[0037]

[1.内容分发系统的结构等]

首先,参照图1来描述作为信息分发系统的内容分发系统的示意性结构等。

[0038]

图1是示出了根据实施例的内容分发系统中的节点设备的连接模式的例子的图。

[0039]

如图1中的下框101所示,诸如因特网等网络(真实世界中的网络)8是由IX(因特网交换器)3、ISP(因特网服务供应商)4、DSL(数字用户线)载波5的设备、FTTH(光纤入户)载波(的设备)6和通信线路(诸如电话线或光缆)7等组成。

[0040]

内容分发系统S是由经由诸如网络8等相互连接的多个节点设备1a、1b、1c、...、1x、1y、1z...组成,并且为对等型网络系统。对于每一个节点设备1a、1b、1c、...、1x、1y、1z...来说,分配了唯一的序列号和IP(因特网协议)地址来作为表示该节点设备的信息。在多个节点设备1中,序列号和IP地址是唯一的。在以下描述中,在描述节点设备1a、1b、1c、...、1x、1y、1z...中的任一个的情况下,为了方面可以将其称为节点设备1。

[0041]

在内容分发系统S中,如图1中的上框100所示的覆层网络9是由特定算法构造的,例如该算法使用了稍后所述的分发散列表(下面将其称为DHT)。具体来说,覆层网络9表示用于形成通过使用现有网络8形成的虚拟连接的网络。

[0042]

实施本实施例的前提条件是采用由使用DHT的算法构建的覆层网络9。置于覆层网络9之上的节点设备1被称为加入内容分发系统S的节点设备1(换句话说,加入覆层网络9)。未加入内容分发系统S的节点设备通过将参加请求发送给已经加入了该系统的任意节点设备1来加入该系统。

[0043]

参加内容分发系统S的每一个节点设备1的节点ID为例如通过普通散列函数对IP地址或序列号进行散列而得到的值。节点ID的放置使其均匀分布在一个ID空间中。当IP地址或序列号不同时,通过普通散列函数得到的节点ID(散列节点ID)成为相同值的概率是极低的。由于散列函数是已知的,因此没有给出其详细描述。在本实施例中,使用通过普通散列函数对IP地址(全球IP地址)进行散列而得到的值来作为节点ID。

[0044]

在加入内容分发系统S的多个节点设备1中,分发和存储待从一个节点设备1分发到另一个节点设备1的作为分发信息的内容(例如电影和音乐等)数据。例如,其标题为XXX的电影的内容数据被存储在节点设备1a中,并且其标题为YYY的电影的内容数据被存储在节点设备1b中。以这种方式,在多个节点设备1中分发和存储互不相同的内容数据(还存在其中在多个节点设备1中分发和存储相同内容数据的情况)。

[0045]

任何内容数据都可以被存储在任何节点设备1中。例如,通过当获取节点ID时所使用的相同散列函数对作为内容数据信息的例子的关键字(诸如内容名称(内容标题)或内容的提纲信息(提要))进行散列(也就是说,关键字与节点设备1的IP地址的散列值置于相同ID空间中)。内容数据被存储在其节点ID与散列值最接近(例如高阶数字最匹配)的节点设备1中。以这种方式,内容数据可以均匀地在内容分发系统S中进行分发。还可以存在其中不同内容数据具有相同关键字(例如相同的内容标题)的情况,并且在这种情况下,这些内容具有相同的散列值。为了避免这种情况,待进行散列的关键字可以通过例如组合内容标题和版权信息(例如制片人姓名、导演姓名、原创作者姓名、歌手姓名、作曲者姓名和作词者姓名等)来形成。

[0046]

在使用DHT的每一个节点设备1中部分地存储了被分发和存储的内容数据的位置。通过使用这些DHT,内容数据的位置,也就是作为存储源的节点设备1可以被搜索到(找到)。在DHT中,例如注册了到另一个节点设备的多个路径信息片断,也就是在节点ID空间中正确相隔的另一个节点设备的节点ID(散列值)和IP地址。

[0047]

下面参照图2来描述用于搜索作为内容数据的存储源的节点设备1的方法的例子。

[0048]

图2是示出了其中使用DHT来搜索作为内容数据的存储源的节点设备1的状态的例子的图。

[0049]

例如,如图2所示,在其中节点设备1a搜索内容数据X的情况下,其关键字在稍后描述的作为列表信息的关键字列表L中被描述成“XXX”,该节点设备1a通过采用与用于获取节点ID的功能相同的散列函数对该关键字“XXX”进行处理来获取散列值(下面假设散列值为“123”)(图2(i))。该关键字“XXX”的散列值可以在与该关键字“XXX”有关的关键字列表L中进行描述。

[0050]

接下来,该节点设备1a参照由自身所持的DHT(换句话说为网络路径表)51来获取与关键字的散列值“123”的高阶中的第一个数字即值“1”有关的节点设备1b的IP地址(图2(ii)),并且通过将包括有节点设备1a的散列值“123”和IP地址的查询信息发送到节点设备1b来进行查询(图2(iii))。

[0051]

如果节点设备1a的IP地址与在节点设备1a中所持的DHT 51中的关键字的散列值“123”有关,则该节点设备1a为该内容数据的存储源。

[0052]

节点设备1b接收查询信息,参照自身所持的DHT 52来获取与关键字的散列值“123”的高阶中的第二个数即数字“2”有关的节点设备1f的IP地址(图2(iv)),并且通过将包括有节点设备1a的散列值“123”和IP地址的查询信息发送到节点设备1f来进行查询(图2(v))。

[0053]

节点设备1f接收查询信息,参照自身所持的DHT 53获取与关键字的散列值“123”的高阶中的第三个数即数字“3”有关的节点设备1j的IP地址来作为用于存储关键字“XXX”的内容数据X的节点设备1的IP地址(图2(vi))。节点设备1f响应带有IP地址的节点设备1a(图2(vii))。

[0054]

因此,节点设备1a接收节点设备1j的IP地址,然后搜索节点1j来作为关键字“XXX”的内容数据X的位置也就是存储源,并且从节点设备1j获取(下载)内容数据X。

[0055]

在关键字列表L中,描述了在内容分发系统S中所分发和存储的多个内容数据的关键字。通过关键字列表L,每一个节点设备1的用户可以抓住所存储的内容数据,也就是待被观看的内容数据。

[0056]

因此,关键字列表L还可以被看作为由所有节点设备1共同使用的共享信息,并且必须总是处于最新状态。

[0057]

在本实施例中,通过使用更新之前的关键字列表L来搜索关键字列表L的更新信息,在不提供用于以集中化方式来管理关键字列表L的服务器的情况下,每一个节点设备1可以随时有效获取最新状态的关键字列表L。下面来描述该方法的细节。

[0058]

[2.节点设备等的结构]

现在参照图3来描述节点设备1的结构和功能。

[0059]

图3是示出了节点设备1的示意性结构的例子的图。

[0060]

如图3所示,每一个节点设备1包括:控制器11,作为由具有计算功能的CPU、用于存储各种数据和程序的工作RAM、ROM等组成的计算机;存储器12,作为由用于存储内容数据、关键字列表L、DHT和程序等的HDD等组成的共享信息存储装置(一些节点设备1并不存储内容数据);缓存器13,用于暂时存储所接收的内容数据;解码器14,用于对在内容数据中所包括的经过编码的视频数据(视频信息)和音频数据(音频信息)等进行解码(数据解压、译解等);视频处理器15,用于在经过解码的视频数据等上执行预定的画图处理并且输出经过处理的数据来作为视频信号;显示单元16,诸如CRT和液晶显示器等,用于根据从视频处理器15输出的视频信号来显示视频数据;声音处理器17,用于将经过解码的音频数据D/A(数/模)转化成模拟音频信号,通过放大器对模拟音频信号进行放大,并且输出经过放大的信号;扬声器18,用于将从声音处理器17输出的音频信号作为声波输出;编码器19,用于对在内容数据中所包括的视频数据和音频数据等进行编码(数据压缩、加密等);通信单元20,用于经由网络8来控制与另一个节点1的信息通信;以及输入单元(例如键盘、鼠标和操作面板等)21,用于接收来自用户的指令并且根据对控制器11的指令来供应指令信号。控制器11、存储器12、缓存器13、解码器14、编码器19和通信单元20经由总线22相互连接。

[0061]

控制器11中的CPU执行在存储器12等中所存储的各种程序,从而以集中化的方式控制整个节点设备1,并且执行关键字列表存储(注册)处理、关键字列表更新处理等,以响应来自输入单元21的指令信号。下面来描述关键字列表存储(注册)处理和关键字列表更新处理。

[0062]

[3.内容分发系统的操作]

接下来描述内容分发系统S的操作。

[0063]

(关键字列表存储处理)

首先,参照图4至7来描述关键字列表存储处理。

[0064]

图4为流程图,示出了节点设备1的控制器11中的关键字列表存储处理的主流程。图5和6为流程图,每一个都示出了关键字列表存储处理的子流程。图7为概念图,示出了其中在关键字列表存储处理中所执行的存储内容数据和存储关键字列表等的状态。

[0065]

当通过控制器11来执行存储器12等中所存储的共享信息存储处理程序时,执行如图4至6所示的处理。

[0066]

在如图4所示的处理中,当发出用于将通过用户获取的(例如从可去除信息记录媒介读取)内容数据X存储在用于注册内容数据的节点设备1(例如如图7所示的节点设备1a)中的请求时(例如,当用户操作输入单元21时),控制器11获取待被新存储的内容数据X的关键字(例如内容名称(内容标题))(步骤S1)。假设所有节点设备1的每一个都将关键字列表L1作为初始值存储在存储器12中。

[0067]

在获取处理中,例如,控制器11可以从被添加到内容数据X的数据中获取关键字,或者可以获取通过在用户的输入单元21上进行操作所输入的关键字。

[0068]

随后,控制器11执行用于获取将作为内容数据X的存储源的节点设备1的处理(步骤S2)。

[0069]

具体来说,首先,控制器11通过采用与用于获取如图5所示的节点ID的功能相同的散列函数对所获取的关键字进行处理来生成散列值(步骤S21)。

[0070]

之后,控制器11参考DHT(步骤S22),并且确定设备自身是否为待作为内容数据X的存储源的节点设备1(步骤S23)。当控制器11确定该设备本身不是作为存储源的节点设备时(例如当设备自身的IP地址与DHT中的关键字的散列值无关时)(步骤S23中为N),控制器11将包括有关键字的散列值和设备自身的IP地址的查询信息发送给另一个节点设备1(步骤S24)。当控制器11接收将作为存储源的节点设备1j的IP地址时,其中该IP地址是响应查询信息发出的(步骤S25中为Y),控制器11根据该IP地址来识别待作为存储源的节点设备1j(步骤S26)。

[0071]

当在步骤S24中查询信息被发送到另一个节点设备1时,以与参照图2(图2(iv)至图2(vii))描述的搜索方法的流程相同的流程来执行处理,并且最后发送回来待作为存储源的节点设备1j的IP地址。

[0072]

另一方面,当在步骤S23中控制器11确定出设备本身为待作为存储源的节点设备时(步骤S23中为Y),识别节点设备1a本身就是将作为存储源的节点设备(步骤S26)。

[0073]

接下来,返回到如图4所示的各处理,控制器11执行将内容数据X存储到待作为存储源的节点设备1的处理(步骤S3)。更为确切地说,在其中在步骤S26中所识别的节点设备1不是该设备本身的情况下,控制器11根据经由如图7(i)所示的通信单元20和网络8在步骤S25中所接收的IP地址,将在步骤S1中所获取的内容数据X发送到待作为存储源的节点设备1j,以便将内容存储在设备1j中。另一方面,在其中在步骤S26中所识别的节点设备1为设备本身的情况下,控制器11将在步骤S1中所获取的内容数据X储存并且存储在待作为存储源的节点设备1a的存储器12中。

[0074]

随后,控制器11执行用于搜索作为关键字列表L1的管理源的节点设备1的处理(步骤S4)。

[0075]

确切地说,首先,如图6所示,作为识别信息生成装置的控制器11通过处理更新之前的关键字列表L1(例如,在关键字列表中所描述的字符串),采用与用于获取节点ID的功能相同的散列函数来生成散列值(与关键字列表L1相对应的唯一识别信息的例子)(步骤S51)。

[0076]

之后,作为节点设备识别装置的控制器11根据所生成的散列值来识别作为关键字列表L1的管理源的节点设备1。例如,控制器11参考DHT(步骤S52)并且确定该设备本身是否为作为管理源的节点设备1(步骤S53)。当控制器11确定出该设备本身不是作为管理源的节点设备1时(例如,当该设备本身的IP地址与关键字列表L1中的散列值无关时)(步骤S53中为N),控制器11将包括有关键字列表L1的散列值和该设备本身的IP地址的查询信息发送给另一个节点设备1(步骤S54)。当控制器11接收到作为响应查询信息而发送的关键字列表L1的管理源的节点设备1x的IP地址时(步骤S55中为Y),控制器11根据IP地址来识别作为管理源的节点设备1x(步骤S56)。

[0077]

当与在步骤S24中一样,在步骤S54中也将查询信息发送到另一个节点设备1时,采用与以上参照图2(图2(iv)至图2(vii))所描述的搜索方法中相同的流程来执行各处理,并且最后发送回来作为管理源的节点设备1x的IP地址。

[0078]

另一方面,当控制器11在步骤S53中确定出该设备本身就是作为管理源的节点设备1时(步骤S53中为Y),节点设备本身1a被识别为作为管理源的节点设备1(步骤S56)。

[0079]

接下来,返回到如图4所示的处理,控制器11经由通信单元20和网络8将用于禁止更新处理的更新处理禁止指令从另一个节点设备1发送到作为指定关键字列表L1的管理源的节点设备1(步骤S5)。在作为已经接收了更新处理禁止指令的管理源的节点设备1中,在其中已经执行了来自另一个节点设备1的更新处理的情况下(例如在其中设定了写禁止标记的情况下),将表示由于另一个节点设备正在执行写操作因此不能接受节点设备1a的更新处理禁止指令这一信息发送给该节点设备1a。另一方面,在其中还没有执行来自另一个节点设备1的更新处理的情况下(例如在其中没有设定写禁止标记的情况下),控制器11设定写禁止标记,并且将表示接受了节点设备1a的更新处理禁止指令这一信息发送给该节点设备1a。

[0080]

该节点设备1a的控制器11接收从作为管理源的节点设备1发送出的信息(表示是否接受更新处理禁止指令的信息),并且确定是否可以设定写禁止(步骤S6)。在其中不能设定写禁止的情况下(也就是说,接收到表示不能接受更新处理禁止指令这一信息)(步骤S6中为N),控制器11完成处理。另一方面,在其中可以设定写禁止的情况下(也就是说,接收到表示接受更新处理禁止指令这一信息)(步骤S6中为Y),控制器11进行步骤S7。

[0081]

在步骤S7中,控制器11执行将在存储器12中所存储的关键字列表L1更新为关键字列表L2的更新处理。更为确切地说,控制器11从存储器12读取关键字列表L1,通过将所获取的内容数据X的关键字“XXX”添加到如图7(ii)所示的关键字列表L1来生成新的关键字列表L2,并且将该关键字列表L2存储在存储器12中。

[0082]

接下来,作为共享信息存储装置的控制器11执行让作为指定关键字列表L1的管理源的节点设备1存储与更新之前的关键字列表L1相对应的更新信息的存储处理(步骤S8)。

[0083]

更为确切地说,在其中在步骤S56中所识别的节点设备1不是该设备本身的情况下,根据在步骤S55中所接收的IP地址,控制器11经由通信单元20和如图7(iii)所示的网络8将与步骤S1中的关键字列表L2相对应的更新信息发送到作为管理源的节点设备1x,以便将更新信息存储在节点设备1x中,并且完成处理。另一方面,当在步骤S56中所识别的节点设备1是该设备本身时,控制器11将与关键字列表L2相对应的更新信息存储在作为管理源的节点设备1a本身的存储器12中。

[0084]

与关键字列表L2相对应的更新信息可以是整个关键字列表L2或者与更新之前的关键字列表L1的更新部分相对应的部分信息(例如被添加到关键字列表L1的关键字)。在其中与关键字列表L2相对应的更新信息为整个关键字列表L2的情况下,关键字列表L1可以被重新写入(覆盖写入)关键字列表L2。

[0085]

在其中执行了关键字列表存储处理、将关键字列表L1更新为关键字列表L2,并且在用于注册内容数据的节点设备1a再次给出新的内容数据存储请求的情况下,执行与上述相类似的处理。在这种情况下,通过将新的内容数据的关键字添加到关键字列表L2,关键字列表L2被更新为关键字列表L3,并且将与关键字列表L3相对应的更新信息存储在作为关键字列表L2的管理源的节点设备1y中。

[0086]

以这种方式,将关键字列表从老版本更新为新版本。在更新的同时,将更新信息存储在例如分别作为更新级L1、L2和L3的关键字列表的管理源的节点设备1x、1y和1z中。例如,更新级L1、L2和L3的关键字列表的散列值互不相同(由于在各关键字列表中所述的字符串互不相同),以便作为其管理源的节点设备1x、1y和1z也互不相同。

[0087]

虽然可以使用任何节点设备1作为每一个更新级的关键字列表的管理源,但是更为理想的是根据节点ID的散列值和关键字列表之间的关系来确定节点设备1。确切地说,可以采用通过使用其节点ID的散列值最接近关键字列表的散列值的节点设备1(例如,较高阶的数字最匹配)作为关键字列表的管理源。

[0088]

针对关键字列表L1、L2和L3进行散列的目标并不限于各关键字列表所述的字符串,而可以是能够对关键字列表L1、L2和L3相互进行区分的任何信息(例如被添加到各列表的每一个的列表名称(优选情况下包括有更新日期和时间等))。

[0089]

如上所述,在完成更新信息存储处理之后,控制器11经由通信单元20和网络8将更新处理禁止取消指令发送给作为管理源的节点设备1x(步骤S9),并且完成处理。因此,在作为管理源的节点设备1x中,重新设定了写禁止标记。

[0090]

(关键字列表更新处理)

接下来,参照图8和图9等来描述关键字列表更新处理。

[0091]

图8为流程图,示出了节点设备1的控制器11中的关键字列表更新处理。图9为概念图,示出了更新在关键字列表更新处理中所执行的关键字列表等的状态。当通过控制器11来执行在存储器12等中所存储的共享信息更新处理程序时,执行图8所示的处理。例如,共享信息更新处理程序可以从网络8上的预定服务器上进行下载。可选情况下,例如,共享信息更新处理程序可以被记录在诸如CD-ROM等记录媒介上,并且经由记录媒介的驱动进行读取(类似地下载或读取共享信息存储处理程序)。

[0092]

在以下描述中,假定情况是在图4至6的处理中关键字列表L1、L2和L3的管理源分别为节点设备1x、1y和1z。

[0093]

在图8所示的各处理中,当在节点设备1(例如图9所示的节点设备1b)中给出了关键字列表更新请求时(例如通过用户在输入单元21上进行操作),控制器11读取例如在存储器12中所存储的关键字列表L1,并且执行用于搜索作为关键字列表L1的管理源的节点设备1的处理(步骤S11)。由于用于搜索作为关键字列表的管理源的节点设备1的处理与图6所示的类似,因此不再重复进行描述。

[0094]

当例如通过在步骤S11中的搜索处理识别了作为关键字列表L1的管理源的节点设备1x时,作为更新信息获取装置的控制器11执行获取处理,用于从所识别的节点设备1x获取与关键字列表L1相对应的更新信息(步骤S12)。

[0095]

更为确切地说,根据在图6所示的处理中所接收的IP地址,控制器11向作为关键字列表L1的管理源的节点设备1x查询如图9(i)所示的关键字列表L1的更新信息,并且经由如图9(i)所示的网络8获取从节点设备1x发送出的更新信息。该更新信息包括用于表示关键字列表L1是否被更新的信息,并且在其中更新了关键字列表L1的情况下,还包括有与更新之前的关键字列表L1相对应的更新部分(或者在更新之后的整个关键字列表L2)的那部分的更新历史和信息(差别)。通过使用更新部分的部分(差别)而非更新之后的整个关键字列表L2,可以减少作为更新信息的数据量,因此可以减少网络负载。

[0096]

作为共享信息更新装置的控制器11根据所获取的更新信息来确定在作为关键字列表L1的管理源的节点设备1x中是否已经更新了关键字列表L1(步骤S13)。在其中已经更新了关键字列表L1的情况下(步骤S13中为Y),控制器11执行将在存储器12中所存储的关键字列表(第一共享信息的例子)更新为关键字列表L1(第二共享信息的例子)的更新处理(步骤S14)。更为确切地说,在其中更新信息包括与更新之前的关键字列表L1中的更新部分相对应的部分信息(例如待被添加的关键字“XXX”)的情况下,如图9(ii)所示,将关键字“XXX”添加到在存储器12中所存储的关键字列表L1,从而生成新的关键字列表L2。在存储器12中所存储的关键字列表L1被关键字列表L2覆盖写入并且将其存储。另一方面,在其中更新信息包括经过更新的关键字列表L2的情况下,在存储器12中所存储的关键字列表L1被关键字列表L2覆盖写入并且将其存储。

[0097]

在执行了关键字列表更新处理之后,返回到步骤S11,从存储器12中读取更新之后的关键字列表L2,搜索作为关键字列表L2的管理源的节点设备1,并且识别作为例如关键字列表L2的管理源的节点设备1y。如图9(iii)所示,从所识别的节点设备1y中获取与关键字列表L2相对应的更新信息,并且确定在作为关键字列表L2的管理源的节点设备1y中是否已经更新了关键字列表L2。在其中已经更新了关键字列表L2的情况下,以与上述处理相类似的方式来执行将在存储器12中所存储的关键字列表L2(第二共享信息的例子)更新为关键字列表L3(作为第三共享信息的例子)(例如添加如图9(iv)所示的关键字“YYY”)的更新处理。

[0098]

执行这种更新处理,直到在步骤S13中确定关键字列表没有被更新为止。例如,如图9(v)所示,在其中经由网络8从作为关键字列表L3的管理源的节点设备1z发送来的更新信息表示在关键字列表L3中没有更新的情况下,关键字列表L3被确定为最新状态(步骤S15)。

[0099]

在如上所述确定了最新状态的关键字列表之后,控制器11经由视频处理器15在显示单元16上显示关键字列表。当用户操作输入单元21以从用这种显示状态所显示的关键字列表中所述的关键字中选择例如期望关键字“YYY”时,参照图2的描述来搜索与所选择的关键字“YYY”相对应的内容数据Y的位置。结果,获取了作为内容数据Y的存储源的节点设备1i的IP地址,并且如图9(vi)所示,从该节点设备1i获取(下载)内容数据Y。所获取的内容数据Y暂时被存储在缓存器13中。在内容数据Y中所包括的视频数据等经由解码器14和视频处理器15输出,并且被显示在显示单元16上。在内容数据Y中所包括的音频数据经由解码器14和声音处理器17被输出到扬声器18。

[0100]

根据如上所述的实施例,分发了作为位于更新级上的各个关键字列表L1、L2和L3的管理源的各节点设备,并且将与关键字列表相对应的更新信息存储在每一个节点设备1中,并且每一个节点设备1根据被存储在该设备本身中的关键字列表来访问管理源的节点设备,以获取更新信息并且更新关键字列表。结果,各节点设备可以在不提供管理服务器的情况下,有效更新在该设备本身中所存储的关键字列表,并且可以避免在更新关键字列表时网络负载集中在一个地方。由于没有必要提供管理服务器,因此可以减少用于管理服务器的管理成本。

[0101]

由于在各节点设备中依次将关键字列表L1、L2和L3从旧状态更新为最新状态,因此在不提供管理服务器的情况下,可以随时有效获取最新状态的关键字列表。

[0102]

通过使用关键字列表的散列值和DHT,可以更为有效地识别作为位于每一个更新级上的各关键字列表的管理源的各节点设备的每一个。

[0103]

在以上实施例中,通过如图7所示的各处理,经由关键字列表L2从关键字列表L1获取了最新状态的关键字列表L3。作为另一个例子,可以排列持有关键字列表L1的节点设备1,以从加入内容分发系统S的任一个节点设备1获取最新状态的关键字列表L3的列表名称,对该列表名称进行散列,将其结果发送到另一个节点1,并且根据作为发送回来的关键字列表L3的管理源的节点设备1的IP地址,从该节点设备1获取关键字列表L3的更新信息。更为确切地说,在关键字列表查询信息中包括了更新之前的关键字列表L1的更新日期。查询信息在到达作为关键字列表L1的管理源的节点设备1之前经过一些节点设备1。在其中关键字列表L1被认为是旧的情况下,查询信息所经过的节点设备具有关键字列表L1之后的关键字列表的可能性是很高的。在其中查询信息所经过的节点设备1具有关键字列表L1之后的关键字列表L3的情况下,可以使用关键字列表L3的信息对查询信息中的关键字列表L1的信息(散列值、更新日期等)进行覆盖写入。之后,进行查询。以这种方式,查询信息可以早些到达作为最后管理源的节点设备1。在这种情况下,没有查询被发送到作为关键字列表L1的管理源的节点设备1和作为关键字列表L2的管理源的节点设备1。结果,在作为关键字列表L3的管理源的节点设备1中所存储的更新信息必须为整个关键字列表L4本身或部分信息(例如从关键字列表L1添加到关键字列表L4的部分(差分信息(L4-L1)))。

[0104]

虽然在上述实施例中已经描述了通过使用如图2所示的每一个节点设备1中的DHT进行搜索的方法的例子,但是本发明并不限于该例子。作为另一个例子,在上述实施例中搜索作为如图6所示的管理源的节点设备的处理中,在步骤S53中确定节点设备1本身的节点ID是否最接近关键字列表的散列值(例如,较高阶中的数字最为匹配)。在其中节点ID最接近散列值的情况下,识别节点设备1是作为管理源的节点设备1。否则,节点设备1发送关键字列表的散列值和自身的IP地址发送到其节点ID最接近于在DHT中所注册的节点ID中的关键字列表的散列值的节点设备1(例如较高阶中的数字最为匹配)(步骤S54)。在已经接收了IP地址的节点设备1中,执行类似的处理(步骤S51至S54),并且将关键字列表的散列值和节点设备1本身的IP地址发送到(传输到)另一个节点设备1,直到搜索到其节点ID最接近关键字列表的散列值的节点设备1为止。最后,从其节点ID最接近关键字列表的散列值的节点设备,也就是作为管理源的节点设备发送IP地址。这种处理还可以类似地应用到其中搜索作为如图2所示的内容数据的存储源的节点设备1的情况。

[0105]

在以上实施例中,在采用了通过使用DHT的算法来构建的覆盖网络9的前提条件下,对关键字或关键字列表进行散列,并且根据散列值和DHT,识别(找到)作为内容数据的存储源的节点设备或者作为关键字列表的管理源的节点设备。可选情况下,例如,通过使用关键字或关键字列表(或者伴随关键字列表的信息),通过用于执行预定计算的算法或函数(函数find(例如与关键字列表相对应的数值)=作为关键字列表的管理源的节点设备1的IP地址)可以识别(找到)作为内容数据的存储源的节点设备或者作为关键字列表的管理源的节点设备。

[0106]

在以上实施例中,控制器11通过使用预定散列函数来生成关键字列表的散列值。不过,本发明并不限于该结构。还可以根据关键字列表来生成与关键字列表相对应的关键字列表ID(可以与其他关键字列表ID相区别),并且根据关键字列表ID,可以识别作为关键字列表的管理源的节点设备1。

[0107]

虽然通过使用例如作为由多个节点设备1共同使用的共享信息的关键字列表已经描述了本实施例,但是本发明并不限于本实施例。本发明还可以应用于诸如由多个节点设备1共同使用的源程序等必须由多个用户共同持有的共享数据。另外在这种情况下,存在作为位于各更新级(版本)上的共享数据的管理源的多个节点设备1。通过如图6所示的处理(用共享数据替换关键字列表),每一个节点设备1可以使用更新之前的共享数据来搜索(识别)作为更新之后的共享数据的管理源的节点设备1。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号