JP2011060309A - Node device, storage control program, and information storage method - Google Patents
Node device, storage control program, and information storage method Download PDFInfo
- Publication number
- JP2011060309A JP2011060309A JP2010240413A JP2010240413A JP2011060309A JP 2011060309 A JP2011060309 A JP 2011060309A JP 2010240413 A JP2010240413 A JP 2010240413A JP 2010240413 A JP2010240413 A JP 2010240413A JP 2011060309 A JP2011060309 A JP 2011060309A
- Authority
- JP
- Japan
- Prior art keywords
- information
- node
- node device
- stored
- link information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、当該複数のノード装置によって共用される複数の共用情報が、複数のノード装置に分散されて保存されている情報通信システムに含まれるノード装置等の技術分野に関する。 The present invention provides an information communication system including a plurality of node devices that can communicate with each other via a network, and a plurality of shared information shared by the plurality of node devices is distributed and stored in the plurality of node devices. The present invention relates to the technical field of included node devices and the like.
近年、ネットワークに属するノード装置間で、音楽や映画等の様々なコンテンツが相互に直接授受される情報通信システム、例えば、各コンテンツを複数のノード装置間で分散して複数のノード装置で共用させるP2P型の情報通信システムについての研究開発が盛んである。このP2P型のシステムは、従来のクライアント・サーバ型のモデルの欠点である、サーバへのアクセス集中や、高い管理コストを解決する手法として注目されている。 In recent years, information communication systems in which various contents such as music and movies are directly exchanged between node devices belonging to a network, for example, each content is distributed among a plurality of node devices and shared by a plurality of node devices. Research and development on P2P type information communication systems is active. This P2P type system is attracting attention as a technique for solving concentration of access to the server and high management costs, which are disadvantages of the conventional client / server type model.
また、ピアツーピア型の情報通信システムにおいて、例えば、分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報(例えば、宛先情報など)を認識しているわけではなく、オーバーレイネットワークに参加する際に最初にアクセスするコンタクトノード装置等から得られる一部のノード装置へのリンク情報だけをテーブル情報としてRAM(Random
Access Memory)に所持しており、データの問い合わせ等を行なう際には、CPUがRAMに直接アクセスして、テーブル情報を参照するようになっている。特許文献1、2には、DHTに係る技術が開示されている。
In a peer-to-peer type information communication system, for example, in an overlay network logically constructed using a distributed hash table (hereinafter referred to as DHT (Distributed Hash Table)), each node device participates in the overlay network. It does not recognize link information (for example, destination information) to all the node devices that are present, but to some of the node devices obtained from the contact node device that is accessed first when participating in the overlay network RAM (Random) with only the link information as table information
Access Memory), and when making data inquiries, the CPU directly accesses the RAM and refers to the table information.
また、システム内の各ノード装置にて複数のコンテンツを分散して保存するだけでなく、各コンテンツがどのノード装置に保持されているのかというコンテンツの所在に関する情報についても、キャッシュ情報として各ノード装置で分散して管理している。
このような、オーバーレイネットワークに参加しているノード装置が、システムから脱退(電源をオフにする)すると、RAMに記憶していた他のノード装置との通信に使用していたリンク情報等が全て失われてしまう。 When such a node device participating in the overlay network withdraws from the system (turns the power off), all the link information etc. used for communication with other node devices stored in the RAM are all It will be lost.
そして、再度オーバーレイネットワークに参加する際には、再度コンタクトノード装置からリンク情報を取得する必要がある。 When joining the overlay network again, it is necessary to acquire link information from the contact node device again.
しかし、地域的な停電等が復旧した直後には、多数のノード装置からコンタクトノード装置へのアクセスが集中するので、コンタクトノード装置に、過大な処理負担を課すこととなる。また、この処理負担は、システムに参加するノード装置が増えるほど深刻になり、コンタクトノード装置だけでなく、ネットワーク全体がダウンする恐れもある。 However, immediately after the restoration of a local power failure or the like, access from a large number of node devices to the contact node devices is concentrated, which places an excessive processing burden on the contact node devices. In addition, the processing load becomes more serious as the number of node devices participating in the system increases, and there is a possibility that not only the contact node device but also the entire network may be down.
本発明は、以上の点に鑑みてなされたものであり、システムに参加しているときに使用していたリンク情報を、システムから脱退した後も消去されずに残るハードディスク等に記憶させておくことにより、システムへの再参加時に、ハードディスク等に記憶させておいたリンク情報に含まれるノード情報に基づいて、システム再参加時に利用するリンク情報を取得することにより、特定のノード装置の処理負担を課すことなく、システム参加時に最新のリンク情報を取得することができるノード装置、記憶制御プログラム、及び情報記憶方法を提供することを課題とする。 The present invention has been made in view of the above points, and the link information used when participating in the system is stored in a hard disk or the like that remains unerased after withdrawal from the system. Thus, when re-joining the system, the processing load of a specific node device is obtained by acquiring link information used at the time of re-joining the system based on the node information included in the link information stored in the hard disk or the like. It is an object of the present invention to provide a node device, a storage control program, and an information storage method that can acquire the latest link information at the time of participation in the system without imposing a service.
上記課題を解決するため、請求項1に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、当該複数のノード装置によって共用される複数の共用情報が、複数のノード装置により構成されるオーバーレイネットワークにより、分散されて保存されている情報通信システムに含まれる前記ノード装置において、前記オーバーレイネットワークを介して前記ノード装置と通信をする際に使用するリンク情報であって、複数の特定のノード装置を示すノード情報を含む前記リンク情報を記憶する揮発性の第1記憶手段と、前記第1記憶手段を備えるノード装置自身が前記情報通信システムに参加している際に、前記第1記憶手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第2記憶手段に記憶させる第1記憶制御手段と、前記第1記憶手段を備えるノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報のいずれかを用いて、前記第1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得手段であって、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報を読み出すノード情報読み出し手段と、読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参加する旨を知らせる参加通知を送信する参加通知手段と、前記参加通知の送信が成功したか否かを判断する参加通知送信可否判断手段と、を有し、前記参加通知送信可否判断手段により前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記リンク情報を取得する前記リンク情報取得手段と、前記リンク情報取得手段により取得されたリンク情報を、前記第1記憶手段に記憶させる第2記憶制御手段と、を有することを特徴とするノード装置である。
In order to solve the above problem, the invention according to
上記課題を解決するために、請求項2に記載の発明は、請求項1に記載のノード装置において、前記第1記憶手段は、前記リンク情報として、前記オーバーレイネットワークを介して、前記情報通信システムに含まれる他の前記ノード装置との通信に使用する複数の前記ノード情報を含むテーブル情報を記憶し、前記第1記憶制御手段は、前記第1記憶手段に記憶された前記テーブル情報を前記所定のタイミングで前記第2記憶手段に記憶させ、前記ノード情報読み出し手段は、前記第2記憶手段に記憶された前記テーブル情報に含まれる前記ノード情報を読み出し、前参加通知手段は、前記ノード情報読み出し手段により前記テーブル情報から読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記参加通知を送信し、前記リンク情報取得手段は、前記参加通知送信可否判断手段により前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記テーブル情報を取得前記第2記憶制御手段は、前記リンク情報取得手段により取得された前記テーブル情報を前記第1記憶手段に記憶させることを特徴とするノード装置である。 In order to solve the above-mentioned problem, according to a second aspect of the present invention, in the node device according to the first aspect, the first storage means uses the information communication system as the link information via the overlay network. Table information including a plurality of the node information used for communication with the other node devices included in the first node, and the first storage control unit stores the table information stored in the first storage unit as the predetermined information. The node information reading means reads the node information included in the table information stored in the second storage means, and the previous participation notifying means reads the node information. Based on the node information read from the table information by the means, the node device related to the node information The link information acquisition means transmits the participation notification from the node device that is the transmission destination of the participation notification when the participation notification transmission availability determination means determines that the participation notification is successfully transmitted. The table information stored in the destination node device is acquired. The second storage control means stores the table information acquired by the link information acquisition means in the first storage means. Device.
上記課題を解決するため、請求項3に記載の発明は、請求項1または請求項2に記載のノード装置において、前記第1記憶手段は、前記複数の共用情報のうち、当該ノード装置自身が管理すべき前記共用情報を保存する前記ノード装置の所在を示す所在情報と、前記複数のノード装置で共用される前記複数の共用情報にかかる共用情報関連情報と、を記憶し、前記第1記憶制御手段は、前記第1記憶手段に記憶された前記所在情報及び前記共用情報関連情報を、前記所定のタイミングで前記第2記憶手段に記憶させ、前記第2記憶制御手段は、当該ノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記所在情報及び前記共用情報関連情報を再び前記第1記憶手段に記憶させることを特徴とするノード装置である。
In order to solve the above-mentioned problem, the invention according to
これによれば、情報通信システムに参加している各ノード装置は、システムに参加中に、取得したキャッシュ情報とカタログ情報を、RAM等の第1記憶手段から、第2記憶手段に記憶させておき、システムから脱退した後、再びシステムに参加する際には、当該第2記憶手段に記憶しておいたキャッシュ情報とカタログ情報を第1記憶手段に記憶して、利用することができるので、よりスムーズにシステムに参加することができる。 According to this, each node device participating in the information communication system stores the acquired cache information and catalog information from the first storage unit such as the RAM to the second storage unit while participating in the system. When leaving the system and joining the system again, the cache information and catalog information stored in the second storage means can be stored in the first storage means and used. You can participate in the system more smoothly.
上記課題を解決するため、請求項4に記載の発明は、請求項1乃至3のいずれか一項に記載のノード装置において、前記所定のタイミングは、所定時間が経過する都度、或いは、前記情報通信システムに含まれる他の前記ノード装置との情報の授受に起因して、前記第1記憶手段に記憶された前記リンク情報、前記所在情報又は前記共用情報関連情報が更新される都度、或いは、ノード装置自身の電源がオフとされる際、の少なくとも何れかであることを特徴とするノード装置である。 In order to solve the above-mentioned problem, according to a fourth aspect of the present invention, in the node device according to any one of the first to third aspects, the predetermined timing is set every time a predetermined time elapses or the information. Each time the link information, the location information, or the shared information related information stored in the first storage means is updated due to the exchange of information with the other node devices included in the communication system, or When the power of the node device itself is turned off, it is at least one of the node devices.
これによれば、システムに参加しているときに、リンク情報等を確実に第2記憶手段に記憶することができる。 According to this, when participating in the system, link information and the like can be reliably stored in the second storage means.
上記課題を解決するため、請求項5に記載の発明は、請求項1乃至4のいずれか一項に記載のノード装置において、前記情報通信システムは、オーバーレイネットワークによって前記各ノード装置が接続され、前記リンク情報に含まれる前記ノード情報は、当該ノード情報にかかるノード装置を、前記オーバーレイネットワークの識別情報空間にて一意に識別するためのノードIDと、当該ノード装置の宛先情報と、を含むことを特徴とするノード装置である。
In order to solve the above problem, the invention according to claim 5 is the node device according to any one of
これによれば、他のノード装置と通信に必須である当該他のノード装置のノードID及び宛先情報を含むノード情報を記憶するので、スムーズにピアツーピア型の情報通信システムに再参加することができる。 According to this, since the node information including the node ID and destination information of the other node device essential for communication with the other node device is stored, it is possible to smoothly rejoin the peer-to-peer information communication system. .
上記課題を解決するため、請求項6に記載の発明は、請求項1乃至5のいずれか一項に記載のノード装置において、前記第2記憶手段は、ハードディスク、又はフラッシュメモリ、又はEEPROM、又はバックアップ電源付き半導体メモリであることを特徴とするノード装置である。
In order to solve the above problem, the invention according to
これによれば、第2の記憶手段が、ハードディスク、又はフラッシュメモリ、又はEEPROM、又はバックアップ電源付き半導体メモリの何れであっても、システムに参加中に、他の各ノード装置と通信をする際に使用するリンク情報を、RAM等の第1記憶手段から、第2記憶手段に記憶させておくことができ、再びシステムに参加する際に、当該第2記憶手段に記憶されたリンク情報に基づいて最新のリンク情報を取得することができる。 According to this, when the second storage means is any one of a hard disk, a flash memory, an EEPROM, or a semiconductor memory with a backup power source, when communicating with each other node device while participating in the system. Can be stored in the second storage means from the first storage means such as RAM, and when joining the system again, based on the link information stored in the second storage means The latest link information can be acquired.
上記課題を解決するため、請求項7に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、当該複数のノード装置によって共用される複数の共用情報が、複数のノード装置により構成されるオーバーレイネットワークにより、分散されて保存されている情報通信システムにおける前記ノード装置のコンピュータに、前記オーバーレイネットワークを介して前記ノード装置と通信をする際に使用するリンク情報であって、複数の特定のノード装置を示すノード情報を含む前記リンク情報を揮発性の第1記憶手段に記憶するステップと、前記第1記憶手段を備えるノード装置自身が前記情報通信システムに参加している際に、前記第1記憶手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第2記憶手段に記憶させる第1記憶制御ステップと、前記第1記憶手段を備えるノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報のいずれかを用いて、前記第1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得ステップであって、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報を読み出すステップと、読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参加する旨を知らせる参加通知を送信する参加通知ステップと、前記参加通知の送信が成功したか否かを判断する参加通知送信可否判断ステップと、を有し、前記参加通知送信可否判断ステップにより前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記リンク情報を取得する前記リンク情報取得ステップと、取得された前記リンク情報を、前記第1記憶手段に記憶させる第2記憶制御ステップと、を実行させることを特徴とする記憶制御プログラムである。 In order to solve the above problem, an invention according to claim 7 includes a plurality of node devices that can communicate with each other via a network, and a plurality of pieces of shared information shared by the plurality of node devices includes a plurality of node devices. Link information used when communicating with the node device via the overlay network to a computer of the node device in an information communication system distributed and stored by an overlay network configured by Storing the link information including the node information indicating the specific node device in the volatile first storage means, and the node device itself including the first storage means participating in the information communication system The link information stored in the first storage means is stored in a nonvolatile second storage at a predetermined timing. The first storage control step to be stored in the stage and the node device itself provided with the first storage means are stored in the second storage means when rejoining the information communication system after leaving the information communication system. A link information acquisition step for acquiring the link information to be stored in the first storage means using any of the node information included in the link information, wherein the link information is stored in the second storage means A step of reading the node information included in the link information, and transmitting a participation notification notifying the node device related to the node information that the node information is to be joined based on the read node information. A participation notification step; and a participation notification transmission permission determination step for determining whether or not the transmission of the participation notification is successful. When it is determined in the notification transmission permission determination step that the participation notification is successfully transmitted, the link information stored in the transmission destination node device is acquired from the node device that is the transmission destination of the participation notification. A storage control program that executes the link information acquisition step and the second storage control step of storing the acquired link information in the first storage means.
上記課題を解決するため、請求項8に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、当該複数のノード装置によって共用される複数の共用情報が、複数のノード装置により構成されるオーバーレイネットワークにより、分散されて保存されている情報通信システムにおける情報記憶方法において、前記オーバーレイネットワークを介して前記ノード装置と通信をする際に使用するリンク情報であって、複数の特定のノード装置を示すノード情報を含む前記リンク情報を揮発性の第1記憶手段に記憶する工程と、前記第1記憶手段を備えるノード装置自身が前記情報通信システムに参加している際に、前記第1記憶手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第2記憶手段に記憶させる第1記憶制御工程と、前記第1記憶手段を備えるノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報を用いて、前記第1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得工程であって、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報のいずれかを読み出す工程と、読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参加する旨を知らせる参加通知を送信する工程と、前記参加通知の送信が成功したか否かを判断する参加通知送信可否判断工程と、を有し、前記参加通知送信可否判断工程により前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記リンク情報を取得する前記リンク情報取得工程と、取得された前記リンク情報を、前記第1記憶手段に記憶させる第2記憶制御工程と、を有することを特徴とする情報記憶方法である。
In order to solve the above-described problem, an invention according to
本発明によれば、情報通信システムに参加している各ノード装置は、他の各ノード装置と通信をする際に使用するノード情報からなるテーブル情報等のリンク情報を、RAM等の第1記憶手段から、第2記憶手段に記憶させておき、システムから脱退した後、再びシステムに参加する際には、当該第2記憶手段に記憶しておいたリンク情報に含まれるノード情報を用いて、システムに参加している他のノード装置から、第1記憶手段に記憶すべきリンク情報を取得するよう構成したので、特定のノード装置のみが過大な処理負担を受けることなく、システムに参加する際に、最新のリンク情報を取得することができる。 According to the present invention, each node device participating in the information communication system stores link information such as table information including node information used when communicating with each other node device in a first storage such as a RAM. From the means, when storing in the second storage means, and withdrawing from the system, and joining the system again, using the node information included in the link information stored in the second storage means, Since the link information to be stored in the first storage means is acquired from other node devices participating in the system, only a specific node device participates in the system without receiving an excessive processing burden. In addition, the latest link information can be acquired.
<1.コンテンツ配信システムの構成等>
始めに、図1を参照して、複数のノード装置で情報を共用する情報通信システムとしてのコンテンツ配信システムの概要構成等について説明する。
<1. Content distribution system configuration>
First, with reference to FIG. 1, a schematic configuration and the like of a content distribution system as an information communication system in which information is shared by a plurality of node devices will be described.
図1は、本実施形態に係るコンテンツ配信システムSにおける各ノード装置の接続態様の一例を示す図である。 FIG. 1 is a diagram illustrating an example of a connection mode of each node device in the content distribution system S according to the present embodiment.
図1の下部枠501内に示すように、中継装置としてのIX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者の装置5、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線(例
えば、電話回線や光ケーブル等)7等によって、インターネット等のネットワーク(現実世界のネットワーク)8が構築されている。
As shown in the
そして、このようなネットワーク8を介して相互に接続された各ノード装置1a,1b,1c・・・1x,1y,1z・・には、IP(Internet Protocol)アドレス及びポート番号の宛先情報と、各ノード装置を特定し、一のノード装置を一意に識別するための固有の値としてのノードID(IDentifier)と、がノード情報として割り当てられている。これらノードIDは複数のノード装置間で重複しないものである。なお、以下の説明において、ノード装置1a,1b,1c・・・1x,1y,1z・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置1という場合がある。
The
また、コンテンツ配信システムSにおいて、当該ノード装置1が、他のノード装置1の持つ情報にアクセスする際には、その情報を持つノード装置1のIPアドレス等の宛先情報を知っていなければならない。
Further, in the content distribution system S, when the
このようなシステムの一例として、DHTを利用したアルゴリズムによって、図1の上部枠500内に示すような、オーバーレイネットワーク9が構築されることになる。つまり、このオーバーレイネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するネットワークを意味し、本実施形態のコンテンツ配信システムSは、当該オーバーレイネットワーク9に参加する複数のノード装置1により構成されることになる。
As an example of such a system, an
ノードIDは、各ノード装置を一意に識別することができるものであればよく、例えば、工場出荷時に予め割り振られる製造番号やマシン名等を共通のハッシュ関数(ハッシュアルゴリズム)によりハッシュ化して得たハッシュ値をGUID(Global Unique IDentifier)として用い、これをノードIDとして各ノード装置1に用いることが可能である。
The node ID only needs to be able to uniquely identify each node device. For example, the node ID is obtained by hashing a production number or a machine name allocated in advance at the time of factory shipment using a common hash function (hash algorithm). It is possible to use the hash value as a GUID (Global Unique IDentifier) and use it as a node ID for each
またノードIDは、コンテンツ配信システムSにおけるノード装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、2^128≒340×10^36台のノード装置を運用できる。実際には既知のハッシュ関数であるSHA−1(Secure Hash Algorithm 1)(生成桁数160bit)やMD5(Message Digest 5)(
生成桁数120Bit)を用いることが想定される。このように共通のハッシュ関数により求められたノードIDは、当該製造番号やマシン名が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
Also, the node ID needs to have a number of bits that can accommodate the maximum number of node devices in the content distribution system S. For example, if the number is 128 bits, 2 ^ 128≈340 * 10 ^ 36 node devices can be operated. Actually, SHA-1 (Secure Hash Algorithm 1) (number of generated digits 160 bits) or MD5 (Message Digest 5) (known hash functions)
It is assumed that the number of generated digits (120 bits) is used. Thus, the node ID obtained by the common hash function has a very low probability of having the same value if the serial number or the machine name is different. Since the hash function is publicly known, detailed description thereof is omitted.
<1−2.ノード装置の構成及び機能>
次に、ノード装置1の構成及び機能について説明する。図2は、ノード装置1の概要構成例を示すブロック図である。同図に示すように、実施形態に係るノード装置1は、演算機能を有するCPUと、テーブル情報(リンク情報の一例)、キャッシュ情報(所在情報の一例)、カタログ情報(共用情報関連情報の一例)等を記憶する作業用RAM(Random Access Memory)(第1記憶手段の一例)と、各種データ及びプログラム(本発明の記憶制御プログラムを含む)を記憶するROM等と、から構成されたコンピュータとしての制御部11と、プログラム等を記憶保存(格納)するためのHDD等から構成された記憶部12(コンテンツデータは、保存されていないノード装置1もある)と、受信したコンテンツデータを一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、当該映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16と、上記デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部17と、当該音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18と、ネットワーク8を通じて他のノード装置1との間の情報の通信制御を行なうための通信部20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部11に対して与える入力手段としての入力部(例えば、キーボード、マウス、或いは、操作パネル等)21と、コンテンツデータ、及びテーブル情報、キャッシュ情報、カタログ情報などを記憶する書き換え可能な不揮発性の記憶手段であるハードディスク記憶部22(第2記憶手段の一例)を備えて構成され、制御部11、記憶部12、バッファメモリ13、デコーダ部14、通信部20、及びハードディスク記憶部22はバス23を介して相互に接続されている。
<1-2. Configuration and function of node device>
Next, the configuration and function of the
そして、制御部11におけるCPUが記憶部12等に記録された各種プログラムを実行することにより、制御部11が、実施形態に係るノード装置1としての全体動作を統括制御し、上記各構成部材と協動して、第1記憶手段、第2記憶手段、第1記憶制御手段、第2記憶制御手段、第3記憶制御手段、リンク情報取得手段、ノード情報読み出し手段、参加通知手段、参加通知送信可否判断手段、リンク情報受信手段、ノード情報有無判断手段、ノード情報選択手段、削除手段、共用情報記憶手段、公開通知手段、第1保存時間判断手段、第2保存時間判断手段、及び公開通知送信可否判断手段として機能する。
Then, the CPU in the control unit 11 executes various programs recorded in the storage unit 12 or the like, so that the control unit 11 performs overall control of the overall operation as the
また、コンテンツ配信システムSに初めて参加するノード装置が最初にアクセスするコンタクト用ノード装置1CCは、本発明の参加管理ノード装置の一例であり、当該システムに参加しながら、システムに未参加のノード装置1から参加メッセージを受信すると、当該ノード装置1に自己が記憶するテーブル情報を送信する。
The contact node device 1CC that is first accessed by the node device that first participates in the content distribution system S is an example of the participation management node device of the present invention, and the node device that has not participated in the system while participating in the system. When the participation message is received from 1, the table information stored by itself is transmitted to the
以下、本実施形態に係る分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したアルゴリズム及びコンテンツ配信の具体的なしくみについて説明する中で、本発明の第1記憶手段の一例である制御部11のRAM、及び第2記憶手段の一例であるハードディスク記憶部22に記憶されるテーブル情報等について詳細に説明する。
Hereinafter, an algorithm using a distributed hash table (hereinafter referred to as DHT (Distributed Hash Table)) according to the present embodiment and a specific mechanism of content distribution will be described as an example of the first storage unit of the present invention. The table information and the like stored in the RAM of the control unit 11 and the hard
<1−3.DHTの概要>
以下に、本実施形態に係る分散ハッシュテーブル(以下、DHT(Distributed Hash Table)という)を利用したアルゴリズムについて説明する。
<1-3. Overview of DHT>
Hereinafter, an algorithm using a distributed hash table (hereinafter referred to as DHT (Distributed Hash Table)) according to the present embodiment will be described.
本実施形態は、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提としており、このオーバーレイネットワーク9(図1の上部枠500内)に配置されたノード装置1が、オーバーレイネットワーク9に参加しているノード装置1、言い換えれば、コンテンツ配信システムSに参加しているノード装置1である。
This embodiment is based on an
このようなコンテンツ配信システムSへの参加は、参加していないノード装置1が、他のノード装置との通信に使用するためのテーブル情報(リンク情報の一例)であって、システムに参加しているノード装置(コンタクト用ノード装置1CCを含む)が有する最新のテーブル情報を取得する必要があるが、本発明は、コンテンツ配信システムSに参加しているときに、制御部11のRAMに記憶して使用していたテーブル情報を、ハードディスク記憶部22に保存しておき、再度システムに参加する際には、当該ハードディスク記憶部22に保存したテーブル情報に含まれるノード情報に基づいて、最新のテーブル情報を取得するよう構成する。具体的には、ハードディスク記憶部22に保存したテーブル情報に含まれるノード情報にかかるノード装置1に対してシステムへの参加を要求して、テーブル情報をコピーさせてもらうよう構成することで、固定のコンタクト用ノード装置1CCに処理負担を課すことなく、最新のテーブル情報を取得することができるものである。
Participation in such a content distribution system S is table information (an example of link information) that is used by a
次に、図3及び図4を参照して、テーブル情報の作成手法の一例について説明する。なお、当該テーブル情報は、複数のノード装置間を転送しつつ作成(更新)されるので、ルーティングテーブルとも呼ぶ。 Next, an example of a table information creation method will be described with reference to FIGS. 3 and 4. The table information is also created (updated) while being transferred between a plurality of node devices, and is also called a routing table.
図3は、ルーティングテーブル(テーブル情報)が作成される様子の一例を示す図であり、図4は、ルーティングテーブル(テーブル情報)の一例を示す図である。 FIG. 3 is a diagram illustrating an example of how a routing table (table information) is created, and FIG. 4 is a diagram illustrating an example of a routing table (table information).
まず、図4(A)に示す如く、ID空間を幾つかのエリアに分割する。なお、このエリアはルーティングテーブルを作成するためにID空間を分割したものであって、実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは4分割とし、IDをビット長16Bitの4進数で表すこととした。そして、ノード装置1NのノードIDを「10230210」とし、このノード装置1Nのルーティングテーブルを作る例について説明する。 First, as shown in FIG. 4A, the ID space is divided into several areas. In this area, the ID space is divided in order to create a routing table. Actually, about 16 divisions are often used. However, for the sake of simplicity of explanation, the area is assumed to be four divisions, and the ID is a bit. It was expressed as a long 16-bit quaternary number. An example in which the node ID of the node device 1N is “10230210” and the routing table of the node device 1N is created will be described.
(レベル1のルーティング)
まず、ID空間を4分割とすると、それぞれのエリアは4進数で表すと最大桁が異なる4つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」(Xは0から3の
自然数、以下同様。)で分けられる。あるノード装置(以下、ノード装置1Nと言う。)は、当該ノード装置1N自身のノードIDが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置1Nは、自分の存在するエリア(すなわち、「1XXXXXXX」のエリア)以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレス等の宛先情報をレベル1のテーブルに記憶する。図4(A)がレベル1のテーブルの一例である。2列目はノード装置1N自身を示しているため、IPアドレス等の宛先情報を記憶する必要は無い。
(
First, if the ID space is divided into four areas, each area is represented by four areas “0XXXXXXX”, “1XXXXXXX”, “2XXXXXXX”, “3XXXXXXX” (X is a natural number of 0 to 3, below) The same). Since a node ID of the node device 1N itself is “10230210”, a certain node device (hereinafter referred to as the node device 1N) exists in the area “1XXXXXXX” in the lower left in the drawing. Then, the node device 1N appropriately selects the
(レベル2のルーティング)
次に、図3(B)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレス等の宛先情報をレベル2のテーブルに記憶する。図4(B)がレベル2のテーブルの一例である。1列目はノード装置1N自身を示しているため、宛先情報を記憶する必要は無い。
(
Next, as shown in FIG. 3B, among the areas divided into four by the above routing, the area where the user exists is further divided into four, and further four areas “10XXXXXXX” “11XXXXXXX”, “12XXXXXXX”, “13XXXXXXX” ". Then, similarly to the above, the
(レベル3のルーティング)
さらに、図3(C)に示す如く、上記ルーティングによって4分割したエリアのうち、自分の存在するエリアを更に4分割し、更に4つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置1を適当に選択し、当該ノードIDのIPアドレス等の宛先情報をレベル1のテーブルに記憶する。図4(C)がレベル3のテーブルの一例である。3列目はノード装置1N自身を示しているため、IPアドレス等の宛先情報を記憶する必要は無く、2列目、4列目はそのエリアにノード装置が存在しないため空白となる。
(
Further, as shown in FIG. 3C, among the areas divided into four by the above routing, the area where the user exists is further divided into four, and further four areas “100XXXX”, “101XXXX”, “102XXXX”, “103XXXX” And divide. Then, similarly to the above, the
このようにして、レベル4以下レベル8まで同様にルーティングテーブルを図4(D)に示す如く作成することにより、16bitのID全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。 In this way, all the 16-bit IDs can be covered by creating a routing table as shown in FIG. As the level goes up, white space becomes more noticeable in the table.
このように、各ノード装置1は、他のノード装置1のIPアドレス等の宛先情報と、ノードID空間のエリア、すなわちDHTの各レベル及び各列と、を対応付けて記憶している。つまり、各ノード装置1は、複数に分けられた各エリアに属する一のノードのIPアドレス等の宛先情報を、夫々のエリアに対応付けて一の段階(レベル)として規定し、さらに自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属する一のノード装置1のIPアドレス等の宛先情報を、夫々のエリアに対応付けて次の段階(レベル)として規定するルーティングテーブル(以下、テーブル情報と呼ぶ)を制御部11のRAMに記憶している。
As described above, each
実際に、コンテンツ配信システムSに未参加のノード装置1が、コンテンツ配信システムSに参加して、上述したようなテーブル情報を取得するには、まず、過去にシステムに参加したことがなく、初めてシステムに参加する際(新規参加)には、コンタクト用ノード装置1CCに対して「参加メッセージ」(参加通知の一例)を送信して、コンタクト用ノード装置1CCからテーブル情報を取得する(図5(A)参照)。
Actually, in order for the
そして、ノード装置1は、コンタクト用ノード装置1CCから取得したテーブル情報を、システムに参加している間中制御部11のRAMに記憶して、コンテンツの検索や、コンテンツの公開の際に行なわれるメッセージ転送の際に、利用し、また、動的に最新の情報に書き換えていく(図5(B)参照)。具体的には、メッセージ転送やコンテンツ配信等の際に、他のノード装置1の存在を知ったタイミングで、その装置のノードIDがテーブルのどのマス目に適合するかを判断して、各テーブルの内容を追記(更新)していく。また、他のノード装置が脱退したことを知ったタイミングで、当該装置のノードIDをテーブルから削除する。
Then, the
そして、ノード装置1は、コンテンツ配信システムSに参加中に、当該テーブル情報を、制御部11のRAMからハードディスク記憶部22に保存しておく(図5(C)参照)。そして、ノード装置1は、システムから脱退後、システムに再度参加する際には、コンタクト用ノード装置1CCではなく、当該ハードディスク記憶部22に保存したテーブル情報に記載されたノード情報の中から、「参加メッセージ」を送信するノード情報を選択する。具体的には、ハードディスク記憶部22に保存したテーブル情報を、作業のため一旦制御部11のRAMに転記(記憶)し(図5(D)矢印参照)、当該テーブル情報の中からノード装置を選択し、選択されたノード情報のノードIDをキーとするルーティングに従って、選択されたノード装置1に対して「参加メッセージ」(自己のノード情報、選択されたノード情報のノードIDを含む)を送信し、テーブル情報を受信する(図5(D)参照)。受信したテーブル情報を、制御部11のRAMに記憶して、他のノード装置との情報転送に利用する。
The
このように、テーブル情報はメッセージやコンテンツの配信等の情報の授受によって、常に動的に書き換えられているので、現在システムに参加しているノード装置1からテーブル情報をもらうことで、システムから脱退したノード装置のノード情報が比較的少なく、システムに参加しているノード装置のノード情報が比較的多い、最新のテーブル情報を得ることができる。特に、システムへの再参加の場合には、コンタクト用ノード装置1CCに処理負担を課すことがないので、より有用なシステムを提供できる。
In this way, the table information is always dynamically rewritten by exchanging information such as message and content distribution. Therefore, the table information is withdrawn from the system by obtaining the table information from the
また、現在システムに参加しているノード装置1を、過去にシステムに参加していたときに使用していたテーブル情報(ハードディスク記憶部22に記憶されているテーブル情報)に基づいて選択する際、自己のノードIDに比較的遠いノードIDにかかるノード装置1を選択するよう構成すれば、自己のノード情報を含む「参加メッセージ」を、比較的多くのノード装置1間を転送させることができ、自己の存在を比較的多くのノード装置に知らせることができる。
Further, when selecting the
<1−4.コンテンツの保存と配信>
次に、各ノード装置1で共用されるコンテンツの保存と、当該コンテンツの配信について説明する。コンテンツ配信システムSに参加している複数のノード装置1には、1のノード装置1から他のノード装置1に配信される共用情報としてのコンテンツ(例えば、映画や音楽等)データが分散して保存(格納)されているが、当該コンテンツにも、それぞれのコンテンツ毎にユニーク(固有)なコンテンツIDが付与される。このコンテンツIDは、ノードIDと同様の長さ(例えば、128bit等)であって、コンテンツをコンテンツ配信システムSに投入してノード装置1に登録を行なうサーバ100によって決定され各コンテンツに付与される。
<1-4. Content storage and distribution>
Next, storage of content shared by each
図6は32bitでノードID及びコンテンツIDを付与し、ID空間上に図示したものである。図中黒点はノードIDを、黒ひし形はコンテンツIDを示し、反時計回りでIDが増加するものとする。 In FIG. 6, a node ID and a content ID are assigned in 32 bits and are illustrated on the ID space. In the figure, a black dot indicates a node ID, a black diamond indicates a content ID, and the ID increases counterclockwise.
図6に示すようなID空間において、どのノード装置1に、どのコンテンツが管理されるかは、コンテンツIDとノードIDとが「所定の関係」にあるか否かによって決定される。ここで、「所定の関係」とは、一定の規則の下に決定されるが、本実施形態においては、「あるコンテンツIDを有するコンテンツを管理するノード装置は、そのコンテンツIDに最も近接するノードIDを有するノード装置1である」という規則とする。つまり、コンテンツIDと最も近接する(例えば、上位桁がより多く一致する)ノードIDであって、コンテンツIDの値と同じかそれ以下の値となるノードIDを有するノード装置1が、当該コンテンツを保存するノード装置1の所在情報を管理することとする。
In the ID space as shown in FIG. 6, which content is managed by which
例えば、「所定の関係」は、当該コンテンツIDを超えず、コンテンツIDとノードIDとの差が一番少ないものと定義する。同図に示す例では、この定義に基づいて、コンテンツIDaは、ノードIDaを有するノード装置に管理され、コンテンツIDbは、ノードIDbを有するノード装置に管理される。この他、各コンテンツの管理を各ノード装置1に割り振る際に、一貫していればどのような定義であってもよい。
For example, the “predetermined relationship” is defined as one that does not exceed the content ID and has the smallest difference between the content ID and the node ID. In the example shown in the figure, based on this definition, the content IDa is managed by the node device having the node IDa, and the content IDb is managed by the node device having the node IDb. In addition, any definition may be used as long as it is consistent when the management of each content is allocated to each
また、コンテンツIDc、IDdは、ノードIDcを有するノード装置1に管理されるように、あるノード装置は複数の異なるコンテンツデータを管理することもある。なお、ここで「管理」というのは、コンテンツを保存/保持していることを意味するのではなく、「コンテンツのデータ(コンテンツデータ)が何れのノード装置1に保存されているかを知っている」、すなわち、コンテンツの所在情報として、コンテンツを保持するノード装置のIPアドレス等の宛先情報を記憶(キャッシュ)していること言う。
In addition, a certain node device may manage a plurality of different content data so that the content IDc and IDd are managed by the
表1に、各ノード装置1が制御部11のRAMに記憶するキャッシュ情報の一例を示す。
ノード装置1は、コンテンツを保持するノード装置が、新しいコンテンツをコンテンツ配信システムS上に参加する他のノード装置に見えるように公開する際に送信する「公開メッセージ」(公開通知の一例)に含まれるIPアドレス等の宛先情報(コンテンツの所在情報)を受信して取得し、制御部11のRAMに記憶されているキャッシュ情報(表1)に書き込む。なお、本実施形態では、コンテンツIDと所定の関係を有するノードIDにかかるノード装置1のみならず、「公開メッセージ」が各ノード装置間を転送する際の経路上にあるノード装置1も、当該コンテンツの所在情報を制御部11のRAMにキャッシュ情報として記憶するよう構成する。
The
以下、コンテンツの公開と、ノード装置の制御部11のRAMにキャッシュ情報が記憶される工程について詳細に説明する。 Hereinafter, the process of publishing contents and storing cache information in the RAM of the control unit 11 of the node device will be described in detail.
<1−5.コンテンツの公開とコンテンツの所在情報の記憶>
図7は、DHTにより新しいコンテンツが公開される様子の一例を示す図である。
<1-5. Publication of content and storage of content location information>
FIG. 7 is a diagram illustrating an example of how new content is released by DHT.
コンテンツを保持するノード装置は、コンテンツのタイトル等からコンテンツIDを求め、当該コンテンツIDと同じノードIDを持つノード装置に向けて(このノード装置が実在するか否かはこの時点ではわからない。)「公開メッセージ」を送信する。 The node device that holds the content obtains the content ID from the content title or the like and is directed to the node device having the same node ID as the content ID (whether or not this node device actually exists is unknown at this time). Send "public message".
ここでは、ノードID「12003030」のノード装置1aが、自身が保持するコンテンツID「31330012」を有するコンテンツを公開する際の手順について説明する。 Here, a procedure when the node device 1a having the node ID “12003030” publishes the content having the content ID “31330012” held by itself will be described.
まず、ノード装置1aは、自己が制御部11のRAMに記憶しているテーブル情報(図4(D)参照)のレベル1のテーブルを参照して、コンテンツID「31330012」と同じエリアのノードIDを持つノード装置に対して「公開メッセージ」を送信する。つまり、コンテンツID「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置1のうち、IPアドレス等の宛先情報を知っている(すなわち、テーブル情報にIPアドレス等の宛先情報が記憶されている)ノード装置1bに対して「公開メッセージ」を送信する。
First, the node device 1a refers to the
図7に示す例に拠れば、ノードIDが「30100000」であるノード装置1bのIPアドレス等の宛先情報がノード装置1aのテーブル情報に記憶されていたので、ノード装置1aは、ノードIDが「30100000」であるノード装置1bに対して「公開メッセージ」を送信する。
According to the example shown in FIG. 7, since the destination information such as the IP address of the
次に、「公開メッセージ」を受信したノード装置1bは、当該ノード装置1b自身が制御部11のRAMに記憶しているテーブル情報のレベル2のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置1のうち、IPアドレス等の宛先情報を知っているノード装置1c(ノードID「31012001」)に対して「公開メッセージ」を転送する。
Next, the
このように、コンテンツIDの桁を上から順に適合していく要領で「公開メッセージ」の転送が進み、最終的にノード装置1dに辿り着く。 In this way, the transfer of the “public message” proceeds in the manner of adapting the digits of the content ID in order from the top, and finally reaches the node device 1d.
そして、最終的に辿り着いた当該ノード装置1dは、「公開メッセージ」に含まれるコンテンツID、コンテンツを保持するノード装置1aのIPアドレス「IPアドレス1」をコンテンツの所在情報として、自己の制御部11のRAMに記憶しているキャッシュ情報に記憶する。また、本実施形態では、コンテンツを保持するノード装置1aから、テーブル情報に従って、「公開メッセージ」を転送(中継)したノード装置1b及び1cも、「公開メッセージ」に含まれるコンテンツID、コンテンツを保持するノード装置1aのIPアドレス「IPアドレス1」をコンテンツの所在情報として、自己の制御部11のRAMに記憶しているキャッシュ情報に記憶する。
Then, the node device 1d finally arrived has its own control unit using the content ID included in the “public message” and the IP address “
そして、コンテンツの視聴を所望する際にも、コンテンツIDを含む当該コンテンツの所在を問い合わせる「検索メッセージ」が、当該「検索メッセージ」に含まれるコンテンツIDをキーとするルーティングに従って、各ノード装置間を転送し、当該コンテンツのキャッシュ情報をRAMに記憶しているノード装置に辿り着くと、当該ノード装置からコンテンツの所在情報として、コンテンツを保持するノード装置のIPアドレスを受信して、これを受けたノード装置が、コンテンツを保持するノード装置にアクセスして配信を要求する。図7に示すの例の場合、ノード装置1eから送信された検索対象のコンテンツのコンテンツID「31330012」を含む「検索メッセージ」は、他のノード装置間を経由して当該コンテンツID「31330012」の所在情報を有するノード装置1cに辿りつき、ノード装置1eはノード装置1cからコンテンツID「31330012」にかかるコンテンツの所在情報として、ノード装置1aの「IPアドレス1」を取得する。そして、ノード装置1eはこのIPアドレス1に従って、ノード装置1aに対してコンテンツの配信を要求し、ノード装置1aからコンテンツの配信を受ける。
When a user wishes to view content, a “search message” that inquires about the location of the content including the content ID passes between the node devices according to the routing using the content ID included in the “search message” as a key. When the node device storing the content cache information in the RAM is transferred, the IP address of the node device holding the content is received as the content location information from the node device and received. The node device accesses the node device holding the content and requests distribution. In the case of the example illustrated in FIG. 7, the “search message” including the content ID “31330012” of the search target content transmitted from the node device 1 e is transmitted between the other node devices with the content ID “31330012”. The node device 1e arrives at the node device 1c having the location information, and acquires “
コンテンツの配信を希望するノード装置1eが、コンテンツの所在情報を有するノード装置1cから、コンテンツの所在情報を受信して情報の授受を行なうことにより、互いの存在を知ることとなり、ノード装置1eでは、制御部11のRAMに記憶されたテーブル情報に、ノード装置1cのノード情報(IPアドレス等の宛先情報、ノードID)が追記され、ノード装置1cでも同様にして、制御部11のRAMに記憶されたテーブル情報にノード装置1eのノード情報が無ければ、当該ノード装置1eのノード情報が追記される。 The node device 1e desiring to distribute the content receives the content location information from the node device 1c having the content location information and exchanges the information, thereby knowing the existence of each other. The node information (the destination information such as the IP address and the node ID) of the node device 1c is added to the table information stored in the RAM of the control unit 11, and is stored in the RAM of the control unit 11 in the same manner. If there is no node information of the node device 1e in the table information, the node information of the node device 1e is added.
また、コンテンツを保持するノード装置1aと、コンテンツの配信を希望するノード装置1eとが、コンテンツの配信という情報の授受を行なうことにより、互いの存在を知ることとなり、ノード装置1aでは、制御部11のRAMに記憶されたテーブル情報に、ノード装置1eのノード情報が無ければ、当該ノード装置1eのノード情報が追記され、ノード装置1eでも同様にして、制御部11のRAMに記憶されたテーブル情報にノード装置1aのノード情報が無ければ、当該ノード装置1aのノード情報が追記される。 Also, the node device 1a that holds the content and the node device 1e that desires to distribute the content know each other by exchanging information called content distribution. In the node device 1a, the control unit If the node information of the node device 1e is not included in the table information stored in the RAM of the node 11, the node information of the node device 1e is additionally written. Similarly, the table stored in the RAM of the control unit 11 is also stored in the node device 1e. If there is no node information of the node device 1a in the information, the node information of the node device 1a is appended.
本実施形態では、コンテンツの配信を所望し、検索する際に参照(閲覧)するカタログリストを構成するカタログ情報(共用情報関連情報の一例)であって、他のノード装置1と共に使用される(共用される)カタログ情報も制御部11のRAMに記憶させておくこととする。カタログ情報には、コンテンツの属性情報が、夫々のコンテンツIDに対応付けられて記述されている。この属性情報としては、例えば、コンテンツ名(コンテンツが映画の場合、映画タイトル、コンテンツが楽曲の場合、楽曲タイトル、コンテンツが放送番組の場合、番組タイトル)、ジャンル(コンテンツが映画の場合、アクション、ホラー、コメディ、ラブストーリー等、コンテンツが音楽の場合、ロック、ジャズ、ポップス、クラシック等、コンテンツが放送番組の場合、ドラマ、スポーツ、ニュース、映画、音楽、アニメ、バラエティ等)、アーティスト名(コンテンツが音楽の場合の歌手、グループ等)、出演者(コンテンツが映画や放送番組の場合のキャスト)、監督名(コンテンツが映画の場合)等が挙げられる。なお、本願出願人は他のノード装置1と共に使用される(共用される)カタログ情報に関して特許出願(特願2006−109158、特願2006−109159)をしているので、カタログ情報を複数のノード装置1間で共用する手法に関しては当該出願に詳細に記載されているので説明を省略する。
In the present embodiment, it is catalog information (an example of shared information related information) that constitutes a catalog list that is desired to be distributed and referred to (browse) when searching, and is used together with other node devices 1 ( The catalog information (shared) is also stored in the RAM of the control unit 11. In the catalog information, content attribute information is described in association with each content ID. Examples of the attribute information include a content name (a movie title when the content is a movie, a song title when the content is a song, a program title when the content is a broadcast program), a genre (an action when the content is a movie, an action, Horror, comedy, love story, etc. If the content is music, rock, jazz, pop, classic, etc. If the content is a broadcast program, drama, sports, news, movie, music, anime, variety, etc.), artist name (content Singer, group, etc.), performers (cast when content is a movie or broadcast program), director name (when content is a movie), and the like. The applicant of the present application has filed a patent application (Japanese Patent Application No. 2006-109158 and Japanese Patent Application No. 2006-109159) regarding catalog information used (shared) with
<2.ノード装置の処理動作>
続いて、各ノード装置1の具体的な処理動作について図を用いて説明する。
<2. Processing operation of node device>
Next, a specific processing operation of each
<2−1.メイン処理>
図8は、ノード装置1におけるメイン処理の一例を示すフローチャートであり、この処理は、制御部11の制御に基づいて実行され、ノード装置1の電源がオンとされて、例えばユーザが入力部21を操作してコンテンツ配信システムSへの参加を指示したことにより開始する。
<2-1. Main processing>
FIG. 8 is a flowchart showing an example of the main process in the
先ず、テーブル情報の読み込み処理(ステップS1)、キャッシュ情報の読み込み処理(ステップS2)、カタログ情報の読み込み処理(ステップS3)を行なう。各読み込み処理において、過去にコンテンツ配信システムSに参加したことがあれば、ハードディスク記憶部22からこれらの情報を取得して制御部11のRAMに読み込むことができる。ステップS1〜S3の処理については、後に詳述する。
First, table information reading processing (step S1), cache information reading processing (step S2), and catalog information reading processing (step S3) are performed. In each reading process, if the user has participated in the content distribution system S in the past, the information can be acquired from the hard
次に、電源がオフとされたか否かを判定し(ステップS4)、オフとされない場合(ステップS4:No)には、「その他の処理」を行なう(ステップS5)。なお、「その他の処理」とは、他のノード装置1から送信されてきた「参加メッセージ」に応じて、自己のテーブル情報を送信する処理、他のノード装置1から送信されてきた「検索メッセージ」に応じて行なうコンテンツの検索処理(コンテンツを保持するノード装置の検索)、他のノード装置1から送信されてきたコンテンツの配信要求に応じて行なうコンテンツの配信処理、或いは各種メッセージの転送処理などの処理である。
Next, it is determined whether or not the power is turned off (step S4). If not turned off (step S4: No), “other processing” is performed (step S5). Note that “other processing” means processing for transmitting own table information in accordance with “participation message” transmitted from another
そして、制御部11は第1記憶制御手段として機能し、RAMに記憶されたテーブル情報、キャッシュ情報及びカタログ情報を、ハードディスク記憶部22へ保存する処理を行なう(ステップS6)。そして、ステップS4に移行する。 And the control part 11 functions as a 1st memory | storage control means, and performs the process which preserve | saves the table information, cache information, and catalog information memorize | stored in RAM at the hard disk memory | storage part 22 (step S6). Then, the process proceeds to step S4.
このように、ステップS4において、電源がオフと判定されるまで、ステップS5及びS6の処理を繰り返し行なう。 In this way, the processes in steps S5 and S6 are repeated until it is determined in step S4 that the power is off.
ステップS1〜S3は、コンテンツ配信システムSに参加する前に行なわれる処理であり、ステップS4〜S6はコンテンツ配信システムSに参加している際に行なわれる処理である。 Steps S1 to S3 are processes performed before participating in the content distribution system S, and steps S4 to S6 are processes performed when participating in the content distribution system S.
<2−2.各情報の読込み処理>
次に、上記ステップS1〜S3にて実行されるテーブル情報、キャッシュ情報及びカタログ情報の読込み処理について、図9及び図10を用いて説明する。
<2-2. Reading process of each information>
Next, the table information, cache information, and catalog information reading process executed in steps S1 to S3 will be described with reference to FIGS.
2−2−1.テーブル情報の読込み処理
図9は、ステップS1にて実行される「テーブル情報の読込み処理」の一例を示すフローチャートである。
2-2-1. Table Information Reading Process FIG. 9 is a flowchart illustrating an example of the “table information reading process” executed in step S1.
先ず、テーブル情報がハードディスク記憶部22に保存(記憶)されているか否かを判定する(ステップS11)。過去にコンテンツ配信システムSに参加したことが無い場合や、ハードディスク記憶部22に記憶していたテーブル情報が消去してしまった等、テーブル情報がハードディスク記憶部22に保存されていない場合(ステップS11:No)には、図6(A)に示すように、コンタクト用ノード装置1CCへ「参加メッセージ」を送信して、テーブル情報を取得(受信)し、当該テーブル情報をRAMに記憶する(ステップS12)。
First, it is determined whether or not the table information is stored (stored) in the hard disk storage unit 22 (step S11). When the table information is not stored in the hard
一方、テーブル情報がハードディスク記憶部22に保存されている場合(ステップS11:Yes)には、制御部11は、第3記憶制御手段として機能し、ハードディスク記憶部22に保存されているテーブル情報を、作業のため一旦RAMに読み込み(転記)(ステップS13)、更に、テーブル情報がハードディスク記憶部22に記憶された時間を示す保存時刻も、ハードディスク記憶部22から取得する(ステップS14)。
On the other hand, when the table information is stored in the hard disk storage unit 22 (step S11: Yes), the control unit 11 functions as a third storage control unit, and the table information stored in the hard
そして、制御部11は第2保存時間判断手段として機能し、保存時刻から、現在時刻までに経過した時間(経過時間)が、第2所定保存時間(例えば、2時間)内か否かを判定し(ステップS15)、第2所定保存時間よりも長い場合(ステップS15:No)には、ハードディスク記憶部22に記憶したテーブル情報(にある各ノード情報)が、今回システムに参加する際にそのまま用いることができるほど最新の情報ではないので、ステップS16以降の処理、すなわち現在システムに参加中のノード装置(コンタクト用ノード装置1CCを含む)からテーブル情報をコピーさせてもらう処理に移行する。 And the control part 11 functions as a 2nd preservation | save time judgment means, and determines whether the time (elapsed time) which passed from the preservation | save time to the present time is in a 2nd predetermined preservation | save time (for example, 2 hours). However, if it is longer than the second predetermined storage time (step S15: No), the table information stored in the hard disk storage unit 22 (each node information) remains as it is when participating in the system this time. Since the information is not the latest information that can be used, the process proceeds to the processing after step S16, that is, the processing that causes the table information to be copied from the node device (including the contact node device 1CC) currently participating in the system.
次に、ステップS16にて、制御部11は、第1保存時間判断手段として機能し、保存時刻から、現在時刻までに経過した時間(経過時間)が、ステップS15の判断対象となる第2所定保存時間よりも長い第1所定保存時間(例えば、10日)内か否かを判定する(ステップS16)。経過時間が、第1所定保存時間よりも長い場合(ステップS16:No)には、コンタクト用ノード装置1CCへ「参加メッセージ」を送信して、コンタクト用ノード装置1CCからテーブル情報を取得(受信)し、当該テーブル情報をRAMに記憶する(ステップS12)。このように、経過時間が、第1所定保存時間よりも長い場合には、ハードディスク記憶部22に記憶したテーブル情報は古い情報なので、このテーブル情報にあるノード装置に向けて参加メッセージを送信しても、失敗する可能性が高いと考えられる。従って、コンタクト用ノード装置1CCからテーブル情報を取得するのである。
Next, in step S16, the control unit 11 functions as a first storage time determination unit, and a time (elapsed time) elapsed from the storage time to the current time is a second predetermined target whose determination target is step S15. It is determined whether it is within a first predetermined storage time (for example, 10 days) longer than the storage time (step S16). When the elapsed time is longer than the first predetermined storage time (step S16: No), a “participation message” is transmitted to the contact node device 1CC, and table information is acquired (received) from the contact node device 1CC. Then, the table information is stored in the RAM (step S12). Thus, when the elapsed time is longer than the first predetermined storage time, the table information stored in the hard
一方、ステップS16において、経過時間が、第1所定保存時間内である場合(ステップS16:Yes)には、当該テーブル情報に基づいて選択されたノード装置1からテーブル情報を取得するよう構成する。具体的には、先ず、制御部11は、ノード情報有無判断手段として機能し、RAMのテーブル情報にノード情報があるか否かを判定する(ステップS17)。RAMのテーブル情報にノード情報がある場合(ステップS17:Yes)には、制御部11はノード情報選択手段及び参加通知手段として機能し、RAMのテーブル情報からノード情報を選択して、当該ノード情報にかかるノード装置1に対して「参加メッセージ」を送信する(ステップS18)。
On the other hand, in step S16, when the elapsed time is within the first predetermined storage time (step S16: Yes), the table information is obtained from the
そして、制御部11は参加通知送信可否判断手段として機能し、「参加メッセージ」の送信が成功したか否かを判定する。具体的には、「参加メッセージ」の送信先のノード装置からテーブル情報を受信できたか否か判定する(ステップS19)。「参加メッセージ」の送信先のノード装置とは、「参加メッセージ」に含まれる(ステップS18で選択された)ノードIDをキーとするルーティングによって該メッセージが到達した先のノード装置である。 The control unit 11 functions as a participation notification transmission permission determination unit, and determines whether or not the transmission of the “participation message” is successful. Specifically, it is determined whether or not the table information has been received from the node device that is the transmission destination of the “participation message” (step S19). The node device to which the “participation message” is sent is the node device to which the message has arrived by routing using the node ID (selected in step S18) included in the “participation message” as a key.
判定の結果、テーブル情報を受信できない場合には(ステップS19:No)、制御部11は削除手段として機能し、ステップS18で選択したノード情報をテーブル情報から削除して(ステップS20)、ステップS17に戻る。ハードディスク記憶部22に記憶していたテーブル情報は、当該処理を行なっているノード装置1が、前回コンテンツ配信システムSに参加していたときに使用していたテーブル情報なので、前回の参加からの時間が相当程度経過している場合には、前回参加時にはシステムに参加していたノード装置も、時間の経過により、システムから脱退してしまっている。このように、「参加メッセージ」を最初に受信するノード装置1が既に脱退してしまっている場合や、当該「参加メッセージ」が複数のノード装置1を中継される際に通信エラーが発生した場合等には、テーブル情報を受信することができないのである。そして、ステップS18で、再び、テーブル情報にあるノード情報を選択し、テーブル情報にノード情報が無いと判定される(ステップS17:No)まで、又は、テーブル情報の受信が確認される(ステップS19:Yes)まで、ステップS17〜19の処理が繰り返し行なわれる。
If the table information cannot be received as a result of the determination (step S19: No), the control unit 11 functions as a deletion unit, deletes the node information selected in step S18 from the table information (step S20), and step S17. Return to. Since the table information stored in the hard
そして、制御部11がリンク情報受信手段として機能し、テーブル情報の受信が確認される(ステップS19:Yes)と、制御部11が第2記憶制御手段として機能し、ステップS13で作業のためにRAMに転記(記憶)しておいたテーブル情報に変えて、受信したテーブル情報をRAMに記憶させる(ステップS21)。 And the control part 11 functions as a link information receiving means, and reception of table information is confirmed (step S19: Yes), the control part 11 functions as a 2nd memory | storage control means, and for work by step S13 Instead of the table information transferred (stored) in the RAM, the received table information is stored in the RAM (step S21).
ステップS17の判定において、テーブル情報にノード情報が無いと判定された場合(ステップS17:No)には、初めてコンテンツ配信システムSに参加する際と同様に、ステップS12に移行して、コンタクト用ノード装置1CCに対して「参加メッセージ」を送信して、テーブル情報を受信し、当該テーブル情報をRAMに記憶する。 If it is determined in step S17 that there is no node information in the table information (step S17: No), the process proceeds to step S12 in the same manner as when participating in the content distribution system S for the first time, and the contact node A “participation message” is transmitted to the device 1CC, table information is received, and the table information is stored in the RAM.
続いて、システムに参加している他のノード装置1と共用されるべきコンテンツを、記憶部12に記憶(所持)しているか否かを判定し(ステップS22)、共用されるべきコンテンツを、記憶部12に記憶していない場合(ステップS22:No)には処理を終了し、記憶している場合(ステップS22:Yes)には、制御部11は、公開通知手段として機能し、所持している各コンテンツについて、ステップS12又はS21でRAMに記憶したテーブル情報に基づいて、「公開メッセージ」を送信して(ステップS23)処理を終了する。
Subsequently, it is determined whether or not the content to be shared with
また、ステップS15にて、保存時刻から、現在時刻までに経過した時間(経過時間)が、第2所定保存時間内であると判定された場合(ステップS15:Yes)には、ステップS24〜26の処理に移行する。つまり、ステップS13でハードディスク記憶部22から取得したテーブル情報が、新しい場合(システムから脱退した後、すぐに(例えば2時間以内に)システムに再参加したような場合)には、前回システムに参加していたときに使用していたテーブル情報(にある各ノード情報)が、未だ最新の情報である可能性が高いので、前回使用していたテーブル情報をそのまま使用する。
If it is determined in step S15 that the time (elapsed time) elapsed from the storage time to the current time is within the second predetermined storage time (step S15: Yes), steps S24 to S26 are performed. Move on to processing. In other words, if the table information acquired from the hard
そして、システムに参加している他のノード装置1と共用されるべきコンテンツを、記憶部12に記憶(所持)しているか否かを判定し(ステップS24)、共用されるべきコンテンツを、記憶部12に記憶していない場合(ステップS24:No)には処理を終了し、記憶部12に記憶している場合(ステップS24:Yes)には、制御部11は、公開通知手段として機能して、所持している各コンテンツについて、ステップS13でRAMに記憶したテーブル情報に基づいて、「公開メッセージ」を送信する(ステップS25)。
Then, it is determined whether or not the content to be shared with the
次に、制御部11は公開通知送信可否判断手段として機能し、「公開メッセージ」の送信が成功したか否かを判定する(ステップS26)。具体的には、「公開メッセージ」の最初の送信先となるノード装置から、受信確認通知を受けた場合には、メッセージの送信が成功したと判断し、受信確認通知が最初の送信先のノード装置から所定待機時間以上待っても送信されてこない場合(タイムアウト)には、メッセージの送信に失敗したものと判断する。「公開メッセージ」の最初の送信先となるノード装置とは、図7に示す例の場合、ノード装置1bである。そして、「公開メッセージ」の送信が成功した場合(ステップS26:Yes)には処理を終了し、「公開メッセージ」の送信が失敗した場合(ステップS26:No)には、ステップS13で記憶したテーブル情報をRAMから削除して、ステップS12に移行して、コンタクト用ノード装置1CCから、テーブル情報を取得してRAMに保存する。
Next, the control unit 11 functions as a disclosure notification transmission availability determination unit, and determines whether or not the transmission of the “public message” is successful (step S26). Specifically, when a reception confirmation notification is received from the node device that is the first transmission destination of the “public message”, it is determined that the message transmission is successful, and the reception confirmation notification is the first transmission destination node. If the message is not transmitted even after waiting for a predetermined waiting time (timeout), it is determined that the message transmission has failed. In the example shown in FIG. 7, the node device that is the first transmission destination of the “public message” is the
このように、システムに再参加した後に、ハードディスク記憶部22に記憶しておいたテーブル情報を使用する場合に、「公開メッセージ」の送信の可否で、テーブル情報が使用できるかできないかを判断し、公開メッセージの送信に失敗した場合には、ハードディスク記憶部22に記憶しておいたテーブル情報の残りのノード情報にかかるノード装置1も、システムに参加していない可能性が高いと判断して、コンタクト用ノード装置1CCから最新のテーブル情報を取得するよう構成する。
As described above, when the table information stored in the hard
なお、ステップS13において、ハードディスク記憶部22に保存されているテーブル情報をRAMに一旦読み込んでから、かかるテーブル情報の中からノード情報を選択する等の各種作業をしているが、RAMに読み込むことなく、当該テーブル情報をハードディスク記憶部22に記憶させたまま、バス23を介してCPUがハードディスク記憶部22に記憶されたテーブル情報にアクセスすることにより、制御部11がノード情報読み出し手段として機能して、ハードディスク記憶部22に記憶されたテーブル情報に含まれるノード情報を読み出して、当該ノード情報にかかるノード装置に「参加メッセージ」を送信するよう構成してもよい。
In step S13, the table information stored in the hard
2−2−2.キャッシュ情報の読込み処理
次に、ステップS2におけるキャッシュ情報の読込み処理について図10(A)の「キャッシュ情報の読込み処理」の一例を示すフローチャートを用いて説明する。
2-2-2. Cache Information Reading Process Next, the cache information reading process in step S2 will be described with reference to a flowchart showing an example of the “cache information reading process” in FIG.
先ず、キャッシュ情報がハードディスク記憶部22に保存(記憶)されているか否かを判定する(ステップS31)。過去にコンテンツ配信システムSに参加したことが無い場合等、キャッシュ情報がハードディスク記憶部22に保存されていない場合(ステップS31:No)にはそのまま処理を終了する。 First, it is determined whether or not the cache information is stored (stored) in the hard disk storage unit 22 (step S31). If the cache information has not been saved in the hard disk storage unit 22 (eg, if the user has never participated in the content distribution system S in the past) (step S31: No), the process is terminated.
一方、キャッシュ情報がハードディスク記憶部22に保存されている場合(ステップS31:Yes)には、制御部11は第2記憶制御手段として機能し、ハードディスク記憶部22に保存されているキャッシュ情報をRAMに読み込んで(ステップS32)、処理を終了する。
On the other hand, when the cache information is stored in the hard disk storage unit 22 (step S31: Yes), the control unit 11 functions as a second storage control unit, and the cache information stored in the hard
2−2−3.カタログ情報の読込み処理
次に、ステップS3におけるカタログ情報の読込み処理について図10(B)の「カタログ情報の読込み処理」の一例を示すフローチャートを用いて説明する。当該処理は、上述した「キャッシュ情報の読込み処理」と同様である。
2-2-3. Catalog Information Reading Processing Next, the catalog information reading processing in step S3 will be described with reference to a flowchart showing an example of “catalog information reading processing” in FIG. This process is the same as the “cache information reading process” described above.
先ず、カタログ情報がハードディスク記憶部22に保存(記憶)されているか否かを判定する(ステップS41)。過去にコンテンツ配信システムSに参加したことが無い場合等、カタログ情報がハードディスク記憶部22に保存されていない場合(ステップS41:No)にはそのまま処理を終了する。 First, it is determined whether or not the catalog information is stored (stored) in the hard disk storage unit 22 (step S41). If the catalog information has not been saved in the hard disk storage unit 22 (eg, if the user has not participated in the content distribution system S in the past) (step S41: No), the process ends.
一方、カタログ情報がハードディスク記憶部22に保存されている場合(ステップS41:Yes)には、制御部11は第2記憶制御手段として機能し、ハードディスク記憶部22に保存されているカタログ情報をRAMに読み込んで(ステップS42)、処理を終了する。
On the other hand, when the catalog information is stored in the hard disk storage unit 22 (step S41: Yes), the control unit 11 functions as a second storage control unit, and the catalog information stored in the hard
<2−3.各情報の保存処理>
次に、上記ステップS6にて実行されるテーブル情報、キャッシュ情報及びカタログ情報のハードディスク記憶部22への保存処理について、図11及び図12を用いて説明する。
<2-3. Saving information>
Next, the table information, cache information, and catalog information storage processing executed in step S6 will be described with reference to FIGS. 11 and 12. FIG.
コンテンツ配信システムSに参加している間、制御部11のRAMに保存して使用されるテーブル情報、キャッシュ情報及びカタログ情報は、所定のタイミングでハードディスク記憶部22へ保存(記憶)されるようになっている。
While participating in the content distribution system S, the table information, cache information, and catalog information that are stored and used in the RAM of the control unit 11 are stored (stored) in the hard
ここでは、所定時間毎にハードディスク記憶部22へ保存する方法と、他のノード装置との情報の授受に起因して、テーブル情報、キャッシュ情報及びカタログ情報が更新されたときに、ハードディスク記憶部22へ保存する方法について説明する。
Here, when the table information, the cache information, and the catalog information are updated due to the method of saving to the hard
2−3−1.所定時間毎に保存する方法
テーブル情報、キャッシュ情報及びカタログ情報を所定時間毎にハードディスク記憶部22へ保存する方法について説明する。図11は、ステップS6にて実行される「RAMに記憶されたテーブル情報、キャッシュ情報及びカタログ情報を、ハードディスク記憶部22へ保存する処理」の一例を示すフローチャートである。
2-3-1. Method for Saving Every Predetermined Time A method for saving table information, cache information, and catalog information to the hard
先ず、前回ハードディスク記憶部22へ保存処理を行なってから、所定時間が経過したか否かを判定する(ステップS61)。所定時間が経過していない場合(ステップS61:No)には、処理を終了し、所定時間が経過した場合(ステップS61:Yes)には、制御部11は第1記憶制御手段として機能し、RAMのテーブル情報と保存時刻をハードディスク記憶部22に保存して(ステップS62)、ステップS63に移行する。このとき、ハードディスク記憶部22に過去に記憶されたテーブル情報が記憶されている場合は、上書き保存する。
First, it is determined whether or not a predetermined time has elapsed since the previous storage process in the hard disk storage unit 22 (step S61). When the predetermined time has not elapsed (step S61: No), the process is terminated, and when the predetermined time has elapsed (step S61: Yes), the control unit 11 functions as a first storage control unit, The RAM table information and the storage time are stored in the hard disk storage unit 22 (step S62), and the process proceeds to step S63. At this time, if table information stored in the past is stored in the hard
次に、ステップS63では、キャッシュ情報がRAMに保存されているか否かを判定し(ステップS63)、キャッシュ情報がRAMに保存されている場合(ステップS63:Yes)には、RAMに保存されているキャッシュ情報の容量が、ハードディスク記憶部22のキャッシュ情報記憶領域の記憶容量よりも大きいか否かを判定する(ステップS64)。 Next, in step S63, it is determined whether or not the cache information is stored in the RAM (step S63). If the cache information is stored in the RAM (step S63: Yes), the cache information is stored in the RAM. It is determined whether or not the capacity of the cache information is larger than the storage capacity of the cache information storage area of the hard disk storage unit 22 (step S64).
そして、RAMに保存されているキャッシュ情報の容量が、ハードディスク記憶部22のキャッシュ情報記憶領域の記憶容量以内であれば(ステップS64:No)、RAMに保存されている全てのキャッシュ情報をハードディスク記憶部22に保存して(ステップS65)、ステップS67に移行し、他方、RAMに保存されているキャッシュ情報の容量が、ハードディスク記憶部22のキャッシュ情報記憶領域の記憶容量よりも大きい場合(ステップS64:Yes)には、RAMに保存されているキャッシュ情報のうち、自己のノードIDと近いコンテンツIDを有するコンテンツの所在情報だけを、ハードディスク記憶部22へ保存する(ステップS66)。 If the capacity of the cache information stored in the RAM is within the storage capacity of the cache information storage area of the hard disk storage unit 22 (step S64: No), all the cache information stored in the RAM is stored in the hard disk. If the capacity of the cache information stored in the RAM is larger than the storage capacity of the cache information storage area of the hard disk storage section 22 (step S64), the process proceeds to step S67. : Yes), only the location information of the content having the content ID close to its own node ID among the cache information stored in the RAM is stored in the hard disk storage unit 22 (step S66).
続いて、ステップS67において、カタログ情報がRAMに保存されているか否かを判定し(ステップS67)、カタログ情報がRAMに保存されていない場合(ステップS67:No)には処理を終了し、保存されている場合(ステップS67:Yes)には、当該カタログ情報をハードディスク記憶部22に保存して(ステップS68)処理を終了する。 Subsequently, in step S67, it is determined whether or not the catalog information is stored in the RAM (step S67). If the catalog information is not stored in the RAM (step S67: No), the process is terminated and stored. If yes (step S67: Yes), the catalog information is stored in the hard disk storage unit 22 (step S68), and the process is terminated.
2−3−2.更新されたときに保存する方法
テーブル情報、キャッシュ情報及びカタログ情報を、これら各情報が更新されたときにハードディスク記憶部22へ保存する方法について説明する。図12は、ステップS6にて実行される「RAMに記憶されたテーブル情報、キャッシュ情報及びカタログ情報を、ハードディスク記憶部22へ保存する処理」の一例を示すフローチャートである。
2-3-2. Method of Saving When Updated The table information, cache information, and catalog information will be described as a method of saving the hard
先ず、RAMに記憶されたテーブル情報が更新(書換え)されたか否かを判定する(ステップS71)。テーブル情報が更新された場合(ステップS71:Yes)には、制御部11は第1記憶制御手段として機能し、RAMのテーブル情報と保存時刻をハードディスク記憶部22に保存する(ステップS72)。ハードディスク記憶部22に過去のテーブル情報がある場合は、上書き保存する。テーブル情報が更新されていない場合(ステップS71:No)には、ステップS73へ移行する。
First, it is determined whether or not the table information stored in the RAM has been updated (rewritten) (step S71). When the table information is updated (step S71: Yes), the control unit 11 functions as a first storage control unit, and stores the table information of the RAM and the storage time in the hard disk storage unit 22 (step S72). If there is past table information in the hard
次に、ステップS73では、キャッシュ情報が更新(書換え)されたか否かを判定し(ステップS73)、キャッシュ情報が更新されていない場合(ステップS73:No)には、ステップS77へ移行し、キャッシュ情報が更新されている場合(ステップS73:Yes)には、RAMに保存されているキャッシュ情報の容量が、ハードディスク記憶部22のキャッシュ情報記憶領域の記憶容量よりも大きいか否かを判定する(ステップS74)。 Next, in step S73, it is determined whether or not the cache information has been updated (rewritten) (step S73). If the cache information has not been updated (step S73: No), the process proceeds to step S77. When the information has been updated (step S73: Yes), it is determined whether or not the capacity of the cache information stored in the RAM is larger than the storage capacity of the cache information storage area of the hard disk storage unit 22 ( Step S74).
そして、RAMに保存されているキャッシュ情報の容量が、ハードディスク記憶部22のキャッシュ情報記憶領域の記憶容量以内であれば(ステップS74:No)、RAMに保存されている全てのキャッシュ情報をハードディスク記憶部22に保存して(ステップS75)、ステップS77に移行し、他方、RAMに保存されているキャッシュ情報の容量が、ハードディスク記憶部22のキャッシュ情報記憶領域の記憶容量よりも大きい場合(ステップS74:Yes)には、RAMに保存されているキャッシュ情報のうち、自己のノードIDと近いコンテンツIDを有するコンテンツの所在情報だけをキャッシュ情報としてハードディスク記憶部22へ保存する(ステップS76)。
If the capacity of the cache information stored in the RAM is within the storage capacity of the cache information storage area of the hard disk storage unit 22 (step S74: No), all the cache information stored in the RAM is stored in the hard disk. When the capacity of the cache information stored in the RAM is larger than the storage capacity of the cache information storage area of the hard disk storage section 22 (step S74), the process proceeds to step S77. : Yes), only the location information of the content having the content ID close to its own node ID among the cache information stored in the RAM is stored in the hard
続いて、ステップS77において、カタログ情報が更新(書換え)されたか否かを判定し(ステップS77)、カタログ情報が更新されていない場合(ステップS77:No)には処理を終了し、カタログ情報が更新されている場合(ステップS77:Yes)には、当該カタログ情報をハードディスク記憶部22に保存して(ステップS78)処理を終了する。 Subsequently, in step S77, it is determined whether or not the catalog information has been updated (rewritten) (step S77). If the catalog information has not been updated (step S77: No), the process is terminated and the catalog information is not updated. If it has been updated (step S77: Yes), the catalog information is stored in the hard disk storage unit 22 (step S78), and the process is terminated.
なお、ステップS64及びS74において、RAMに保存されているキャッシュ情報の容量が、ハードディスク記憶部22のキャッシュ情報記憶領域の記憶容量よりも大きいか否かを判定しているが、ハードディスク記憶部22のキャッシュ情報記憶領域に記憶できるコンテンツの所在情報の個数を決めておき、この個数よりも多い所在情報を有するキャッシュ情報の場合には、自己のノードIDと近いコンテンツIDを有するコンテンツの所在情報だけをキャッシュ情報としてハードディスク記憶部22へ保存するよう構成してもよい。また、RAMからハードディスク記憶部22へキャッシュ情報を保存する処理時間の上限を保存処理時間(例えば2〜3分以内など)として予め定めておき、RAMから自己のノードIDと近いコンテンツIDを有するコンテンツの所在情報から順に読み出し、予め定めた保存処理時間が経過したときに読み出しを終了するよう構成してもよい。
In steps S64 and S74, it is determined whether or not the capacity of the cache information stored in the RAM is larger than the storage capacity of the cache information storage area of the hard
更に、本実施形態では、RAMに記憶されている各情報を所定時間毎にハードディスク記憶部22へ保存する方法と、上記各情報が更新されたときに、ハードディスク記憶部22へ保存する方法について説明したが、この他、例えば、ステップS4にて電源オフが確認された際(ステップS4:Yes)に、上記各情報を、ハードディスク記憶部22へ保存してから電源をオフとするよう構成してもよい。
Furthermore, in the present embodiment, a method for saving each piece of information stored in the RAM to the hard
上述した実施形態によれば、コンテンツ配信システムSに参加している際に、制御部11のRAMに記憶して利用していたテーブル情報を、次回、システムに参加する際に利用するために、システムから脱退した後(電源をオフとした後)でも、記憶された情報が消去されないハードディスク記憶部22に記憶しておき、システムから脱退後、再びシステムに参加する際に、当該ハードディスク記憶部22に記憶しておいたテーブル情報に基づいて、テーブル情報をコピーさせてもらうシステムに参加中のノード装置(参加メッセージを送信する先のノード装置)を選ぶよう構成したので、コンタクト用ノード装置1CCに処理負担を課すことなく、システムに参加したときから最新のテーブル情報を取得することができる。
According to the above-described embodiment, when participating in the content distribution system S, in order to use the table information stored and used in the RAM of the control unit 11 next time when participating in the system, Even after leaving the system (after turning off the power), the stored information is stored in the hard
また、現在システムに参加しているノード装置を、過去にシステムに参加していたときに使用していたテーブル情報(ハードディスク記憶部22に記憶されているテーブル情報)に基づいて選択する際に、自己のノードIDに比較的遠いノードIDにかかるノード装置を選択するよう構成すれば、自己のノード情報を含む「参加メッセージ」が比較的多くのノード装置間を転送することによって、自己がシステムに参加したことを比較的多くのノード装置に知らせることができる。なお、自己のノードIDに比較的遠いノードIDは、テーブル情報(図4(D)参照)のレベル1が自己のノードIDに最も遠く、レベル8が自己のノードIDに最も近いので、レベル1に記述されているノードIDの中から選択するよう構成すればよい。
Further, when selecting a node device currently participating in the system based on the table information (table information stored in the hard disk storage unit 22) used when participating in the system in the past, If a node device related to a node ID relatively far from its own node ID is selected, a “participation message” including its own node information is transferred between a relatively large number of node devices. A relatively large number of node devices can be notified of participation. The node ID relatively far from the own node ID is
なお、本発明の第1記憶手段は、作業用RAMに限らず、電源を切ると記憶内容が失われる揮発性メモリであればよい。また、第2記憶手段は、ハードディスク記憶部22に限らず、システムから脱退した後(電源がオフとされた後)でも、システムに参加していたときに記憶された情報が消去されずに残る不揮発性の記憶手段であればよく、例えば、フラッシュメモリ、EEPROM(Electronically Erasable and Programmable Read Only
Memory)、フラッシュメモリ、バックアップ電源付き半導体メモリ等でもよい。更に、第2記憶手段は、ハードディスク記憶部22のようなノード装置1の構成部材に限らず、ノード装置1と接続された外部メモリ等でもよい。
The first storage means of the present invention is not limited to the working RAM, but may be any volatile memory that loses the stored contents when the power is turned off. Further, the second storage means is not limited to the hard
Memory), flash memory, semiconductor memory with a backup power source, or the like. Further, the second storage means is not limited to the constituent members of the
また、上記実施形態においては、DHTを利用したアルゴリズムによって構築されたオーバーレイネットワーク9を前提として説明したが、本発明はこれに限定されるものではなく、その他のコンピュータネットワークシステムに対しても適用可能である。
In the above embodiment, the description has been made on the assumption that the
1 ノード装置
1CC コンタクト用ノード装置
3 IX
4 ISP
5 DSL回線事業者の装置
6 FTTH(Fiber To The Home)回線事業者の装置
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 ハードディスク記憶部
23 バス
S コンテンツ配信システム
1 Node device 1CC
4 ISP
5 DSL line provider's
Claims (8)
前記オーバーレイネットワークを介して前記ノード装置と通信をする際に使用するリンク情報であって、複数の特定のノード装置を示すノード情報を含む前記リンク情報を記憶する揮発性の第1記憶手段と、
前記第1記憶手段を備えるノード装置自身が前記情報通信システムに参加している際に、前記第1記憶手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第2記憶手段に記憶させる第1記憶制御手段と、
前記第1記憶手段を備えるノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報のいずれかを用いて、前記第1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得手段であって、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報を読み出すノード情報読み出し手段と、読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参加する旨を知らせる参加通知を送信する参加通知手段と、前記参加通知の送信が成功したか否かを判断する参加通知送信可否判断手段と、を有し、前記参加通知送信可否判断手段により前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記リンク情報を取得する前記リンク情報取得手段と、
前記リンク情報取得手段により取得されたリンク情報を、前記第1記憶手段に記憶させる第2記憶制御手段と、
を有することを特徴とするノード装置。 Information that includes a plurality of node devices that can communicate with each other via a network, and a plurality of shared information shared by the plurality of node devices is distributed and stored by an overlay network composed of the plurality of node devices. In the node device included in the communication system,
Volatile first storage means for storing the link information, which is link information used when communicating with the node device via the overlay network and includes node information indicating a plurality of specific node devices;
When the node device itself including the first storage unit participates in the information communication system, the link information stored in the first storage unit is stored in the nonvolatile second storage unit at a predetermined timing. First storage control means for causing
When the node device itself comprising the first storage means leaves the information communication system and then joins the information communication system again, the node information included in the link information stored in the second storage means A link information acquisition unit that acquires the link information to be stored in the first storage unit using any one of the nodes that reads the node information included in the link information stored in the second storage unit Based on the read node information, participation notification means for transmitting a participation notification notifying the node device related to the node information that the node apparatus participates in the information communication system, and the participation notification Participation notification transmission permission / inhibition determining means for determining whether or not the transmission of the participation notification is successful. If the transmission is determined to be successful, from the participation notification transmission destination of the node device, and the link information obtaining means for obtaining the link information to which the destination node device is stored,
Second storage control means for storing the link information acquired by the link information acquisition means in the first storage means;
A node device comprising:
前記第1記憶手段は、前記リンク情報として、前記オーバーレイネットワークを介して、前記情報通信システムに含まれる他の前記ノード装置との通信に使用する複数の前記ノード情報を含むテーブル情報を記憶し、
前記第1記憶制御手段は、前記第1記憶手段に記憶された前記テーブル情報を前記所定のタイミングで前記第2記憶手段に記憶させ、
前記ノード情報読み出し手段は、前記第2記憶手段に記憶された前記テーブル情報に含まれる前記ノード情報を読み出し、
前参加通知手段は、前記ノード情報読み出し手段により前記テーブル情報から読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記参加通知を送信し、
前記リンク情報取得手段は、前記参加通知送信可否判断手段により前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記テーブル情報を取得し、
前記第2記憶制御手段は、前記リンク情報取得手段により取得された前記テーブル情報を前記第1記憶手段に記憶させることを特徴とするノード装置。 The node device according to claim 1,
The first storage means stores, as the link information, table information including a plurality of the node information used for communication with other node devices included in the information communication system via the overlay network,
The first storage control means stores the table information stored in the first storage means in the second storage means at the predetermined timing,
The node information reading means reads the node information included in the table information stored in the second storage means,
The previous participation notification means transmits the participation notification to the node device related to the node information based on the node information read from the table information by the node information reading means,
If the link information acquisition unit determines that the transmission of the participation notification is successful by the participation notification transmission enable / disable determination unit, the link destination node device of the transmission destination from the node device of the transmission destination of the participation notification Obtain the stored table information,
The node device characterized in that the second storage control means stores the table information acquired by the link information acquisition means in the first storage means.
前記第1記憶手段は、前記複数の共用情報のうち、当該ノード装置自身が管理すべき前記共用情報を保存する前記ノード装置の所在を示す所在情報と、前記複数のノード装置で共用される前記複数の共用情報にかかる共用情報関連情報と、を記憶し、
前記第1記憶制御手段は、前記第1記憶手段に記憶された前記所在情報及び前記共用情報関連情報を、前記所定のタイミングで前記第2記憶手段に記憶させ、
前記第2記憶制御手段は、当該ノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記所在情報及び前記共用情報関連情報を再び前記第1記憶手段に記憶させることを特徴とするノード装置。 In the node device according to claim 1 or 2,
The first storage unit includes location information indicating a location of the node device that stores the shared information to be managed by the node device itself, and the shared information among the plurality of node devices. Storing shared information related information related to a plurality of shared information,
The first storage control means stores the location information and the shared information related information stored in the first storage means in the second storage means at the predetermined timing,
The second storage control means relates to the location information and the shared information stored in the second storage means when the node device itself withdraws from the information communication system and rejoins the information communication system. A node device which stores information in the first storage means again.
前記所定のタイミングは、所定時間が経過する都度、或いは、前記情報通信システムに含まれる他の前記ノード装置との情報の授受に起因して、前記第1記憶手段に記憶された前記リンク情報、前記所在情報又は前記共用情報関連情報が更新される都度、或いは、ノード装置自身の電源がオフとされる際、の少なくとも何れかであることを特徴とするノード装置。 In the node apparatus as described in any one of Claims 1 thru | or 3,
The predetermined timing is the link information stored in the first storage means each time a predetermined time elapses or due to the exchange of information with the other node devices included in the information communication system, A node device characterized in that it is at least one of each time the location information or the shared information related information is updated or when the power of the node device itself is turned off.
前記情報通信システムは、オーバーレイネットワークによって前記各ノード装置が接続され、
前記リンク情報に含まれる前記ノード情報は、当該ノード情報にかかるノード装置を、前記オーバーレイネットワークの識別情報空間にて一意に識別するためのノードIDと、当該ノード装置の宛先情報と、を含むことを特徴とするノード装置。 In the node apparatus as described in any one of Claims 1 thru | or 4,
In the information communication system, each node device is connected by an overlay network,
The node information included in the link information includes a node ID for uniquely identifying the node device related to the node information in the identification information space of the overlay network, and destination information of the node device. A node device characterized by the above.
前記第1記憶手段は、前記ノード装置に具備されるRAMであり、
前記第2記憶手段は、ハードディスク、又はフラッシュメモリ、又はEEPROM、又はバックアップ電源付き半導体メモリであることを特徴とするノード装置。 In the node apparatus as described in any one of Claims 1 thru | or 5,
The first storage means is a RAM provided in the node device,
The node device, wherein the second storage means is a hard disk, a flash memory, an EEPROM, or a semiconductor memory with a backup power source.
前記オーバーレイネットワークを介して前記ノード装置と通信をする際に使用するリンク情報であって、複数の特定のノード装置を示すノード情報を含む前記リンク情報を揮発性の第1記憶手段に記憶するステップと、
前記第1記憶手段を備えるノード装置自身が前記情報通信システムに参加している際に、前記第1記憶手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第2記憶手段に記憶させる第1記憶制御ステップと、
前記第1記憶手段を備えるノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報のいずれかを用いて、前記第1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得ステップであって、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報を読み出すステップと、
読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参加する旨を知らせる参加通知を送信する参加通知ステップと、
前記参加通知の送信が成功したか否かを判断する参加通知送信可否判断ステップと、
を有し、
前記参加通知送信可否判断ステップにより前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記リンク情報を取得する前記リンク情報取得ステップと、
取得された前記リンク情報を、前記第1記憶手段に記憶させる第2記憶制御ステップと、
を実行させることを特徴とする記憶制御プログラム。 Information that includes a plurality of node devices that can communicate with each other via a network, and a plurality of shared information shared by the plurality of node devices is distributed and stored by an overlay network composed of the plurality of node devices. In the computer of the node device in the communication system,
Step of storing link information used when communicating with the node device via the overlay network, the link information including node information indicating a plurality of specific node devices in a volatile first storage unit When,
When the node device itself including the first storage unit participates in the information communication system, the link information stored in the first storage unit is stored in the nonvolatile second storage unit at a predetermined timing. A first storage control step,
When the node device itself comprising the first storage means leaves the information communication system and then joins the information communication system again, the node information included in the link information stored in the second storage means A link information acquisition step for acquiring the link information to be stored in the first storage means using any one of the steps, wherein the node information included in the link information stored in the second storage means is read out When,
A participation notification step of transmitting a participation notification notifying that the node device according to the node information participates in the information communication system based on the read node information;
A participation notification transmission permission determination step for determining whether or not the transmission of the participation notification is successful;
Have
The link information stored in the transmission destination node device from the node device that is the transmission destination of the participation notification when it is determined in the participation notification transmission availability determination step that the transmission of the participation notification is successful. Acquiring the link information;
A second storage control step of storing the acquired link information in the first storage means;
A storage control program for executing
前記オーバーレイネットワークを介して前記ノード装置と通信をする際に使用するリンク情報であって、複数の特定のノード装置を示すノード情報を含む前記リンク情報を揮発性の第1記憶手段に記憶する工程と、
前記第1記憶手段を備えるノード装置自身が前記情報通信システムに参加している際に、前記第1記憶手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第2記憶手段に記憶させる第1記憶制御工程と、
前記第1記憶手段を備えるノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加する際に、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報を用いて、前記第1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得工程であって、前記第2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報のいずれかを読み出す工程と、読み出された前記ノード情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参加する旨を知らせる参加通知を送信する工程と、前記参加通知の送信が成功したか否かを判断する参加通知送信可否判断工程と、を有し、前記参加通知送信可否判断工程により前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前記リンク情報を取得する前記リンク情報取得工程と、
取得された前記リンク情報を、前記第1記憶手段に記憶させる第2記憶制御工程と、
を有することを特徴とする情報記憶方法。 Information that includes a plurality of node devices that can communicate with each other via a network, and a plurality of shared information shared by the plurality of node devices is distributed and stored by an overlay network composed of the plurality of node devices. In an information storage method in a communication system,
The link information used when communicating with the node device via the overlay network, the link information including node information indicating a plurality of specific node devices stored in a volatile first storage unit When,
When the node device itself including the first storage unit participates in the information communication system, the link information stored in the first storage unit is stored in the nonvolatile second storage unit at a predetermined timing. A first memory control step,
The node information included in the link information stored in the second storage means when the node device comprising the first storage means itself withdraws from the information communication system and then joins the information communication system again. A link information acquisition step of acquiring the link information to be stored in the first storage means, and reading any of the node information included in the link information stored in the second storage means And a step of transmitting a participation notification notifying that the node device related to the node information participates in the information communication system based on the read node information, and the transmission of the participation notification was successful. A participation notification transmission availability determination step for determining whether or not the participation notification transmission availability determination step determines that the participation notification has been successfully transmitted. Was the case, from the participation notification transmission destination of the node device, and the link information obtaining step of obtaining the link information to which the destination node device is stored,
A second storage control step of storing the acquired link information in the first storage means;
An information storage method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010240413A JP2011060309A (en) | 2010-10-27 | 2010-10-27 | Node device, storage control program, and information storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010240413A JP2011060309A (en) | 2010-10-27 | 2010-10-27 | Node device, storage control program, and information storage method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006110293A Division JP4655986B2 (en) | 2006-04-12 | 2006-04-12 | Node device, storage control program, and information storage method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011060309A true JP2011060309A (en) | 2011-03-24 |
Family
ID=43947787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010240413A Pending JP2011060309A (en) | 2010-10-27 | 2010-10-27 | Node device, storage control program, and information storage method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011060309A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000358039A (en) * | 1999-06-17 | 2000-12-26 | Sony Corp | Information processor, information processing method and medium |
JP2004355114A (en) * | 2003-05-27 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | Semantic information network system, session resume method, and session resume program |
JP2006059133A (en) * | 2004-08-20 | 2006-03-02 | Brother Ind Ltd | Information distribution system, node system, location information retrieval method, and location information retrieval processing program |
-
2010
- 2010-10-27 JP JP2010240413A patent/JP2011060309A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000358039A (en) * | 1999-06-17 | 2000-12-26 | Sony Corp | Information processor, information processing method and medium |
JP2004355114A (en) * | 2003-05-27 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | Semantic information network system, session resume method, and session resume program |
JP2006059133A (en) * | 2004-08-20 | 2006-03-02 | Brother Ind Ltd | Information distribution system, node system, location information retrieval method, and location information retrieval processing program |
Non-Patent Citations (4)
Title |
---|
CSND200600705006; 岩田 真一: 'P2P技術の基礎知識[1]' UNIX MAGAZINE 第20巻 第9号 第20巻, 20050901, p.82〜107, 株式会社アスキー * |
CSNG200600317001; 金子 雄: 'ユビキタス環境における端末の位置情報に基づくP2Pネットワーク' 情報処理学会論文誌 第46巻 No.SIG18(TOD28) 第46巻, 20051215, P.1〜15, 社団法人情報処理学会 * |
JPN6012032913; 金子 雄: 'ユビキタス環境における端末の位置情報に基づくP2Pネットワーク' 情報処理学会論文誌 第46巻 No.SIG18(TOD28) 第46巻, 20051215, P.1〜15, 社団法人情報処理学会 * |
JPN6012032916; 岩田 真一: 'P2P技術の基礎知識[1]' UNIX MAGAZINE 第20巻 第9号 第20巻, 20050901, p.82〜107, 株式会社アスキー * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4655986B2 (en) | Node device, storage control program, and information storage method | |
JP4599581B2 (en) | Information distribution system, distribution request program, transfer program, distribution program, etc. | |
JP2008234445A (en) | Content distributed storage system, duplicate data acquisition method, node device, and node processing program | |
JP4561283B2 (en) | Node device, shared information update method, shared information storage method, shared information update processing program, and shared information storage processing program | |
JP2010028551A (en) | Content distributed storage system, node device, node processing program, and address information change notifying method | |
JP2007193626A (en) | Content distribution system, node device, information processing method therefor and program therefor | |
JP2006101277A (en) | Information communications system, node apparatus, and overlay network forming method or the like | |
JP5293533B2 (en) | Information communication system and information communication method | |
JP2006059133A (en) | Information distribution system, node system, location information retrieval method, and location information retrieval processing program | |
US8332463B2 (en) | Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded | |
JP2010113573A (en) | Content distribution storage system, content storage method, server device, node device, server processing program and node processing program | |
JP5353567B2 (en) | Information processing system, information processing apparatus, node apparatus, program, and information processing method | |
US8312068B2 (en) | Node device, information communication system, method for managing content data, and computer readable medium | |
JP2011060309A (en) | Node device, storage control program, and information storage method | |
JP2009232272A (en) | Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program | |
JP2009187101A (en) | Content distribution storage system, evaluation value addition method, server device, node device and node processing program | |
JP2010066930A (en) | Content distributed storage system, content storage method, node device and node processing program | |
JP2010108082A (en) | Content distribution storage system, content storage method, node device, and node processing program | |
JP2010039722A (en) | Node device, management node device, node processing program, management node processing program, content distribution storage system, and replica data acquisition method | |
JP4935734B2 (en) | Content distributed storage system, node device, node processing program, and node processing method | |
JP5157770B2 (en) | Node device, program, and storage instruction method | |
JP6369264B2 (en) | Communication system and information processing apparatus | |
JP2011008657A (en) | Content distribution system, node device, content distribution method, and node program | |
JP2008020938A (en) | Save instruction device, node device, save instruction program and control program | |
JP5412924B2 (en) | Node device, node processing program, and content data deletion method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120827 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121211 |