WO2007116630A1 - ノード装置、記憶制御プログラムを記録した記録媒体及び情報記憶方法 - Google Patents
ノード装置、記憶制御プログラムを記録した記録媒体及び情報記憶方法 Download PDFInfo
- Publication number
- WO2007116630A1 WO2007116630A1 PCT/JP2007/055515 JP2007055515W WO2007116630A1 WO 2007116630 A1 WO2007116630 A1 WO 2007116630A1 JP 2007055515 W JP2007055515 W JP 2007055515W WO 2007116630 A1 WO2007116630 A1 WO 2007116630A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- node
- node device
- stored
- storage
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
Definitions
- Node device recording medium storing storage control program, and information storage method
- the present invention comprises a plurality of node devices that can communicate with each other via a network, and information in which 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 a technical field such as node equipment included in a communication system.
- DHT distributed Hash Table
- the contact node device that is accessed first when joining the overlay network, etc., where the node device does not recognize link information (for example, destination information) to all the node devices participating in the overlay network.
- the RAM Random Access Memory
- the RAM has only the link information to some node devices obtained from the table as table information.
- the CPU directly accesses the RAM, and the table information It is supposed to refer to.
- Patent Documents 1 and 2 disclose DHT technology.
- Patent Document 1 Japanese Patent Laid-Open No. 2003-99337
- Patent Document 2 Japanese Patent Laid-Open No. 2003-216521
- the node device power system power withdrawal (power off), it is used for communication with other node devices stored in the RAM. All link information is lost.
- the present invention has been made in view of the above points, and the hard disk remains unerased even after the system power is removed from the link information used when participating in the system.
- Link information to be used when re-joining the system based on the node information included in the link information that was stored in the hard disk when re-entering the system. Provides a node device that can acquire the latest link information at the time of system participation without imposing a processing burden on a specific node device, a recording medium recording a storage control program, and an information storage method The task is to do.
- the invention according to claim 1 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.
- the link information is used when communicating with each of the node devices, and one or more specific node devices are Volatile first storage means for storing the link information including node information indicating the link information stored in the first storage means when the node device itself participates in the information communication system.
- a first storage control means for storing information in the nonvolatile second storage means at a predetermined timing, and the node device
- the first storage unit uses the node information included in the link information stored in the second storage unit.
- Link information acquisition means for acquiring the link information to be stored in the second storage means
- node information reading means for reading the node information included in the link information stored in the second storage means
- the read node Based on the information, a participation notification means for transmitting a notification of participation to inform the node device related to the node information that the information communication system will participate, and whether or not the transmission of the participation notification is successful.
- a participation notification transmission permission determination means for determining, and when the participation notification transmission permission determination means determines that the transmission of the participation notification is successful
- the link information acquisition means for acquiring the link information stored in the transmission destination node apparatus from the node apparatus as the transmission destination of the participation notification, and the link information acquired by the link information acquisition means
- a second storage control means for storing the first storage means in the first storage means.
- each node device participating in the information communication system receives link information used when communicating with each other node device while participating in the system, such as RAM.
- link information used when communicating with each other node device while participating in the system, such as RAM.
- it is stored in the second storage means and included in the link information. Since the link information to be stored in the first storage means is obtained from other node devices participating in the system based on the node information that is stored in the system, only specific node devices are subjected to an excessive processing burden. The latest link information can be obtained when participating in the Nagu system.
- the invention according to claim 2 is the node device according to claim 1, wherein the participation notification transmission availability determination unit determines that the participation notification transmission has failed.
- the participation notifying means is another node device included in the information communication system, and is a participant in the system.
- the link information receiving means receives the link information including the node information that is applied to at least one of the node devices included in the information communication system from the participation management node device.
- the second storage control unit stores the link information received from the participation management node device in the first storage unit, and other node information is still included in the link information by the node information existence determination unit. If it is determined, the participation notification means transmits the participation notification to the node device that inputs other node information included in the link information.
- the node device when the node device rejoins the system after it withdraws from the system power, all the node information included in the link information stored in the second storage means is applied.
- the node device can attempt to transmit a participation notification to receive link information.
- the participation management node device that manages participation in the system, such as a contact node device, is used. Link information can be acquired.
- the invention according to claim 3 is the node device according to claim 1 or 2, wherein the node device itself has withdrawn from the information communication system power and then the information again.
- the third storage control means for storing the link information stored in the second storage means in the first storage means when participating in the communication system, and the second storage means by the third storage control means From the node information included in the link information re-stored in the first storage means, node information selection means for selecting any of the node information, and the participation notification means
- the node device is characterized by transmitting the participation notification to the node device that works on the node information based on the node information.
- the link information stored in the second storage means is stored in the first storage means, and then the operation of selecting the node device that transmits the participation notification is performed. Therefore, participation in the system can be performed smoothly.
- the node device in the node device according to claim 3, transmission of the participation notification has failed by the participation notification transmission permission determination unit
- the node information selected by the node information selection means is deleted from the link information stored in the first storage means, and the node information Presence / absence judging means judges whether or not the node information is still present in the link information stored in the first storage means, and the node information presence / absence judging means judges that there is no node information in the link information.
- the participation notification means transmits the participation notification to the participation management node device, and the link information reception means includes at least the participation management node device power included in the information communication system.
- the link information comprising the node information relating to one or more of the node devices is received, and the second storage control means replaces the link information stored in the first storage means with the previous information.
- the link information received from the participation management node device is stored in the first storage means, and when the node information presence / absence judging means determines that the link information still has node information, the node information selection
- the means is a node device characterized in that any one of the node information included in the link information is selected again.
- the node device when the node device rejoins the system after having withdrawn from the system power, it applies to all the node information included in the link information stored in the second storage means.
- the node device can attempt to transmit a participation notification to receive link information.
- the participation management node device that manages participation in the system, such as a contact node device, is used. Link information can be acquired.
- the invention according to claim 5 is the node device according to any one of claims 1 to 4, wherein the shared information storage means for storing the shared information; Any of the shared information stored in the information storage means is stored in the first storage means by the second storage control means so that it can be shared with the other node devices included in the information communication system.
- a node notification device comprising: a disclosure notification unit configured to transmit a disclosure notification of the shared information to the node device related to the node information.
- the invention according to claim 6 is the node device according to any one of claims 1 to 5, wherein the first storage control means is connected to the first storage means.
- First storage time determining means for determining whether the elapsed time from the time when the stored link information is stored in the second storage means to the present is longer than the first predetermined storage time is provided.
- the participation notification unit notifies the participation management node device of the participation notification. It is a node apparatus characterized by transmitting.
- the participation management node device power link information for managing the participation of the contact node device or the like in the system. Can be obtained.
- the invention according to claim 7 is the node device according to claim 1, wherein the first storage control means stores the link information stored in the first storage means.
- the second storage time determining means for determining whether the elapsed time elapsed from the time stored in the second storage means to the present is longer than a second predetermined storage time, If the determination means determines that the elapsed time is within the second predetermined storage time, the link information acquisition means acquires the link information stored in the second storage means,
- the second storage control means is a node device characterized in that the link information acquisition means stores the link information acquired from the second storage means in the first storage means.
- the link information stored in the second storage means when the link information stored in the second storage means is relatively new, the link information can be used after rejoining the system.
- the invention according to claim 8 is the node device according to claim 7, wherein the shared information is stored in the shared information storage means for storing the shared information and the shared information storage means.
- the node related to any one of the node information stored in the first storage means by the second storage control means that the shared information should be shared with the other node devices included in the information communication system
- a node device comprising: a public notification unit that transmits a public notification of the shared information to a device; and a public notification transmission availability determination unit that determines whether the transmission of the public notification is successful. It is.
- the link information stored in the second storage means after re-joining the system, it is determined whether or not the link information is information suitable for use. Judgment can be made.
- the invention according to claim 9 is the node device according to claim 8, wherein the link information acquisition unit transmits the disclosure notification by the disclosure notification transmission availability determination unit. Participation notification for notifying that other node devices included in the information communication system that participate in the system participate in the system when it is determined to have failed. And a link information receiving means for receiving the link information including the node information related to at least one or more of the node devices included in the information communication system from the participation management node device, And the second storage control means stores the link information received from the participation management node device in the first storage means. It is a device.
- an invention according to claim 10 is the node device according to any one of claims 1 to 9, wherein the first storage means includes the plurality of shared information. That is, location information indicating the location of the node device that stores the shared information to be managed by the node device itself, and shared information related information regarding the plurality of shared information shared by the plurality of node devices
- 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, and the second storage means.
- the storage control means stores the location information and the shared information related information stored in the second storage means when the node device itself leaves the information communication system and then rejoins the information communication system. Again before A node apparatus, characterized in that into the first storage means.
- each node device participating in the information communication system transmits the acquired cache information and catalog information from the first storage means such as RAM to the second during the participation in the system.
- the cache information and catalog information stored in the second storage means are stored in the first storage means. Because it can be used, you can participate in the system more smoothly.
- the invention according to claim 11 is the node device according to any one of claims 1 to 10, wherein the predetermined timing is set every time a predetermined time elapses, or 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 information communication system.
- the node device is characterized in that it is at least one of each time when the power of the node device itself is turned off.
- the invention according to claim 12 is the node device according to any one of claims 1 to 11, wherein the information communication system is configured such that each node device is an overlay network.
- the node information included in the link information includes a node ID for uniquely identifying a node device that works on the node information in the identification information space of the overlay network, and destination information of the node device.
- a node device characterized by including:
- 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 smoothly rejoins the peer-to-peer type information communication system. be able to.
- the invention according to claim 13 is the node device according to any one of claims 1 to 12, wherein the second storage means is a hard disk or a flash memory, Or a node device characterized by being an EEPROM or a semiconductor memory with a backup power source.
- the second storage means is any of a hard disk, a flash memory, an EEPROM, or a semiconductor memory with a backup power source, it is connected to each other node device while participating in the system.
- the link information used for communication is stored in RAM or other first storage means. Therefore, the latest link information can be acquired on the basis of the link information stored in the second storage means when rejoining the system.
- the invention according to claim 14 is a storage control program that causes a computer to function as the node device according to any one of claims 1 to 13. Is a recording medium.
- the invention according to claim 15 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.
- link information used when communicating with each of the node devices, the node indicating one or more specific node devices Storing the link information including information in the volatile first storage means, and the link stored in the first storage means when the node device itself participates in the information communication system.
- the node device that is the transmission destination stores the node device that is the transmission destination of the participation notification.
- An information storage method comprising: a link information acquisition step for acquiring link information; and a second storage control step for storing the acquired link information in the first storage means.
- each node device participating in the information communication system is connected to each other node.
- Link information such as table information consisting of node information used when communicating with the device,
- the link information stored in the second storage means When storing in the second storage means from the first storage means such as RAM and then leaving the system and then joining the system again, the link information stored in the second storage means will be stored. Since the link information to be stored in the first storage means is obtained from the other node devices participating in the system using the included node information, only a specific node device has an excessive processing load. The latest link information can be obtained when participating in the system.
- FIG. 1 is a diagram showing an example of a connection mode of each node device in a content distribution system according to the present embodiment.
- FIG. 2 is a block diagram showing a schematic configuration example of a node device 1.
- FIG. 3 is a diagram showing an example of how a routing table is created by DHT.
- FIG. 4 An example of a level 1 table.
- B An example of a level 2 table.
- C An example of a level 3 table.
- D An example of a completed routing table.
- FIG. 5 shows the state when the node device 1 participates in the content distribution system S in the ID space of the DHT.
- (B) (C) It is the figure which showed the mode of the node apparatus 1 participating in the content delivery system S in ID space of DHT.
- FIG. 6 is a diagram showing an example of a content ID and a node ID in the DHT ID space.
- FIG.7 A diagram showing how the content is published and how the content is retrieved in the DHT ID space.
- FIG. 8 is a flowchart showing an example of main processing in the node device 1.
- FIG. 9 is a flowchart showing an example of a “table information reading process” in the node device 1.
- FIG. 10 is a flowchart showing an example of “cache information read processing” in node device 1 (A).
- 5B is a flowchart showing an example of “catalog information reading process” in the node device 1.
- FIG. 10 is a flowchart showing an example of “cache information read processing” in node device 1 (A).
- 5B is a flowchart showing an example of “catalog information reading process” in the node device 1.
- FIG. 11 In node device 1, “table information stored in RAM, cache information and 7 is a flowchart showing an example of “a process of saving catalog information in the hard disk storage unit 22”.
- FIG. 12 is a flowchart showing an example of “a process of saving table information, cache information, and catalog information stored in a RAM to the hard disk storage unit 22” in the node device 1.
- FIG. 1 an outline configuration of a content distribution system as an information communication system in which information is shared by a plurality of node devices will be described.
- FIG. 1 is a diagram showing an example of a connection mode of each node device in the content distribution system S according to the present embodiment.
- IX Internet eXchange
- ISP Internet Service Provider
- DSL Digital Subscriber Line
- FTTH A network (real-world network) 8 such as the Internet is constructed by the device 6 of the fiber operator, the communication line (for example, telephone line, optical cable, etc.) 7 and the like.
- Each node device la, lb, lc • ⁇ ⁇ lx, ly, 1 ⁇ ⁇ ⁇ connected to each other via the network 8 has a destination of an IP (Internet Protocol) address and a port number.
- Information and a node ID (IDentifier) as a unique value for identifying each node device and uniquely identifying one node device are assigned as node information. These node IDs do not overlap among multiple node devices.
- IDentifier node IDs
- an overlay network 9 as shown in an upper frame 500 of FIG. 1 is constructed by an algorithm using DHT.
- this overlay network 9 means a network constituting a virtual link formed using the existing network 8, and the content distribution system S of the present embodiment participates in the overlay network 9. It is composed of multiple node devices 1.
- the node ID is not particularly limited as long as each node device can be uniquely identified.
- the hash value obtained by hashing the serial number and machine name assigned in advance at the factory with a common hash function (hash algorithm) is used as a GUID (Global Unique IDenti bomb), and this is used as the node ID. It can be used for the node device 1.
- 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 a 128-bit number is used, 2 "128 340 X 10" 36 node devices can be operated. In fact, it is assumed that SH A 1 (Secure Hash Algorithm 1) (number of generated analysis 160bit) and MD5 (Message Digest 5) (number of generated digit 120bit), which are known hash functions, are used. In this way, the node ID obtained by a common hash function has a very low probability of having the same value if the serial number or machine name is different. Since the Noh and Shush functions are well known, detailed description thereof is omitted.
- FIG. 2 is a block diagram illustrating a schematic configuration example of the node device 1.
- the node device 1 includes a CPU having an arithmetic function, table information (an example of link information), cache information (an example of location information), catalog information (an example of shared information related information). ) Etc.
- Working RAM Random Access Memory
- ROM Read Only Memory
- the content data may be stored on the node device 1
- the received content data temporarily Decodes the buffer memory 13 to be stored and the encoded video data (video information) and audio data (audio information) included in the content data (data expansion and decoding) And the like, a video processing unit 15 that performs a predetermined drawing process on the decoded video data and outputs the video signal, and a video display based on the video signal output from the video processing unit 15
- a display unit 16 such as a CRT or a liquid crystal display
- an audio processing unit 17 that converts the decoded audio data into an analog audio signal after D (Digital) / A (Analog) conversion, and amplifies this by an amplifier and outputs it.
- the audio signal output from the sound processing unit 17 as a sound wave A communication unit 20 for controlling communication of information between the speaker 18 to be output and another node device 1 through the network 8, and an instruction signal according to the instruction received from the user force to the control unit 11
- An input unit for example, a keyboard, a mouse, or an operation panel
- 21 serving as an input means to be given to the rewritable nonvolatile storage for storing content data, table information, cache information, catalog information, etc.
- a hard disk storage unit 22 (an example of a second storage unit), and the control unit 11, the storage unit 12, the nota memory 13, the decoder unit 14, the communication unit 20, and the hard disk storage unit 22 are buses. Connected to each other via 23.
- the control unit 11 performs overall control of the overall operation as the node device 1 according to the embodiment,
- the contact node device 1CC that is accessed first 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.
- the participation message is received from the participating node device 1, the table information stored in the node device 1 is transmitted to the node device 1.
- DHT Distributed Hash Table
- DHT Distributed Hash Table
- This embodiment is based on the overlay network 9 constructed by an algorithm using DHT, and the node device 1 arranged in the overlay network 9 (in the upper frame 500 of Fig. 1) is an overlay network.
- the node device 1 participating in 9 in other words, the node device 1 participating in the content distribution system S.
- Participation in such a content distribution system S is table information (an example of link information) that is used by a node device 1 that has not participated in communication with other node devices.
- table information an example of link information
- the control unit 11 When the present invention is participating in the content distribution system S, the control unit 11 When the table information stored in the RAM of the hard disk is stored in the hard disk storage unit 22 and joined to the system again, the node information included in the table information stored in the hard disk storage unit 22 Based on the above, it is configured to obtain the latest table information.
- the node device 1 that works on the node information included in the table information stored in the hard disk storage unit 22 to request participation in the system and have the table information copied, It is possible to obtain the latest table information without imposing a processing burden on the fixed contact node device 1CC.
- table information is also referred to as a routing table because it is created (updated) while transferring between multiple node devices.
- FIG. 3 is a diagram showing an example of how a routing table (table information) is created
- FIG. 4 is a diagram showing an example of a routing table (table information).
- an ID space as shown in FIG. 4 (A) is divided into several areas. In this area, the ID space is divided to create the routing table. Actually, about 16 divisions are often used. However, for the sake of simplicity, the area is divided into four and the ID is a bit. It was decided to express it as a 16-bit quaternary number. An example in which the node ID of the node device 1N is “1023 0210” and the routing table of the node device 1N is created will be described.
- each area has a different maximum digit when expressed in quaternary numbers. Divided into four areas “0XXXXXX”, “1XXXXXX”, “2XXXXX”, “3XXXXXX” (X is a natural number from 0 to 3 and so on). Since a node ID of the node device 1N itself is “10230210”, a certain node device (hereinafter referred to as node device 1N) exists in the area of “1XX XXXXX” in the lower left in the figure.
- the node device 1N appropriately selects the node device 1 existing in an area other than the area where the node device 1 exists (that is, the “1XXXXXX” area), and the destination information such as the IP address of the node ID is set to the level 1 Store in the table.
- Figure 4 (A) is an example of a level 1 table.
- the second column shows the node device 1N itself! /, So there is no need to store destination information such as IP address.
- the area where I exist is further divided into four, and four areas ⁇ 10XXXXXX '', ⁇ 11XXXXX '', ⁇ 1 2XXXXX '', ⁇ 13XXXXX ".
- the node device 1 existing in an area other than its own area is appropriately selected, and the destination information such as the IP address of the node ID is stored in the level 2 table.
- Figure 4 (B) is an example of a level 2 table. Since the first column shows the node device 1N itself, there is no need to store the destination information.
- the area that exists is further divided into four, and four areas ⁇ 100XXXXX '', ⁇ 101XXXXX '', ⁇ 102XXXX '', ⁇ 103XXXXX '' ".
- the node device 1 existing in an area other than its own area is appropriately selected, and the destination information such as the IP address of the node ID is stored in the level 1 table.
- Figure 4 (C) is an example of a level 3 table.
- the third column shows the node device 1N itself, so there is no need to store destination information such as the IP address.
- the second and fourth columns are blank because there are no node devices in the area.
- each node device 1 stores destination information such as the IP address of the other node device 1 in association with the area of the node ID space, that is, each level and each column of the DHT. ing. In other words, each node device 1 defines destination information such as the IP address of one node belonging to each of the divided areas as one stage (level) in association with each area.
- the area to which it belongs is divided into multiple areas, and the destination information such as the IP address of one node device 1 belonging to each of the divided areas is associated with each area as the next stage (level).
- the node device 1 that has not participated in the content distribution system S first participated in the system in the past in order to acquire the table information as described above.
- a “participation message” an example of a participation notification
- the node device 1 stores the table information acquired from the contact node device 1CC in the RAM of the control unit 11 while participating in the system, and searches for content and publishes content. It is used when transferring messages at the time, and dynamically updated to the latest information (see Fig. 5 (B)). Specifically, at the time of knowing the existence of another node device 1 at the time of message transfer, content distribution, etc., it is determined which cell in the table the node ID of that device matches, and each table Add (update) the contents of. Also, when it is known that another node device has withdrawn, the node ID of the device is deleted from the table.
- the node device 1 While participating in the content distribution system S, the node device 1 stores the table information in the hard disk storage unit 22 as well as the RAM power of the control unit 11 (see FIG. 5C). Then, when the node device 1 leaves the system power and rejoins the system, the node device 1 in the table information stored in the hard disk storage unit 22 that is not the contact node device 1CC is Select the node information to send the “participation message”. More specifically, the table information stored in the hard disk storage unit 22 is transferred (stored) to the RAM of the control unit 11 for work (see the arrow in FIG. 5D) and the table information is stored.
- the node device is selected from the information, and according to the routing using the node ID of the selected node information as a key, the “join message” (own node information, selected node information) is sent to the selected node device 1. (Including the node ID) and receive the table information (see Figure 5 (D)).
- the received table information is stored in the RAM of the control unit 11 and used for information transfer with other node devices.
- the table information is always dynamically rewritten by exchanging information such as message and content distribution. Therefore, the table information is obtained from the node device 1 currently participating in the system. As a result, it is possible to obtain the latest table information in which the node information of the node devices participating in the system has relatively little node information of the node devices that have left the system. In particular, in the case of re-participation in the system, a processing load is not imposed on the contact node device 1CC, so a more useful system can be provided.
- the table information (table information stored in the node disk storage unit 22) used when the node device 1 currently participating in the system was used in the system in the past. If the node device 1 corresponding to a node ID relatively far from its own node ID is selected, the “participation message” including its own node information is sent to a relatively large number of node devices. It can be transferred between 1 and can inform relatively many node devices of its existence.
- Content data for example, movies, music, etc.
- content data is distributed to a plurality of node devices 1 participating in the content distribution system S.
- the content is also given a unique (unique) content ID for each content.
- This content ID has the same length as the node ID (for example, 128 bits), and is determined by the server 100 that inputs the content to the content distribution system S and registers it in the node device 1 to each content. Is granted.
- Figure 6 shows a node ID and content ID assigned in 32 bits, and is shown in the ID space.
- black dots indicate node IDs
- black diamonds indicate content IDs
- IDs increase counterclockwise.
- a node device that manages content having a certain content ID is the node ID closest to that content ID. Is a node device 1 having In other words, the node device 1 having the node ID closest to the content ID (for example, the higher-order digit matches more) and having a node ID that is equal to or less than the value of the content ID is The location information of the node device 1 that stores the content is managed.
- 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.
- the content IDa is managed by the node device having the node IDa
- the content IDb is managed by the node device having the node IDb.
- any definition may be used as long as the management of each content is allocated to each node device 1 as long as it is consistent.
- a certain node device may manage a plurality of different content data so that the content IDc and IDd are managed by the node device 1 having the node IDc.
- “management” does not mean that the content is stored / held, but “whether the content data (content data) is stored in! It is known to store (cache) destination information such as the IP address of the node device holding the content as the location information of the content.
- Table 1 shows an example of cache information stored in the RAM of the control unit 11 by each node device 1.
- the node device 1 transmits a “public message” (an example of a public notification) that is transmitted when a node device holding content makes new content visible to other node devices participating in the content distribution system S.
- Destination information (content location information) such as IP address included in) is received and acquired, and written to the cache information (Table 1) stored in the RAM of the control unit 11.
- the content location information is stored as cache information in the RAM of the control unit 11.
- FIG. 7 is a diagram showing an example of how new content is released by DHT.
- the node device that holds the content obtains the content ID from the content title, etc., toward the node device that has the same node ID as the content ID (whether or not this node device actually exists is at this point). ) Send a "public message”.
- the node device la refers to the level 1 table stored in the RAM of the control unit 11 (see FIG. 4D) and refers to the same area as the content ID “31330012”.
- a “public message” is sent to the node device having the node ID of.
- the node device 1 belonging to the area of “3XXXXXX” knows the destination information such as the IP address (that is, the tape Send a “public message” to the node device lb (where the destination information such as the IP address is stored in the message information).
- the node device la A “public message” is transmitted to the node device lb whose ID is “30100000”.
- the node device lb that has received the "public message” refers to the level 2 table of the table information stored in the RAM of the control unit 11 by the node device lb itself, and "3 IX XXXXXJ
- the “public message” is transferred to the node device lc (node ID “31012001”) that knows the destination information such as the IP address among the node devices 1 belonging to the area.
- the node device Id finally reached the content ID contained in the "public message” and the IP address "IP address 1" of the node device 1a holding the content.
- Information is stored in the cache information stored in the RAM of its own control unit 11.
- the node devices lb and lc that have transferred (relayed) the “public message” from the node device la holding the content according to the table information also receive the content ID and content contained in the “public message”.
- the stored IP address “IP address 1” of the node apparatus la is stored in the cache information stored in the RAM of its own control unit 11 as the location information of the content.
- the "search message” power to query and match the location of the content including the content ID, according to the routing using the content ID included in the "search message” as a key,
- the IP address of the node device that holds the content is received as the location information of the content from the node device.
- the node device that receives the request accesses the node device that holds the content and requests distribution.
- FIG. 1 In the case of the example shown in FIG.
- the “search message” including the content ID “31330012” of the content to be searched transmitted from the node device le is transmitted to the content ID “31330012” via other node devices.
- Node device with location information of lc The device le acquires the “IP address 1” of the node device la as the location information of the content that works on the content ID “31330012” from the node device lc. Then, the node device le requests the node device la to distribute the content according to the IP address 1, and receives the content notification from the node device la.
- the node device le that desires content distribution receives the content location information from the node device lc having the content location information, and exchanges information to know each other's presence.
- node information of the node device lc (destination information such as IP address, node ID) is added to the table information stored in the RAM of the control unit 11, and the node device lc performs the same control. If there is no node information for the node device le in the table information stored in the RAM of the unit 11, the node information for the node device le is appended.
- the presence of each other is known. If the node information of the node device le is not included in the table information stored in the RAM of the control unit 11, the node information of the node device le is added to the table information stored in the RAM of the control unit 11. If there is no node information of the node device la in the table information stored in the node information, the node information of the node device la is appended.
- 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 other node devices 1
- the catalog information used (shared) is also stored in the RAM of the control unit 11.
- the catalog information is described in association with the content ID of each content attribute information.
- This attribute information includes, for example, the content name (if the content is a movie, the movie title, if the content is a song, the song title, if the content is a broadcast program, the program title), the genre (if the content is a movie, the action If the content is music, such as horror, comedy, love story, etc., rock, jazz, pop
- each node device 1 Next, a specific processing operation of each node device 1 will be described with reference to the drawings.
- FIG. 8 is a flowchart showing an example of the main process in the node device 1. This process is executed based on the control of the control unit 11, the node device 1 is turned on, and input by the user, for example. Starts by operating part 21 and instructing participation in content distribution system S.
- step S1 table information reading processing
- step S2 cache information reading processing
- step S3 catalog information reading processing
- step S4 it is determined whether or not the power is turned off. If not turned off (step S4: No), “other processing” is performed (step S5).
- “other processing” refers to processing that transmits its own tape information in response to a “participation message” transmitted from another node device 1, and “search” that is transmitted from another node device 1.
- Content search processing search for node device holding content
- content distribution processing performed in response to content distribution request transmitted from other node device 1, or Processing such as transfer processing of various messages.
- control unit 11 functions as first storage control means, and performs a process of saving the table information, cache information, and catalog information stored in the RAM to the hard disk storage unit 22 (step S6). Then, the process proceeds to step S4.
- steps S5 and S6 are repeated until it is determined in step S4 that the power is off.
- Steps SI to S 3 are processes performed before participating in the content distribution system S
- steps S 4 to S 6 are processes performed when participating in the content distribution system S.
- FIG. 9 is a flowchart showing an example of the “table information reading process” executed in step S1.
- step S 11 it is determined whether or not the table information is stored (stored) in the hard disk storage unit 22 (step S 11).
- the table information is stored in the hard disk storage unit 22 if it has not participated in the content distribution system S in the past, or the table information stored in the hard disk storage unit 22 has been deleted.
- step S 11: No as shown in FIG. 6 (A)
- a “participation message” is sent to the contact node device 1CC, and the table information is obtained (received). Is stored in RAM (step S12).
- step S1 l when the table information is stored in the hard disk storage unit 22 (step S1 l: Yes), the control unit 11 functions as a third storage control unit and stores it in the hard disk storage unit 22.
- the stored table information is read into the RAM for work (transcription) (step S13), and the storage time indicating the time when the table information is stored in the hard disk storage unit 22 is also stored from the hard disk storage unit 22. Get (Step S14).
- the control unit 11 functions as a second storage time determination unit, and whether or not the time (elapsed time) elapsed from the storage time to the current time is within a second predetermined storage time (for example, 2 hours). If it is longer than the second predetermined storage time (step S15: No), the table information stored in the hard disk storage unit 22 (the information on each node in the table) will be added to the system this time. The information is not as up-to-date as it can be used as is. Shift to processing. [0100] Next, in step S16, the control unit 11 functions as a first storage time determination means, and the time (elapsed time) that has elapsed from the storage time to the current time is determined in step S15. 2.
- step S16 It is determined whether it is longer than the predetermined storage time and within the first predetermined storage time (for example, 10 days) (step S16). If the elapsed time is longer than the first predetermined storage time (step S16: No), a “participation message” is sent to the contact node device 1CC to obtain table information from the contact node device 1CC ( The table information is stored in the RAM (step S12). As described above, when the elapsed time is longer than the first predetermined storage time, the table information stored in the hard disk storage unit 22 is old information, so a participation message is transmitted to the node device in the tape information. However, the possibility of failure is high. Therefore, the contact node device 1CC force table information is acquired.
- step S16: Yes if the elapsed time is within the first predetermined storage time in step S16 (step S16: Yes), the table information is acquired from the node device 1 selected based on the table information.
- the control unit 11 functions as node information presence / absence determination means, and determines whether or not there is node information in the RAM table information (step S17).
- the control unit 11 functions as a node information selection unit and a participation notification unit, selects the table information capability node information of the RAM, A “participation message” is transmitted to the node device 1 that works on the node information (step S 18).
- control unit 11 functions as a participation notification transmission availability determination unit, and determines whether or not the “participation message” has been successfully transmitted. Specifically, it is determined whether or not the node device power table information of the destination of the “participation message” has been received (step S 19).
- 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. is there.
- step S19: No 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, and deletes the node information selected in step S18 from the table information (step S20 ), Return to step S17. Store it in the hard disk storage unit 22
- the table information that was used is the table information that was used when the node device 1 that performed the process participated in the previous content distribution system s. If this is the case, the node devices that participated in the system at the time of the previous visit have also lost their system power over time.
- step S 18 node information in the table information is selected again, and it is determined that there is no node information in the table information (step S 17: No) or reception of table information is confirmed ( Steps S 17 to 19 are repeated until step S 19: Yes).
- step S19: Yes when the control unit 11 functions as a link information receiving unit and reception of table information is confirmed (step S19: Yes), the control unit 11 functions as a second storage control unit, and the operation is performed in step S13. Therefore, the received table information is stored in the RAM instead of the table information that has been transferred (stored) in the RAM (step S21).
- step S17 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, where a “participation message” is sent to the contact node device 1CC, and the table information is displayed. Receive and store the table information in RAM.
- step S22 it is determined whether or not the content to be shared with the other node devices 1 participating in the system is stored (possessed) in the storage unit 12 (step S22). If the content to be shared is not stored in the storage unit 12 (step S22: No), the process ends. If the content is stored (step S22: Yes), the control unit 11 , Functions as a public notification means, and for each content it possesses, transmits a “public message” based on the table information stored in the RAM in step S12 or S21 (step S23) and ends the process.
- the control unit 11 Functions as a public notification means, and for each content it possesses, transmits a “public message” based on the table information stored in the RAM in step S12 or S21 (step S23) and ends the process.
- step S15 If it is determined in step S15 that the time elapsed from the storage time to the current time (elapsed time) is within the second predetermined storage time (step S15: Yes), The process proceeds to S24 to 26.
- the hard disk storage unit 22 If the obtained table information is new (for example, if you rejoin the system immediately after leaving the system) (for example, within 2 hours), the table that was used when you last joined the system The information (each node information) is still likely to be the latest information, so the table information used last time is used as it is.
- step S24 the content to be shared with other node devices 1 participating in the system is stored (possessed) in the storage unit 12 to determine whether or not the content is shared. If the content to be stored is not stored in the storage unit 12 (step S 24: No), the process is terminated, and if it is stored in the storage unit 12 (step S 24: Yes), the control unit 11 functions as a public notification means, and transmits a “public message” for each content it possesses based on the table information stored in the RAM in step S13 (step S25).
- control unit 11 functions as a public notice transmission permission determination unit, and determines whether or not the “public message” has been successfully transmitted (step S 26). 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 has been successfully transmitted, and the reception confirmation notification is sent to the first destination node. If the message is not sent even after waiting for the specified waiting time (timeout), it is determined that the message transmission has failed. In the example shown in FIG. 7, the node device lb as the first transmission destination of the “public message” is the node device lb. If the transmission of the “public message” is successful (step S26: Yes), the process ends. If the transmission of the “public message” fails (step S26: No), the process is stored in step S13. The table information is deleted from the RAM, the process proceeds to step S12, and the table information is obtained from the contact node device 1CC and stored in the RAM.
- step S13 the table stored in hard disk storage unit 22 Various operations such as selecting node information from the table information after reading the information into the RAM, but the table information that is not loaded into the RAM is stored in the hard disk storage unit 22.
- the control unit 11 functions as a node information reading unit, and the table information stored in the hard disk storage unit 22 is stored in the table information. It may be configured to read out the included node information and transmit a “participation message” to the node device that works on the node information.
- step S2 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.
- step S31 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 such as when it has never participated in the content distribution system S in the past, the process is terminated as it is (step S31: No).
- step S31 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 is stored in the hard disk storage unit 22.
- the cache information is read into the RAM (step S32), and the process is terminated.
- step S3 the catalog information reading process in step S3 will be described with reference to a flowchart showing an example of the “catalog information reading process” in FIG. This process is the same as the “cache information reading process” described above.
- step S41 it is determined whether or not the catalog information is stored (stored) in the hard disk storage unit 22 (step S41).
- step S41 When catalog information is not stored in the hard disk storage unit 22, such as when the content distribution system S has not been participated in the past (step S41:
- control unit 11 functions as a second storage control unit, and the hard disk storage unit 22
- the catalog information stored in is read into RAM (step S42), and the process is terminated.
- the table information, cache information, and catalog information that are stored and used in the RAM of the control unit 11 are stored in the node disk storage unit 22 at a predetermined timing ( Remembered).
- FIG. 11 is a flowchart showing an example of the “process for saving the table information, cache information, and catalog information stored in the RAM to the hard disk storage unit 22” executed in step S6.
- Step S61 it is determined whether or not the force has passed a predetermined time since the previous saving process to the hard disk storage unit 22 (step S61). If the predetermined time has passed! /, (Step S6 l: No), the process is terminated. If the predetermined time has passed (step S61: Yes), the control unit 11 stores the first memory. It functions as a control means, stores RAM table information and storage time in the node disk storage unit 22 (step S62), and proceeds to step S63. At this time, if table information stored in the past is stored in the hard disk storage unit 22, it is overwritten and saved.
- 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 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 S64). [0124] 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. Is stored in the node disk storage unit 22 (step S65) and the process proceeds to step S67.
- step S64 Yes
- step S66 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). ).
- step S67 it is determined whether or not the catalog information is stored in the RAM (step S67). If the catalog information is stored in the RAM !, NA! /, (Step S67: No ) Terminates the processing, and if stored (step S67: Yes), the catalog information is stored in the node disk storage unit 22 (step S68), and the processing is terminated.
- FIG. 12 is a flowchart showing an example of the “process for saving the table information, cache information, and catalog information stored in the RAM to the hard disk storage unit 22” executed in step S6.
- step S71 it is determined whether or not the table information stored in the RAM has been updated (rewritten) (step S71).
- the control unit 11 functions as the first storage control unit, and stores the RAM table information and the storage time in the node disk storage unit 22 (step S72). ). If there is past table information in the hard disk storage unit 22, it is overwritten and saved. If the table information has not been updated (step S71: No), the process proceeds to step S73.
- 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), step S73 is performed. When the process proceeds to S77 and the cache information is updated (step S73: Yes), 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). [0129] 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 caches stored in the RAM are stored. Information is stored in the node disk storage unit 22 (step S75), and the process proceeds to step S77.
- step S74 Yes
- step S76 only the location information of the content having a 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 as cache information.
- 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 ends. If the catalog information has been updated (step S77: Yes), the catalog information is saved in the node disk storage unit 22 (step S78), and the process is terminated.
- steps S64 and S74 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 is determined.
- the number of pieces of content location information that can be stored in the cache information storage area of the storage unit 22 is determined, and in the case of cache information that has location information larger than this number, the content ID close to its own node ID Only the location information of the content having “” may be stored in the hard disk storage unit 22 as cache information.
- the upper limit of the processing time for storing cache information in the RAM power hard disk storage unit 22 is determined in advance as a storage processing time (for example, within 2 to 3 minutes), and a content ID close to its own node ID is selected from the RAM. The location information power of the content you have should be read in order, and the reading should be completed when a predetermined storage processing time has elapsed.
- a method for saving each piece of information stored in the RAM to the hard disk storage unit 22 every predetermined time, and to the hard disk storage unit 22 when each piece of information is updated In addition to the power described in the method for saving, for example, when the power-off is confirmed in step S4 (step S4: Yes), the above information is stored in the hard disk storage unit 22 and the power is also turned off. You can configure it! / [0133] According to the above-described embodiment, when participating in the content distribution system S, the table information stored and used in the RAM of the control unit 11 is used the next time when participating in the system.
- the stored information is not erased and stored in the node disk storage unit 22, and when the system power is also withdrawn, Based on the table information stored in the hard disk storage unit 22, the node device participating in the system for copying the table information (the node device to which the participation message is transmitted) Therefore, when joining a system that does not impose a processing burden on the contact node device 1CC, the latest table information can be acquired.
- a node device related to a node ID relatively far from its own node ID is selected when selecting, a “participation message” including its own node information is transferred between a relatively large number of node devices. By doing so, a relatively large number of node devices can be notified that they have joined the system.
- a node ID that is relatively far from its own node ID is that level 1 of the table information (see Fig. 4 (D)) is the farthest from its own node ID, and level 8 is the closest to its own node ID. Configure it to select from the node IDs described in level 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.
- the second storage means is not limited to the hard disk storage unit 22, and the information stored when participating in the system is erased even after the system card is withdrawn (after the power is turned off). Any non-volatile storage means may be used, for example, a flash memory, an EEPROM (Electronically Erasable and Programmable Read Only Memory), a flash memory, a semiconductor memory with a backup power source, or the like.
- the second storage means is not limited to the constituent members of the node device 1 such as the hard disk storage unit 22 but may be an external memory connected to the node device 1 or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
システムに参加しているときに使用していたリンク情報を、ハードディスク等に記憶させておくことにより、特定のノード装置の処理負担を課すことなく、システム参加時に最新のリンク情報を取得することができるノード装置等を提供することを課題とする。
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、複数のノード装置によって共用される共用情報が複数のノード装置に分散されて保存されている情報通信システムに含まれる各ノード装置において、各ノード装置と通信をする際に使用するリンク情報であって、一以上の特定のノード装置を示すノード情報を含むリンク情報を記憶する第1記憶手段と、システムに参加している際に、第1記憶手段に記憶されたリンク情報を、第2記憶手段に記憶させる手段と、システムから脱退した後、再びシステムに参加する際に、第2記憶手段に記憶されたリンク情報に含まれるノード情報にかかる前記ノード装置から取得したリンク情報を、第1記憶手段に記憶させる手段と、を有することを特徴とする。
Description
明 細 書
ノード装置、記憶制御プログラムを記録した記録媒体及び情報記憶方法 技術分野
[0001] 本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、当該 複数のノード装置によって共用される複数の共用情報が、複数のノード装置に分散 されて保存されている情報通信システムに含まれるノード装置等の技術分野に関す る。
背景技術
[0002] 近年、ネットワークに属するノード装置間で、音楽や映画等の様々なコンテンツが相 互に直接授受される情報通信システム、例えば、各コンテンツを複数のノード装置間 で分散して複数のノード装置で共用させる P2P型の情報通信システムにつ 、ての研 究開発が盛んである。この P2P型のシステムは、従来のクライアント 'サーバ型のモデ ルの欠点である、サーバへのアクセス集中や、高い管理コストを解決する手法として 注目されている。
[0003] また、ピアツーピア型の情報通信システムにお 、て、例えば、分散ハッシュテープ ル(以下、 DHT (Distributed Hash Table)という)を利用して論理的に構築されたォ 一バーレイネットワークでは、各ノード装置が当該オーバーレイネットワークに参加し ている全てのノード装置へのリンク情報 (例えば、宛先情報など)を認識しているわけ ではなぐオーバーレイネットワークに参加する際に最初にアクセスするコンタクトノー ド装置等から得られる一部のノード装置へのリンク情報だけをテーブル情報として RA M (Random Access Memory)に所持しており、データの問い合わせ等を行なう際には 、 CPUが RAMに直接アクセスして、テーブル情報を参照するようになっている。特 許文献 1、 2には、 DHTに係る技術が開示されている。
[0004] また、システム内の各ノード装置にて複数のコンテンツを分散して保存するだけで なぐ各コンテンツがどのノード装置に保持されているのかというコンテンツの所在に 関する情報についても、キャッシュ情報として各ノード装置で分散して管理している。 特許文献 1:特開 2003 - 99337号公報
特許文献 2 :特開 2003— 216521号公報
発明の開示
発明が解決しょうとする課題
[0005] このような、オーバーレイネットワークに参加して!/、るノード装置力 システム力 脱 退 (電源をオフにする)すると、 RAMに記憶していた他のノード装置との通信に使用 して 、たリンク情報等が全て失われてしまう。
[0006] そして、再度オーバーレイネットワークに参加する際には、再度コンタクトノード装置 力 リンク情報を取得する必要がある。
[0007] しかし、地域的な停電等が復旧した直後には、多数のノード装置力 コンタクトノー ド装置へのアクセスが集中するので、コンタクトノード装置に、過大な処理負担を課す こととなる。また、この処理負担は、システムに参加するノード装置が増えるほど深刻 になり、コンタクトノード装置だけでなぐネットワーク全体がダウンする恐れもある。
[0008] 本発明は、以上の点に鑑みてなされたものであり、システムに参カ卩しているときに使 用していたリンク情報を、システム力も脱退した後も消去されずに残るハードディスク 等に記憶させておくことにより、システムへの再参カ卩時に、ハードディスク等に記憶さ せてぉ 、たリンク情報に含まれるノード情報に基づ 、て、システム再参加時に利用す るリンク情報を取得することにより、特定のノード装置の処理負担を課すことなぐシス テム参加時に最新のリンク情報を取得することができるノード装置、記憶制御プロダラ ムを記録した記録媒体、及び情報記憶方法を提供することを課題とする。
課題を解決するための手段
[0009] 上記課題を解決するため、請求項 1に記載の発明は、ネットワークを介して互いに 通信可能な複数のノード装置を備え、当該複数のノード装置によって共用される複 数の共用情報が複数のノード装置に分散されて保存されている情報通信システムに 含まれる各前記ノード装置において、各前記ノード装置と通信をする際に使用するリ ンク情報であって、一以上の特定のノード装置を示すノード情報を含む前記リンク情 報を記憶する揮発性の第 1記憶手段と、当該ノード装置自身が前記情報通信システ ムに参加している際に、前記第 1記憶手段に記憶された前記リンク情報を、所定のタ イミングで不揮発性の第 2記憶手段に記憶させる第 1記憶制御手段と、当該ノード装
置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加 する際に、前記第 2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報 を用いて、前記第 1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得 手段であって、前記第 2記憶手段に記憶された前記リンク情報に含まれる前記ノード 情報を読み出すノード情報読み出し手段と、読み出された前記ノード情報に基づい て、当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参カロ する旨を知らせる参加通知を送信する参加通知手段と、前記参加通知の送信が成 功したか否かを判断する参加通知送信可否判断手段と、を有し、前記参加通知送信 可否判断手段により前記参加通知の送信が成功したと判断された場合には、前記参 加通知の送信先の前記ノード装置から、当該送信先のノード装置が記憶している前 記リンク情報を取得する前記リンク情報取得手段と、前記リンク情報取得手段により 取得されたリンク情報を、前記第 1記憶手段に記憶させる第 2記憶制御手段と、を有 することを特徴とするノード装置である。
[0010] これによれば、情報通信システムに参カ卩している各ノード装置は、システムに参カロ 中に、他の各ノード装置と通信をする際に使用するリンク情報を、 RAM等の第 1記憶 手段から、第 2記憶手段に記憶させておき、情報通信システムから脱退した後、再び システムに参加する際には、当該第 2記憶手段に記憶してぉ 、たリンク情報に含まれ るノード情報に基づいて、システムに参加している他のノード装置から、第 1記憶手段 に記憶すべきリンク情報を取得するよう構成したので、特定のノード装置のみが過大 な処理負担を受けることなぐシステムに参加する際に最新のリンク情報を取得するこ とがでさる。
[0011] 上記課題を解決するため、請求項 2に記載の発明は、請求項 1に記載のノード装置 において、前記参加通知送信可否判断手段により前記参加通知の送信が失敗した と判断された場合には、前記第 2記憶手段に記憶された前記リンク情報に他の前記ノ ード情報が未だ含まれて 、るか否かを判断するノード情報有無判断手段を有し、か つ、前記ノード情報有無判断手段によって、前記リンク情報に他のノード情報がない と判断された場合には、前記参加通知手段は、前記情報通信システムに含まれる他 のノード装置であって、該システムへの参加を管理する参加管理ノード装置に対して
前記参加通知を送信し、前記リンク情報受信手段は、前記参加管理ノード装置から 前記情報通信システムに含まれる少なくとも一以上の前記ノード装置に力かる前記ノ ード情報を含む前記リンク情報を受信し、前記第 2記憶制御手段は、前記参加管理 ノード装置から受信したリンク情報を前記第 1記憶手段に記憶させ、前記ノード情報 有無判断手段により前記リンク情報に他のノード情報が未だ含まれていると判断され た場合には、前記参加通知手段は、前記リンク情報に含まれる他のノード情報にか 力る前記ノード装置に対して前記参加通知を送信することを特徴とするノード装置で ある。
[0012] これによれば、ノード装置は、システム力 脱退した後、再びシステムに参加する際 には、第 2記憶手段に記憶しておいたリンク情報に含まれる全てのノード情報にかか るノード装置に対して、リンク情報を受信すベぐ参加通知の送信を試みることができ る。また、リンク情報に含まれるノード情報に力かるノード装置が全てシステム力も脱 退しているような場合であっても、コンタクト用ノード装置等の該システムへの参加を 管理する参加管理ノード装置からリンク情報を取得することができる。
[0013] 上記課題を解決するため、請求項 3に記載の発明は、請求項 1又は 2に記載のノー ド装置において、当該ノード装置自身が前記情報通信システム力 脱退した後、再 び前記情報通信システムに参加する際に、前記第 2記憶手段に記憶された前記リン ク情報を、前記第 1記憶手段に記憶させる第 3記憶制御手段と、前記第 3記憶制御 手段により前記第 2記憶手段から前記第 1記憶手段に再び記憶された前記リンク情 報に含まれる前記ノード情報のうち、何れかの前記ノード情報を選択するノード情報 選択手段と、を有し、前記参加通知手段は、選択された前記ノード情報に基づいて、 当該ノード情報に力かる前記ノード装置に対して前記参加通知を送信することを特 徴とするノード装置である。
[0014] これによれば、第 2記憶手段に記憶しておいたリンク情報を、ー且第 1記憶手段に 記憶させてから、参加通知を送信するノード装置を選択する作業等を行なうよう構成 したので、システムへの参加作業をスムーズに行なうことができる。
[0015] 上記課題を解決するため、請求項 4に記載の発明は、請求項 3に記載のノード装置 において、前記参加通知送信可否判断手段により前記参加通知の送信が失敗した
と判断された場合には、前記第 1記憶手段に記憶された前記リンク情報から前記ノー ド情報選択手段にて選択されたノード情報を削除する削除手段を有し、かつ、前記ノ ード情報有無判断手段は、前記第 1記憶手段に記憶された前記リンク情報に前記ノ ード情報が未だあるか否かを判断し、前記ノード情報有無判断手段により前記リンク 情報にノード情報がないと判断された場合には、前記参加通知手段は、前記参加管 理ノード装置に対して前記参加通知を送信し、前記リンク情報受信手段は、前記参 加管理ノード装置力 前記情報通信システムに含まれる少なくとも一以上の前記ノー ド装置にかかる前記ノード情報からなる前記リンク情報を受信し、前記第 2記憶制御 手段は、前記第 1記憶手段に記憶された前記リンク情報に変えて、前記参加管理ノ ード装置から受信したリンク情報を、前記第 1記憶手段に記憶させ、前記ノード情報 有無判断手段により前記リンク情報にノード情報が未だあると判断された場合には、 前記ノード情報選択手段は、当該リンク情報に含まれるノード情報のうち、何れかのノ ード情報を再び選択することを特徴とするノード装置である。
[0016] これによれば、ノード装置は、システム力 脱退した後、再びシステムに参加する際 には、第 2記憶手段に記憶しておいたリンク情報に含まれる全てのノード情報にかか るノード装置に対して、リンク情報を受信すベぐ参加通知の送信を試みることができ る。また、リンク情報に含まれるノード情報に力かるノード装置が全てシステム力も脱 退しているような場合であっても、コンタクト用ノード装置等の該システムへの参加を 管理する参加管理ノード装置からリンク情報を取得することができる。
[0017] 上記課題を解決するため、請求項 5に記載の発明は、請求項 1乃至 4のいずれか 一項に記載のノード装置において、前記共用情報を記憶する共用情報記憶手段と、 前記共用情報記憶手段に記憶された前記共用情報を、前記情報通信システムに含 まれる他の前記ノード装置に共用可能とすべぐ前記第 2記憶制御手段により前記第 1記憶手段に記憶された何れかの前記ノード情報にかかる前記ノード装置に対して 前記共用情報の公開通知を送信する公開通知手段と、を有することを特徴とするノ ード装置である。
[0018] これによれば、システムに参加した後に、自己が有する共用情報を、他のノード装 置に共用可能にすることができる。
[0019] 上記課題を解決するため、請求項 6に記載の発明は、請求項 1乃至 5のいずれか 一項に記載のノード装置において、前記第 1記憶制御手段が、前記第 1記憶手段に 記憶された前記リンク情報を、前記第 2記憶手段に記憶させた時刻から現在までに 経過した経過時間が、第 1所定保存時間より長いか否かを判断する第 1保存時間判 断手段を有し、前記第 1保存時間判断手段により、前記経過時間が、前記第 1所定 保存時間より長いと判断された場合には、前記参加通知手段は、前記参加管理ノー ド装置に対して前記参加通知を送信することを特徴とするノード装置である。
[0020] これによれば、第 2記憶手段に記憶しておいたリンク情報が比較的古い場合には、 コンタクト用ノード装置等の該システムへの参加を管理する参加管理ノード装置力 リ ンク情報を取得することができる。
[0021] 上記課題を解決するため、請求項 7に記載の発明は、請求項 1に記載のノード装置 において、前記第 1記憶制御手段が、前記第 1記憶手段に記憶された前記リンク情 報を、前記第 2記憶手段に記憶させた時刻から現在までに経過した経過時間が、第 2所定保存時間より長いか否かを判断する第 2保存時間判断手段を有し、前記第 2 保存時間判断手段により、前記経過時間が、前記第 2所定保存時間内であると判断 された場合には、前記リンク情報取得手段は、前記第 2記憶手段に記憶された前記リ ンク情報を取得し、前記第 2記憶制御手段は、前記リンク情報取得手段が前記第 2記 憶手段から取得した前記リンク情報を前記第 1記憶手段に記憶することを特徴とする ノード装置である。
[0022] これによれば、第 2記憶手段に記憶しておいたリンク情報が比較的新しい場合には 、システムに再参加した後に当該リンク情報を使用することができる。
[0023] 上記課題を解決するため、請求項 8に記載の発明は、請求項 7に記載のノード装置 において、前記共用情報を記憶する共用情報記憶手段と、前記共用情報記憶手段 に記憶された前記共用情報を、前記情報通信システムに含まれる他の前記ノード装 置に共用可能とすべぐ前記第 2記憶制御手段により前記第 1記憶手段に記憶され た何れかの前記ノード情報にかかる前記ノード装置に対して前記共用情報の公開通 知を送信する公開通知手段と、前記公開通知の送信が成功したか否かを判断する 公開通知送信可否判断手段と、を有することを特徴とするノード装置である。
[0024] これによれば、システムに再参加した後に、第 2記憶手段に記憶しておいたリンク情 報を使用する場合、当該リンク情報が、利用に適した情報であるカゝ否かを判断するこ とがでさる。
[0025] 上記課題を解決するため、請求項 9に記載の発明は、請求項 8に記載のノード装置 において、前記リンク情報取得手段は、前記公開通知送信可否判断手段により前記 公開通知の送信が失敗したと判断された場合に、前記情報通信システムに含まれる 他のノード装置であって、該システムへの参加を管理する参加管理ノード装置に対し て、該システムに参加する旨を知らせる参加通知を送信する参加通知手段と、前記 参加管理ノード装置から前記情報通信システムに含まれる少なくとも一以上の前記ノ ード装置にかかる前記ノード情報を含む前記リンク情報を受信するリンク情報受信手 段と、を備え、前記第 2記憶制御手段は、前記参加管理ノード装置から受信したリン ク情報を、前記第 1記憶手段に記憶させることを特徴とするノード装置である。
[0026] これによれば、システムに再参加した後に、第 2記憶手段に記憶しておいたリンク情 報を使用する場合、公開通知の送信が失敗し、当該リンク情報が、利用に適した情 報で無い場合でも、コンタクト用ノード装置等の参加管理ノード装置力 最新のリンク 情報を取得することができる。
[0027] 上記課題を解決するため、請求項 10に記載の発明は、請求項 1乃至 9のいずれか 一項に記載のノード装置において、前記第 1記憶手段は、前記複数の共用情報のう ち、当該ノード装置自身が管理すべき前記共用情報を保存する前記ノード装置の所 在を示す所在情報と、前記複数のノード装置で共用される前記複数の共用情報にか かる共用情報関連情報と、を記憶し、前記第 1記憶制御手段は、前記第 1記憶手段 に記憶された前記所在情報及び前記共用情報関連情報を、前記所定のタイミングで 前記第 2記憶手段に記憶させ、前記第 2記憶制御手段は、当該ノード装置自身が前 記情報通信システム力 脱退した後、再び前記情報通信システムに参加する際に、 前記第 2記憶手段に記憶された前記所在情報及び前記共用情報関連情報を再び 前記第 1記憶手段に記憶させることを特徴とするノード装置である。
[0028] これによれば、情報通信システムに参カ卩している各ノード装置は、システムに参カロ 中に、取得したキャッシュ情報とカタログ情報を、 RAM等の第 1記憶手段から、第 2
記憶手段に記憶させておき、システム力 脱退した後、再びシステムに参加する際に は、当該第 2記憶手段に記憶しておいたキャッシュ情報とカタログ情報を第 1記憶手 段に記憶して、利用することができるので、よりスムーズにシステムに参加することが できる。
[0029] 上記課題を解決するため、請求項 11に記載の発明は、請求項 1乃至 10のいずれ か一項に記載のノード装置において、前記所定のタイミングは、所定時間が経過する 都度、或いは、前記情報通信システムに含まれる他の前記ノード装置との情報の授 受に起因して、前記第 1記憶手段に記憶された前記リンク情報、前記所在情報又は 前記共用情報関連情報が更新される都度、或いは、ノード装置自身の電源がオフと される際、の少なくとも何れかであることを特徴とするノード装置である。
[0030] これによれば、システムに参加しているときに、リンク情報等を確実に第 2記憶手段 に記憶することができる。
[0031] 上記課題を解決するため、請求項 12に記載の発明は、請求項 1乃至 11のいずれ か一項に記載のノード装置において、前記情報通信システムは、オーバーレイネット ワークによって前記各ノード装置が接続され、前記リンク情報に含まれる前記ノード 情報は、当該ノード情報に力かるノード装置を、前記オーバーレイネットワークの識別 情報空間にて一意に識別するためのノード IDと、当該ノード装置の宛先情報と、を含 むことを特徴とするノード装置である。
[0032] これによれば、他のノード装置と通信に必須である当該他のノード装置のノード ID 及び宛先情報を含むノード情報を記憶するので、スムーズにピアツーピア型の情報 通信システムに再参加することができる。
[0033] 上記課題を解決するため、請求項 13に記載の発明は、請求項 1乃至 12のいずれ か一項に記載のノード装置において、前記第 2記憶手段は、ハードディスク、又はフ ラッシュメモリ、又は EEPROM、又はバックアップ電源付き半導体メモリであることを 特徴とするノード装置である。
[0034] これによれば、第 2の記憶手段が、ハードディスク、又はフラッシュメモリ、又は EEPR OM、又はバックアップ電源付き半導体メモリの何れであっても、システムに参加中に 、他の各ノード装置と通信をする際に使用するリンク情報を、 RAM等の第 1記憶手段
から、第 2記憶手段に記憶させておくことができ、再びシステムに参加する際に、当該 第 2記憶手段に記憶されたリンク情報に基づいて最新のリンク情報を取得することが できる。
[0035] 上記課題を解決するため、請求項 14に記載の発明は、コンピュータを、請求項 1乃 至 13のいずれか一項に記載のノード装置として機能させることを特徴とする記憶制 御プログラムを記録した記録媒体である。
[0036] 上記課題を解決するため、請求項 15に記載の発明は、ネットワークを介して互いに 通信可能な複数のノード装置を備え、当該複数のノード装置によって共用される複 数の共用情報が複数のノード装置に分散されて保存されている情報通信システムに おける情報記憶方法において、各前記ノード装置と通信をする際に使用するリンク情 報であって、一以上の特定のノード装置を示すノード情報を含む前記リンク情報を揮 発性の第 1記憶手段に記憶する工程と、当該ノード装置自身が前記情報通信システ ムに参加している際に、前記第 1記憶手段に記憶された前記リンク情報を、所定のタ イミングで不揮発性の第 2記憶手段に記憶させる第 1記憶制御工程と、当該ノード装 置自身が前記情報通信システムから脱退した後、再び前記情報通信システムに参加 する際に、前記第 2記憶手段に記憶された前記リンク情報に含まれる前記ノード情報 を用いて、前記第 1記憶手段に記憶すべき前記リンク情報を取得するリンク情報取得 工程であって、前記第 2記憶手段に記憶された前記リンク情報に含まれる前記ノード 情報を読み出す工程と、読み出された前記ノード情報に基づいて、当該ノード情報 にかかる前記ノード装置に対して前記情報通信システムに参加する旨を知らせる参 加通知を送信する工程と、前記参加通知の送信が成功したか否かを判断する参カロ 通知送信可否判断工程と、を有し、前記参加通知送信可否判断工程により前記参 加通知の送信が成功したと判断された場合には、前記参加通知の送信先の前記ノ ード装置から、当該送信先のノード装置が記憶している前記リンク情報を取得する前 記リンク情報取得工程と、取得された前記リンク情報を、前記第 1記憶手段に記憶さ せる第 2記憶制御工程と、を有することを特徴とする情報記憶方法である。
発明の効果
[0037] 本発明によれば、情報通信システムに参加している各ノード装置は、他の各ノード
装置と通信をする際に使用するノード情報からなるテーブル情報等のリンク情報を、
RAM等の第 1記憶手段から、第 2記憶手段に記憶させておき、システムから脱退し た後、再びシステムに参加する際には、当該第 2記憶手段に記憶しておいたリンク情 報に含まれるノード情報を用いて、システムに参加している他のノード装置から、第 1 記憶手段に記憶すべきリンク情報を取得するよう構成したので、特定のノード装置の みが過大な処理負担を受けることなぐシステムに参加する際に、最新のリンク情報を 取得することができる。
図面の簡単な説明
[図 1]本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の 一例を示す図である。
[図 2]ノード装置 1の概要構成例を示すブロック図である。
[図 3]DHTによってルーティングテーブルが作成される様子の一例を示す図である。
[図 4] (A)レベル 1のテーブルの一例である。(B)レベル 2のテーブルの一例である。 (C)レベル 3のテーブルの一例である。 (D)完成したルーティングテーブルの一例で ある。
[図 5] (A) (D)ノード装置 1がコンテンツ配信システム Sに参加する際の様子を DHT の ID空間にて示した図である。(B) (C)コンテンツ配信システム Sに参加中のノード 装置 1の様子を DHTの ID空間にて示した図である。
[図 6]DHTの ID空間におけるコンテンツ IDとノード IDの一例を示す図である。
[図 7]コンテンツが公開される際の様子と、コンテンツが検索される際の様子を DHT の ID空間にて示した図である。
[図 8]ノード装置 1におけるメイン処理の一例を示すフローチャートである。
[図 9]ノード装置 1における「テーブル情報の読込み処理」の一例を示すフローチヤ一 トである。
[図 10] (A)ノード装置 1における「キャッシュ情報の読込み処理」の一例を示すフロー チャートである。 (B)ノード装置 1における「カタログ情報の読込み処理」の一例を示 すフローチャートである。
[図 11]ノード装置 1における「RAMに記憶されたテーブル情報、キャッシュ情報及び
カタログ情報を、ハードディスク記憶部 22へ保存する処理」の一例を示すフローチヤ ートである。
[図 12]ノード装置 1における「RAMに記憶されたテーブル情報、キャッシュ情報及び カタログ情報を、ハードディスク記憶部 22へ保存する処理」の一例を示すフローチヤ ートである。
符号の説明
1 ノード装置
1CC コンタクト用ノード装置
3 IX
4 ISP
5 DSL回線事業者の装置
6 FTTH (Fiber To The Home)回線事業者の装置
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 じ' 1 B'|5
13 ノ ッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 ハードディスク記憶部
23 バス
S コンテンツ酉 S信システム
発明を実施するための最良の形態
[0040] く 1.コンテンッ配信システムの構成等 >
始めに、図 1を参照して、複数のノード装置で情報を共用する情報通信システムとし てのコンテンツ配信システムの概要構成等について説明する。
[0041] 図 1は、本実施形態に係るコンテンツ配信システム Sにおける各ノード装置の接続 態様の一例を示す図である。
[0042] 図 1の下部枠 501内に示すように、中継装置としての IX (Internet eXchange) 3、 IS P (Internet Service Provider) 4、 DSL (Digital Subscriber Line)回線事業者の装置 5 、 FTTH (Fiber To The Home)回線事業者の装置 6、及び通信回線 (例えば、電話 回線や光ケーブル等) 7等によって、インターネット等のネットワーク(現実世界のネッ トワーク) 8が構築されている。
[0043] そして、このようなネットワーク 8を介して相互に接続された各ノード装置 la, lb, lc • · · lx, ly, 1ζ · ·には、 IP (Internet Protocol)アドレス及びポート番号の宛先情報と 、各ノード装置を特定し、一のノード装置を一意に識別するための固有の値としての ノード ID (IDentifier)と、がノード情報として割り当てられている。これらノード IDは複 数のノード装置間で重複しないものである。なお、以下の説明において、ノード装置 1 a, lb, lc - - - lx, ly, 1ζ · · ·のうち何れかのノード装置を示す場合には、便宜上、ノ ード装置 1という場合がある。
[0044] また、コンテンツ配信システム Sにおいて、当該ノード装置 1が、他のノード装置 1の 持つ情報にアクセスする際には、その情報を持つノード装置 1の IPアドレス等の宛先 †青報を知って ヽなければならな ヽ。
[0045] このようなシステムの一例として、 DHTを利用したアルゴリズムによって、図 1の上部 枠 500内に示すような、オーバーレイネットワーク 9が構築されることになる。つまり、こ のオーバーレイネットワーク 9は、既存のネットワーク 8を用いて形成された仮想的なリ ンクを構成するネットワークを意味し、本実施形態のコンテンツ配信システム Sは、当 該オーバーレイネットワーク 9に参加する複数のノード装置 1により構成されることにな る。
[0046] ノード IDは、各ノード装置を一意に識別することができるものであればよぐ例えば
、工場出荷時に予め割り振られる製造番号やマシン名等を共通のノ、ッシュ関数 (ハツ シュアルゴリズム)によりハッシュ化して得たハッシュ値を GUID (Global Unique IDenti fier)として用い、これをノード IDとして各ノード装置 1に用いることが可能である。
[0047] またノード IDは、コンテンツ配信システム Sにおけるノード装置の最大運用台数を収 容できるだけの bit数を持たせる必要がある。例えば、 128bitの番号とすれば、 2" 128 340 X 10"36台のノード装置を運用できる。実際には既知のハッシュ関数である SH A 1 (Secure Hash Algorithm 1) (生成析数 160bit)や MD5 (Message Digest 5) (生 成桁数 120Bit)を用いることが想定される。このように共通のハッシュ関数により求めら れたノード IDは、当該製造番号やマシン名が異なれば、同じ値になる確率が極めて 低いものである。なお、ノ、ッシュ関数については公知であるので詳しい説明を省略す る。
[0048] < 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を介して相互に接続されて 、る。
[0049] そして、制御部 11における CPUが記憶部 12等に記録された各種プログラムを実 行することにより、制御部 11が、実施形態に係るノード装置 1としての全体動作を統 括制御し、上記各構成部材と協動して、第 1記憶手段、第 2記憶手段、第 1記憶制御 手段、第 2記憶制御手段、第 3記憶制御手段、リンク情報取得手段、ノード情報読み 出し手段、参加通知手段、参加通知送信可否判断手段、リンク情報受信手段、ノー ド情報有無判断手段、ノード情報選択手段、削除手段、共用情報記憶手段、公開通 知手段、第 1保存時間判断手段、第 2保存時間判断手段、及び公開通知送信可否 判断手段として機能する。
[0050] また、コンテンツ配信システム Sに初めて参加するノード装置が最初にアクセスする コンタクト用ノード装置 1CCは、本発明の参加管理ノード装置の一例であり、当該シ ステムに参加しながら、システムに未参加のノード装置 1から参加メッセージを受信す ると、当該ノード装置 1に自己が記憶するテーブル情報を送信する。
[0051] 以下、本実施形態に係る分散ハッシュテーブル(以下、 DHT (Distributed Hash Ta ble) t 、う)を利用したアルゴリズム及びコンテンツ配信の具体的なしくみにっ 、て説 明する中で、本発明の第 1記憶手段の一例である制御部 11の RAM、及び第 2記憶 手段の一例であるハードディスク記憶部 22に記憶されるテーブル情報等について詳 細に説明する。
[0052] く 1 3. DHTの概要 >
以下に、本実施形態に係る分散ハッシュテーブル(以下、 DHT (Distributed Hash Table) t\、う)を利用したアルゴリズムにつ 、て説明する。
[0053] 本実施形態は、 DHTを利用したアルゴリズムによって構築されたオーバーレイネッ トワーク 9を前提としており、このオーバーレイネットワーク 9 (図 1の上部枠 500内)に 配置されたノード装置 1が、オーバーレイネットワーク 9に参加しているノード装置 1、 言い換えれば、コンテンツ配信システム Sに参カ卩しているノード装置 1である。
[0054] このようなコンテンツ配信システム Sへの参加は、参加していないノード装置 1が、他 のノード装置との通信に使用するためのテーブル情報(リンク情報の一例)であって、 システムに参加して 、るノード装置 (コンタクト用ノード装置 1CCを含む)が有する最 新のテーブル情報を取得する必要がある力 本発明は、コンテンツ配信システム Sに 参カロしているときに、制御部 11の RAMに記憶して使用していたテーブル情報を、ハ ードディスク記憶部 22に保存しておき、再度システムに参加する際には、当該ハード ディスク記憶部 22に保存したテーブル情報に含まれるノード情報に基づ 、て、最新 のテーブル情報を取得するよう構成する。具体的には、ハードディスク記憶部 22に 保存したテーブル情報に含まれるノード情報に力かるノード装置 1に対してシステム への参加を要求して、テーブル情報をコピーさせてもらうよう構成することで、固定の コンタクト用ノード装置 1CCに処理負担を課すことなぐ最新のテーブル情報を取得 することができるものである。
[0055] 次に、図 3及び図 4を参照して、テーブル情報の作成手法の一例について説明す る。なお、当該テーブル情報は、複数のノード装置間を転送しつつ作成 (更新)され るので、ルーティングテーブルとも呼ぶ。
[0056] 図 3は、ルーティングテーブル (テーブル情報)が作成される様子の一例を示す図 であり、図 4は、ルーティングテーブル (テーブル情報)の一例を示す図である。
[0057] まず、図 4 (A)に示す如ぐ ID空間を幾つかのエリアに分割する。なお、このエリア はルーティングテーブルを作成するために ID空間を分割したものであって、実際に は、 16分割程度が良く用いられるが、説明を簡単にするためここでは 4分割とし、 ID をビット長 16Bitの 4進数で表すこととした。そして、ノード装置 1Nのノード IDを「1023 0210」とし、このノード装置 1Nのルーティングテーブルを作る例について説明する。
[0058] (レベル 1のルーティング)
まず、 ID空間を 4分割とすると、それぞれのエリアは 4進数で表すと最大桁が異なる
4つのエリア「0XXXXXXX」「1XXXXXXX」、 「2XXXXXXX」、 「3XXXXXXX」(Xは 0力 ら 3の自然数、以下同様。)で分けられる。あるノード装置 (以下、ノード装置 1Nと言う 。)は、当該ノード装置 1N自身のノード IDが「10230210」であるため、図中左下「1XX XXXXX」のエリアに存在することになる。そして、ノード装置 1Nは、自分の存在する エリア(すなわち、「1XXXXXXX」のエリア)以外のエリアに存在するノード装置 1を適 当に選択し、当該ノード IDの IPアドレス等の宛先情報をレベル 1のテーブルに記憶 する。図 4 (A)がレベル 1のテーブルの一例である。 2列目はノード装置 1N自身を示 して!/、るため、 IPアドレス等の宛先情報を記憶する必要は無 、。
[0059] (レベル 2のルーティング)
次に、図 3 (B)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自分 の存在するエリアを更に 4分割し、更に 4つのエリア「10XXXXXX」「11XXXXXX」、 「1 2XXXXXX」、 「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以 外のエリアに存在するノード装置 1を適当に選択し、当該ノード IDの IPアドレス等の 宛先情報をレベル 2のテーブルに記憶する。図 4 (B)がレベル 2のテーブルの一例で ある。 1列目はノード装置 1N自身を示しているため、宛先情報を記憶する必要は無 い。
[0060] (レべノレ 3のノレ一ティング)
さらに、図 3 (C)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自 分の存在するエリアを更に 4分割し、更に 4つのエリア「100XXXXX」「101XXXXX」、 「 102XXXXX」、 「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以 外のエリアに存在するノード装置 1を適当に選択し、当該ノード IDの IPアドレス等の 宛先情報をレベル 1のテーブルに記憶する。図 4 (C)がレベル 3のテーブルの一例で ある。 3列目はノード装置 1N自身を示しているため、 IPアドレス等の宛先情報を記憶 する必要は無ぐ 2列目、 4列目はそのエリアにノード装置が存在しないため空白とな る。
[0061] このようにして、レベル 4以下レベル 8まで同様にルーティングテーブルを図 4 (D) に示す如く作成することにより、 16bitの ID全てを網羅することができる。レベルが上 力 Sる毎にテーブルの中に空白が目立つようになる。
[0062] このように、各ノード装置 1は、他のノード装置 1の IPアドレス等の宛先情報と、ノー ド ID空間のエリア、すなわち DHTの各レベル及び各列と、を対応付けて記憶してい る。つまり、各ノード装置 1は、複数に分けられた各エリアに属する一のノードの IPアド レス等の宛先情報を、夫々のエリアに対応付けて一の段階 (レベル)として規定し、さ らに自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属す る一のノード装置 1の IPアドレス等の宛先情報を、夫々のエリアに対応付けて次の段 階 (レベル)として規定するルーティングテーブル (以下、テーブル情報と呼ぶ)を制 御部 11の RAMに記憶して!/、る。
[0063] 実際に、コンテンツ配信システム Sに未参加のノード装置 1が、コンテンツ配信シス テム Sに参加して、上述したようなテーブル情報を取得するには、まず、過去にシステ ムに参加したことがなぐ初めてシステムに参加する際 (新規参加)には、コンタクト用 ノード装置 1CCに対して「参加メッセージ」(参加通知の一例)を送信して、コンタクト 用ノード装置 1CCからテーブル情報を取得する(図 5 (A)参照)。
[0064] そして、ノード装置 1は、コンタクト用ノード装置 1CCから取得したテーブル情報を、 システムに参加している間中制御部 11の RAMに記憶して、コンテンツの検索や、コ ンテンッの公開の際に行なわれるメッセージ転送の際に、利用し、また、動的に最新 の情報に書き換えていく(図 5 (B)参照)。具体的には、メッセージ転送やコンテンツ 配信等の際に、他のノード装置 1の存在を知ったタイミングで、その装置のノード ID がテーブルのどのマス目に適合するかを判断して、各テーブルの内容を追記(更新) していく。また、他のノード装置が脱退したことを知ったタイミングで、当該装置のノー ド IDをテーブルから削除する。
[0065] そして、ノード装置 1は、コンテンツ配信システム Sに参加中に、当該テーブル情報 を、制御部 11の RAM力もハードディスク記憶部 22に保存しておく(図 5 (C)参照)。 そして、ノード装置 1は、システム力 脱退後、システムに再度参加する際には、コン タクト用ノード装置 1CCではなぐ当該ハードディスク記憶部 22に保存したテーブル 情報に記載されたノード情報の中から、「参加メッセージ」を送信するノード情報を選 択する。具体的には、ハードディスク記憶部 22に保存したテーブル情報を、作業の ためー且制御部 11の RAMに転記 (記憶)し(図 5 (D)矢印参照)、当該テーブル情
報の中からノード装置を選択し、選択されたノード情報のノード IDをキーとするルー ティングに従って、選択されたノード装置 1に対して「参加メッセージ」(自己のノード 情報、選択されたノード情報のノード IDを含む)を送信し、テーブル情報を受信する( 図 5 (D)参照)。受信したテーブル情報を、制御部 11の RAMに記憶して、他のノー ド装置との情報転送に利用する。
[0066] このように、テーブル情報はメッセージやコンテンツの配信等の情報の授受によつ て、常に動的に書き換えられているので、現在システムに参加しているノード装置 1か らテーブル情報をもらうことで、システム力 脱退したノード装置のノード情報が比較 的少なぐシステムに参加しているノード装置のノード情報が比較的多い、最新のテ 一ブル情報を得ることができる。特に、システムへの再参加の場合には、コンタクト用 ノード装置 1CCに処理負担を課すことがないので、より有用なシステムを提供できる
[0067] また、現在システムに参加しているノード装置 1を、過去にシステムに参加していた ときに使用して 、たテーブル情報 (ノヽードディスク記憶部 22に記憶されて 、るテープ ル情報)に基づいて選択する際、 自己のノード IDに比較的遠いノード IDにかかるノ ード装置 1を選択するよう構成すれば、自己のノード情報を含む「参加メッセージ」を 、比較的多くのノード装置 1間を転送させることができ、自己の存在を比較的多くのノ ード装置に知らせることができる。
[0068] < 1 4.コンテンツの保存と配信 >
次に、各ノード装置 1で共用されるコンテンツの保存と、当該コンテンツの配信につ いて説明する。コンテンツ配信システム Sに参加している複数のノード装置 1には、 1 のノード装置 1から他のノード装置 1に配信される共用情報としてのコンテンツ (例え ば、映画や音楽等)データが分散して保存 (格納)されているが、当該コンテンツにも 、それぞれのコンテンツ毎にユニーク(固有)なコンテンツ IDが付与される。このコン テンッ IDは、ノード IDと同様の長さ(例えば、 128bit等)であって、コンテンツをコン テンッ配信システム Sに投入してノード装置 1に登録を行なうサーバ 100によって決 定され各コンテンツに付与される。
[0069] 図 6は 32bitでノード ID及びコンテンツ IDを付与し、 ID空間上に図示したものであ
る。図中黒点はノード IDを、黒ひし形はコンテンツ IDを示し、反時計回りで IDが増加 するものとする。
[0070] 図 6に示すような ID空間において、どのノード装置 1に、どのコンテンツが管理され るかは、コンテンツ IDとノード IDとが「所定の関係」にあるか否かによって決定される。 ここで、「所定の関係」とは、一定の規則の下に決定される力 本実施形態において は、「あるコンテンツ IDを有するコンテンツを管理するノード装置は、そのコンテンツ I Dに最も近接するノード IDを有するノード装置 1である」という規則とする。つまり、コン テンッ IDと最も近接する(例えば、上位桁がより多く一致する)ノード IDであって、コン テンッ IDの値と同じかそれ以下の値となるノード IDを有するノード装置 1が、当該コン テンッを保存するノード装置 1の所在情報を管理することとする。
[0071] 例えば、「所定の関係」は、当該コンテンツ IDを超えず、コンテンツ IDとノード IDと の差が一番少ないものと定義する。同図に示す例では、この定義に基づいて、コンテ ンッ IDaは、ノード IDaを有するノード装置に管理され、コンテンツ IDbは、ノード IDb を有するノード装置に管理される。この他、各コンテンツの管理を各ノード装置 1に割 り振る際に、一貫していればどのような定義であってもよい。
[0072] また、コンテンツ IDc、 IDdは、ノード IDcを有するノード装置 1に管理されるように、 あるノード装置は複数の異なるコンテンツデータを管理することもある。なお、ここで「 管理」というのは、コンテンツを保存/保持していることを意味するのではなぐ「コン テンッのデータ(コンテンツデータ)が何れのノード装置 1に保存されて!、るかを知つ ている」、すなわち、コンテンツの所在情報として、コンテンツを保持するノード装置の IPアドレス等の宛先情報を記憶 (キャッシュ)して 、ること言う。
[0073] 表 1に、各ノード装置 1が制御部 11の RAMに記憶するキャッシュ情報の一例を示 す。
[表 1]
コンテンツ I D 所在情報
3 1 3 3 0 0 1 2 1 Pア ドレス "!
1 2 0 1 3 0 1 0 1 Pア ドレス 2
3 1 0 0 1 2 1 1 1 Pア ドレス 3
2 2 1 2 3 1 2 2 1 Pア ドレス 4
[0074] ノード装置 1は、コンテンツを保持するノード装置が、新しいコンテンツをコンテンツ 配信システム S上に参加する他のノード装置に見えるように公開する際に送信する「 公開メッセージ」(公開通知の一例)に含まれる IPアドレス等の宛先情報 (コンテンツ の所在情報)を受信して取得し、制御部 11の RAMに記憶されて ヽるキャッシュ情報 (表 1)に書き込む。なお、本実施形態では、コンテンツ IDと所定の関係を有するノー ド IDにかかるノード装置 1のみならず、「公開メッセージ」が各ノード装置間を転送す る際の経路上にあるノード装置 1も、当該コンテンッの所在情報を制御部 11の RAM にキャッシュ情報として記憶するよう構成する。
[0075] 以下、コンテンツの公開と、ノード装置の制御部 11の RAMにキャッシュ情報が記 憶される工程について詳細に説明する。
[0076] く 1— 5.コンテンツの公開とコンテンツの所在情報の記憶 >
図 7は、 DHTにより新しいコンテンツが公開される様子の一例を示す図である。
[0077] コンテンツを保持するノード装置は、コンテンツのタイトノレ等からコンテンツ IDを求め 、当該コンテンツ IDと同じノード IDを持つノード装置に向けて (このノード装置が実在 する力否かはこの時点ではわ力もない。 )「公開メッセージ」を送信する。
[0078] ここでは、ノード ID「12003030」のノード装置 laが、 自身が保持するコンテンツ ID「3 1330012」を有するコンテンツを公開する際の手順について説明する。
[0079] まず、ノード装置 laは、 自己が制御部 11の RAMに記憶しているテーブル情報(図 4 (D)参照)のレベル 1のテーブルを参照して、コンテンツ ID「31330012」と同じエリア のノード IDを持つノード装置に対して「公開メッセージ」を送信する。つまり、コンテン ッ ID「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリア に属すノード装置 1のうち、 IPアドレス等の宛先情報を知っている(すなわち、テープ
ル情報に IPアドレス等の宛先情報が記憶されている)ノード装置 lbに対して「公開メ ッセージ」を送信する。
[0080] 図 7に示す例に拠れば、ノード IDが「30100000」であるノード装置 lbの IPアドレス等 の宛先情報がノード装置 laのテーブル情報に記憶されていたので、ノード装置 laは 、ノード IDが「30100000」であるノード装置 lbに対して「公開メッセージ」を送信する。
[0081] 次に、「公開メッセージ」を受信したノード装置 lbは、当該ノード装置 lb自身が制御 部 11の RAMに記憶しているテーブル情報のレベル 2のテーブルを参照して、「3 IX XXXXXJのエリアに属すノード装置 1のうち、 IPアドレス等の宛先情報を知っているノ ード装置 lc (ノード ID「31012001」)に対して「公開メッセージ」を転送する。
[0082] このように、コンテンツ IDの桁を上力も順に適合していく要領で「公開メッセージ」の 転送が進み、最終的にノード装置 Idに迪り着く。
[0083] そして、最終的に迪り着いた当該ノード装置 Idは、「公開メッセージ」に含まれるコ ンテンッ ID、コンテンッを保持するノード装置 1 aの IPアドレス「IPアドレス 1」をコンテ ンッの所在情報として、自己の制御部 11の RAMに記憶しているキャッシュ情報に記 憶する。また、本実施形態では、コンテンツを保持するノード装置 laから、テーブル 情報に従って、「公開メッセージ」を転送(中継)したノード装置 lb及び lcも、「公開メ ッセージ」に含まれるコンテンツ ID、コンテンツを保持するノード装置 laの IPアドレス「 IPアドレス 1」をコンテンツの所在情報として、自己の制御部 11の RAMに記憶してい るキャッシュ情報に記憶する。
[0084] そして、コンテンツの視 を所望する際にも、コンテンツ IDを含む当該コンテンツの 所在を問 、合わせる「検索メッセージ」力 当該「検索メッセージ」に含まれるコンテン ッ IDをキーとするルーティングに従って、各ノード装置間を転送し、当該コンテンツの キャッシュ情報を RAMに記憶しているノード装置に迪り着くと、当該ノード装置からコ ンテンッの所在情報として、コンテンツを保持するノード装置の IPアドレスを受信して 、これを受けたノード装置が、コンテンツを保持するノード装置にアクセスして配信を 要求する。図 7に示すの例の場合、ノード装置 leから送信された検索対象のコンテン ッのコンテンツ ID「31330012」を含む「検索メッセージ」は、他のノード装置間を経由し て当該コンテンツ ID「31330012」の所在情報を有するノード装置 lcに迪りつき、ノード
装置 leはノード装置 lcからコンテンツ ID「31330012」に力かるコンテンツの所在情報 として、ノード装置 laの「IPアドレス 1」を取得する。そして、ノード装置 leはこの IPアド レス 1に従って、ノード装置 laに対してコンテンツの配信を要求し、ノード装置 laから コンテンツの酉 S信を受ける。
[0085] コンテンツの配信を希望するノード装置 leが、コンテンツの所在情報を有するノー ド装置 lcから、コンテンツの所在情報を受信して情報の授受を行なうことにより、互い の存在を知ることとなり、ノード装置 leでは、制御部 11の RAMに記憶されたテープ ル情報に、ノード装置 lcのノード情報 (IPアドレス等の宛先情報、ノード ID)が追記さ れ、ノード装置 lcでも同様にして、制御部 11の RAMに記憶されたテーブル情報に ノード装置 leのノード情報が無ければ、当該ノード装置 leのノード情報が追記される
[0086] また、コンテンツを保持するノード装置 laと、コンテンツの配信を希望するノード装 置 leと力 コンテンツの配信という情報の授受を行なうことにより、互いの存在を知る こととなり、ノード装置 laでは、制御部 11の RAMに記憶されたテーブル情報に、ノー ド装置 leのノード情報が無ければ、当該ノード装置 leのノード情報が追記され、ノー ド装置 leでも同様にして、制御部 11の RAMに記憶されたテーブル情報にノード装 置 laのノード情報が無ければ、当該ノード装置 laのノード情報が追記される。
[0087] 本実施形態では、コンテンツの配信を所望し、検索する際に参照(閲覧)するカタ口 グリストを構成するカタログ情報 (共用情報関連情報の一例)であって、他のノード装 置 1と共に使用される(共用される)カタログ情報も制御部 11の RAMに記憶させてお くこととする。カタログ情報には、コンテンツの属性情報力 夫々のコンテンツ IDに対 応付けられて記述されている。この属性情報としては、例えば、コンテンツ名(コンテ ンッが映画の場合、映画タイトル、コンテンツが楽曲の場合、楽曲タイトル、コンテンツ が放送番組の場合、番組タイトル)、ジャンル(コンテンツが映画の場合、アクション、 ホラー、コメディ、ラブストーリー等、コンテンツが音楽の場合、ロック、ジャズ、ポップス
、クラシック等、コンテンツが放送番組の場合、ドラマ、スポーツ、ニュース、映画、音 楽、ァ-入バラエティ等)、アーティスト名(コンテンツが音楽の場合の歌手、グルー プ等)、出演者 (コンテンツが映画や放送番組の場合のキャスト)、監督名(コンテンツ
が映画の場合)等が挙げられる。なお、本願出願人は他のノード装置 1と共に使用さ れる(共用される)カタログ情報に関して特許出願 (特願 2006— 109158、特願 200 6— 109159)をしているので、カタログ情報を複数のノード装置 1間で共用する手法 に関しては当該出願に詳細に記載されて 、るので説明を省略する。
[0088] < 2.ノード装置の処理動作 >
続いて、各ノード装置 1の具体的な処理動作について図を用いて説明する。
[0089] < 2— 1.メイン処理 >
図 8は、ノード装置 1におけるメイン処理の一例を示すフローチャートであり、この処 理は、制御部 11の制御に基づいて実行され、ノード装置 1の電源がオンとされて、例 えばユーザが入力部 21を操作してコンテンツ配信システム Sへの参加を指示したこと により開始する。
[0090] 先ず、テーブル情報の読み込み処理 (ステップ S1)、キャッシュ情報の読み込み処 理 (ステップ S2)、カタログ情報の読み込み処理 (ステップ S3)を行なう。各読み込み 処理において、過去にコンテンツ配信システム Sに参加したことがあれば、ハードディ スク記憶部 22からこれらの情報を取得して制御部 11の RAMに読み込むことができ る。ステップ S1〜S3の処理については、後に詳述する。
[0091] 次に、電源がオフとされたか否かを判定し (ステップ S4)、オフとされない場合 (ステ ップ S4 :No)には、「その他の処理」を行なう(ステップ S5)。なお、「その他の処理」と は、他のノード装置 1から送信されてきた「参加メッセージ」に応じて、自己のテープ ル情報を送信する処理、他のノード装置 1から送信されてきた「検索メッセージ」に応 じて行なうコンテンツの検索処理 (コンテンツを保持するノード装置の検索)、他のノ ード装置 1から送信されてきたコンテンツの配信要求に応じて行なうコンテンツの配信 処理、或 、は各種メッセージの転送処理などの処理である。
[0092] そして、制御部 11は第 1記憶制御手段として機能し、 RAMに記憶されたテーブル 情報、キャッシュ情報及びカタログ情報を、ハードディスク記憶部 22へ保存する処理 を行なう(ステップ S6)。そして、ステップ S4に移行する。
[0093] このように、ステップ S4において、電源がオフと判定されるまで、ステップ S5及び S 6の処理を繰り返し行なう。
[0094] ステップ SI〜S 3は、コンテンツ配信システム Sに参加する前に行なわれる処理であ り、ステップ S4〜S 6はコンテンッ配信システム Sに参加して ヽる際に行なわれる処理 である。
[0095] < 2— 2.各情報の読込み処理 >
次に、上記ステップ S1〜S3にて実行されるテーブル情報、キャッシュ情報及びカタ ログ情報の読込み処理について、図 9及び図 10を用いて説明する。
[0096] 2- 2- 1.テーブル情報の読込み処理
図 9は、ステップ S1にて実行される「テーブル情報の読込み処理」の一例を示すフ ローチャートである。
[0097] 先ず、テーブル情報がハードディスク記憶部 22に保存 (記憶)されて 、るか否かを 判定する (ステップ S 11)。過去にコンテンツ配信システム Sに参加したことが無い場 合や、ハードディスク記憶部 22に記憶して 、たテーブル情報が消去してしまった等、 テーブル情報がハードディスク記憶部 22に保存されて 、な 、場合 (ステップ S 11: N o)には、図 6 (A)に示すように、コンタクト用ノード装置 1CCへ「参加メッセージ」を送 信して、テーブル情報を取得 (受信)し、当該テーブル情報を RAMに記憶する (ステ ップ S12)。
[0098] 一方、テーブル情報がハードディスク記憶部 22に保存されて 、る場合 (ステップ S1 l :Yes)には、制御部 11は、第 3記憶制御手段として機能し、ハードディスク記憶部 2 2に保存されているテーブル情報を、作業のためー且 RAMに読み込み (転記)(ステ ップ S13)、更に、テーブル情報がハードディスク記憶部 22に記憶された時間を示す 保存時刻も、ハードディスク記憶部 22から取得する (ステップ S14)。
[0099] そして、制御部 11は第 2保存時間判断手段として機能し、保存時刻から、現在時刻 までに経過した時間 (経過時間)が、第 2所定保存時間 (例えば、 2時間)内か否かを 判定し (ステップ S 15)、第 2所定保存時間よりも長い場合 (ステップ S15 : No)には、 ハードディスク記憶部 22に記憶したテーブル情報(にある各ノード情報)力 今回シ ステムに参加する際にそのまま用いることができるほど最新の情報ではないので、ス テツプ S 16以降の処理、すなわち現在システムに参加中のノード装置 (コンタクト用ノ ード装置 1CCを含む)からテーブル情報をコピーさせてもらう処理に移行する。
[0100] 次に、ステップ S16にて、制御部 11は、第 1保存時間判断手段として機能し、保存 時刻から、現在時刻までに経過した時間(経過時間)力 ステップ S15の判断対象と なる第 2所定保存時間よりも長 、第 1所定保存時間 (例えば、 10日)内か否かを判定 する (ステップ S16)。経過時間が、第 1所定保存時間よりも長い場合 (ステップ S16 : No)には、コンタクト用ノード装置 1CCへ「参加メッセージ」を送信して、コンタクト用ノ ード装置 1CCからテーブル情報を取得 (受信)し、当該テーブル情報を RAMに記憶 する (ステップ S12)。このように、経過時間が、第 1所定保存時間よりも長い場合には 、ハードディスク記憶部 22に記憶したテーブル情報は古い情報なので、このテープ ル情報にあるノード装置に向けて参加メッセージを送信しても、失敗する可能性が高 いと考えられる。従って、コンタクト用ノード装置 1CC力 テーブル情報を取得するの である。
[0101] 一方、ステップ S16において、経過時間が、第 1所定保存時間内である場合 (ステツ プ S16 :Yes)には、当該テーブル情報に基づいて選択されたノード装置 1からテー ブル情報を取得するよう構成する。具体的には、先ず、制御部 11は、ノード情報有無 判断手段として機能し、 RAMのテーブル情報にノード情報があるカゝ否かを判定する (ステップ S 17)。 RAMのテーブル情報にノード情報がある場合 (ステップ S 17: Yes) には、制御部 11はノード情報選択手段及び参加通知手段として機能し、 RAMのテ 一ブル情報力 ノード情報を選択して、当該ノード情報に力かるノード装置 1に対して 「参加メッセージ」を送信する(ステップ S 18)。
[0102] そして、制御部 11は参加通知送信可否判断手段として機能し、「参加メッセージ」 の送信が成功した力否かを判定する。具体的には、「参加メッセージ」の送信先のノ ード装置力 テーブル情報を受信できた力否力判定する (ステップ S 19)。「参加メッ セージ」の送信先のノード装置とは、「参加メッセージ」に含まれる(ステップ S18で選 択された)ノード IDをキーとするルーティングによって該メッセージが到達した先のノ ード装置である。
[0103] 判定の結果、テーブル情報を受信できない場合には (ステップ S19 : No)、制御部 11は削除手段として機能し、ステップ S 18で選択したノード情報をテーブル情報から 削除して (ステップ S20)、ステップ S17に戻る。ハードディスク記憶部 22に記憶して
いたテーブル情報は、当該処理を行なっているノード装置 1が、前回コンテンツ配信 システム sに参カ卩して 、たときに使用して 、たテーブル情報なので、前回の参加から の時間が相当程度経過している場合には、前回参カ卩時にはシステムに参加していた ノード装置も、時間の経過により、システム力も脱退してしまっている。このように、「参 カロメッセージ」を最初に受信するノード装置 1が既に脱退してしまつて 、る場合や、当 該「参加メッセージ」が複数のノード装置 1を中継される際に通信エラーが発生した場 合等には、テーブル情報を受信することができないのである。そして、ステップ S 18で 、再び、テーブル情報にあるノード情報を選択し、テーブル情報にノード情報が無い と判定される (ステップ S 17 : No)まで、又は、テーブル情報の受信が確認される (ス テツプ S 19: Yes)まで、ステップ S 17〜 19の処理が繰り返し行なわれる。
[0104] そして、制御部 11がリンク情報受信手段として機能し、テーブル情報の受信が確認 される (ステップ S19 : Yes)と、制御部 11が第 2記憶制御手段として機能し、ステップ S13で作業のために RAMに転記 (記憶)しておいたテーブル情報に変えて、受信し たテーブル情報を RAMに記憶させる (ステップ S21)。
[0105] ステップ S17の判定において、テーブル情報にノード情報が無いと判定された場合
(ステップ S17 :No)には、初めてコンテンツ配信システム Sに参加する際と同様に、 ステップ S12に移行して、コンタクト用ノード装置 1CCに対して「参加メッセージ」を送 信して、テーブル情報を受信し、当該テーブル情報を RAMに記憶する。
[0106] 続いて、システムに参カ卩している他のノード装置 1と共用されるべきコンテンツを、記 憶部 12に記憶 (所持)して 、るか否かを判定し (ステップ S22)、共用されるべきコン テンッを、記憶部 12に記憶していない場合 (ステップ S 22 : No)には処理を終了し、 記憶している場合 (ステップ S22 : Yes)には、制御部 11は、公開通知手段として機能 し、所持している各コンテンツについて、ステップ S12又は S21で RAMに記憶したテ 一ブル情報に基づ 、て、「公開メッセージ」を送信して (ステップ S23)処理を終了す る。
[0107] また、ステップ S 15にて、保存時刻から、現在時刻までに経過した時間(経過時間) 力 第 2所定保存時間内であると判定された場合 (ステップ S15 : Yes)には、ステップ S24〜26の処理に移行する。つまり、ステップ S 13でハードディスク記憶部 22から取
得したテーブル情報が、新しい場合 (システム力 脱退した後、すぐに (例えば 2時間 以内に)システムに再参加したような場合)には、前回システムに参加していたときに 使用していたテーブル情報(にある各ノード情報)が、未だ最新の情報である可能性 が高 、ので、前回使用して 、たテーブル情報をそのまま使用する。
[0108] そして、システムに参加している他のノード装置 1と共用されるべきコンテンツを、記 憶部 12に記憶 (所持)して 、るか否かを判定し (ステップ S24)、共用されるべきコン テンッを、記憶部 12に記憶していない場合 (ステップ S 24 : No)には処理を終了し、 記憶部 12に記憶している場合 (ステップ S 24 : Yes)には、制御部 11は、公開通知手 段として機能して、所持している各コンテンツについて、ステップ S 13で RAMに記憶 したテーブル情報に基づ 、て、「公開メッセージ」を送信する (ステップ S25)。
[0109] 次に、制御部 11は公開通知送信可否判断手段として機能し、「公開メッセージ」の 送信が成功した力否かを判定する (ステップ S 26)。具体的には、「公開メッセージ」の 最初の送信先となるノード装置から、受信確認通知を受けた場合には、メッセージの 送信が成功したと判断し、受信確認通知が最初の送信先のノード装置から所定待機 時間以上待っても送信されてこない場合 (タイムアウト)には、メッセージの送信に失 敗したものと判断する。「公開メッセージ」の最初の送信先となるノード装置とは、図 7 に示す例の場合、ノード装置 lbである。そして、「公開メッセージ」の送信が成功した 場合 (ステップ S26 : Yes)には処理を終了し、「公開メッセージ」の送信が失敗した場 合 (ステップ S26 :No)には、ステップ S 13で記憶したテーブル情報を RAMから削除 して、ステップ S12に移行して、コンタクト用ノード装置 1CCから、テーブル情報を取 得して RAMに保存する。
[0110] このように、システムに再参カ卩した後に、ハードディスク記憶部 22に記憶しておいた テーブル情報を使用する場合に、「公開メッセージ」の送信の可否で、テーブル情報 が使用できるかできないかを判断し、公開メッセージの送信に失敗した場合には、ハ ードディスク記憶部 22に記憶しておいたテーブル情報の残りのノード情報に力かるノ ード装置 1も、システムに参加していない可能性が高いと判断して、コンタクト用ノード 装置 1CC力 最新のテーブル情報を取得するよう構成する。
[0111] なお、ステップ S13において、ハードディスク記憶部 22に保存されているテーブル
情報を RAMにー且読み込んでから、かかるテーブル情報の中からノード情報を選 択する等の各種作業をしているが、 RAMに読み込むことなぐ当該テーブル情報を ハードディスク記憶部 22に記憶させたまま、ノ ス 23を介して CPUがハードディスク記 憶部 22に記憶されたテーブル情報にアクセスすることにより、制御部 11がノード情報 読み出し手段として機能して、ハードディスク記憶部 22に記憶されたテーブル情報 に含まれるノード情報を読み出して、当該ノード情報に力かるノード装置に「参加メッ セージ」を送信するよう構成してもよ 、。
[0112] 2- 2- 2.キャッシュ情報の読込み処理
次に、ステップ S2におけるキャッシュ情報の読込み処理について図 10 (A)の「キヤ ッシュ情報の読込み処理」の一例を示すフローチャートを用いて説明する。
[0113] 先ず、キャッシュ情報がハードディスク記憶部 22に保存 (記憶)されているか否かを 判定する (ステップ S31)。過去にコンテンツ配信システム Sに参加したことが無い場 合等、キャッシュ情報がハードディスク記憶部 22に保存されて 、な 、場合 (ステップ S 31 :No)にはそのまま処理を終了する。
[0114] 一方、キャッシュ情報がハードディスク記憶部 22に保存されている場合 (ステップ S 31: Yes)には、制御部 11は第 2記憶制御手段として機能し、ハードディスク記憶部 2 2に保存されているキャッシュ情報を RAMに読み込んで (ステップ S32)、処理を終 了する。
[0115] 2- 2- 3.カタログ情報の読込み処理
次に、ステップ S3におけるカタログ情報の読込み処理について図 10 (B)の「カタ口 グ情報の読込み処理」の一例を示すフローチャートを用いて説明する。当該処理は、 上述した「キャッシュ情報の読込み処理」と同様である。
[0116] 先ず、カタログ情報がハードディスク記憶部 22に保存 (記憶)されている力否かを判 定する (ステップ S41)。過去にコンテンツ配信システム Sに参加したことが無い場合 等、カタログ情報がハードディスク記憶部 22に保存されていない場合 (ステップ S41:
No)にはそのまま処理を終了する。
[0117] 一方、カタログ情報がハードディスク記憶部 22に保存されている場合 (ステップ S41
: Yes)には、制御部 11は第 2記憶制御手段として機能し、ハードディスク記憶部 22
に保存されているカタログ情報を RAMに読み込んで (ステップ S42)、処理を終了す る。
[0118] < 2— 3.各情報の保存処理 >
次に、上記ステップ S6にて実行されるテーブル情報、キャッシュ情報及びカタログ 情報のハードディスク記憶部 22への保存処理にっ 、て、図 11及び図 12を用いて説 明する。
[0119] コンテンツ配信システム Sに参加している間、制御部 11の RAMに保存して使用さ れるテーブル情報、キャッシュ情報及びカタログ情報は、所定のタイミングでノ、ードデ イスク記憶部 22へ保存 (記憶)されるようになって 、る。
[0120] ここでは、所定時間毎にハードディスク記憶部 22へ保存する方法と、他のノード装 置との情報の授受に起因して、テーブル情報、キャッシュ情報及びカタログ情報が更 新されたときに、ハードディスク記憶部 22へ保存する方法について説明する。
[0121] 2— 3— 1.所定時間毎に保存する方法
テーブル情報、キャッシュ情報及びカタログ情報を所定時間毎にハードディスク記 憶部 22へ保存する方法について説明する。図 11は、ステップ S6にて実行される「R AMに記憶されたテーブル情報、キャッシュ情報及びカタログ情報を、ハードディスク 記憶部 22へ保存する処理」の一例を示すフローチャートである。
[0122] 先ず、前回ハードディスク記憶部 22へ保存処理を行なってから、所定時間が経過 した力否かを判定する (ステップ S61)。所定時間が経過して!/、な 、場合 (ステップ S6 l :No)には、処理を終了し、所定時間が経過した場合 (ステップ S61: Yes)には、制 御部 11は第 1記憶制御手段として機能し、 RAMのテーブル情報と保存時刻をノヽー ドディスク記憶部 22に保存して (ステップ S62)、ステップ S63に移行する。このとき、 ハードディスク記憶部 22に過去に記憶されたテーブル情報が記憶されている場合は 、上書き保存する。
[0123] 次に、ステップ S63では、キャッシュ情報が RAMに保存されているか否かを判定し
(ステップ S63)、キャッシュ情報が RAMに保存されている場合 (ステップ S63 : Yes) には、 RAMに保存されているキャッシュ情報の容量力 ハードディスク記憶部 22の キャッシュ情報記憶領域の記憶容量よりも大き 、か否かを判定する (ステップ S64)。
[0124] そして、 RAMに保存されているキャッシュ情報の容量力 ハードディスク記憶部 22 のキャッシュ情報記憶領域の記憶容量以内であれば (ステップ S64 : No)、 RAMに 保存されて 、る全てのキャッシュ情報をノヽードディスク記憶部 22に保存して (ステップ S65)、ステップ S67に移行し、他方、 RAMに保存されているキャッシュ情報の容量 力 ハードディスク記憶部 22のキャッシュ情報記憶領域の記憶容量よりも大き 、場合 (ステップ S64 : Yes)には、 RAMに保存されているキャッシュ情報のうち、自己のノー ド IDと近 、コンテンツ IDを有するコンテンツの所在情報だけを、ハードディスク記憶 部 22へ保存する (ステップ S66)。
[0125] 続いて、ステップ S67において、カタログ情報が RAMに保存されているか否かを判 定し (ステップ S67)、カタログ情報が RAMに保存されて!、な!/、場合 (ステップ S67: No)には処理を終了し、保存されている場合 (ステップ S67 : Yes)には、当該カタ口 グ情報をノヽードディスク記憶部 22に保存して (ステップ S68)処理を終了する。
[0126] 2- 3- 2.更新されたときに保存する方法
テーブル情報、キャッシュ情報及びカタログ情報を、これら各情報が更新されたとき にハードディスク記憶部 22へ保存する方法について説明する。図 12は、ステップ S6 にて実行される「RAMに記憶されたテーブル情報、キャッシュ情報及びカタログ情報 を、ハードディスク記憶部 22へ保存する処理」の一例を示すフローチャートである。
[0127] 先ず、 RAMに記憶されたテーブル情報が更新 (書換え)されたか否かを判定する( ステップ S71)。テーブル情報が更新された場合 (ステップ S71 : Yes)には、制御部 1 1は第 1記憶制御手段として機能し、 RAMのテーブル情報と保存時刻をノヽードディ スク記憶部 22に保存する(ステップ S72)。ハードディスク記憶部 22に過去のテープ ル情報がある場合は、上書き保存する。テーブル情報が更新されていない場合 (ステ ップ S71 :No)には、ステップ S73へ移行する。
[0128] 次に、ステップ S73では、キャッシュ情報が更新 (書換え)されたか否かを判定し (ス テツプ S73)、キャッシュ情報が更新されていない場合 (ステップ S73 : No)には、ステ ップ S77へ移行し、キャッシュ情報が更新されている場合 (ステップ S73 : Yes)には、 RAMに保存されて 、るキャッシュ情報の容量力 ハードディスク記憶部 22のキヤッシ ュ情報記憶領域の記憶容量よりも大き 、か否かを判定する (ステップ S74)。
[0129] そして、 RAMに保存されているキャッシュ情報の容量力 ハードディスク記憶部 22 のキャッシュ情報記憶領域の記憶容量以内であれば (ステップ S 74 : No)、 RAMに 保存されて 、る全てのキャッシュ情報をノヽードディスク記憶部 22に保存して (ステップ S75)、ステップ S 77に移行し、他方、 RAMに保存されているキャッシュ情報の容量 力 ハードディスク記憶部 22のキャッシュ情報記憶領域の記憶容量よりも大き 、場合 (ステップ S74 : Yes)には、 RAMに保存されているキャッシュ情報のうち、自己のノー ド IDと近いコンテンツ IDを有するコンテンツの所在情報だけをキャッシュ情報として ハードディスク記憶部 22へ保存する (ステップ S76)。
[0130] 続いて、ステップ S77において、カタログ情報が更新 (書換え)された力否かを判定 し (ステップ S77)、カタログ情報が更新されていない場合 (ステップ S77 : No)には処 理を終了し、カタログ情報が更新されている場合 (ステップ S77 : Yes)には、当該カタ ログ情報をノヽードディスク記憶部 22に保存して (ステップ S78)処理を終了する。
[0131] なお、ステップ S64及び S74において、 RAMに保存されているキャッシュ情報の容 量力 ハードディスク記憶部 22のキャッシュ情報記憶領域の記憶容量よりも大き 、か 否かを判定して 、るが、ハードディスク記憶部 22のキャッシュ情報記憶領域に記憶で きるコンテンツの所在情報の個数を決めておき、この個数よりも多 、所在情報を有す るキャッシュ情報の場合には、自己のノード IDと近いコンテンツ IDを有するコンテンツ の所在情報だけをキャッシュ情報としてハードディスク記憶部 22へ保存するよう構成 してもよい。また、 RAM力 ハードディスク記憶部 22へキャッシュ情報を保存する処 理時間の上限を保存処理時間(例えば 2〜3分以内など)として予め定めておき、 RA Mから自己のノード IDと近いコンテンツ IDを有するコンテンツの所在情報力も順に読 み出し、予め定めた保存処理時間が経過したときに読み出しを終了するよう構成して ちょい。
[0132] 更に、本実施形態では、 RAMに記憶されている各情報を所定時間毎にハードディ スク記憶部 22へ保存する方法と、上記各情報が更新されたときに、ハードディスク記 憶部 22へ保存する方法について説明した力 この他、例えば、ステップ S4にて電源 オフが確認された際 (ステップ S4 : Yes)に、上記各情報を、ハードディスク記憶部 22 へ保存して力も電源をオフとするよう構成してもよ!/、。
[0133] 上述した実施形態によれば、コンテンツ配信システム Sに参加している際に、制御 部 11の RAMに記憶して利用していたテーブル情報を、次回、システムに参加する 際に利用するために、システム力も脱退した後(電源をオフとした後)でも、記憶され た情報が消去されな 、ノヽードディスク記憶部 22に記憶しておき、システム力も脱退後 、再びシステムに参加する際に、当該ハードディスク記憶部 22に記憶しておいたテ 一ブル情報に基づ 、て、テーブル情報をコピーさせてもらうシステムに参カ卩中のノー ド装置 (参加メッセージを送信する先のノード装置)を選ぶよう構成したので、コンタク ト用ノード装置 1CCに処理負担を課すことなぐシステムに参加したとき力も最新のテ 一ブル情報を取得することができる。
[0134] また、現在システムに参加しているノード装置を、過去にシステムに参加していたと きに使用して 、たテーブル情報 (ハードディスク記憶部 22に記憶されて ヽるテーブル 情報)に基づいて選択する際に、自己のノード IDに比較的遠いノード IDにかかるノ ード装置を選択するよう構成すれば、自己のノード情報を含む「参加メッセージ」が比 較的多くのノード装置間を転送することによって、 自己がシステムに参加したことを比 較的多くのノード装置に知らせることができる。なお、自己のノード IDに比較的遠いノ ード IDは、テーブル情報(図 4 (D)参照)のレベル 1が自己のノード IDに最も遠ぐレ ベル 8が自己のノード IDに最も近いので、レベル 1に記述されているノード IDの中か ら選択するよう構成すればょ ヽ。
[0135] なお、本発明の第 1記憶手段は、作業用 RAMに限らず、電源を切ると記憶内容が 失われる揮発性メモリであればよい。また、第 2記憶手段は、ハードディスク記憶部 2 2に限らず、システムカゝら脱退した後(電源がオフとされた後)でも、システムに参加し ていたときに記憶された情報が消去されずに残る不揮発性の記憶手段であればよく 、例えば、フラッシュメモリ、 EEPROM (Electronically Erasable and Programmable R ead Only Memory)、フラッシュメモリ、バックアップ電源付き半導体メモリ等でもよい。 更に、第 2記憶手段は、ハードディスク記憶部 22のようなノード装置 1の構成部材に 限らず、ノード装置 1と接続された外部メモリ等でもよい。
[0136] また、上記実施形態においては、 DHTを利用したアルゴリズムによって構築された オーバーレイネットワーク 9を前提として説明したが、本発明はこれに限定されるもの
ではなぐその他のコンピュータネットワークシステムに対しても適用可能である。 また、 2006年 4月 12日に出願された明細書、特許請求の範囲、図面、要約を含む 日本の特許出願(No. 2006— 110293)の全ての開示は、その全てを参照すること よって、ここに組み込まれる。
Claims
[1] ネットワークを介して互いに通信可能な複数のノード装置を備え、当該複数のノード 装置によって共用される複数の共用情報が複数のノード装置に分散されて保存され ている情報通信システムに含まれる各前記ノード装置において、
各前記ノード装置と通信をする際に使用するリンク情報であって、一以上の特定の ノード装置を示すノード情報を含む前記リンク情報を記憶する揮発性の第 1記憶手段 と、
当該ノード装置自身が前記情報通信システムに参加している際に、前記第 1記憶 手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第 2記憶手段に 記憶させる第 1記憶制御手段と、
当該ノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信 システムに参加する際に、前記第 2記憶手段に記憶された前記リンク情報に含まれる 前記ノード情報を用いて、前記第 1記憶手段に記憶すべき前記リンク情報を取得す るリンク情報取得手段であって、前記第 2記憶手段に記憶された前記リンク情報に含 まれる前記ノード情報を読み出すノード情報読み出し手段と、読み出された前記ノー ド情報に基づいて、当該ノード情報にかかる前記ノード装置に対して前記情報通信 システムに参加する旨を知らせる参加通知を送信する参加通知手段と、前記参加通 知の送信が成功したカゝ否かを判断する参加通知送信可否判断手段と、を有し、前記 参加通知送信可否判断手段により前記参加通知の送信が成功したと判断された場 合には、前記参加通知の送信先の前記ノード装置から、当該送信先のノード装置が 記憶している前記リンク情報を取得する前記リンク情報取得手段と、
前記リンク情報取得手段により取得されたリンク情報を、前記第 1記憶手段に記憶さ せる第 2記憶制御手段と、
を有することを特徴とするノード装置。
[2] 請求項 1に記載のノード装置において、
前記参加通知送信可否判断手段により前記参加通知の送信が失敗したと判断さ れた場合には、前記第 2記憶手段に記憶された前記リンク情報に他の前記ノード情 報が未だ含まれて ヽるカゝ否かを判断するノード情報有無判断手段を有し、かつ、
前記ノード情報有無判断手段によって、前記リンク情報に他のノード情報がないと 判断された場合には、
前記参加通知手段は、前記情報通信システムに含まれる他のノード装置であって、 該システムへの参加を管理する参加管理ノード装置に対して前記参加通知を送信し 前記リンク情報受信手段は、前記参加管理ノード装置から前記情報通信システム に含まれる少なくとも一以上の前記ノード装置に力かる前記ノード情報を含む前記リ ンク情報を受信し、
前記第 2記憶制御手段は、前記参加管理ノード装置から受信したリンク情報を前記 第 1記憶手段に記憶させ、
前記ノード情報有無判断手段により前記リンク情報に他のノード情報が未だ含まれ ていると判断された場合には、
前記参加通知手段は、前記リンク情報に含まれる他のノード情報にかかる前記ノー ド装置に対して前記参加通知を送信することを特徴とするノード装置。
[3] 請求項 1又は 2に記載のノード装置において、
当該ノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信 システムに参加する際に、前記第 2記憶手段に記憶された前記リンク情報を、前記第 1記憶手段に記憶させる第 3記憶制御手段と、
前記第 3記憶制御手段により前記第 2記憶手段から前記第 1記憶手段に再び記憶 された前記リンク情報に含まれる前記ノード情報のうち、何れかの前記ノード情報を 選択するノード情報選択手段と、を有し、
前記参加通知手段は、選択された前記ノード情報に基づいて、当該ノード情報に 力かる前記ノード装置に対して前記参加通知を送信することを特徴とするノード装置
[4] 請求項 3に記載のノード装置において、
前記参加通知送信可否判断手段により前記参加通知の送信が失敗したと判断さ れた場合には、前記第 1記憶手段に記憶された前記リンク情報から前記ノード情報 選択手段にて選択されたノード情報を削除する削除手段を有し、かつ、
前記ノード情報有無判断手段は、前記第 1記憶手段に記憶された前記リンク情報 に前記ノード情報が未だある力否かを判断し、
前記ノード情報有無判断手段により前記リンク情報にノード情報がないと判断され た場合には、
前記参加通知手段は、前記参加管理ノード装置に対して前記参加通知を送信し、 前記リンク情報受信手段は、前記参加管理ノード装置から前記情報通信システム に含まれる少なくとも一以上の前記ノード装置に力かる前記ノード情報力 なる前記リ ンク情報を受信し、
前記第 2記憶制御手段は、前記第 1記憶手段に記憶された前記リンク情報に変え て、前記参加管理ノード装置から受信したリンク情報を、前記第 1記憶手段に記憶さ せ、
前記ノード情報有無判断手段により前記リンク情報にノード情報が未だあると判断 された場合には、前記ノード情報選択手段は、当該リンク情報に含まれるノード情報 のうち、何れかのノード情報を再び選択することを特徴とするノード装置。
[5] 請求項 1乃至 4のいずれか一項に記載のノード装置において、
前記共用情報を記憶する共用情報記憶手段と、
前記共用情報記憶手段に記憶された前記共用情報を、前記情報通信システムに 含まれる他の前記ノード装置に共用可能とすべぐ前記第 2記憶制御手段により前記 第 1記憶手段に記憶された何れかの前記ノード情報にかかる前記ノード装置に対し て前記共用情報の公開通知を送信する公開通知手段と、を有することを特徴とする ノード装置。
[6] 請求項 1乃至 5のいずれか一項に記載のノード装置において、
前記第 1記憶制御手段が、前記第 1記憶手段に記憶された前記リンク情報を、前記 第 2記憶手段に記憶させた時刻から現在までに経過した経過時間が、第 1所定保存 時間より長いか否かを判断する第 1保存時間判断手段を有し、
前記第 1保存時間判断手段により、前記経過時間が、前記第 1所定保存時間より 長いと判断された場合には、前記参加通知手段は、前記参加管理ノード装置に対し て前記参加通知を送信することを特徴とするノード装置。
[7] 請求項 1に記載のノード装置において、
前記第 1記憶制御手段が、前記第 1記憶手段に記憶された前記リンク情報を、前記 第 2記憶手段に記憶させた時刻から現在までに経過した経過時間が、第 2所定保存 時間より長いか否かを判断する第 2保存時間判断手段を有し、
前記第 2保存時間判断手段により、前記経過時間が、前記第 2所定保存時間内で あると判断された場合には、前記リンク情報取得手段は、前記第 2記憶手段に記憶さ れた前記リンク情報を取得し、
前記第 2記憶制御手段は、前記リンク情報取得手段が前記第 2記憶手段から取得 した前記リンク情報を前記第 1記憶手段に記憶することを特徴とするノード装置。
[8] 請求項 7に記載のノード装置において、
前記共用情報を記憶する共用情報記憶手段と、
前記共用情報記憶手段に記憶された前記共用情報を、前記情報通信システムに 含まれる他の前記ノード装置に共用可能とすべぐ前記第 2記憶制御手段により前記 第 1記憶手段に記憶された何れかの前記ノード情報にかかる前記ノード装置に対し て前記共用情報の公開通知を送信する公開通知手段と、
前記公開通知の送信が成功したカゝ否かを判断する公開通知送信可否判断手段と を有することを特徴とするノード装置。
[9] 請求項 8に記載のノード装置において、
前記リンク情報取得手段は、
前記公開通知送信可否判断手段により前記公開通知の送信が失敗したと判断さ れた場合に、前記情報通信システムに含まれる他のノード装置であって、該システム への参加を管理する参加管理ノード装置に対して、該システムに参加する旨を知ら せる参加通知を送信する参加通知手段と、
前記参加管理ノード装置から前記情報通信システムに含まれる少なくとも一以上の 前記ノード装置にかかる前記ノード情報を含む前記リンク情報を受信するリンク情報 受信手段と、を備え、
前記第 2記憶制御手段は、前記参加管理ノード装置から受信したリンク情報を、前
記第 1記憶手段に記憶させることを特徴とするノード装置。
[10] 請求項 1乃至 9のいずれか一項に記載のノード装置において、
前記第 1記憶手段は、前記複数の共用情報のうち、当該ノード装置自身が管理す べき前記共用情報を保存する前記ノード装置の所在を示す所在情報と、前記複数 のノード装置で共用される前記複数の共用情報にかかる共用情報関連情報と、を記 し、
前記第 1記憶制御手段は、前記第 1記憶手段に記憶された前記所在情報及び前 記共用情報関連情報を、前記所定のタイミングで前記第 2記憶手段に記憶させ、 前記第 2記憶制御手段は、当該ノード装置自身が前記情報通信システムから脱退 した後、再び前記情報通信システムに参加する際に、前記第 2記憶手段に記憶され た前記所在情報及び前記共用情報関連情報を再び前記第 1記憶手段に記憶させる ことを特徴とするノード装置。
[11] 請求項 1乃至 10のいずれか一項に記載のノード装置において、
前記所定のタイミングは、所定時間が経過する都度、或いは、前記情報通信システ ムに含まれる他の前記ノード装置との情報の授受に起因して、前記第 1記憶手段に 記憶された前記リンク情報、前記所在情報又は前記共用情報関連情報が更新され る都度、或いは、ノード装置自身の電源がオフとされる際、の少なくとも何れかである ことを特徴とするノード装置。
[12] 請求項 1乃至 11のいずれか一項に記載のノード装置において、
前記情報通信システムは、オーバーレイネットワークによって前記各ノード装置が接 続され、
前記リンク情報に含まれる前記ノード情報は、当該ノード情報にかかるノード装置を 、前記オーバーレイネットワークの識別情報空間にて一意に識別するためのノード ID と、当該ノード装置の宛先情報と、を含むことを特徴とするノード装置。
[13] 請求項 1乃至 12のいずれか一項に記載のノード装置において、
前記第 1記憶手段は、前記ノード装置に具備される RAMであり、
前記第 2記憶手段は、ハードディスク、又はフラッシュメモリ、又は EEPROM、又は ノ ックアップ電源付き半導体メモリであることを特徴とするノード装置。
[14] コンピュータを、請求項 1乃至 13のいずれか一項に記載のノード装置として機能さ せることを特徴とする記憶制御プログラムを記録した記録媒体。
[15] ネットワークを介して互いに通信可能な複数のノード装置を備え、当該複数のノード 装置によって共用される複数の共用情報が複数のノード装置に分散されて保存され て 、る情報通信システムにおける情報記憶方法にぉ 、て、
各前記ノード装置と通信をする際に使用するリンク情報であって、一以上の特定の ノード装置を示すノード情報を含む前記リンク情報を揮発性の第 1記憶手段に記憶 する工程と、
当該ノード装置自身が前記情報通信システムに参加している際に、前記第 1記憶 手段に記憶された前記リンク情報を、所定のタイミングで不揮発性の第 2記憶手段に 記憶させる第 1記憶制御工程と、
当該ノード装置自身が前記情報通信システムから脱退した後、再び前記情報通信 システムに参加する際に、前記第 2記憶手段に記憶された前記リンク情報に含まれる 前記ノード情報を用いて、前記第 1記憶手段に記憶すべき前記リンク情報を取得す るリンク情報取得工程であって、前記第 2記憶手段に記憶された前記リンク情報に含 まれる前記ノード情報を読み出す工程と、読み出された前記ノード情報に基づいて、 当該ノード情報にかかる前記ノード装置に対して前記情報通信システムに参加する 旨を知らせる参加通知を送信する工程と、前記参加通知の送信が成功したカゝ否かを 判断する参加通知送信可否判断工程と、を有し、前記参加通知送信可否判断工程 により前記参加通知の送信が成功したと判断された場合には、前記参加通知の送信 先の前記ノード装置から、当該送信先のノード装置が記憶している前記リンク情報を 取得する前記リンク情報取得工程と、
取得された前記リンク情報を、前記第 1記憶手段に記憶させる第 2記憶制御工程と を有することを特徴とする情報記憶方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AT07738960T ATE547871T1 (de) | 2006-04-12 | 2007-03-19 | Knoteneinrichtung, aufzeichnungsmedium, auf dem ein speichersteuerprogramm aufgezeichnet ist, und informationsspeicherverfahren |
EP07738960A EP2012476B1 (en) | 2006-04-12 | 2007-03-19 | Node device, recording medium where storage control program is recorded, and information storing method |
CN200780012893XA CN101421993B (zh) | 2006-04-12 | 2007-03-19 | 节点设备、记录存储控制程序的记录介质和信息存储的方法 |
US12/285,675 US8654678B2 (en) | 2006-04-12 | 2008-10-10 | Node device, recording medium where storage control program is recorded, and information storing method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006-110293 | 2006-04-12 | ||
JP2006110293A JP4655986B2 (ja) | 2006-04-12 | 2006-04-12 | ノード装置、記憶制御プログラム及び情報記憶方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/285,675 Continuation-In-Part US8654678B2 (en) | 2006-04-12 | 2008-10-10 | Node device, recording medium where storage control program is recorded, and information storing method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007116630A1 true WO2007116630A1 (ja) | 2007-10-18 |
Family
ID=38580931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2007/055515 WO2007116630A1 (ja) | 2006-04-12 | 2007-03-19 | ノード装置、記憶制御プログラムを記録した記録媒体及び情報記憶方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8654678B2 (ja) |
EP (1) | EP2012476B1 (ja) |
JP (1) | JP4655986B2 (ja) |
CN (1) | CN101421993B (ja) |
AT (1) | ATE547871T1 (ja) |
WO (1) | WO2007116630A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4862463B2 (ja) * | 2006-04-11 | 2012-01-25 | ブラザー工業株式会社 | 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等 |
JP4655986B2 (ja) * | 2006-04-12 | 2011-03-23 | ブラザー工業株式会社 | ノード装置、記憶制御プログラム及び情報記憶方法 |
JP2010152704A (ja) * | 2008-12-25 | 2010-07-08 | Hitachi Ltd | 計算機システムの運用管理システム及び管理方法 |
JP5338783B2 (ja) * | 2010-09-30 | 2013-11-13 | ブラザー工業株式会社 | 情報通信システム、ノード装置、情報通信方法及びプログラム |
US9641475B2 (en) * | 2011-06-03 | 2017-05-02 | Sony Corporation | Electronic mail receiving device and method |
CN105025027A (zh) * | 2015-07-27 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种多控存储***的rpc安全认证方法 |
CN115190136B (zh) * | 2021-04-21 | 2024-03-01 | 统信软件技术有限公司 | 一种数据存储方法、数据传输方法及计算设备 |
CN118013515A (zh) * | 2024-04-09 | 2024-05-10 | 山东浪潮科学研究院有限公司 | 用于隐私保护的分布式计算方法及装置、存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09247159A (ja) * | 1996-03-07 | 1997-09-19 | Nippon Telegr & Teleph Corp <Ntt> | Pvcパス再設定方法 |
JPH10247909A (ja) * | 1997-03-03 | 1998-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理方法及びシステム |
JP2000358039A (ja) * | 1999-06-17 | 2000-12-26 | Sony Corp | 情報処理装置および方法、並びに媒体 |
JP2003099337A (ja) | 2001-09-20 | 2003-04-04 | Fujitsu Ltd | データ共有装置 |
JP2003216521A (ja) | 2002-01-28 | 2003-07-31 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体 |
JP2006059133A (ja) * | 2004-08-20 | 2006-03-02 | Brother Ind Ltd | 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等 |
JP2006109158A (ja) | 2004-10-06 | 2006-04-20 | Olympus Imaging Corp | 電子機器及び電子機器システム並びにオーディオ再生システム |
JP2006109159A (ja) | 2004-10-06 | 2006-04-20 | Mitsubishi Electric Corp | 車載用オーディオ装置 |
JP2006110293A (ja) | 2004-10-15 | 2006-04-27 | Suetaro Noda | トイレリモコン |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044205A (en) | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5453979A (en) * | 1994-01-27 | 1995-09-26 | Dsc Communications Corporation | Method and apparatus for generating route information for asynchronous transfer mode cell processing |
US5548712A (en) * | 1995-01-19 | 1996-08-20 | Hewlett-Packard Company | Data storage system and method for managing asynchronous attachment and detachment of storage disks |
US5900896A (en) | 1995-04-27 | 1999-05-04 | Hewlett-Packard Company | Ink cartridge adapters |
US7114801B2 (en) | 1995-04-27 | 2006-10-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing ink to an ink jet printing system |
CA2170564A1 (en) | 1996-02-28 | 1997-08-29 | Frank Michael Kappe | Method of propagating data through a distributed information network |
US7117273B1 (en) | 2000-01-25 | 2006-10-03 | Cisco Technology, Inc. | Methods and apparatus for maintaining a map of node relationships for a network |
US7418498B2 (en) * | 2001-01-24 | 2008-08-26 | Telecommunication Systems, Inc. | System and method to publish information from servers to remote monitor devices |
US7689696B2 (en) * | 2000-01-31 | 2010-03-30 | Telecommunication Systems, Inc. | System and method for re-directing requests from browsers for communications over non-IP based networks |
US6993587B1 (en) | 2000-04-07 | 2006-01-31 | Network Appliance Inc. | Method and apparatus for election of group leaders in a distributed network |
JP2001325140A (ja) | 2000-05-17 | 2001-11-22 | Mitsubishi Electric Corp | ファイル転送装置 |
US20030172135A1 (en) | 2000-09-01 | 2003-09-11 | Mark Bobick | System, method, and data structure for packaging assets for processing and distribution on multi-tiered networks |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7296088B1 (en) * | 2000-11-17 | 2007-11-13 | Microsoft Corporation | System and method for determining the geographic location of internet hosts |
US20020062336A1 (en) | 2000-11-22 | 2002-05-23 | Dan Teodosiu | Resource coherency among resources cached in a peer to peer environment |
WO2002057917A2 (en) * | 2001-01-22 | 2002-07-25 | Sun Microsystems, Inc. | Peer-to-peer network computing platform |
JP2004530183A (ja) | 2001-01-25 | 2004-09-30 | デービッド・シドマン | 情報アクセスを実行する多重解決のための装置、方法及びシステム |
US20040122741A1 (en) | 2002-01-25 | 2004-06-24 | David Sidman | Apparatus, method and system for effecting information access in a peer environment |
US7069295B2 (en) * | 2001-02-14 | 2006-06-27 | The Escher Group, Ltd. | Peer-to-peer enterprise storage |
US6950820B2 (en) * | 2001-02-23 | 2005-09-27 | International Business Machines Corporation | Maintaining consistency of a global resource in a distributed peer process environment |
US7702760B2 (en) * | 2001-03-26 | 2010-04-20 | Nokia Corporation | Configuration method and system |
US6813372B2 (en) * | 2001-03-30 | 2004-11-02 | Logitech, Inc. | Motion and audio detection based webcamming and bandwidth control |
JP2002318720A (ja) | 2001-04-19 | 2002-10-31 | Oki Electric Ind Co Ltd | コンテンツ配信管理システム |
US6880100B2 (en) * | 2001-07-18 | 2005-04-12 | Smartmatic Corp. | Peer-to-peer fault detection |
US7054867B2 (en) | 2001-09-18 | 2006-05-30 | Skyris Networks, Inc. | Systems, methods and programming for routing and indexing globally addressable objects and associated business models |
US6937602B2 (en) * | 2001-10-23 | 2005-08-30 | Meshnetworks, Inc. | System and method for providing a congestion optimized address resolution protocol for wireless ad-hoc networks |
US7412535B2 (en) * | 2001-12-19 | 2008-08-12 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
AU2002358290A1 (en) | 2001-12-28 | 2003-07-24 | Woodstock Systems, Llc | Personal digital servertm (pdstm) |
US7492787B2 (en) * | 2002-03-29 | 2009-02-17 | Fujitsu Limited | Method, apparatus, and medium for migration across link technologies |
JP3858846B2 (ja) * | 2002-04-11 | 2006-12-20 | ブラザー工業株式会社 | デバイス管理システム |
US7099695B1 (en) * | 2002-05-24 | 2006-08-29 | Sprint Spectrum L.P. | Method and system of selecting antennas and equipment for use within a wireless communication system |
US6996678B1 (en) * | 2002-07-31 | 2006-02-07 | Cisco Technology, Inc. | Method and apparatus for randomized cache entry replacement |
US7263560B2 (en) * | 2002-08-30 | 2007-08-28 | Sun Microsystems, Inc. | Decentralized peer-to-peer advertisement |
JP2004127074A (ja) | 2002-10-04 | 2004-04-22 | Nippon Telegr & Teleph Corp <Ntt> | P2pネットワークにおけるファイル検索方法、端末、プログラム、および記録媒体 |
US7551634B2 (en) | 2002-11-12 | 2009-06-23 | Fujitsu Limited | Communication network system |
US7251670B1 (en) | 2002-12-16 | 2007-07-31 | Cisco Technology, Inc. | Methods and apparatus for replicating a catalog in a content distribution network |
US7406535B2 (en) * | 2002-12-20 | 2008-07-29 | Symantec Operating Corporation | Role-based message addressing for a computer network |
JP2004258994A (ja) | 2003-02-26 | 2004-09-16 | Nippon Telegr & Teleph Corp <Ntt> | P2pネットワークにおける動的なファイル検索方法、端末、プログラム、および記録媒体 |
US20040181607A1 (en) | 2003-03-13 | 2004-09-16 | Zhichen Xu | Method and apparatus for providing information in a peer-to-peer network |
US7870218B2 (en) * | 2003-04-09 | 2011-01-11 | Nec Laboratories America, Inc. | Peer-to-peer system and method with improved utilization |
US7805448B2 (en) | 2003-04-18 | 2010-09-28 | Hewlett-Packard Development Company, L.P. | Storing attribute values of computing resources in a peer-to-peer network |
JP4203354B2 (ja) | 2003-05-19 | 2008-12-24 | パナソニック株式会社 | コンテンツ配信装置およびコンテンツ受信装置 |
JP2004355114A (ja) | 2003-05-27 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 意味情報ネットワークシステム、セッションリジューム方法及びセッションリジュームプログラム |
JP2004362033A (ja) | 2003-06-02 | 2004-12-24 | Sony Corp | コンテンツ管理方法、コンテンツ管理システム、端末装置およびサーバ装置 |
US7321939B1 (en) * | 2003-06-27 | 2008-01-22 | Embarq Holdings Company Llc | Enhanced distributed extract, transform and load (ETL) computer method |
JP2005071227A (ja) | 2003-08-27 | 2005-03-17 | Sony Corp | メタデータ流通管理システム,メタデータ流通管理装置,個人別メタデータ管理装置,クライアント端末,メタデータ流通管理方法およびコンピュータプログラム |
US7783777B1 (en) | 2003-09-09 | 2010-08-24 | Oracle America, Inc. | Peer-to-peer content sharing/distribution networks |
US20060064503A1 (en) * | 2003-09-25 | 2006-03-23 | Brown David W | Data routing systems and methods |
US7685253B1 (en) * | 2003-10-28 | 2010-03-23 | Sun Microsystems, Inc. | System and method for disconnected operation of thin-client applications |
US20050120134A1 (en) * | 2003-11-14 | 2005-06-02 | Walter Hubis | Methods and structures for a caching to router in iSCSI storage systems |
US7188937B2 (en) | 2004-01-29 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Printing-fluid venting assembly |
US7593353B2 (en) | 2004-03-13 | 2009-09-22 | International Business Machines Corporation | Methods and apparatus for content delivery via application level multicast with minimum communication delay |
US7730207B2 (en) | 2004-03-31 | 2010-06-01 | Microsoft Corporation | Routing in peer-to-peer networks |
US7418454B2 (en) | 2004-04-16 | 2008-08-26 | Microsoft Corporation | Data overlay, self-organized metadata overlay, and application level multicasting |
US7924726B2 (en) * | 2004-07-12 | 2011-04-12 | Cisco Technology, Inc. | Arrangement for preventing count-to-infinity in flooding distance vector routing protocols |
US7360879B2 (en) | 2004-07-29 | 2008-04-22 | Castle Steven T | Inkjet pen adapter |
JP2006065660A (ja) * | 2004-08-27 | 2006-03-09 | Sony Corp | 端末機器、情報配信サーバ、および情報配信方法 |
US20060080273A1 (en) * | 2004-10-12 | 2006-04-13 | International Business Machines Corporation | Middleware for externally applied partitioning of applications |
US7604324B2 (en) | 2004-10-27 | 2009-10-20 | Brother Kogyo Kabushiki Kaisha | Apparatus for ejecting droplets |
FR2878673B1 (fr) * | 2004-11-26 | 2007-02-09 | Univ Picardie Jules Verne Etab | Systeme et procede de sauvegarde distribuee perenne |
WO2006068365A1 (en) * | 2004-12-21 | 2006-06-29 | Electronics And Telecommunications Research Institute | P2p overlay network construction method and apparatus |
US7562125B2 (en) * | 2005-02-02 | 2009-07-14 | Cisco Technology, Inc. | Techniques for locating distributed objects on a network based on physical communication costs |
CA2596719A1 (en) * | 2005-02-24 | 2006-08-31 | Xeround Systems Ltd. | Method and apparatus for distributed data management in a switching network |
US20060195532A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | Client-side presence documentation |
CN101160776A (zh) * | 2005-03-17 | 2008-04-09 | 埃克斯因科有限公司 | 具有身份和目录管理的通信方法和*** |
JP2006277338A (ja) * | 2005-03-29 | 2006-10-12 | Brother Ind Ltd | 情報処理装置及び蓄積装置、情報処理方法及び蓄積方法並びに情報処理用プログラム及び蓄積装置用プログラム |
US20070079004A1 (en) | 2005-09-30 | 2007-04-05 | Junichi Tatemura | Method and apparatus for distributed indexing |
US7668173B2 (en) * | 2005-12-01 | 2010-02-23 | Azalea Networks | Method and system for an adaptive wireless routing protocol in a mesh network |
US7647329B1 (en) | 2005-12-29 | 2010-01-12 | Amazon Technologies, Inc. | Keymap service architecture for a distributed storage system |
JP2007235471A (ja) * | 2006-02-28 | 2007-09-13 | Brother Ind Ltd | コンテンツ配信システム、コンテンツ配信方法、端末装置、及びそのプログラム |
US20090316687A1 (en) * | 2006-03-10 | 2009-12-24 | Peerant, Inc. | Peer to peer inbound contact center |
JP4692355B2 (ja) * | 2006-03-30 | 2011-06-01 | ブラザー工業株式会社 | 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム |
US7881223B2 (en) * | 2006-03-31 | 2011-02-01 | Panasonic Corporation | Method for on demand distributed hash table update |
JP4862463B2 (ja) | 2006-04-11 | 2012-01-25 | ブラザー工業株式会社 | 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等 |
JP2007280303A (ja) | 2006-04-11 | 2007-10-25 | Brother Ind Ltd | 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等 |
JP4655986B2 (ja) * | 2006-04-12 | 2011-03-23 | ブラザー工業株式会社 | ノード装置、記憶制御プログラム及び情報記憶方法 |
JP2007304849A (ja) | 2006-05-11 | 2007-11-22 | Sony Corp | 管理装置、情報処理装置、管理方法および情報処理方法 |
JP2008234445A (ja) * | 2007-03-22 | 2008-10-02 | Brother Ind Ltd | コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム |
JP4702314B2 (ja) * | 2007-03-23 | 2011-06-15 | ブラザー工業株式会社 | コンテンツ分散保存システム、ノード装置、ノード処理プログラム、及びコンテンツデータ取得方法 |
JP4930148B2 (ja) * | 2007-03-29 | 2012-05-16 | ブラザー工業株式会社 | 情報処理装置、情報処理方法及び情報処理用プログラム |
-
2006
- 2006-04-12 JP JP2006110293A patent/JP4655986B2/ja active Active
-
2007
- 2007-03-19 WO PCT/JP2007/055515 patent/WO2007116630A1/ja active Application Filing
- 2007-03-19 CN CN200780012893XA patent/CN101421993B/zh active Active
- 2007-03-19 EP EP07738960A patent/EP2012476B1/en active Active
- 2007-03-19 AT AT07738960T patent/ATE547871T1/de active
-
2008
- 2008-10-10 US US12/285,675 patent/US8654678B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09247159A (ja) * | 1996-03-07 | 1997-09-19 | Nippon Telegr & Teleph Corp <Ntt> | Pvcパス再設定方法 |
JPH10247909A (ja) * | 1997-03-03 | 1998-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理方法及びシステム |
JP2000358039A (ja) * | 1999-06-17 | 2000-12-26 | Sony Corp | 情報処理装置および方法、並びに媒体 |
JP2003099337A (ja) | 2001-09-20 | 2003-04-04 | Fujitsu Ltd | データ共有装置 |
JP2003216521A (ja) | 2002-01-28 | 2003-07-31 | Nippon Telegr & Teleph Corp <Ntt> | コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体 |
JP2006059133A (ja) * | 2004-08-20 | 2006-03-02 | Brother Ind Ltd | 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等 |
JP2006109158A (ja) | 2004-10-06 | 2006-04-20 | Olympus Imaging Corp | 電子機器及び電子機器システム並びにオーディオ再生システム |
JP2006109159A (ja) | 2004-10-06 | 2006-04-20 | Mitsubishi Electric Corp | 車載用オーディオ装置 |
JP2006110293A (ja) | 2004-10-15 | 2006-04-27 | Suetaro Noda | トイレリモコン |
Non-Patent Citations (1)
Title |
---|
IWATA S. ET AL.: "unix magazine", vol. 20, part 9 1 September 2005, ASCII CORP., article "P2P Gijutsu no Kiso Chishiki [1]", pages: 82 - 107, XP003015041 * |
Also Published As
Publication number | Publication date |
---|---|
US8654678B2 (en) | 2014-02-18 |
US20090052349A1 (en) | 2009-02-26 |
CN101421993B (zh) | 2013-06-19 |
EP2012476B1 (en) | 2012-02-29 |
JP2007288286A (ja) | 2007-11-01 |
JP4655986B2 (ja) | 2011-03-23 |
EP2012476A1 (en) | 2009-01-07 |
EP2012476A4 (en) | 2009-12-30 |
CN101421993A (zh) | 2009-04-29 |
ATE547871T1 (de) | 2012-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007116630A1 (ja) | ノード装置、記憶制御プログラムを記録した記録媒体及び情報記憶方法 | |
JP2008234445A (ja) | コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム | |
JP2007148545A (ja) | 情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム | |
JP4856632B2 (ja) | コンテンツ管理システム | |
JP4779733B2 (ja) | 配信システム及び配信システム制御方法、蓄積装置及び蓄積装置用プログラム並びにノード装置及びノード装置用プログラム | |
JP2010113573A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム | |
JP5353567B2 (ja) | 情報処理システム、情報処理装置、ノード装置及びプログラム並びに情報処理方法 | |
US8312068B2 (en) | Node device, information communication system, method for managing content data, and computer readable medium | |
JP2003345692A (ja) | 情報処理装置および方法、情報管理装置および方法、記録媒体、並びにプログラム | |
JP2009232272A (ja) | コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム | |
JP2011129059A (ja) | 情報処理装置、通信システム、制御方法及び制御プログラム | |
JP5071262B2 (ja) | 情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラム | |
JP4935734B2 (ja) | コンテンツ分散保存システム、ノード装置及びノード処理プログラム並びにノード処理方法 | |
US8315979B2 (en) | Node device, information communication system, method for retrieving content data, and computer readable medium | |
JP2009187101A (ja) | コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム | |
JP2010108082A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP2010066930A (ja) | コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム | |
JP2007272467A (ja) | 配信システム、制御装置及び制御装置用プログラム、管理装置及び管理装置用プログラム、補助装置及び補助装置用プログラム並びに配信システム制御方法 | |
JP5157770B2 (ja) | ノード装置、プログラム及び保存指示方法 | |
JP5412924B2 (ja) | ノード装置、ノード処理プログラム及びコンテンツデータ削除方法 | |
JP2011060309A (ja) | ノード装置、記憶制御プログラム及び情報記憶方法 | |
JP5287059B2 (ja) | ノード装置、ノード処理プログラム及び保存指示方法 | |
JP2010102573A (ja) | ノード装置、ノード処理プログラム及びデータファイル改変方法 | |
JP2009020669A (ja) | コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等 | |
JP2008084089A (ja) | ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07738960 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007738960 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200780012893.X Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |