WO2006070536A1 - ノード装置、情報送信処理プログラム、及び情報配信方法等 - Google Patents
ノード装置、情報送信処理プログラム、及び情報配信方法等 Download PDFInfo
- Publication number
- WO2006070536A1 WO2006070536A1 PCT/JP2005/020809 JP2005020809W WO2006070536A1 WO 2006070536 A1 WO2006070536 A1 WO 2006070536A1 JP 2005020809 W JP2005020809 W JP 2005020809W WO 2006070536 A1 WO2006070536 A1 WO 2006070536A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- node
- distribution
- content
- management information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/60—Business processes related to postal services
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Definitions
- Node device information transmission processing program, information distribution method, etc.
- the present invention relates to a Peer to Peer (P2P) type information distribution system and method including a plurality of node devices connected to each other via a network.
- P2P Peer to Peer
- the present invention relates to a technical field such as a content distribution system and method stored in the above node device.
- an information distribution system that mutually distributes content (distribution information) such as movies to be distributed via a network, a distribution source device, a management information recording device, and a management information processing device included in the information distribution system
- the present invention relates to a technical field of a distribution source processing method and a management information processing method, a distribution source processing program and a management information processing program used as the distribution source device and the management information processing device, and an information recording medium on which the programs are recorded.
- an authentication server that is, as a billing server
- the Radius server used for authentication in dial-up connection often manages charging for each terminal device as a charging server.
- the content distribution server accesses (distributes) content data to the billing server.
- an inquiry message is sent indicating whether permission is permitted and a response message indicating permission is returned, the content data is distributed to the terminal device.
- a terminal device accesses a server or the like storing the content via a network such as the Internet, and the terminal device is viewed.
- a content distribution system in which the content is directly exchanged between terminal devices belonging to a network (in other words, each content is distributed among a plurality of terminal devices).
- P2P (Pear to Pear) type content distribution system which is a shared content distribution system. This P2P-type content delivery system is attracting attention as a method for solving server concentration, high access, and management costs, which are the disadvantages of the conventional client-server model.
- the content body is distributed and stored on a plurality of terminal devices as described above.
- the management information used for authentication and billing necessary for the distribution is essentially required to be managed centrally, it is routed through a centralized server that handles the management information exclusively. It is structured to be exchanged.
- Patent Document 1 JP 2002-74191 A
- the present invention has been made in view of the above problems and the like, and provides a node device, an information transmission processing program, an information distribution method, and the like that can avoid concentration of processing related to accounting. This is the issue. Also, an information distribution system capable of efficiently distributing and managing management information such as billing information necessary for the operation of the content distribution system, and a distribution source device included in the information distribution system , Management information recording device and management information processing device, distribution source processing method and management information processing method, distribution source processing program and management information processing program used as the distribution source device and management information processing device, and It is an object to provide an information recording medium on which a program is recorded.
- an information distribution system including a plurality of node devices that can communicate with each other via a network, and the distribution information includes one or more nodes.
- Information that is stored in a device and that is related to whether or not the distribution information is provided and that is related to each of the node devices is distributed and stored in the other node devices.
- Request information receiving means for receiving request information indicating a delivery information provision request transmitted from another node device via the network, the node device included in a distribution system; and the received information Whether the distribution information can be provided to the node device storing the provision availability related information corresponding to the node device that is the transmission source of the requested information.
- Provision availability confirmation means for confirming via a task, and provision availability information transmission for transmitting response information based on the confirmed availability to the node device that is the transmission source of the request information via the network. And means.
- the provision availability information corresponding to the device is distributed and stored in other node devices, and when the request information indicating the distribution information provision request transmitted via the network is received, the received request is received.
- Whether or not the distribution information can be provided is confirmed with respect to the node device that stores the information on whether or not the distribution information corresponding to the node device that is the information transmission source is stored, and is based on the confirmed availability. Since the response information is configured to be transmitted over the network to the node device that is the source of the request information, the processing related to whether delivery information can be provided (for example, processing related to charging) is distributed among the node devices. , Avoiding concentration of processing.
- the provision availability related information corresponding to the node device that is the transmission source of the request information is stored in a plurality of the node devices, and the provision availability confirmation means stores the provision availability information Check whether the distribution information can be provided to the plurality of stored node devices via the network, and determine whether the distribution information can be provided based on the plurality of confirmed availability.
- the provision availability determination unit transmits response information based on the determined availability to the node device that is the transmission source of the request information via the network.
- the provision availability confirmation unit transmits confirmation information for confirming availability of the distribution information to the node device storing the provision availability information, and performs the confirmation. It is characterized by confirming whether or not the distribution information can be provided by receiving reply information based on whether or not the distribution information can be provided in response to the information.
- a request for correcting the provision availability information is sent to the node device that has returned reply information based on availability that is different from the availability of the determined distribution information. It further comprises a correction request information transmitting means for transmitting the correction request information.
- the request information includes the first identification information corresponding to the node device that is a transmission source of the request information, and the provision availability confirmation unit is included in the request information.
- a plurality of different second identification information is generated based on the first identification information, Whether or not the distribution information can be provided is confirmed with respect to each of the node devices corresponding to each of the second identification information.
- an information distribution system including a plurality of node devices capable of communicating with each other via a network, wherein the distribution information includes one or more nodes.
- a confirmation information receiving means for receiving confirmation information for confirming whether or not to provide the distribution information transmitted from any of the node devices via the network, the node device included in a distribution system; Providability determining means for determining whether or not distribution information related to the received confirmation information can be provided with reference to the provision availability related information, and transmitting the confirmation information against the node device, characterized in that it comprises, and provides permission information returning means for returning through the Nettowa over click the reply information based on the discriminated provision adequacy.
- the provision availability determination information update section updates the provision availability information. It is a number.
- correction request information receiving means for receiving the correction request information transmitted from the node device via the network, the provision availability information is obtained.
- the information processing apparatus is further provided with a provision availability related information correcting means for correcting.
- the provisional availability related information stored in the node device is inconsistent, the provisional availability related information is corrected for the node device that has returned an answer different from the determined availability. As a result, it is possible to match the contents of provision availability information among a plurality of node devices and maintain the accuracy of the provision availability related information.
- the provision availability information includes billing information necessary for billing the delivery information.
- an information distribution system including a plurality of node devices capable of communicating with each other via a network, wherein the distribution information is Provision availability information related to availability of the distribution information stored in one or more of the node devices and distributed to other node devices.
- Request information receiving means for receiving request information indicating a request for providing the distribution information transmitted from the other node device via the network to a computer included in the information distribution system stored.
- an information distribution system including a plurality of node devices capable of communicating with each other via a network, wherein the distribution information is one or more.
- the provision availability related information related to the availability of the distribution information and the provision availability related information corresponding to each of the node devices is distributed and stored in the other node devices.
- the confirmation information for confirming whether or not to provide the distribution information transmitted from the node device that is the storage source of the distribution information via the network is sent to the computer included in the information distribution system.
- Confirmation information receiving means for receiving, provision availability determination means for determining whether or not delivery information related to the received confirmation information can be provided with reference to the provision availability information, and To the node device which has transmitted the serial check information, characterized in that the functioning of the reply information based on the discriminated provision adequacy as providing permission information returning means for returning via the network.
- the information transmission processing program is recorded in a computer-readable manner.
- an information distribution system including a plurality of node devices capable of communicating with each other via a network, wherein the distribution information is one or more. Provision availability related information that is stored in the node device and that is related to availability of the distribution information, and that is provided to the node device.
- the node device that is the storage source of the distribution information receives the reply information based on the provision availability and sends the reply information based on the provision availability at the transmission source of the request information. And transmitting to the node device via the network.
- a distribution destination apparatus that receives distribution of distribution information
- a distribution source apparatus such as a node that performs the distribution to the distribution destination apparatus
- Recording information such as a recording unit for recording management information such as billing data related to the distribution and recording confidential information for at least a user who receives the distribution and a person other than the distributor who performs the distribution
- Management information recording devices such as a plurality of nodes
- reading means such as a control unit that reads the management information corresponding to the same distribution from the recording means
- processing such as a control unit that processes the read management information
- a management information processing apparatus such as a node, and a network that interconnects at least the distribution destination apparatus, the distribution source apparatus, the management information recording apparatus, and the management information processing apparatus. It is composed of click and.
- management information having confidentiality is distributed and recorded in a plurality of management information recording devices, and these are read and processed by the management information processing device via the network as necessary.
- the management information can be efficiently distributed and managed while preventing the above processing from concentrating on the management information processing apparatus.
- the management information is sent from the user to the distributor for one of the distributions.
- the billing information is related to the distribution fee to be paid.
- the billing information related to the distribution fee can be efficiently managed while being distributed and distributed in a plurality of management information storage devices.
- the information distribution system is configured to be an information distribution system in which the distribution information is directly exchanged between the distribution source device and the distribution destination device via the network. .
- management information in the information distribution system in which distribution information is directly exchanged between the distribution source device and the distribution destination device is managed by distributing the management information in the same manner as the distribution information. Can be done efficiently.
- the distribution source device included in the information distribution system is a distribution requesting the distribution from the distribution destination device.
- a receiving unit such as a communication unit that receives request information; and a generating unit such as a control unit that generates the management information corresponding to the distribution based on the received distribution request information when the distribution request information is received;
- Determining means such as a control unit that determines the management information recording device that is a storage destination of the generated management information, and a communication unit that transmits the generated management information to the determined management information recording device
- transmission means such as
- the distribution source apparatus when a distribution request is received, the distribution source apparatus generates management information corresponding to the distribution request information to be distributed, and further determines a management information recording apparatus that is a storage destination of the generated management information. Since the management information is sent to the management information recording device, the management information corresponding to the distribution request is generated and placed in each management information recording device. The ability to efficiently distribute and manage information alone is possible.
- the distribution request information includes identification information for identifying the user who has performed an operation of transmitting the distribution request information in the distribution destination device, and the generation unit receives the received Based on the identification information included in the distribution request information, the management information corresponding to the distribution request information requested to be distributed by the distribution request information is generated. [0037] Therefore, since management information for distribution of the distribution request information is generated based on identification information for identifying a user who has requested distribution of the distribution request information, the content of the management information having confidentiality is generated. It is possible to distribute the management information in a distributed manner while preventing leakage of information to third parties.
- the generation unit is configured to perform an encryption process that can be decrypted only by the management information processing apparatus, on the generated management information.
- the management information is based on the identification information. Coupled with the generation, the management information can be distributed and distributed while ensuring the confidentiality of the management information.
- an erasure unit such as a control unit that erases the transmitted management information from the distribution source device is further provided.
- the management information processing apparatus included in the information distribution system includes a plurality of pieces of management information for the same distribution.
- Search means such as a control unit for searching for a plurality of management information recording devices that respectively record and record, and the reading means for reading out the management information from each of the searched management information recording devices.
- the processing means compares the contents of the read management information with each other and whether the contents of the management information may have been falsified based on the comparison result of the comparison means. Determination means for determining force.
- the read management information is subjected to an encryption process that can be decrypted only by the management information processing apparatus, and decrypts the encrypted management information.
- Decoding means is further provided.
- the management information is encrypted and can be decrypted only by the management information processing apparatus, the confidentiality of the management information can be reliably maintained.
- the determination unit may have altered the management information having the different content It is configured to determine that there is.
- a distribution source processing method executed in the distribution source device included in the information distribution system, comprising: Receiving the distribution request information for requesting the distribution; generating the management information corresponding to the distribution based on the received distribution request information when the distribution request information is received; A determination step of determining the management information recording device as a storage destination of the generated management information; and a transmission step of transmitting the generated management information to the determined management information recording device.
- the distribution source apparatus when a distribution request is received, the distribution source apparatus generates management information corresponding to the distribution request information to be distributed, and further determines a management information recording apparatus as a storage destination of the generated management information. Since the management information is sent to the management information recording device, the management information corresponding to the distribution request is generated and placed in each management information recording device. The ability to efficiently distribute and manage information alone is possible.
- a management information processing method executed in the management information processing apparatus included in the information distribution system, wherein the same distribution is performed.
- a search step for searching a plurality of the management information recording devices respectively recording a plurality of the management information for the information, and a reading step for reading the management information from each of the searched management information recording devices by the reading means
- a comparison process for comparing the contents of the read management information and a comparison result in the comparison process.
- a distribution source computer included in the distribution source device included in the information distribution system is caused to function as the distribution source device.
- the management information corresponding to the distribution request information to be distributed is generated, and the management information recording device as the storage destination of the generated management information is determined. Since the distribution source computer functions to transmit management information to the management information recording device, by generating management information corresponding to the distribution request and placing it in each management information recording device, Only the minimum necessary management information can be efficiently distributed and managed.
- a management information processing computer included in the management information processing apparatus included in the information distribution system functions as the management information processing apparatus.
- the management information processing computer functions so as to determine whether or not any of the management information that is distributed and distributed by a third party can be found effectively and quickly.
- the distribution source processing program is recorded so as to be readable by the distribution source computer.
- management information corresponding to the distribution request information to be distributed is generated when a distribution request is received, and the generated Decide the management information recording device that will be the storage location for management information.
- the distribution source computer functions so that the management information is transmitted to the management information recording device after it has been defined. Therefore, the management information corresponding to the distribution request is generated and placed in each management information recording device. By doing so, only the minimum necessary management information can be efficiently distributed and managed.
- the management information processing program is recorded so as to be readable by the management information processing computer.
- the management information processing computer functions to determine whether or not each management information may have been tampered with during each recording. It is possible to detect tampering by a third party effectively and quickly.
- the availability information related to availability of delivery information and availability information related to each node device (for example, accounting required for accounting) Information is included) is distributed and stored in other node devices, and when the request information indicating the distribution information provision request transmitted via the network is received, the received request information is received.
- the availability of the distribution information is confirmed via the network, and the response based on the confirmed availability Since the information is configured to be transmitted over the network to the node device that is the transmission source of the request information, the processing related to whether or not to provide the distribution information (for example, processing related to charging) is not required. Dispersed in each apparatus, it is possible to avoid the concentration of the processing.
- management information having secrecy is distributed and recorded in a plurality of management information recording devices, and these are recorded as necessary by the management information processing device. Therefore, management information can be efficiently distributed and managed while preventing management information processing from concentrating on the management information processing apparatus. [0062] Therefore, it is possible to efficiently distribute and manage management information necessary for distribution of distribution information.
- the billing information related to the distribution fee can be efficiently managed while being distributed and distributed in a plurality of management information storage devices.
- the management information in the information distribution system in which the distribution information is directly exchanged between the distribution source device and the distribution destination device is distributed in the same manner as the distribution information. Can be done efficiently.
- the distribution source apparatus when a distribution request is made, the distribution source apparatus generates management information corresponding to the distribution information to be distributed, and further stores the generated management information. Since the management information recording device is determined and then the management information is transmitted to the management information recording device, the management information corresponding to the distribution request is generated and placed in each management information recording device. As a result, only the minimum necessary management information can be efficiently distributed and managed.
- the management information for distributing the distribution information is generated based on the identification information for identifying the user who has requested distribution of the distribution information, the content of the management information having confidentiality is third. This management information can be distributed while being prevented from leaking to the user.
- the management information is based on the identification information. Combined with the generation, the management information can be distributed and distributed while ensuring the confidentiality of the management information.
- the transmitted management information is deleted from the distribution source apparatus after the management information is transmitted to the management information recording apparatus, the integrity of the management information can be further improved.
- a plurality of management information regarding the same distribution is read, the contents of each are compared with each other, and each management information is being recorded based on the comparison result. It is determined whether there is a possibility of falsification in It is possible to effectively and promptly detect any falsification by a third party for any management information.
- the management information necessary for distributing the distribution information is effectively and promptly detected by the third party to improve the confidentiality of the management information, and the management information is efficiently It is possible to manage these by distributing them.
- management information is encrypted and can be decrypted only in the management information processing apparatus, the confidentiality of the management information can be reliably maintained.
- management information when there is management information having contents different from the majority of other management information, it is determined that the management information may have been tampered with. Certain management information can be determined.
- the distribution source apparatus when a distribution request is made, the distribution source apparatus generates management information corresponding to the distribution information to be distributed, and further stores the generated management information. Since the management information recording device is determined and then the management information is transmitted to the management information recording device, the management information corresponding to the distribution request is generated and placed in each management information recording device. As a result, only the minimum necessary management information can be efficiently distributed and managed.
- a plurality of management information regarding the same distribution is read, the contents of each are compared with each other, and each management information is being recorded based on the comparison result. Therefore, it is possible to effectively and promptly detect a falsification by a third party with respect to any of the distributed management information.
- the management information necessary for distributing the distribution information is effectively and quickly discovered by the third party to improve the confidentiality of the management information, and the management information is efficiently It is possible to manage these by distributing them.
- management information corresponding to the distribution information to be distributed is generated, and further, the management information that is a storage destination of the generated management information is generated. Since the distribution source computer functions to transmit the management information to the management information recording device after determining the information recording device, the management information corresponding to the distribution request is generated and each management information record is recorded. By arranging in the device, it is possible to efficiently distribute and manage only the minimum necessary management information.
- a plurality of management information on the same distribution is read, the contents of each are compared with each other, and each management information is being recorded based on the comparison result. Since the management information processing computer functions to determine whether or not there is a possibility that the information has been falsified, the third party is able to effectively falsify the management information in a distributed manner. It can be discovered quickly.
- the management information necessary for distributing the distribution information can be effectively and quickly detected by a third party to improve the confidentiality of the management information, and the management information can be efficiently It is possible to manage these by distributing them.
- management information corresponding to the distribution information to be distributed is generated, and further, the management information that is a storage destination of the generated management information is generated. Since the distribution source computer functions to transmit the management information to the management information recording device after determining the information recording device, the management information corresponding to the distribution request is generated and each management information record is recorded. By arranging in the device, it is possible to efficiently distribute and manage only the minimum necessary management information.
- a plurality of management information regarding the same distribution is read, the contents are compared with each other, and each management information is being recorded based on the comparison result. Since the management information processing computer functions to determine whether or not there is a possibility of falsification in the area, it is possible to effectively and quickly find any falsification by a third party for any of the distributed management information. can do.
- FIG. 1 is a diagram showing an example of a connection mode of each node device in the content distribution system according to the first embodiment.
- FIG. 2 A diagram showing an example of how a query sent from a user node is transferred to a root node in the node ID space of the DHT.
- FIG. 3 is a diagram showing an example of how content data is transmitted to a user node after a query is transmitted from the user node in the node ID space of the DHT.
- FIG. 4 is a diagram showing a schematic configuration example of node 1.
- FIG. 5 is a diagram showing an example of information flow at the time of prepayment in the node ID space of the DHT.
- FIG. 6 is a diagram showing an example of provision availability information stored in an access right management node.
- FIG. 7 is a diagram showing an example of information flow at the time of purchase in the node ID space of the DHT.
- FIG. 8 is a diagram illustrating an example of a flow of information during viewing in the node ID space of the DHT.
- FIG. 9 is a diagram showing an example of the information flow when charging information is collected in the node ID space of the DHT.
- FIG. 10 is a diagram showing parameters (information) included in each message type.
- FIG. 11 is a flowchart showing processing of the control unit 11 in the user node.
- FIG. 12 is a flowchart showing processing of the control unit 11 in the relay node, root node, and content holder node.
- FIG. 13 is a flowchart showing details (subroutine) of processing in step S14 shown in FIG.
- FIG. 14 is a flowchart showing details (subroutine) of processing in step S 20 shown in FIG.
- FIG. 15 is a flowchart showing processing of the control unit 11 in the access right management node.
- FIG. 16 is a flowchart showing details (subroutine) of processing in step S 73 shown in FIG.
- FIG. 17 is a flowchart showing details (subroutine) of processing in step S 75 shown in FIG.
- FIG. 18 is a flowchart showing details (subroutine) of processing in step S 77 shown in FIG.
- FIG. 19 is a flowchart showing processing of the control unit 11 in the accounting node.
- FIG. 20 is a flowchart showing details (subroutine) of processing in step S143 shown in FIG.
- FIG. 21 is a flowchart showing details (subroutine) of processing in step S145 shown in FIG.
- a schematic diagram (I) showing an outline of the content distribution system according to the second embodiment (a) is a schematic diagram showing an ID space in the content distribution system, and (b) shows index information. It is a figure illustrated.
- FIG. 23 is a block diagram showing a schematic configuration of nodes according to the second embodiment in common with respect to content holder nodes and the like.
- FIG. 24] is a diagram (I) schematically illustrating the exchange of content and billing data according to the second embodiment.
- FIG. 25] is a diagram ( ⁇ ) schematically illustrating the exchange of content and billing data according to the second embodiment.
- FIG. 31 is a flowchart showing a content distribution operation and billing data processing according to the second embodiment.
- FIG. 32 is a flowchart showing details of shared data request processing according to the second embodiment.
- FIG. 33 is a flowchart showing details of a shared data storage process according to the second embodiment.
- FIG. 34 is a flowchart showing details of a request message R reception process according to the second embodiment.
- FIG. 35 is a flowchart showing details of billing data generation processing according to the second embodiment.
- FIG. 36 is a flowchart showing details of a charging data name acquisition process according to the second embodiment.
- FIG. 37 is a diagram showing a specific example of billing data according to the second embodiment.
- FIG. 38 is a flowchart showing details of billing processing according to the second embodiment.
- FIG. 1 is a diagram showing an example of a connection mode of each node device in the content distribution system according to the first embodiment.
- IX Internet eXchange
- ISP Internet Service
- networks such as the Internet (real-world networks) 8 have been constructed.
- the content distribution system S is configured to include a plurality of node devices la, lb, 1 ⁇ ⁇ 1 ⁇ , ly, 1 ⁇ ⁇ that are connected to each other via such a network 8. It has become a peer-to-peer network system. Each node device la, lb, 1 ⁇ ⁇ 1 ⁇ , ly , 1 ⁇ ... Is assigned a unique serial number and IP (Internet Protocol) address as information indicating the node device. The serial number and IP address are not duplicated among multiple node devices 1.
- the node devices la, lb, lc- • ⁇ 1 ⁇ , ly, 1 ⁇ ⁇ are collectively referred to as “node 1”.
- a specific algorithm for example, an algorithm using a distributed hash table (hereinafter referred to as a DHT (Distribute Hash Table)) described later is used in the upper frame 100 of FIG.
- the overlay network 9 is constructed by an algorithm using DHT, and the node 1 arranged on the overlay network 9 is replaced with a node participating in the overlay network 9.
- Participation in overlay network 9 is performed by sending a participation request to any node 1 that has already participated by node 1 that has not yet participated.
- Each node 1 participating in the overlay network 9 has a node ID.
- the node ID is, for example, an IP address or a serial number and a common hash function (for example, SHA-1).
- Etc. is a hashed value (eg, bit length is 160 bits), and is distributed and distributed in one ID space without any bias.
- bit length is 160 bits
- the node ID (hashed) obtained by a common hash function has a very low probability of having the same value if the IP address or serial number is different. Since the hash function is well known, detailed description is omitted.
- a node ID is a value obtained by hashing an IP address (global IP address) with a common hash function.
- Each node 1 participating in the overlay network 9 has a DHT.
- this DHT the route information to other nodes 1, that is, the node IDs of other nodes 1 that are appropriately separated in the node ID space and their IP addresses are registered.
- Such a DHT is given when node 1 participates in overlay network 9.
- node 1 frequently participates in or leaves the overlay network 9, and therefore regularly (for example, several tens of minutes to several hours). Whether the DHT needs to be updated or not is confirmed (at intervals), and the update information is registered in the DHT and transmitted to the other node 1 via the route. This makes it possible to keep the DHT up to date. Since the DHT generation method is publicly known, detailed explanation and explanation are omitted.
- content (eg, movies, music, etc.) data is distributed and stored (stored) in a plurality of nodes 1 participating in the overlay network 9.
- content data of the movie with the title XXX is stored in the node la
- content data of the movie with the title YYY is stored in the node lb.
- certain content data is not necessarily stored in one node 1, and the same content data can be stored in a plurality of nodes 1.
- Each of these content data is given a content name (title) and the like.
- the location information indicating the location of the content data distributed and stored in this way (for example, the IP address of the node 1 where the content data is stored) is also stored in the overlay network 9.
- the content name of some content data (or even the first few bytes of the content data are acceptable) Hashed by the same hash function as when obtaining the above node ID (that is, the hash value of the IP address of node 1) In the same ID space), and the node 1 having the node ID closest to the hash value (the hash value becomes the content ID) (for example, the higher digit matches more)
- the location information will be saved.
- the location information indicating the location of the content data (the IPs of the plurality of nodes 1) Address, etc. can be managed by one node 1 (in this embodiment, the location information of content data corresponding to the content ID of 1 is stored in the node 1 of 1 (that is, the node 1)
- the location information of content data corresponding to the content ID of 1 is stored in the node 1 of 1 (that is, the node 1)
- the node 1 of 1 that is, the node 1
- There is a one-to-one relationship between 1 and the above location information is not a limitation.
- a node used by a user who wants to acquire (download) certain content data (hereinafter referred to as “user node”) la is the content ID of the content data.
- the query to which the content ID is added is stored in several nodes (hereinafter referred to as “relay node”).
- the node that stores location information indicating the location of the content data (hereinafter referred to as the “norate node”)
- the location information can be obtained (received) from the root node lx, and the content data is stored on the basis of the obtained location information.
- the location information may be acquired (received) from the node 1 that caches the same location information as the root node lx until the content ID reaches the root node lx.
- each user node user is assigned a user registration number (user authentication number) as unique first identification information.
- FIG. 2 is a diagram showing an example of how a query sent from a user node is transferred to a root node in the DHT node ID space.
- each relay node compares the content ID added to the received query with the node ID registered in the DHT, and identifies node 1 to be transferred next (for example, content ID
- the IP address of node 1 corresponding to the node ID that matches the higher-order digits of () is specified), and the query is forwarded there. Since the method of transferring a query using DHT from the user node to the root node is well known, further detailed explanation is omitted.
- the root node lx transmits the location information to the user node la that has transmitted the query.
- the root node lx transmits the location information to the user node la.
- the query that is not sent back to is further transferred to the content holder node lb, and the content holder node lb is a node that manages the access rights of the user node (the node of the user who purchases and views the content) la (hereinafter referred to as this). Is called “access right management node”), and in other words, whether or not the content data can be provided (purchased or viewed).
- the content data is transmitted to the user node la, and charging processing is performed for the provision of the content data. It is.
- the The prepayment method, the prepayment method, the postpayment method, and the method can be selected as the charging method to the user for providing the content data.
- FIG. 3 is a diagram showing an example of how content data is transmitted to a user node after a query is sent from the user node in the node ID space of the DHT. (In the order (1) to (7)).
- the content holder node lb confirms whether or not the access right management node ly has the access right of the user node la ((4) to (6) in the figure), and then the user concerned The content data is transmitted to the node and transmitted.
- the access right management node exists for each user node, and stores and manages provision availability related information related to whether or not the content data is provided to each user node (in other words, a user). Yes.
- the information related to availability or availability includes, for example, billing information necessary for billing for the provision of content data.
- the provision availability related information corresponding to each user node is obtained, for example, by a common hash function when the user registration number (user authentication number) assigned to each user obtains the node ID.
- Hashed that is, placed in the same ID space as the hash value of the IP address of node 1 and closest to the hash value (the hash value becomes the user ID) (for example, more high-order digits match) )
- Node 1 having the node ID that is, another node (access right management node) different from the user node
- the access right management node can also be different for each user node. Therefore, for example, charging processing for each user is distributed, so that concentration of processing can be avoided.
- the node 1 may withdraw from the content distribution system S due to, for example, a power failure, as a countermeasure, when generating a user ID from the user registration number, the node 1 By adding characters and symbols at the end and changing the added characters and symbols little by little (so-called salting), a plurality of different user IDs are generated as different second identification information. It is more preferable that each node 1 having a node ID (for example, the higher digit matches more) be an access right management node. . In other words, since there is an access right management node corresponding to a plurality of user IDs corresponding to one user node, even if one of the access right management nodes leaves, for example, the executability of billing processing etc. Can be increased.
- FIG. 4 is a diagram illustrating a schematic configuration example of the node 1.
- each node 1 includes a control unit 11 as a computer including a CPU having a calculation function, a working RAM, various data and a ROM for storing programs, and various data ( (For example, content data, location information, provision availability information, etc.) and programs, etc., and storage unit 12 composed of HDD etc., and buffer memory that temporarily stores received content data 13, a decoder unit 14 for decoding (data decompression, decoding, etc.) encoded video data (video information) and audio data (audio information) included in the content data, and the decoded video data, etc.
- a control unit 11 as a computer including a CPU having a calculation function, a working RAM, various data and a ROM for storing programs, and various data ( (For example, content data, location information, provision availability information, etc.) and programs, etc., and storage unit 12 composed of HDD etc., and buffer memory that temporarily stores received content data 13, a decoder unit 14 for decoding (data decompression, decoding, etc.) encoded video data
- a video processing unit 15 that performs a predetermined drawing process on the video signal and outputs the video signal, and a CRT that displays video based on the video signal output from the video processing unit 15,
- a display unit 16 such as 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 outputs the amplified audio data by an amplifier, and the audio
- An IC for reading information (for example, a user registration number) from an IC card slot that has an IC card slot for inserting an IC card and a speaker 18 that outputs an audio signal output from the processing unit 17 as a sound wave
- a card reader unit 19 a communication unit 20 for controlling communication of information with the other node 1 through the network 8, and an instruction signal according to the instruction to the control unit 11 that receives an instruction from the user force.
- an input unit for example, a keyboard, a mouse, or an operation panel
- an input unit for example, a keyboard, a mouse, or an operation panel
- the IC card reader unit 19 and the communication unit 20 are connected to each other via a bus 22.
- the IC card is distributed to users by user registration, for example, when node 1 is purchased.
- each IC card is recorded with a unique user registration number in the order of user registration, and also a billing method (the user selects and decides whether to pay in advance or postpay). The user cannot change the recorded information.
- the CPU reads and executes a program (including the information transmission processing program of the present invention) stored in the storage unit 12 or the like, thereby controlling the entire node 1 as a whole. It functions as one or more of a user node, a relay node, a root node, a content holder node, an access right management node, and an accounting node described later.
- node 1 may be a user node, a contentor node, or an access right management node depending on the situation.
- the control unit 11 functions as request information receiving means, provision availability confirmation means, provision availability information transmission means, correction request information transmission means, etc. of the present invention
- the control unit 11 functions as a confirmation information receiving unit, a provision availability determination unit, a provision availability information return unit, a modification request information reception unit, a provision availability related information modification unit, and the like. Details of these means will be described later.
- the information transmission processing program may be downloaded from a predetermined server on the network 8, for example, or recorded on a recording medium such as a CD-ROM, You may make it read via.
- Figure 5 is a diagram showing an example of information flow at the time of prepayment in the node ID space of the DHT.
- the user ID la, the content holder node lb, the root node lx, the access right management nodes lyl to lyl0, and the accounting node lz exist in the node ID space of the DHT. Participating in Overlay Network 9
- the access right management nodes lyl to l ylO are related to whether or not the content data can be provided to the user node la. Stores and manages availability information.
- the billing management center (system) C is located outside the overlay network 9 and has a function of confirming payment from the user and billing the user of the user node la. Information is exchanged.
- the accounting node lz may be assigned by the administrator of the charge management center C by installing a dedicated node or by selecting one arbitrary node from the overlay network 9 and assigning its role.
- the user makes a deposit, for example, by bank transfer, and notifies the charge management center C (for example, “user registration number“ 10293956 ”has been transferred 15,000 yen) ").
- the charging management center C confirms the payment
- the charging management center C receives a payment indicating a payment instruction including the user registration number and the payment amount to the accounting node lz under its control.
- Send instruction information When receiving the deposit instruction information, the accounting node l z generates a plurality of different user IDs based on the user registration number. For example, a number is created by adding 10 numbers of 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 to the end of the user registration number, and each number is assigned to the above node. Multiple user IDs are generated by hashing with the same hash function as when ID is obtained.
- the accounting node lz sends a "prepayment" message including the user ID and the deposit amount according to the generated user ID and DHT.
- the sent “prepaid” message is forwarded through the relay node according to the DHT and has the node ID that is closest to each user ID (eg, the higher digit matches more) (ie, each user Access right management node corresponding to ID) lyl ⁇ : Arrives at lylO.
- Each of the access right management nodes lyl to lylO that has received the above "prepayment receipt" message has not yet generated the information related to whether or not the user can provide the information in the "prepayment” message.
- Information related to availability of provision is newly generated according to the user ID and the deposit amount.
- the information related to availability of the user has already been generated, the information is provided according to the user ID and deposit amount in the “prepaid” message. Update availability information.
- FIG. 6 is a diagram showing an example of provision availability information stored in the access right management node.
- the provision availability information 51 includes the user ID and charge of the chargeable user.
- billing information such as gold method (prepayment and postpay can be selected), pool amount (prepaid amount), and later billing amount (postpay amount), viewing log and purchase content list are included. For example, at the time of the prepayment, the deposit amount in the “prepaid” message is added to the pool amount (prepaid amount).
- one access right management node may store and manage the provision availability related information of a plurality of chargeable users, and therefore the provision availability related information is managed for each user ID.
- the user node node 1 to be charged
- a part of the DHT is delegated from the node 1 having the node ID closest to the node ID of the own node (self node). It is desirable that related information is also delegated in the same way.
- node 1 having the node ID closest to the node ID of the newly participating node 1 stores the provision availability information
- the node of the node 1 to which the user ID corresponding to the provision availability related information newly participates
- the node ID of the node 1 of the newly participating node 1 is determined based on whether it is close to the node ID of the existing node 1 or the node ID of the existing node 1, for example. If it is close to the user ID, the availability information is delegated to the newly participating node 1.
- Fig. 7 is a diagram showing an example of information flow at the time of purchase in the node ID space of DHT
- the user node la is a table showing a set of contents such as an electronic catalog (title list: content title, its content ID, the amount of money used at the time of viewing once, the charge at the time of purchase, etc.). Information such as screening time, director, actor, etc. may be added) on the display screen in the display section 16.
- the electronic catalog is distributed to all the nodes 1, for example, and the user can browse on the user node la.
- “Purchase” as used here refers to indefinite (without charge) the right to view content on the network without making a copy of the content in its own node. Toi That means. If you get this right by paying a certain amount at the beginning, it is the same as so-called “buy and own”.
- the user node la selects the selected content.
- the “purchase application” message content data indefinite and unconditional viewing rights (including the user node la) 's IP address, user registration number and billing method) That is, request information indicating purchase
- the transmitted “purchase application” message is forwarded through the relay node according to the DHT, and arrives at the root node lx having the node ID closest to the content ID (for example, the higher digit matches more). . Then, the root node lx that has received the “purchase application” message transfers the “purchase application” message to the content holder node lb that stores the content data corresponding to the content ID.
- the content holder node lb receives the "purchase application” message transferred (transmitted) from the root node lx via the network 8. Next, the content holder node lb receives the access right management node lyl ⁇ : lylO storing the provision availability information corresponding to the user node la that is the transmission source of the received “purchase application” message. Check the availability of content data via network 10. For example, a plurality of different user IDs (here, 10) are generated based on the user registration number included in the “purchase application” message (for example, at the end of the user registration number, as in the accounting node lz above) Create a number with 10 numbers, 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9, and add each number.
- each access right management node lyl to lylO corresponding to each user ID that is, according to the user ID and DHT
- Confirm by sending a “Purchase Registration” message (including content ID, user ID, IP address of content node lb, and billing method) as information.
- the sent “Purchase Registration” message is forwarded through the relay node according to the DHT and has a node ID that is closest to the respective user ID (eg, the higher digits match more).
- access right management node lyl ⁇ arrives at lylO.
- Each access right management node lyl ⁇ When lylO receives the "Purchase Registration" message transmitted from the contention node lb that is the storage source of the content data via the relay node and the network 10, Providing corresponding to the user ID whether or not it is possible to acquire (that is, purchase) infinite and unconditional viewing rights for the content data related to the “Purchase Registration” message (that is, the content data corresponding to the content ID) Determine by referring to availability information.
- the billing method in the “Purchase Registration” message is prepaid
- the price of the content data corresponding to the content ID from the balance of the pool amount (prepaid amount) included in the availability information (see the electronic catalog of the content) If it is negative, it is determined that purchase is not possible, and if it is not negative, it is determined that purchase is possible. Further, when the billing method in the “purchase registration” message is postpay, it is determined that the purchase is possible.
- each access right management node lyl ⁇ : lylO is determined to be prepaid and can be purchased (successful purchase)
- the pool amount included in the provision availability information corresponding to the user ID If the amount of the content data corresponding to the content ID is subtracted from the balance of the (prepaid amount), the amount is updated as the pool amount (prepaid amount). (Amount) is not updated.
- the price of the content data is added to the later billing amount (postpaid amount) included in the provision availability information, Update to add content ID etc. to the purchase content list. Note that if the provision availability information corresponding to the user ID has not yet been created, it is created at this timing.
- each access right management node lyl ⁇ : lylO determines whether or not the purchase is determined (purchasable or not possible) and charging information (for example, purchaseable or not) for the content holder node lb that has transmitted the "purchase registration" message.
- “Purchase availability (purchase success or failure)” The message can be configured to be sent directly from the access right management node to the user node la via the network 10.
- the content holder node lb receives the "purchase availability" message returned from each access right management node lyl ⁇ : lylO in response to the "purchase registration” message. After confirming the availability, the response information based on the confirmed availability is sent to the user node la that is the sender of the “purchase application” message via the network 10.
- FIG. 8 is a diagram showing an example of information flow at the time of viewing in the DHT node ID space. Note that “viewing” as used herein assumes that the so-called pay per view method is used, and a payment amount is incurred for each viewing.
- the user selects content desired to be viewed from the electronic catalog displayed on the display screen of the display unit 16 by operating the input unit 21 to be viewed.
- the user node la follows the content ID and DHT corresponding to the selected content, and includes the content ID, its own (the user node la) IP address, the user registration number, and the charging method.
- the sent“ view request ”message is forwarded through the relay node according to DHT and is closest to the content ID.
- the content holder node lb receives the "view request” message transferred (transmitted) from the root node lx via the network 8. Next, the content holder node lb receives the access right management node lyl ⁇ : lylO storing the provision availability related information corresponding to the user node la that is the transmission source of the received “view request” message. Check the availability of content data via network 10.
- a “viewing confirmation” message including content ID, user ID, IP address of content holder node lb, and accounting method
- the transmitted “viewing confirmation” message is forwarded through the relay node according to the DHT and has the node ID closest to each user ID (eg, the higher digit matches more) (ie each Access right management node lyl ⁇ : ly 10 (corresponding to user ID).
- the access right management nodes lyl to lyl0 receive the "viewing confirmation" message transmitted from the contention node lb that is the storage source of the content data via the relay node and the network 10.
- Determining whether or not the content data related to the “viewing confirmation” message (that is, content data corresponding to the content ID) can be provided (in this case, viewing) can be determined with reference to the provision availability related information corresponding to the user ID To do. For example, if it is included in the purchase content list in the information related to availability of content ID in the “viewing confirmation” message, it is determined that viewing is possible.
- the billing method in the “Viewing Confirmation” message is confirmed.
- the price of the content data corresponding to the content ID (refer to the electronic catalog of the content) is subtracted from the balance of the pool amount (prepaid amount) included in the provision availability information. If not, it is determined that viewing is possible.
- the content ID in the “viewing confirmation” message is not included in the purchase content list in the provision availability information, and the charging method in the “viewing confirmation” message is postpay, It is determined that viewing is possible.
- each access right management node lyl ⁇ : lylO corresponds to the user ID when it is determined that the content ID is not included in the purchased content list and is paid in advance and can be viewed. Updates the pool amount (prepaid amount) by subtracting the price of the content data corresponding to the content ID from the balance of the pool amount (prepaid amount) included in the provision availability information. If it is determined that the pool Do not update the amount (prepaid amount). In addition, each access right management node lyl to lyl 0 is charged later when the content ID is not included in the purchased content list and it is determined that the content is postpaid and viewable. Update (additional payment amount) to add the price of the content data. Note that if the provision availability information corresponding to the user ID has not yet been created, it is created at this timing.
- each access right management node lyl ⁇ : lylO determines whether or not it is possible to view (viewable or not) and the charging information (for example, viewable) for the content holder node lb that has transmitted the "viewing confirmation" message. , Including a pool amount (prepaid amount) or a later billed amount (postpay amount)), a “viewable” message is returned via the network 10.
- the “viewing permission / inhibition” message may be transmitted from the access right management node directly to the user node: via the network: L0.
- the content holder node lb receives the "viewability" message sent back from each access right management node lyl ⁇ : lylO in response to the above "viewing confirmation" message.
- the content data including the response information based on the confirmed viewing availability is transmitted to the user node la that is the transmission source of the “viewing request” message via the network 10. .
- the 10 access right management nodes lyl ⁇ : lylO will return the "viewability" message to the content holder node lb, and all 10 will return the same answer. Since any of the access right management nodes lyl to lylO has temporarily left the content distribution system S due to a power failure or a communication accident, the 10 access right management nodes lyl to: There may be a case where the provision availability related information is different. In such a case, the content holder node lb determines whether or not the content data can be viewed based on the plurality of confirmed viewing availability (for example, by majority vote). For example, a majority of access right management nodes can view the content.
- the content data including the “viewing availability” message including the viewing availability and billing information is transmitted to the user node la via the network 10.
- the content holder node lb determines that viewing is not possible, and sends content data including the “viewing availability” message including the viewing disabled and billing information to the user node la. To send through.
- provision availability related information Corrections are made. Specifically, since the current viewing information is included in the “viewable / unviewable” message from the access right management node lyl ⁇ : ly 10, the billing information of the access right management node selected by majority decision is regarded as valid.
- an “information correction” message containing the user ID and the corrected billing information (billing information deemed valid) is displayed as the correction request information indicating a request for correcting the information related to availability.
- the data is transmitted via the network 10 according to the user ID and DHT.
- the access right management node that has received the “information correction” message corrects the charging information included in the provisional availability information based on the corrected charging information in the “information correction” message (corrects the charging information). Update to billing information).
- Figure 9 is a diagram showing an example of the information flow when collecting billing information in the DHT node ID space.
- the billing management center C collects billing information (the amount charged later) for the accounting node lz under its control every certain period (for example, about once a month).
- the billing amount collection instruction information indicating the instruction is transmitted.
- the accounting node; Lz When receiving the billing amount collection instruction information, the accounting node; Lz generates a plurality of different user IDs based on the user registration number. For example, a number is created by adding 10 numbers of 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 to the end of the user registration number. Multiple user IDs are generated by hashing with a common hash function It is.
- Billing management center C sends billing amount collection instruction information including user registration numbers corresponding to all user nodes to accounting node lz, but billing amount collection instructions corresponding to each user node. It is preferable to transmit information to the accounting node lz every predetermined time interval (for example, 1 hour) because the network load can be reduced.
- a billing amount collection instruction including a user registration number corresponding to one user node la will be described as a representative.
- the accounting node lz When the accounting node lz generates a plurality of user IDs, the user ID and accounting node are associated with each access right management node lyl to lyl0 corresponding to each user ID (that is, according to the user ID and DHT).
- the sent “billing collection” message is forwarded through the relay node according to the DHT and has a node ID that is closest to each user ID (eg, the higher digit matches more) (that is, each user Access right management node corresponding to ID) lyl ⁇ : Arrives at lylO.
- Each access right management node lyl ⁇ : lylO that received the above "billing collection” message obtains the billing amount (postpay payment, monetary amount) at a later date.
- the accounting node lz When the accounting node lz receives the "billing amount reply" message returned from each of the access right management nodes lyl to lyl0, the accounting node lz indicates the later billing amount included in the "billing amount reply" message. Send information to Billing Management Center C. As a result, the billing management center C charges the user for the later billing amount.
- the accounting node lz may, for example, determine the amount of the bill (for example, A large amount of billing) is determined, and information indicating the determined amount of billing is transmitted to the billing management center c.
- Fig. 10 is a diagram showing parameters (information) included in each message type described above.
- FIG. 11 is a flowchart showing processing of the control unit 11 in the user node.
- the processing in FIG. 11 is executed when a button on the input unit 21 is pressed in a state where the electronic catalog is displayed on the display screen of the display unit 16, for example.
- the selected button is read (step S1), it is determined whether it is a “purchase button” (step S2), and if it is a “purchase button” (step S2: Y (YES)), it is selected.
- the content ID corresponding to the received content (for example, the content name is obtained by hashing with the same hash function as when obtaining the node ID), the user registration number read from the IC card by the IC card reader unit 19 and The charging method and the IP address of the user node la are acquired, and a “purchase application” message including these information is generated and directed to the root node lx according to the DHT. Transmitted via the signal unit 20 or the like (step S3).
- the control unit 11 receives the “purchase availability” message transmitted from the content holder node lb (step S4), and displays the purchase availability result included in the message on the display unit 16 (step S5). .
- step S6 determines whether or not it is a "view button” (step S6), and “view button” (Step S6: Y), the content ID corresponding to the selected content, the user registration number and charging method read from the IC card by the IC card reader unit 19, and the user The IP address of node la is obtained, and a “view request” message including these pieces of information is generated and transmitted to the root node lx according to the DHT via the communication unit 20 or the like (step S7).
- the control unit 11 receives the content data including the “viewable / unviewable” message transmitted from the content holder node lb (for example, streaming delivery).
- the content data is stored in the buffer memory 13 and displayed on the display unit 16 via the video processing unit 15 (if viewing is possible, information indicating viewing permission included in the content data and the When video data or the like related to the content is not displayed or viewable, only the information indicating that viewing is not possible included in the content data is displayed) and output from the speaker 18 via the audio processing unit 17 (step S9).
- step S10 shown in Fig. 11 the power to perform other processing (for example, other button discrimination processing) executed by the control unit 11 is not directly related to the present invention, and thus the description thereof is omitted. .
- FIG. 12 is a flowchart showing the process of the control unit 11 in the relay node, the root node, and the content holder node.
- FIG. 13 is a flowchart showing the details (subroutine) of the process in step S14 shown in FIG. 14 is a flowchart showing details (subroutine) of the process in step S20 shown in FIG.
- the process shown in Fig. 12 is executed when a message reception event occurs (the transmitted message is received by the control unit 11 via the communication unit 20).
- the control unit 11 first receives the message. Read the message (step S11), determine whether it is a “view request” message (step S 12), and receive a “view request” message (that is, the control unit 11 has received as a request information receiving means) ) (Step S12: Y), it is determined whether or not it is the content holder node 1b (step S13). Whether or not it is the content holder node lb is determined, for example, by whether or not it corresponds to the content data stored in the storage unit 12 of the content ID power included in the message.
- step S13: Y If self is a content holder node lb (step S13: Y), the process proceeds to step S14. If it is not a content holder node lb (step S13: N), the process proceeds to step S15. Is done. Details of the processing of the “view request” message in step S14 (FIG. 13) will be described later.
- step S15 the control unit 11 determines whether or not it is the root node lx.
- Whether or not it is the root node lx is, for example, whether or not its own node ID is closest to the content ID included in the message (there is no other node to transfer based on the DHT) Or not).
- step S15 If the node itself is not the root node lx (that is, if it is a relay node) (step S15: N), the control unit 11 sends the “view request” message to the root node lx according to the DHT. To transmit via the communication unit 20 or the like (step S16).
- step S15 when self is the root node lx (step S15: Y), the control unit 11 sends a "view request" message via the communication unit 20 or the like according to the IP address of the content holder node lb. It is transmitted to the content holder node lb (step S17). Note that the root node lx obtains from the location information stored and stored in the storage unit 12 with the IP address of the content holder node lb.
- step S12 if it is not a viewing request message (step S12: N), the control unit 11 determines whether or not it is a "purchase application” message ( If it is a “purchase application” message (step S18: Y), it is determined whether or not it is a self-powered S content holder node lb as in step S13 (step S19).
- step S19: Y If it is the content holder node lb (step S19: Y), the process proceeds to step S20. If it is not the content holder node lb (step S19: N), the process proceeds to step S21. Is done. Details of the processing of the “purchase application” message in step S20 (FIG. 14) will be described later.
- step S21 the control unit 11 determines whether or not it is the root node lx as in step S15. If the node itself is not the root node lx (that is, if it is a relay node) (step S21: N), the control unit 11 sends a “purchase application” message to the root node lx according to DHT. Transmission is performed via the communication unit 20 or the like (step S22).
- control unit 11 sends a “purchase application” message via the communication unit 20 or the like according to the IP address of the content holder node lb. It is transmitted to the content holder node lb (step S23).
- the IP addresses of a plurality of content holder nodes storing content data corresponding to the content ID included in the message are recognized. If so, select one content holder node lb (for example, select at random) and transfer it to it. Will be.
- step S24 shown in FIG. 12 for example, the message processing of the control unit 11 in the access right management node shown in FIG. 15 is performed.
- control unit 11 performs mutual conversion based on the user registration number in the “view request” message (for example, by hashing the user registration number as described above).
- a plurality of different (here, 10) user IDs are generated (step S31).
- control unit 11 initializes the value of “n” indicating the number of access right management nodes (sets it to “1”) (step S32), and confirms whether or not the content data can be viewed.
- An “viewing confirmation” message is generated as information, and this is transmitted via the communication unit 20 etc. to the access right management node lyn corresponding to the nth user ID according to the DHT (step S3 3).
- the “viewability” message transmitted (reply) from the access right management node lyn is received (step S34) and stored in the storage unit 12.
- control unit 11 increments “n” by “1” (step S35), determines whether or not the “n” is greater than “10” (step S36), and “n> If it is not 10 "(step S36: N), return to step S33 and repeat the same process. In this way, the control unit 11 acquires each “viewability” message from the access right management node lyl ⁇ : lyO as a provision availability confirmation means, and confirms whether the content data is viewable.
- step S36: Y the control unit 11 counts “viewability” included in all “viewability” messages. It is determined whether or not viewing is possible (step S37), and when the majority is viewable (step S37: Y), it is determined that viewing is possible as a provision availability confirmation means, and the viewing and billing information is included.
- the content data including the “viewability” message can be used as the availability information transmission means. Then, according to the IP address of the user node la, it is transmitted (for example, streaming delivery) to the user node la via the communication unit 20 or the like (step S38).
- control unit 11 selects the charging information having the largest number of matching among the charging information included in the “viewable / unviewable” message as the corrected charging information, and uses the corrected charging information and the user as the correction request information transmitting means. Generate an "information correction" message containing the ID Then, this is transmitted via the communication unit 20 or the like to the access right management node that has returned the viewing impossible according to the DHT (step S39), and the process returns to the process shown in FIG.
- step S37 determines that viewing is not possible, and content data including a “viewing availability” message including the viewing impossible and billing information is stored in the user. According to the IP address of node la, it is transmitted to user node la via communication unit 20 or the like (step S40).
- control unit 11 selects the billing information with the largest number of matching among the billing information included in the “viewable / unviewable” message as the modified billing information, and the “information modification including the modified billing information and the user ID” “A message is generated and transmitted to the access right management node that returned the viewable response according to the DHT via the communication unit 20 or the like (step S41), and the process returns to the process shown in FIG.
- control unit 11 performs mutual conversion based on the user registration number in the “purchase application” message (for example, by hashing the user registration number as described above).
- a plurality of different (here, 10) user IDs are generated (step S51).
- control unit 11 initializes the value of “n” indicating the number of access right management nodes (sets it to “1”) (step S52), and confirms whether or not the content data can be purchased.
- a “purchase registration” message as information is generated and transmitted to the access right management node lyn corresponding to the nth user ID according to the DHT via the communication unit 20 or the like (step S53).
- the “purchasability” message transmitted (returned) from the access right management node lyn is received (step S54) and stored in the storage unit 12.
- control unit 11 increments the above “n” by “1” (step S55), determines whether or not the “n” is greater than “10” (step S56), and “n> If it is not 10 "(step S56: N), return to step S53 and repeat the same process. In this way, the control unit 11 acquires each “purchasability” message from the access right management node lyl ⁇ : lyO as a provision availability confirmation means, and confirms whether or not the content data can be purchased.
- step S56: Y the control unit 11 adds up “purchase availability” included in all “purchase availability” messages. It is determined whether or not the product can be purchased (step S57) . If the majority is available for purchase (step S57: Y), it is determined that the product can be purchased as a provision availability confirmation means, and the purchase availability and billing information is included.
- the “purchase availability” message is transmitted to the user node la via the communication unit 20 or the like according to the IP address of the user node la as a provision availability information transmission unit (step S58). Subsequently, the control unit 11 selects the billing information as the modified billing information, and selects the billing information as the modified billing information among the billing information included in the “purchase availability” message.
- An “information correction” message including information and user ID is generated, and this is transmitted via the communication unit 20 etc. to the access right management node that has sent back a purchase failure according to DHT (step S59), as shown in FIG. Return to processing.
- step S57 if a majority is not available for purchase in step S57 (step S57: N), it is determined that purchase is not possible, and a "purchase availability" message including the purchase failure and billing information is sent to the IP of user node la. According to the address, it is transmitted to the user node la via the communication unit 20 (step S60). Subsequently, the control unit 11 selects the billing information having the most matching number from the billing information included in the “purchase availability” message as the modified billing information, and the “information including the modified billing information and the user ID”. A “modification” message is generated, and this is transmitted to the access right management node that has sent back purchase availability according to the DHT via the communication unit 20 or the like (step S61), and the process returns to the process shown in FIG.
- FIG. 15 is a flowchart showing the process of the control unit 11 in the access right management node
- FIG. 16 is a flowchart showing the detailed thread (subroutine) of the process in step S73 shown in FIG. 15,
- FIG. FIG. 18 is a flowchart showing details (subroutine) of the process in step S75 shown in FIG. 15, and
- FIG. 18 is a flowchart showing details (subroutine) of the process in step S77 shown in FIG.
- Step S71 it is determined whether or not the message is a “purchase registration” message (step S72), and is a “purchase registration” message (that is, the control unit 11 serves as a confirmation information receiving means). If received (step S72: Y), the process proceeds to step S73, and if it is not a “purchase registration” message (step S72: N), the process proceeds to step S74.
- step S73 the process proceeds to step S73, and if it is not a “purchase registration” message (step S72: N).
- step S74 The details of the “Purchase registration” message processing in step S73 (Fig. 16) It will be described later.
- step S74 the control unit 11 determines whether or not the received message power is a "viewing confirmation” message, and is a "viewing confirmation” message (that is, the control unit 11 receives as confirmation information receiving means). (Step S74: Y), the process proceeds to step S75, and if it is not the “viewing confirmation” message (step S74: N), the process proceeds to step S76.
- the details of the message processing (Fig. 17) will be described later.
- step S76 the control unit 11 determines whether or not the received message power is a 'prepayment' message. If the message is a 'prepayment' message (step S76: Y), the process proceeds to step S77. If it is not a “prepayment” message (step S76: N), the process proceeds to step S78, and details of the processing of the “prepayment” message in step S77 (FIG. 18) will be described later.
- step S78 the control unit 11 determines whether or not it is a received message power charge collection "message, and if it is a" charge collection "message (step S78: Y), step S79. If the message is not a “billing collection” message (step S78: N), the process proceeds to step S81.
- step S79 the control unit 11 obtains a later billed amount (postpaid amount) from the provision availability information, generates a "billed amount reply" message, and communicates it according to the IP address of the accounting node lz. Send (reply) to accounting node lz via part 20 etc. Then, the control unit 11 updates the later billing amount (postpaid payment, amount) included in the provision availability information to “0” (step S80).
- step S81 the control unit 11 determines whether or not the received message power S is an "information correction" message, and is a "information correction” message (that is, the control unit 11 receives the correction request information).
- Step S81: Y the billing information included in the provision availability information is modified based on the modified billing information in the “information modification” message (step S81: Y). Update the billing information to the modified billing information) (Step S81: Y).
- step S81: N if the message is not an “information correction” message (step S81: N), the process proceeds to step S83.
- step S83 for example, the relay node and route node shown in FIG. And message processing of the control unit 11 in the content holder node.
- step S 9 the control unit 11 determines whether or not provision related information corresponding to the user ID in the “purchase registration” message has already been created. If it has already been created (step S91: Y), the process proceeds to step S93, and if it has not been created (step S91: N), new provision availability information is created (step S91). 92), and proceed to step S93.
- step S93 the control unit 11 determines whether or not the charging method in the "purchase registration" message is a prepaid method, and if it is not a prepaid method (step S93: N), it determines whether or not the provision is possible. As a means, it is determined that the product can be purchased, and then, as a means for updating availability information, the content ID in the “Purchase Registration” message is added to the purchase content list (step S94), and the above-mentioned availability information is also provided. The price of the content data is added to the later billing amount (postpaid amount) included in the information (step S95) and updated, and the process proceeds to step S96.
- step S93 the control unit 11 provides the user ID corresponding to the user ID in the “purchase registration” message.
- the price of the content data corresponding to the content ID is subtracted from the balance of the pool amount (prepaid amount) included in the availability information (step S97), and it is determined whether or not the balance has become negative (step S98). ).
- step S98: N the control unit 11 determines that the purchase is possible as the provision availability determination means, and then, as the provision availability related information update means, In addition to adding the content ID, etc. in the “Purchase Registration” message to the purchase content list, pool the amount obtained by subtracting the price of the content data corresponding to the content ID from the pool amount balance included in the availability information. Update as a monetary amount (step S99) and go to step S96.
- step S96 the control unit 11 generates a “purchase availability” message including the determined purchase availability and billing information as a provision availability information return means, and communicates it according to the IP address of the content holder node lb. Send (reply) to the content holder node lb via part 20 etc.
- step S98: Y the control unit 11 determines that the purchase is impossible as the provision availability determination means, and includes “purchase availability” including the purchase inability or the like.
- a message is generated and transmitted (returned) to the content holder node lb via the communication unit 20 or the like according to the IP address of the content holder node lb (step S100), and the process returns to the process shown in FIG.
- control unit 11 determines whether or not provision-related information related to the user ID in the “viewing confirmation” message has been created (step S1 11 ), If it has already been created (step S111: Y), the process proceeds to step S113, and if it has not been created (step S111: N), new availability information is provided. (Step S112), and the process proceeds to Step S113.
- step S113 the control unit 11 determines whether or not it is included in the purchased content list in the content ID power supply availability related information in the "viewing confirmation" message. In such a case (step S113: Y), it is determined that viewing is possible as the provision availability determination means, and the process proceeds to step S117.
- the control unit 11 determines whether or not the charging method in the "viewing confirmation" message is a prepaid method. If it is not a prepaid method (step S114: N), it is determined that viewing is possible as the provision availability determination means, and then the content ID in the “viewing confirmation” message is provided as the provision availability related information update means. Is added to the purchase content list (step S115), and the price of the content data is added to the later billing amount (postpaid amount) included in the above-mentioned provision availability information (step S116). Move on to S117.
- step S114 when the charging method in the “viewing confirmation” message is the prepaid method in step S114 (step S114: Y), the control unit 11 corresponds to the user ID in the “viewing confirmation” message.
- the price of the content data corresponding to the content ID is subtracted from the balance of the pool amount (prepaid amount) included in the provision availability information (step S118), and it is determined whether or not the balance has become negative (step S118). S 119).
- step S119 N
- the control unit 11 It is determined that the content can be viewed as the provision availability determination means, and then the content ID etc. in the “viewing confirmation” message is added to the purchase content list as the provision availability related information update means and is included in the provision availability related information.
- the amount obtained by subtracting the price of the content data corresponding to the content ID from the balance of the pool amount is updated as the pool amount (step S120), and the process proceeds to step S117.
- step S117 the control unit 11 generates a "viewing confirmation" message including the determined viewing availability and billing information as a provision availability information return means, and transmits this message according to the IP address of the content holder node lb. Send (reply) to the content holder node lb via the communication unit 20 or the like.
- step S119: Y the control unit 11 determines that viewing is not possible as the provision availability judging means, and includes the viewing impossible etc. “A message is generated, and this is transmitted (returned) to the content holder node lb via the communication unit 20 or the like according to the IP address of the content holder node lb (step S12 1), and the processing returns to the processing shown in FIG.
- step S1 31 the control unit 11 determines whether or not provision-related information related to the user ID in the “prepayment” message has been created. If it has already been created (step S131: Y), the process proceeds to step S133. If it has not been created (step S131: N), new provision availability related information is created. (Step S132), the process proceeds to Step S133. Then, the control unit 11 adds the deposit amount in the “prepaid” message to the pool amount (prepaid amount) included in the provision availability information (step S133), stores this in the storage unit 12, and stores it. Return to the process shown in Figure 15.
- FIG. 19 is a flowchart showing the process of the control unit 11 in the accounting node
- FIG. 20 is a flowchart showing the details (subroutine) of the process in step S143 shown in FIG. 19
- FIG. 6 is a flowchart showing details (subroutine) of processing in step S145 shown in FIG.
- step S141 the control unit 11 sends an instruction transmitted from the charge management center C.
- step S142 it is determined whether or not the instruction information is the deposit instruction information. If the information is the deposit instruction information (step S142: Y), the process proceeds to step S143. If it is not the deposit instruction information (step S142: N), the process proceeds to step S144. Details of the deposit instruction processing in step S143 (FIG. 20) will be described later.
- step S144 the control unit 11 determines whether or not the instruction information from the billing management center C is billing amount collection instruction information. S144: Y), the process proceeds to step S145, and if it is not the billing amount collection instruction information (step S144: N), the process proceeds to step S146. Details of the billing amount collection instruction processing in step S145 (FIG. 21) will be described later. Further, in step S146 shown in FIG. 19, for example, the message processing of the control unit 11 in the relay node, the root node, and the content holder node shown in FIG. 12, or the control unit in the access right management node shown in FIG. Eleven message processing is performed.
- control units 11 differ from each other based on the user registration number included in the deposit instruction information (for example, by hashing the user registration number as described above). Multiple (here, 10) user IDs are generated (step S 151).
- control unit 11 initializes the value of “n” indicating the number of access right management nodes (sets it to “1”) (step S152), and a “prepayment” message including the user ID and the deposit amount. Is transmitted to the access right management node lyn corresponding to the nth user ID according to the DHT via the communication unit 20 or the like (step S153).
- control unit 11 increments the above “n” by “1” (step S154), determines whether or not the “n” is greater than “10” (step S155), and “n> If it is not 10 "(step S155: N), return to step S153 and repeat the same process.
- each of the access right management nodes lyl ⁇ : ly 10 that has received the “prepayment” message registers the above deposit amount in the provision availability information.
- step S155: Y the processing returns to the processing shown in FIG.
- the control units 11 are based on the user registration number included in the billing amount collection instruction information (for example, by hashing the user registration number as described above). A plurality of different (here, 10) user IDs are generated (step S161). Next, the control unit 11 initializes (sets to “1”) the value of “n” indicating the number of access right management nodes (step S162), generates a “billing collection” message, and Is transmitted to the access right management node lyn corresponding to the nth user ID according to the DHT via the communication unit 20 or the like (step S163). On the other hand, the “billing amount reply” message transmitted (reply) from the access right management node lyn is received (step S 164) and stored in the storage unit 12.
- control unit 11 increments “n” by “1” (step S165), determines whether or not the “n” is greater than “10” (step S166), and “n> If it is not 10 "(step S166: N), return to step S163 and repeat the same process.
- the accounting node lz obtains the later billing amount (postpaid amount) from each access right management node lyl ⁇ : ly10.
- step S166 if “n> 10” (step S166: Y), the control unit 11 compares “late billing amount (postpaid amount)” included in all “billing amount reply” messages. For example, the amount with the most match is determined as the billing amount, and information indicating the determined billing amount is transmitted to the billing management center C (step S167), and the processing returns to the processing shown in FIG.
- the availability information related to availability of content data and the availability information related to each user node are stored in the access right management node corresponding to the user ID of each user node, and the contention node “purchases content data” from the user node.
- the network determines whether the content data can be provided (purchased or viewed) to the access right management node storing the provision availability information corresponding to the user node.
- the content data including the confirmed availability is transmitted to the user node
- dispersed processing related provision whether the content data (e.g., processing related to billing) to each user node it is possible to avoid the concentration of the processing.
- the access right management node corresponding to different user IDs generated based on the user registration number of the user of the user node for the provision availability related information corresponding to one user node respectively. Save the content holder node to these multiple
- the access right management node confirms whether or not the content data can be provided (purchased or viewed) via the network 8, and the access right management node determines whether the content data can be provided by, for example, a majority vote. Even if you temporarily withdraw from the content distribution system S due to a disconnection or communication accident, etc., the accuracy of the availability information (for example, billing information) is maintained and the availability of content data is accurately determined. In addition, processing related to billing can be performed accurately.
- the access right management node that has returned an answer different from the above determined availability (most answers: available for purchase or not available for purchase)
- the provisional availability related information is modified, so that the content of the provisional availability related information can be matched among multiple access right management nodes, and the accuracy of the provisional availability related information can be maintained.
- the power to determine whether or not to provide (purchase or view) the content data by majority vote For example, it is possible to determine whether or not to provide (purchase or view) content data in consideration of the withdrawal history from the content distribution system S.
- the present invention is not limited to this.
- the content holder node lb is configured to confirm whether or not the access right management nodes lyl to: lylO can provide the content data. Then, the root node lx may confirm whether or not the content data can be provided, and may send response information based on the confirmed availability to the user node la via the network 10.
- the terminal device is generally referred to as a “node”.
- FIG. 22 is a schematic diagram showing an outline of the content distribution system.
- the IP addresses of all the nodes are stored because of the limitation of the physical recordable amount at each node. It is not realistic for each node to record the content name of each node (for example, if there are 1 million nodes connected to the network, the IP addresses for those 1 million nodes and It is not realistic for each node to record all the stored content names with each other).
- each node records the IP addresses of all nodes and the stored content names, new nodes will not be able to join or leave, or may be deleted from a node. Every time it happens, all nodes must update the record information. If all nodes are notified at each update, the update will be frequent and the power switch at each node in the network will be frequently turned on and off (for example, if the node is implemented by a personal computer, the power switch will be Can't be updated) This makes it difficult to operate the entire network.
- a node ID (Identification) for identifying each node is assigned to each node.
- the node ID is a unique value for each node, such as an IP address assigned to the node itself, a so-called MAC (Media Access Control) address, or a serial number of the node itself. A value obtained by multiplying the hash function is used.
- the content ID generally includes, for example, title data indicating the title of the content, attribute data indicating the attribute of the data constituting the content, data for several bytes from the top of the data constituting the content, etc. The value obtained by multiplying the hash function with is used.
- each ID is expressed in 128-bit length as in the above example, the number of digits becomes too large and the explanation becomes complicated, so in FIG. 22 (a), each ID is shown for simplicity of explanation.
- the bit length is expressed as 32 bits (hereinafter the same).
- a node that manages a content that is assigned a content ID is the node ID that has the value closest to that content ID value. Is given as a “node”.
- “Nearly,” is a force S that can be defined as long as it is consistent within various rules and standards related to the content distribution system. For example, it is defined as “a value that does not exceed the value of the content ID and the difference between the values as the ID is the smallest”.
- a node whose node ID value is “A0334055” and a node whose node ID value is “A03340FF” are connected on the ring Rn.
- the content ID value “A0334080” is managed by the node whose node ID value is “A0334055”.
- the terminal information for managing the content of ⁇ is indicated by an arrow extending from each ⁇ . In this way, various contents can be managed in a distributed manner by many nodes.
- management does not mean that the content with the content ID is recorded therein, but "location of the node where the content is recorded (for example, IP address) Etc.) is recognized by the node that manages the content.
- the node where the content is actually recorded may be different from the managed node, or the managed content may be recorded in the managed node.
- Root node Records the index information consisting of a pair of the content ID indicating the content that is to be managed and the IP address of the node in which the content indicated by the content ID is recorded. Record so that it can be referred to by other nodes in the content distribution system. In some cases, this index information includes the title of the content and its attributes (Giant).
- a node that actually records each content itself is referred to as a “content holder node”.
- the content holder node itself is a node, its node ID exists on the ring Rn in FIG. 22 (a).
- the DHT (no-relay) is one of the contrivances for eliminating the necessity for each node to record the IP addresses of all nodes. Will be described.
- the ID space illustrated in FIG. 22 is subdivided while increasing the number of levels for each stepped level (for example, in the case of level 1, the ID space (the entire ring Rn ) Is divided into four), and for each level (in each subdivided area), routing information that describes the node ID of any node and its IP address is described. For example, when request information for requesting the IP address of the content holder node storing the requested content is transferred to the root node where the content is managed, the request information is referred to while referring to the routing information. To the root node that manages the target content.
- the node ID of the routing destination matches the node ID of the root node to be reached one digit at a time.
- the root node can know the IP address of the content holder node by sending the IP address of the content holder node that it manages to the requesting node.
- a message such as a public message can be efficiently transferred to a target node in the ID space as illustrated in FIG.
- a message generated in the content holder node is referred to as a public message, and is transferred from a user node described later to a root node or a cache node described later.
- the query to be transmitted is hereinafter referred to as a shared data search message.
- the value of the node ID of the root node is the closest to the value of the content ID managed by the root node. Will reach the root node that manages the content to be distributed. Then, the root node that has received the shared data search message sends the IP address of the content holder node that stores the content requested by the shared data search message to the source of the shared data search message. Reply until. In other words, from the index information recorded in the root node (see Fig. 22 (b)), the title and attribute information indicating the content requested by the shared data search message and the attribute information are displayed. The IP address of the node as the content holder node is returned to the node that sent the shared data search message. By utilizing such DHT, the location of the desired content can be recognized efficiently at the distribution request source, for example.
- the node that is the content distribution request source described above is hereinafter referred to as a “user node”.
- the content holder node When new content is accumulated in a node, that is, the content holder node of the content, the content holder node shall publish that the content has been accumulated to other nodes in the content distribution system. become. [0241] That is, when new content is stored in a certain node, the node that becomes the content holder node for the stored content is the content corresponding to the content based on the title of the stored content. Generate an ID.
- the content holder node uses a node having a node ID having the same value as the generated content ID as a destination (regardless of whether or not the node having the node ID actually exists).
- a public message for the public is sent in the same way as the delivery request message. This public message includes the title indicating the content, attribute information, the IP address of the node as the content holder node, etc., and as the destination of each level via each routing destination according to the description of the above DHT. Sequentially transferred to the node.
- the node having the closest node ID recognizes that there is no node in the ID space to which the public message is to be transferred afterwards (that is, in DHT When the digits are aligned, it is recognized that the next node to be transferred is itself).
- the node to which the public message has reached becomes the root node that manages the new content. Become.
- the node that becomes the root node records the content ID including the public message, the IP address indicating the content holder node, the attribute information, and the like as index information EX illustrated in FIG. 22B.
- the necessary shared data search message or the public message is transferred to the transfer destination while simplifying the configuration of each node.
- the content can be distributed by reaching the destination.
- the management information for managing the delivery of the distribution fee generated above (hereinafter, the management information is generally referred to as billing data) is the two nodes that directly exchange the content (that is, the distribution operated by the user) Distributed to other nodes T other than the previous user node and the distribution source content node belonging to the above distributor.
- the content data itself corresponding to the content and the billing data are equivalent in the sense that they are shared between nodes belonging to the content distribution system. Therefore, in the content distribution system according to the present invention, they are Both are treated equally as “shared data”.
- a billing processing node for centrally processing the distributed billing data is provided in the content distribution system, and this billing processing node is distributed as needed. By collecting billing data and judging its tampering status, etc., confidentiality as billing data is secured.
- the charging processing node collects the above charging data from the location where it is proactively prevented, thereby avoiding the concentration of processing on the charging processing node, thereby simultaneously preventing access concentration as a P2P type content distribution system. To do.
- FIG. 23 is a block diagram showing a schematic configuration of the node according to the second embodiment. Further, since each node belonging to the P2P type content distribution system according to the present embodiment basically has the same hardware configuration, the configuration of a general node representing them is shown in FIG. The outline will be described using.
- the node T included in the content distribution system records a CPU having a calculation function, a working RAM (Random Access Memory), various data and programs.
- Control means 11 as processing means, reading means, determination means, generation means, erasure means and search means composed of ROM (Read Only Memory), etc., the above billing data, content data as the content itself,
- Recording section 12 as a recording means composed of HDD (Hard Disc Drive) etc. for recording / storing (storing) various types of data for distribution and other necessary programs, etc.
- Buffer memory 13 that temporarily stores the content data that has been encoded, and decodes the encoded (encoded) video data (video information) and audio data (audio information) included in the content data (data expansion, decoding, etc.)
- a decoder unit 14 a video processing unit 15 that performs a predetermined drawing process on the decoded video data and the like and outputs the video signal, and a video display based on the video signal output from the video processing unit 15.
- Display unit 16 consisting of CRT (Cathode Ray Tube) or liquid crystal display, etc., and audio processing that outputs the decoded audio data to analog audio signal after DZA (Digital / Analog) conversion and amplifies it with amplifier etc.
- an input unit for example, a keyboard, a mouse, or an operation panel
- the CPU in the control unit 11 executes various programs recorded in the recording unit 12 or the like, so that the control unit 11 performs overall control of the overall operation as the node T according to the present embodiment.
- FIGS. 24 to 30 are diagrams specifically illustrating the operations
- FIGS. 31 to 38 are flowcharts showing the operations.
- an operation for requesting distribution of the content (hereinafter, the content that is the distribution request target is referred to as content X).
- a node T as a user node (hereinafter, node T as the user node is referred to as a node RQ)
- a shared data search message is issued, and the root node managing the content X is reached.
- the root node managing the content X transmits content holder node information to the node RQ, and the distribution request message is transmitted from the node RQ to the node T as the content holder node, and the content received.
- the content X is distributed from the holder node to the node RQ.
- the reproduction processing or the like is executed using the content data of the distributed content X.
- the distribution fee generated when distributing the content X to be distributed and Billing data including information related to the exchange is generated.
- the billing data is encoded and transmitted to the node designated to store the billing data (in other words, the content holder node when the billing data is regarded as the content data). And stored at the destination.
- the stored billing data is accumulated in the billing processing node in response to a request from the billing processing node, and falsification determination is executed by a process described later.
- FIGS. This will be described with reference to examples.
- FIGS. 24 to 30 are diagrams schematically showing the exchange of content and billing data, and the network itself connecting each node is not shown in each diagram.
- the content distribution system BS includes 10 nodes T, and each node N is assigned to each of nodes A, B, C, D, E, F, G, H, I and J. It is assumed that the user node that requests the distribution of the content X is the node C, and the root node that manages the distribution of the content X is the node I. Further, it is assumed that the charging processing node is node A and the root node that manages the distribution of charging data K is node J.
- FIG. 24 the exchange of content data and billing data at the stage where content distribution is executed will be described with reference to FIGS. 24 to 27.
- node C which is the root node of the desired content
- Information indicating the node T including the recording unit 12 for storing the content is returned to the node C as the reply message MG2 (see step S210 in FIG. 32 described later).
- the response message MG2 includes information indicating the nodes D, F, and H. Will be.
- the node C that has received the response message MG2 refers to the information contained in the response message MG2, and sends a request message R for requesting distribution of the content.
- the charging data corresponding to the distribution is based on the user information and the name data N (X) included in the received request message R.
- K is generated, and a node T that is a storage destination of the generated billing data K is determined (see FIG. 34, step S228, FIG. 35, steps S235 to S241 and FIG. 36 described later).
- the storage destination of charging data K corresponding to distribution from node D is determined as node E
- the storage destination of charging data K corresponding to distribution from node F is determined as node G.
- the storage destination of billing data K corresponding to distribution from H is determined to be Node B.
- the billing data K is encrypted from the nodes D, F, and H, respectively, and transmitted to the nodes E, B, and G that are the storage destinations (described later). 34 (see step S 244 in FIG. 34), and stored in the recording unit 12 in each of the nodes E, B, and G (see step S 224 in FIG. 33 described later). Thereafter, a public message MG3 indicating that the charging data K is stored in the nodes E, G, and B is transmitted from the nodes E, G, and B to the node J that is the corresponding root node.
- any force of node D, F or H as a content holder node is applied to the content desired by node C.
- Corresponding shared data X (content data) is transmitted to and stored in the node C (see FIG. 34 step S229 and FIG. 33 steps S220 to S222 described later).
- whether to send the shared data X from the difference for example, select node C to send it from the node T that responded the earliest.
- the node C may select the node C so that the node C receives the signal from the node C, and the node T receives the signal from the node T, or all nodes D, F, and H A part of the shared data X may be received and combined at the node C.
- the content desired in the user node (node C) is distributed to the user node, and the billing data K corresponding to the distribution is the content. In other words, it is distributed in nodes E, G, and B that are not related to itself.
- the accounting data K is sent from the node A serving as the user node to the node J serving as the root node of the desired accounting data K.
- the accounting data K is stored as a response message MG5.
- Information indicating the node T including the unit 12 is returned to the node A (FIG. 38, step S250 described later).
- the content holder nodes of the accounting data K are the nodes E, G, and B. Therefore, the response message MG5 includes information indicating the nodes E, B, and G. Will be.
- the node A that has received the response message MG5 refers to the information contained in the response message MG5 and requests the delivery of the accounting data K as shown in FIG. 29.
- R is transmitted to nodes E, G, and B, respectively (see steps S236 and S203 in FIG. 38 described later).
- the nodes E, G, and B that have received the request message R transmit the requested accounting data K to the node A based on the received request message R (see FIG. 34 described later). Steps S230 and S231), and then the charging process using the transmitted charging data K is performed at Node A (described later).
- Fig. 38 Steps S253 to S259).
- charging data K transmitted in nodes E, G, and B is deleted (see step S246 in FIG. 38 to be described later), and deletion message MG6 indicating that is the charging data K. Is sent to node J, which is the root node, and a series of charging processes is completed.
- any node T can be a content holder node for the above node RQ, content data, or billing data. Therefore, in FIG. 31, one node T becomes a node RQ. The case and any content holder node are shown together.
- the node T for example, as the initial operation when the power is turned on, the node User information indicating a user who operates T is acquired (step S201), and the acquired user information is stored in the recording unit 12.
- the ⁇ IJ user information includes a user ID for identifying the user, and the user information itself is input by an operation on the input unit 21.
- the user in the present embodiment includes a user who wants to view content and a user who wants to collect billing data at the billing processing node.
- Step S202 When the acquisition of user information is completed, next, whether or not a content distribution request operation or a billing data collection request operation has been executed by the user at node T is constantly monitored ( (Step S202), if the requested operation is executed in the one node T, that is, if the one node T becomes a user node U or a charging processing node (step S202; YES), the requested operation is performed. Processing for requesting the node RQ to distribute the content X or billing data (hereinafter, the content X and billing data are collectively referred to as shared data X) is executed in the node RQ (step S203).
- the name data indicating the name of shared data X is N (X), and a message (distribution request information) requesting that shared data X be transmitted to node RQ is requested.
- Message R the request message R includes name data N (X) corresponding to the shared data X and information for identifying the node RQ to which the shared data X is distributed.
- step S208 After the acquisition process of the shared data X is completed, it is confirmed whether or not the power of the node RQ is turned off (step S208). When the power is turned off (step S208; YES) ) When each operation in the node RQ is completed as it is and the power supply remains on (step S208; NO), the process returns to the semi-IJ setting in step S202 to shift to the next content acquisition process.
- step S202 when the distribution request operation for shared data X is not executed in the determination in step S202 (step S202; NO), the shared data X corresponding to the request message R is next stored in the node RQ. It is determined whether or not it has been received (step S204).
- step S 204 When the shared data X is received (step S 204; YES), the shared data storage process for storing the received shared data X in the recording unit 12 is executed at the node RQ (step S 205). Then, the process proceeds to step S208 and the above-described processing is executed.
- step S204 determines whether or not it has been performed.
- step S206 the request message R is transmitted (step S206; YES)
- step S207 the corresponding reception process is executed (step S207), and the process proceeds to the above step S208 to execute the above-described process.
- step S206 determines whether the request message R is not received in the determination in step S206 (step S206; NO). If the request message R is not received in the determination in step S206 (step S206; NO), the process proceeds to step S208 as it is.
- FIG. 32 is a flowchart showing details of request processing.
- the shared data X request processing first, Distribute the shared data search message to the other node T (that is, the node ⁇ ⁇ ⁇ as the content holder node of the shared data X) that stores the shared data X that is the distribution request target in the recording unit 12. Search by sending in the system. Then, when ⁇ ⁇ ⁇ nodes ⁇ can be searched, the ⁇ ⁇ ⁇ nodes ⁇ ⁇ that can be searched are designated as node T [i] (i
- the parameter i indicating the number of the node T as the acquired content holder node is initialized (step S211), and it is further confirmed whether or not the current parameter i is less than "M”. (Step S212). If the value of the current parameter i is less than “M” (step S212; YES), a request message R is generated (step S213), and the node T indicated by the current parameter i is displayed. The request message R generated for [i] is transmitted (step S214). At this time, the request message R includes name data N (X) corresponding to the shared data X requested for distribution and user information indicating the distribution destination.
- step S215 After transmitting the request message R, the meter i is incremented by "1" (step S215), and the process returns to the determination in step S212.
- step S212 when the current parameter i is not less than “M” in the determination in step S212, that is, the request message R is transmitted to all the nodes T searched (step S210 above). Is completed (step S212; NO), the process directly proceeds to the process of step S208 shown in FIG.
- the shared data request process shown in FIG. 32 is executed, so that all nodes T that store the shared data X to be distributed are stored as user nodes.
- Request message R is transmitted from node RQ.
- FIG. 33 is a flowchart showing details of the storage process.
- the shared data X is determined by the determination in step S204 shown in FIG. (Step S204; YES), first check whether the node RQ has already stored the shared data X having the same name as the received shared data X in the recording unit 12 or not. (Step S220) If it is not stored (step S 220; N0.
- step S221 the fact that the shared data X is stored in its own recording unit 12 is disclosed to other nodes T in the content distribution system by using the above-described public message (step S222). The process proceeds to step S208 shown in FIG.
- step S220 when the shared data X having the same name as the received shared data X is already stored in its own recording unit 12 (step S220; YES) in the determination of step S220, the node RQ is There is a possibility that the newly received shared data X is the charging data related to the additional charging because it is a charging processing node.
- step S223 it is confirmed whether or not the shared data X is the charging data (step S223). If it is not billing data (step S223; N0), the content data already stored in the recording unit 12 for some reason has been requested and received again, so it has already been acquired in the recording unit 12.
- the process proceeds to step S208 shown in Fig. 31 without updating the shared data X (content data) being used.
- step S223 if the received shared data X is billing data (step S223; YES), it is already stored in the node RQ recording unit 12 as the billing processing node in response to the determination in step S223.
- the received billing data is additionally stored with respect to the past billing data being recorded (step S224), and then the process proceeds to step S208 shown in FIG.
- FIG. 34 is a flowchart showing details of the reception process.
- Step S206 when it is determined that the request message R is received by the determination in step S206 shown in FIG. 31 ( (Step S206; YES), then, from the received request message R, the name data N (X) and user information included in the request message R are extracted (Step S225), and further within the own recording unit 12 Then, the shared data X (content data or billing data) requested for distribution by the request message R is extracted (step S226).
- step S227 the attribute of the extracted shared data X is confirmed (step S227). If it is not billing data, that is, content data (step S227; NO), the content data is distributed. Then, the above billing data indicating the billing of the distribution fee generated between the user of the distribution destination and the distributor of the distribution source is generated for the distribution of the content data (step S228), and then The content data that is the shared data X requested by the node RQ that has transmitted the request data R (in this case, the node RQ as the user node of the content) is transmitted (step S229). The processing shifts to step S208 shown in FIG. Details of the billing data generation process will be described later.
- step S227 if the shared data X subject to distribution request is billing data (step S227; YES.
- the requesting node RQ is the billing processing node).
- step S230 it is confirmed whether or not the authority to collect the billing information at the distribution destination node RQ itself is granted within the content distribution system (step).
- step S230 for example, when a charging processing node in the content distribution system according to the present embodiment is specified in advance, the IP address of the node RQ that is the distribution destination This confirmation is made by comparing the IP address of the specified accounting processing node with the specified IP address. In addition, for example, this confirmation may be performed by separately performing a special authentication process.
- step S230 If it is determined in step S230 that the node RQ itself is authorized to collect charging information, in this case (step S230; NO), the distribution data is requested. Is not permitted to be distributed to the node RQ, and the process proceeds to the process of step S208 shown in FIG. 31 without executing the requested charging data transmission process.
- step S230 the authority to collect accounting information in the node RQ itself (Step S230; YES)
- the billing data that is the shared data X requested by the node RQ is transmitted (step S231), and the transmitted billing data is further transmitted.
- step S232 After performing the process of deleting from the own recording unit 12 (step S232), the process proceeds to the process of step S208 shown in FIG.
- the deletion process includes a process of deleting the charging data from its own recording unit 12, and a process of notifying the root node corresponding to the charging data of the deletion. ,It is included.
- the billing data for the distribution destination node RQ is newly generated, and then the node RQ is set.
- the billing processing node confirms the authority for collecting the billing data of the billing processing node of the distribution destination and then checks the billing processing node. Billing data will be sent.
- FIG. 35 is a flowchart showing details of the generation process.
- step S236 in the billing data generation process according to the present embodiment, first, from the received request message R (see step S206 in FIG. 31), the name data N (X ) And user information again (step S235), and using the extracted user information, a billing data name corresponding to the newly distributed content data is obtained (step S236). Details of the process in step S236 will be described later.
- step S236 new billing data K (content is emptied) is generated in the recording unit 12, and the name is billed as billing data N (K). Yes (Step S237) 0
- This empty billing data K is generated in advance by adding billing data for each batch one after another in case content data is distributed multiple times. It is what
- step S235 the user information extracted in step S235, the name data N (X), and the time information indicating the current date and time are collected to correspond to the content data distributed this time.
- Billing information k for this time is generated, encrypted according to a predetermined encryption method (step S238), and the billing information k after encryption is stored in the billing data K (added) (Step S239).
- the encryption method used in the encryption processing applied to the billing information k in the processing of step S238 is an encryption method that can be decrypted only by a billing processing node described later, even if step S238 itself is concerned. It is desirable that the encryption method cannot be decrypted even by the node T (node T as the content holder node) that executed the above.
- the accounting processing node stores the secret key, while the corresponding public key is stored in all nodes, and the accounting information is encrypted with this public key. Then, the billing information can be decrypted only by the billing processing node.
- the storage node in the content distribution system for the new billing data K should be determined next.
- a list indicating contents that can be distributed in the content distribution system (this list is distributed to all nodes in advance by, for example, being incorporated into the storage unit 12 in the manufacturing process of the node device).
- Name data indicating content data corresponding to the selected content Z is selected at random from the content (hereinafter, the selected content is referred to as content Z and the corresponding data is referred to as shared data Z).
- N (Z) is acquired (step S240).
- the parameter i indicating the number of the node T as the acquired content holder node is initialized (step S242), and further, it is confirmed whether or not the current parameter i is less than "M”. (Step S243). If the value of the current parameter i is less than “M” (step S243; YES), the generated charging data K is transmitted to the node T [i] indicated by the current parameter i. (Step S244). [0306] After the charging data K is transmitted, the parameter i is incremented by "1" (step S245) and the process returns to the determination in step S243.
- step S243 when the current parameter i is not less than "M", that is, the charging data K for all the searched nodes T (see step S241 above).
- step S243; NO the post-transmission accounting data K in the recording unit 12 of itself is deleted (step S246), and the process proceeds to step S229 shown in FIG. Then, the content data corresponding to the accounting information k is distributed.
- a plurality of nodes storing the content data for the arbitrarily selected specific content when selecting a plurality of nodes for holding the billing data, “a plurality of nodes storing the content data for the arbitrarily selected specific content”.
- the present invention is not limited to this.
- the greater the number of nodes that store billing data in a distributed manner the more reliable the billing information for node withdrawal.
- step S236 the accounting data name acquisition processing in step S236 will be described in detail.
- FIG. 36 is a flowchart showing details of the acquisition process.
- step S247 the user for identifying the user from the acquired user information (see step S235 in FIG. 35).
- ID is obtained (step S247), and based on the obtained user ID, a new billing data K name is generated as, for example, user ID] .kkn "(step S248), and the steps shown in FIG.
- step S248 for example, when the user ID is “2376”, the name of the accounting data K is “2376. kkn”.
- the billing data K includes billing information k (encrypted) corresponding to each of a plurality of content distributions in a one-to-one manner as described above.
- the information k is appended with the so-called electronic signature of the distributor who generated the billing information.
- the billing information includes information such as the user ID, the name of the distributed content, and the distribution date and time as encrypted.
- the billing information k can be used as the basis for the billing data that has not been altered by a third party.
- billing data K including encrypted billing information k is randomly generated regardless of the content distributed by the distribution corresponding to the billing information k. It is stored in a plurality of selected nodes T.
- FIG. 38 is a flowchart showing details of the accounting process.
- a list of user information indicating users to be billed is presented from the system operator.
- the system operator shall manage and store in advance a list of user IDs, addresses, etc. necessary for billing and user IDs assigned to each user. .
- step S251 the parameter i indicating the number of the user information S is initialized (step S251), and it is further checked whether or not the current value of the parameter i is less than "I” (step S252). If the current value of parameter i is less than “I” (step S252; YES), the same billing data name generation processing as in step S236 is performed (step S236), and the generated The distribution request for the accounting data K having the name is executed in the same manner as the request processing for the shared data X in step S203 (step S203).
- the requested billing data K is stored in the node T (step S24 in FIG. 35). Confirm whether or not it has been transmitted from the node T) to which the accounting data K has been transmitted by the processing of 4 (step S253), and when it has been transmitted (step S253; YES), in the accounting processing node
- the charging data K is stored in the temporary buffer (step S253-1), and the process proceeds to step S254 described later.
- step S253; NO the waiting time set in advance as the waiting time for receiving the billing data K is exceeded.
- step S254; NO If it does not exceed (step S254; NO), the system waits for reception (step S253).
- the charged billing data K is decrypted with a decryption key unique to the billing processing node (step S255), and the contents are determined to be falsified (step S256).
- step S256 specifically, for example, the contents of the charging information k having the same use date and time among the charging information k included in each of the plurality of received charging data K are included. Compare and confirm the difference. That is, when there is accounting information k having the same usage date and different contents in other accounting data K, the accounting information k having the same content most often is the accounting information k having the correct content (majority decision). The other charging information k is determined as the charging information k that may have been falsified.
- the charging information k having the content determined to be correct is additionally stored in the charging data K of the same name stored in the recording unit 12 in the charging processing node (step S257), and then the previous time Use date and time from the date and time when the billing collection process is executed to the current time Check whether the above steps S256 and S257 have been executed (step S257-1) 0 and use time up to the current time If the collection process has not been completed (step S257-1; NO), the process returns to step S256 to execute the processes of steps S256 and S257 for all billing data K up to the current time. If the collection processing has been completed for all the use times up to the time (step S257-1; YES), then the accounting data K in the temporary buffer is deleted (step S258).
- step S259 the current parameter i is incremented by “1” (step S259).
- the process proceeds to step S252 to repeat the same processing for the information S.
- the charging data K distributed and distributed without losing the confidentiality of each charging data K is collected and used for the necessary charging process. be able to.
- the accounting data K that should be concealed is distributed and recorded in a plurality of nodes T, and these are necessary. Accordingly, the accounting data K can be efficiently distributed and managed while preventing accounting data processing from concentrating on one node T.
- the management of billing data K in the P2P type content distribution system BS can be efficiently performed by distributing and managing the same as in the case of content.
- the charging data K corresponding to the content to be distributed is generated, and the node that is the storage destination of the generated charging data K Since the billing data K is transmitted after T is determined, the billing data K is distributed efficiently by generating the billing data K corresponding to the distribution request and placing it at each node T. Can be placed and managed.
- charging data K for distribution of the content is generated based on the user information for identifying the user who has requested the distribution of the content, the content of the charging data K having confidentiality is generated.
- the billing data K can be distributed in a distributed manner while preventing leakage to a third party.
- the encryption processing that can be decrypted only at the accounting processing node is performed on the accounting data K, it is transmitted to the node T that stores the data, so that the accounting data K is used as the user information.
- the billing data K can be distributed and arranged more securely while protecting the confidentiality of the billing data K.
- a plurality of billing data for the same distribution is provided.
- K is read from the node ⁇ that stores each of them, the contents of each are compared with each other, and based on the comparison result, it is determined whether there is a possibility that each billing data ⁇ has been tampered with during each recording. Therefore, it is possible to effectively and quickly find tampering by a third party with respect to billing data ⁇ ⁇ ⁇ which is distributed, arranged, or misaligned.
- each billing data ⁇ can be detected while effectively and quickly discovering each billing data ⁇ required for content distribution by a third party to improve the confidentiality of each billing data ⁇ . Can be efficiently distributed and managed.
- the billing data ⁇ is signed and can be decrypted only at the billing processing node, the confidentiality of the billing data ⁇ ⁇ ⁇ can be reliably maintained.
- the power of the method using the DHT for the retrieval of the billing data K and the distribution to the billing processing node is also the storage destination for the billing data K only.
- a management node for centrally managing the above may be provided separately.
- the programs corresponding to the flowcharts shown in FIGS. 31 to 36 and 38 described above are recorded on an information recording medium such as a flexible disk or a hard disk, or acquired via the Internet or the like. It is also possible to cause the computer to function as the control unit 11 according to the present embodiment by reading and executing these by a general-purpose computer.
- the present invention is not limited to the above embodiments.
- Each of the above-described embodiments is an exemplification, and what has substantially the same configuration as the technical idea described in the claims of the present invention and exhibits the same functions and effects is not appropriate.
- the technical scope of the present invention Included in the enclosure.
- the present invention can be used in the field of content distribution via a network, and particularly when applied to the field of content distribution in download format and its charge management. A remarkable effect is obtained.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Multimedia (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Computer And Data Communications (AREA)
Description
明 細 書
ノード装置、情報送信処理プログラム、及び情報配信方法等
技術分野
[0001] 本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツ 一ピア(Peer to Peer (P2P) )型の情報配信システム及び方法等に関し、例えば、コン テンッデータが 1以上のノード装置に保存されたコンテンツ配信システム及び方法等 の技術分野に関する。また、ネットワークを介して配信されるべき映画等のコンテンツ (配信情報)の配信を相互に行う情報配信システム、当該情報配信システムに含まれ る配信元装置、管理情報記録装置及び管理情報処理装置、配信元処理方法及び 管理情報処理方法、当該配信元装置及び管理情報処理装置として用いられる配信 元処理用プログラム及び管理情報処理用プログラム並びに当該各プログラムが記録 された情報記録媒体の技術分野に関する。
背景技術
[0002] 従来から、広く知られているクライアント サーバ型のコンテンツ配信システムでは、 一般に、認証サーバを用いて (つまり、課金サーバとして)、クライアント (端末装置) 毎の認証、課金を管理している。或いは、ダイヤルアップ接続での認証に用いられる Radiusサーバが、課金サーバとして、端末装置毎の課金を管理していることも多い。
[0003] このようなコンテンツ配信システムにおいては、端末装置が視聴のためにコンテンツ 配信サーバに対してコンテンツデータの配信を要求すると、コンテンツ配信サーバは 、課金サーバに対してコンテンツデータのアクセス(配信)を許可して良いかの問合 せメッセージを送信し、当該許可を示す応答メッセージが返信された場合は、端末装 置に対してコンテンツデータの配信を行うようになっている。
[0004] 例えば、特許文献 1における課金システムにおいては、コンテンツ料金を回収する 際においてコンテンツのミラーリングによるトラヒック集中の回避等を可能とする課金 方法が開示されている。
[0005] また、近年、インターネット等のネットワークを介して上記コンテンツを蓄積している サーバ等に端末装置からアクセスし、その端末装置において視聴が所望されている
コンテンツを当該端末装置に配信して視聴する、いわゆるコンテンツ配信を行うコン テンッ配信システムについての研究開発が盛んである。
[0006] そして、当該コンテンツ配信システムの一つに、ネットワークに属する端末装置間で 当該コンテンツが相互に直接授受されるコンテンツ配信システム (換言すれば、各コ ンテンッを複数の端末装置間で分散して共有させるコンテンツ配信システム)である P2P (Pear to Pear)型のコンテンツ配信システムがある。この P2P型のコンテンツ配 信システムは、従来のクライアント 'サーバ型のモデルの欠点である、サーバへのァク セス集中や、高レ、管理コストを解決する手法として注目されてレ、る。
[0007] また、この分野の研究では、上記 P2P型のコンテンツ配信システムの一つとして、一 つのコンテンツに対して複数の複製を用意して複数の端末装置に分散配置させてお くことで、対故障性やアクセスの分散性を高める手法である「分散型ストレージシステ ム」が提案されており、この分散型ストレージシステムを用いたコンテンツの配信サー ビスも拡大しつつある。
[0008] ここで、従来の当該配信サービスでは、コンテンツ本体は上述したように複数の端 末装置上に分散して保存されている。しかしながら、当該配信のために必要な認証 · 課金等に用いられる管理情報については、それが本来的には一元管理する必要が あるものであるため、当該管理情報を専用に扱う集中サーバを経由して授受される構 成となっている。
特許文献 1 :特開 2002— 74191号公報
発明の開示
発明が解決しょうとする課題
[0009] し力しながら、従来のコンテンツ配信システムのように、端末装置がコンテンツデー タの視聴のたびに問合せメッセージを逐一送信する場合、多数の端末装置からの当 該メッセージに対する課金に関する処理が課金サーバに集中して、課金サーバに対 して多大の処理負荷を与えてしまうという問題がある。このことは、当該システムを利 用する端末装置の数が増せば、増すほど顕著になる。
[0010] また、近年では、インターネット上の認証にっレ、ては、一つのコンテンツにつレ、ての 配信サービス毎に認証処理を行うのではなぐ最初に一度認証処理を行レ、電子証明
書を発行することによって、その後の認証処理を分散して行う方法が提案されている ものの、上記管理情報としての課金情報については、コンテンツの属性やその内容 自体が相互に異なる場合が多いことに起因して、配信料 (そのコンテンツの利用料) の額が配信毎に毎回異なる場合が多いため、依然として上記集中サーバを用いて 集中管理せざるを得ない状況である。
[0011] 本発明は、以上の問題等に鑑みてなされたものであり、課金に関する処理の集中 を回避することを可能としたノード装置、情報送信処理プログラム、及び情報配信方 法等を提供することを課題とする。また、上記コンテンツ配信システムの運営のため に必要な課金情報等の管理情報を効率的に分散配置してこれを管理することが可 能な情報配信システム、当該情報配信システムに含まれる配信元装置、管理情報記 録装置及び管理情報処理装置、配信元処理方法及び管理情報処理方法、当該配 信元装置及び管理情報処理装置として用いられる配信元処理用プログラム及び管 理情報処理用プログラム並びに当該各プログラムが記録された情報記録媒体を提供 することを課題とする。
課題を解決するための手段
[0012] 上記課題を解決するために、本発明の一の観点では、ネットワークを介して互いに 通信可能な複数のノード装置を備えた情報配信システムであって、配信情報が 1以 上の前記ノード装置に保存され、かつ、前記配信情報の提供可否に関連する提供 可否関連情報であって夫々の前記ノード装置に対応する前記提供可否関連情報が 、他の前記ノード装置に分散保存されている情報配信システムに含まれる前記ノード 装置であって、他の前記ノード装置から前記ネットワークを介して送信されてきた前 記配信情報の提供要求を示す要求情報を受信する要求情報受信手段と、前記受信 された要求情報の送信元である前記ノード装置に対応する前記提供可否関連情報 を保存している前記ノード装置に対して、当該配信情報の提供可否を前記ネットヮー クを介して確認する提供可否確認手段と、前記要求情報の送信元である前記ノード 装置に対して、前記確認された提供可否に基づく回答情報を前記ネットワークを介し て送信する提供可否情報送信手段と、を備えることを特徴とする。
[0013] よって、配信情報の提供可否に関連する提供可否関連情報であって夫々のノード
装置に対応する提供可否関連情報が、他のノード装置に分散保存されるようにして おき、ネットワークを介して送信されてきた配信情報の提供要求を示す要求情報を受 信すると、受信された要求情報の送信元であるノード装置に対応する提供可否関連 情報を保存しているノード装置に対して、当該配信情報の提供可否を前記ネットヮー クを介して確認し、当該確認された提供可否に基づく回答情報を、要求情報の送信 元であるノード装置に対して、ネットワークを介して送信するように構成したので、配 信情報の提供可否に関する処理 (例えば課金に関する処理)をノード装置毎に分散 させ、処理の集中を回避することができる。
[0014] また、前記要求情報の送信元である前記ノード装置に対応する前記提供可否関連 情報は、複数の前記ノード装置に保存されており、前記提供可否確認手段は、前記 提供可否関連情報を保存している前記複数のノード装置に対して、当該配信情報の 提供可否を前記ネットワークを介して確認し、当該確認された複数の提供可否に基 づいて当該配信情報の提供可否を決定し、前記提供可否送信手段は、前記要求情 報の送信元である前記ノード装置に対して、前記決定された提供可否に基づく回答 情報を前記ネットワークを介して送信することを特徴とする。
[0015] よって、提供可否関連情報の正確性を保ち、配信情報の提供可否を正確に決定 すること力 Sできる。
[0016] また、前記提供可否確認手段は、前記提供可否関連情報を保存している前記ノー ド装置に対して、前記配信情報の提供可否を確認するための確認情報を送信し、当 該確認情報に応じて返信されてきた当該配信情報の提供可否に基づく回答情報を 受信することによって、前記配信情報の提供可否を確認することを特徴とする。
[0017] また、前記複数のノード装置のうち、前記決定された配信情報の提供可否と異なる 提供可否に基づく回答情報を返信した前記ノード装置に対して、前記提供可否関連 情報の修正要求を示す修正要求情報を送信する修正要求情報送信手段を更に備 えることを特徴とする。
[0018] また、前記要求情報には、当該要求情報の送信元である前記ノード装置に対応す る前記第 1識別情報が含まれており、前記提供可否確認手段は、前記要求情報に含 まれる前記第 1識別情報に基づいて、互いに異なる複数の第 2識別情報を生成し、
夫々の前記第 2識別情報に対応する夫々の前記ノード装置に対して、前記配信情報 の提供可否を確認することを特徴とする。
[0019] 上記課題を解決するために、本発明の他の観点では、ネットワークを介して互いに 通信可能な複数のノード装置を備えた情報配信システムであって、配信情報が 1以 上の前記ノード装置に保存され、かつ、前記配信情報の提供可否に関連する提供 可否関連情報であって夫々の前記ノード装置に対応する前記提供可否関連情報が 、他の前記ノード装置に分散保存されている情報配信システムに含まれる前記ノード 装置であって、任意の前記ノード装置から前記ネットワークを介して送信されてきた 当該配信情報の提供可否を確認するための確認情報を受信する確認情報受信手 段と、前記受信された確認情報に関わる配信情報の提供が可能か否力、を前記提供 可否関連情報を参照して判別する提供可否判別手段と、前記確認情報を送信した 前記ノード装置に対して、前記判別された提供可否に基づく回答情報を前記ネットヮ ークを介して返信する提供可否情報返信手段と、を備えることを特徴とする。
[0020] また、前記提供可否判別手段により、前記配信情報の提供が可能と判別された場 合には、前記提供可否関連情報を更新する提供可否関連情報更新手段を更に備え ることを特 ί数とする。
[0021] また、前記ノード装置から前記ネットワークを介して送信されてきた前記修正要求情 報を受信する修正要求情報受信手段と、前記受信された修正要求情報に基づいて 、前記提供可否関連情報を修正する提供可否関連情報修正手段と、を更に備えるこ とを特徴とする。
[0022] また、ノード装置に保存されている提供可否関連情報が食い違う場合であっても、 上記決定された提供可否と異なる回答を返信したノード装置に対しては、提供可否 関連情報の修正を行うようにしたので、複数のノード装置間において提供可否関連 情報の内容を一致させ、当該提供可否関連情報の正確性を保つことができる。
[0023] また、前記提供可否関連情報には、前記配信情報の提供に対して課金を行うため に必要な課金情報が含まれていることを特徴とする。
[0024] 上記課題を解決するために、本発明の更に他の観点では、ネットワークを介して互 レ、に通信可能な複数のノード装置を備えた情報配信システムであって、配信情報が
1以上の前記ノード装置に保存され、かつ、前記配信情報の提供可否に関連する提 供可否関連情報であって夫々の前記ノード装置に対応する前記提供可否関連情報 力 他の前記ノード装置に分散保存されてレ、る情報配信システムに含まれるコンビュ ータを、他の前記ノード装置から前記ネットワークを介して送信されてきた前記配信 情報の提供要求を示す要求情報を受信する要求情報受信手段、前記受信された要 求情報の送信元である前記ノード装置に対応する前記提供可否関連情報を保存し ている前記ノード装置に対して、当該配信情報の提供可否を前記ネットワークを介し て確認する提供可否確認手段、及び、前記要求情報の送信元である前記ノード装 置に対して、前記確認された提供可否に基づく回答情報を前記ネットワークを介して 送信する提供可否情報送信手段として機能させることを特徴とする。
[0025] 上記課題を解決するために、本発明の更に他の観点では、ネットワークを介して互 レ、に通信可能な複数のノード装置を備えた情報配信システムであって、配信情報が 1以上の前記ノード装置に保存され、かつ、前記配信情報の提供可否に関連する提 供可否関連情報であって夫々の前記ノード装置に対応する前記提供可否関連情報 力 他の前記ノード装置に分散保存されてレ、る情報配信システムに含まれるコンビュ ータを、前記配信情報の保存元である前記ノード装置から前記ネットワークを介して 送信されてきた当該配信情報の提供可否を確認するための確認情報を受信する確 認情報受信手段、前記受信された確認情報に関わる配信情報の提供が可能か否か を前記提供可否関連情報を参照して判別する提供可否判別手段、及び、前記確認 情報を送信した前記ノード装置に対して、前記判別された提供可否に基づく回答情 報を前記ネットワークを介して返信する提供可否情報返信手段として機能させること を特徴とする。
[0026] 上記課題を解決するために、本発明の更に他の観点では、前記情報送信処理プロ グラムがコンピュータ読み取り可能に記録されていることを特徴とする。
[0027] 上記課題を解決するために、本発明の更に他の観点では、ネットワークを介して互 レ、に通信可能な複数のノード装置を備えた情報配信システムであって、配信情報が 1以上の前記ノード装置に保存され、かつ、前記配信情報の提供可否に関連する提 供可否関連情報であって夫々の前記ノード装置に対応する前記提供可否関連情報
力、他の前記ノード装置に分散保存されている情報配信システムにおける情報配信 方法であって、前記配信情報の保存元である前記ノード装置が、他の前記ノード装 置から前記ネットワークを介して送信されてきた当該配信情報の提供要求を示す要 求情報を受信し、当該要求情報の送信元である前記ノード装置に対応する前記提 供可否関連情報を保存している前記ノード装置に対して、当該配信情報の提供可否 を確認するための確認情報を送信する工程と、前記提供可否関連情報を保存してい る前記ノード装置が、前記確認情報を受信し、当該確認情報に関わる配信情報の提 供が可能か否かを前記提供可否関連情報を参照して判別し、当該判別された提供 可否に基づく回答情報を、前記確認情報を送信した前記ノード装置に対して前記ネ ットワークを介して返信する工程と、前記配信情報の保存元である前記ノード装置が 、前記提供可否に基づく回答情報を受信し、当該提供可否に基づく回答情報を、前 記要求情報の送信元である前記ノード装置に対して前記ネットワークを介して送信す る工程と、を備えることを特徴とする。
[0028] 上記の課題を解決するために、本発明の更に他の観点では、配信情報の配信を受 ける配信先装置と、当該配信先装置に対する前記配信を行うノード等の配信元装置 と、前記配信に係る課金データ等の管理情報であって、少なくとも当該配信を受ける 利用者と当該配信を行う配信者以外の者に対する秘匿性を備える管理情報を記録 する記録部等の記録手段を夫々備える複数のノード等の管理情報記録装置と、各前 記記録手段から同一の前記配信に対応する前記管理情報を読み出す制御部等の 読出手段と、当該読み出した管理情報を処理する制御部等の処理手段と、を備える ノード等の管理情報処理装置と、少なくとも、前記配信先装置、前記配信元装置、各 前記管理情報記録装置及び前記管理情報処理装置を相互に接続するネットワーク と、により構成されている。
[0029] よって、秘匿性を備える管理情報を複数の管理情報記録装置に分散させて夫々記 録し、これらを管理情報処理装置により必要に応じてネットワークを介して読み出して 処理するので、管理情報の処理が管理情報処理装置に集中することを防止しつつ、 当該管理情報を効率的に分散配置して管理することができる。
[0030] また、前記管理情報は、一の前記配信について前記利用者から前記配信者に対し
て支払われるべき配信料に関連する課金情報であるように構成される。
[0031] よって、配信料に関連する課金情報を、複数の管理情報記憶装置において分散配 置しつつ効率的に管理することができる。
[0032] また、当該情報配信システムは、前記配信情報が、前記ネットワークを介して前記 配信元装置と前記配信先装置との間で相互に直接授受される情報配信システムで あるように構成される。
[0033] よって、配信情報が配信元装置と配信先装置との間で相互に直接授受される情報 配信システムにおける管理情報の管理を、当該配信情報と同様にその管理情報を 分散配置させることで効率的に行うことができる。
[0034] 上記の課題を解決するために、本発明の更に他の観点では、前記情報配信システ ムに含まれる前記配信元装置であって、前記配信先装置からの前記配信を要求す る配信要求情報を受信する通信部等の受信手段と、前記配信要求情報を受信した とき、当該受信した配信要求情報に基づいて前記配信に対応する前記管理情報を 生成する制御部等の生成手段と、前記生成された管理情報の保存先となる前記管 理情報記録装置を決定する制御部等の決定手段と、前記決定された管理情報記録 装置に対して前記生成された管理情報を送信する通信部等の送信手段と、を備える
[0035] よって、配信元装置において、配信要求があつたときにその配信すべき配信要求 情報に対応する管理情報を生成し、更にその生成した管理情報の保存先となる管理 情報記録装置を決定した上でその管理情報記録装置に管理情報を送信するので、 配信要求があつたときに対応する管理情報を生成して各管理情報記録装置におい て配置しておくことにより、必要最小限の管理情報のみを効率的に分散配置して管 理すること力 Sできる。
[0036] また、前記配信要求情報には、当該配信要求情報を送信する操作を前記配信先 装置において実行した前記利用者を識別する識別情報が含まれており、前記生成 手段は、前記受信した配信要求情報に含まれている前記識別情報に基づき、当該 配信要求情報により配信が要求されている前記配信要求情報に対応する前記管理 情報を生成するように構成される。
[0037] よって、配信要求情報の配信を要求した利用者を識別する識別情報に基づき、当 該配信要求情報の配信のための管理情報が生成されるので、秘匿性を有する当該 管理情報の内容が第三者に漏洩することを防止しつつ当該管理情報を分散配置す ること力 Sできる。
[0038] また、前記生成手段は、前記管理情報処理装置においてのみ復号可能な暗号化 処理を前記生成された管理情報に施すように構成される。
[0039] よって、管理情報処理装置においてのみ復号可能な暗号化処理が管理情報に施 された上で管理情報記録装置に送信されることとなるので、当該管理情報が上記識 別情報に基づいて生成されることと相まって、管理情報の秘匿性の保護をより確実に 行レ、つつ当該管理情報を分散配置することができる。
[0040] また、前記管理情報を前記管理情報記録装置に送信した後、前記送信した管理情 報を当該配信元装置内から消去する制御部等の消去手段を更に備える。
[0041] よって、管理情報を管理情報記録装置に送信した後に当該送信した管理情報を配 信元装置内から消去するので、管理情報の保全性をより高めることができる。
[0042] 上記の課題を解決するために、本発明の更に他の観点では、前記情報配信システ ムに含まれる前記管理情報処理装置であって、同一の前記配信についての複数の 前記管理情報を夫々記録してレ、る複数の前記管理情報記録装置を検索する制御部 等の検索手段と、前記検索された各管理情報記録装置から前記管理情報を夫々読 み出す前記読出手段と、を備え、前記処理手段は、前記読み出された各管理情報 の内容を比較する比較手段と、前記比較手段における比較結果に基づいて、各前 記管理情報の内容が改竄された可能性があるか否力を判定する判定手段と、を備え る。
[0043] よって、同一の配信についての複数の管理情報を読み出し、夫々の内容を相互に 比較し、その比較結果に基づいて各管理情報が夫々の記録中において改竄された 可能性があるか否力 ^判定するので、分散配置されてレ、るレ、ずれかの管理情報に対 する第三者による改竄を効果的且つ迅速に発見することができる。
[0044] また、前記読み出された管理情報には、当該管理情報処理装置においてのみ復 号可能な暗号化処理が施されており、当該暗号化処理された管理情報を復号する
復号手段を更に備える。
[0045] よって、管理情報が暗号化されており、その復号が管理情報処理装置においての み可能とされているので、管理情報の秘匿性を確実に維持することができる。
[0046] また、前記判定手段は、前記比較手段における比較の結果、他の過半数の前記管 理情報と異なる内容の前記管理情報があるとき、当該異なる内容の管理情報が改竄 された可能性があると判定するように構成される。
[0047] よって、他の過半数の管理情報と異なる内容の管理情報があるとき、当該管理情報 が改竄された可能性があると判定するので、簡易な処理で効率的に改竄された可能 性のある管理情報を判定することができる。
[0048] 上記の課題を解決するために、本発明の更に他の観点では、前記情報配信システ ムに含まれる前記配信元装置において実行される配信元処理方法であって、前記 配信先装置からの前記配信を要求する配信要求情報を受信する受信工程と、前記 配信要求情報を受信したとき、当該受信した配信要求情報に基づいて前記配信に 対応する前記管理情報を生成する生成工程と、前記生成された管理情報の保存先 となる前記管理情報記録装置を決定する決定工程と、前記決定された管理情報記 録装置に対して前記生成された管理情報を送信する送信工程と、を含む。
[0049] よって、配信元装置において、配信要求があつたときにその配信すべき配信要求 情報に対応する管理情報を生成し、更にその生成した管理情報の保存先となる管理 情報記録装置を決定した上でその管理情報記録装置に管理情報を送信するので、 配信要求があつたときに対応する管理情報を生成して各管理情報記録装置におい て配置しておくことにより、必要最小限の管理情報のみを効率的に分散配置して管 理すること力 Sできる。
[0050] 上記の課題を解決するために、本発明の更に他の観点では、前記情報配信システ ムに含まれる前記管理情報処理装置において実行される管理情報処理方法であつ て、同一の前記配信についての複数の前記管理情報を夫々記録している複数の前 記管理情報記録装置を検索する検索工程と、前記検索された各管理情報記録装置 から前記管理情報を前記読出手段により夫々読み出す読出工程と、前記読み出さ れた各管理情報の内容を比較する比較工程と、前記比較工程における比較結果に
基づいて、各前記管理情報の内容が改竄された可能性があるか否力を判定する判 定工程と、を含む。
[0051] よって、同一の配信についての複数の管理情報を読み出し、夫々の内容を相互に 比較し、その比較結果に基づいて各管理情報が夫々の記録中において改竄された 可能性があるか否力 ^判定するので、分散配置されてレ、るレ、ずれかの管理情報に対 する第三者による改竄を効果的且つ迅速に発見することができる。
[0052] 上記の課題を解決するために、本発明の更に他の観点では、前記情報配信システ ムに含まれる前記配信元装置に含まれる配信元コンピュータを、前記配信元装置と して機能させる。
[0053] よって、配信要求があつたときにその配信すべき配信要求情報に対応する管理情 報を生成し、更にその生成した管理情報の保存先となる管理情報記録装置を決定し た上でその管理情報記録装置に管理情報を送信するように当該配信元コンピュータ が機能するので、配信要求があつたときに対応する管理情報を生成して各管理情報 記録装置において配置しておくことにより、必要最小限の管理情報のみを効率的に 分散配置して管理することができる。
[0054] 上記の課題を解決するために、本発明の更に他の観点では、前記情報配信システ ムに含まれる前記管理情報処理装置に含まれる管理情報処理コンピュータを、前記 管理情報処理装置として機能させる。
[0055] よって、同一の配信についての複数の管理情報を読み出し、夫々の内容を相互に 比較し、その比較結果に基づいて各管理情報が夫々の記録中において改竄された 可能性があるか否かを判定するように当該管理情報処理コンピュータが機能するの で、分散配置されているいずれかの管理情報に対する第三者による改竄を効果的且 つ迅速に発見することができる。
[0056] 上記の課題を解決するために、本発明の更に他の観点では、前記配信元処理用 プログラムが前記配信元コンピュータにより読取可能に記録されている。
[0057] よって、当該配信元処理用プログラムを配信元コンピュータにより読み出して実行 することで、配信要求があつたときにその配信すべき配信要求情報に対応する管理 情報を生成し、更にその生成した管理情報の保存先となる管理情報記録装置を決
定した上でその管理情報記録装置に管理情報を送信するように当該配信元コンビュ ータが機能するので、配信要求があつたときに対応する管理情報を生成して各管理 情報記録装置において配置しておくことにより、必要最小限の管理情報のみを効率 的に分散配置して管理することができる。
[0058] 上記の課題を解決するために、本発明の更に他の観点では、前記管理情報処理 用プログラムが前記管理情報処理コンピュータにより読取可能に記録されている。
[0059] よって、当該管理情報処理用プログラムを管理情報処理コンピュータにより読み出 して実行することで、同一の配信についての複数の管理情報を読み出し、夫々の内 容を相互に比較し、その比較結果に基づいて各管理情報が夫々の記録中において 改竄された可能性があるか否力 ^判定するように当該管理情報処理用コンピュータ が機能するので、分散配置されているいずれかの管理情報に対する第三者による改 竄を効果的且つ迅速に発見することができる。
発明の効果
[0060] 本発明の一の観点によれば、配信情報の提供可否に関連する提供可否関連情報 であって夫々のノード装置に対応する提供可否関連情報 (例えば、課金を行うため に必要な課金情報が含まれている)が、他のノード装置に分散保存されるようにして おき、ネットワークを介して送信されてきた配信情報の提供要求を示す要求情報を受 信すると、受信された要求情報の送信元であるノード装置に対応する提供可否関連 情報を保存しているノード装置に対して、当該配信情報の提供可否を前記ネットヮー クを介して確認し、当該確認された提供可否に基づく回答情報を、要求情報の送信 元であるノード装置に対して、ネットワークを介して送信するように構成したので、配 信情報の提供可否に関する処理 (例えば課金に関する処理)をノード装置毎に分散 させ、処理の集中を回避することができる。
[0061] 本発明の更に他の観点によれば、秘匿性を備える管理情報を複数の管理情報記 録装置に分散させて夫々記録し、これらを管理情報処理装置により必要に応じてネ ットワークを介して読み出して処理するので、管理情報の処理が管理情報処理装置 に集中することを防止しつつ、当該管理情報を効率的に分散配置して管理すること ができる。
[0062] 従って、配信情報の配信のために必要な管理情報を効率的に分散配置してこれを 管理することが可能となる。
[0063] また、配信料に関連する課金情報を、複数の管理情報記憶装置におレ、て分散配 置しつつ効率的に管理することができる。
[0064] 更に、配信情報が配信元装置と配信先装置との間で相互に直接授受される情報 配信システムにおける管理情報の管理を、当該配信情報と同様にその管理情報を 分散配置させることで効率的に行うことができる。
[0065] 本発明の更に他の観点によれば、配信元装置において、配信要求があつたときに その配信すべき配信情報に対応する管理情報を生成し、更にその生成した管理情 報の保存先となる管理情報記録装置を決定した上でその管理情報記録装置に管理 情報を送信するので、配信要求があつたときに対応する管理情報を生成して各管理 情報記録装置において配置しておくことにより、必要最小限の管理情報のみを効率 的に分散配置して管理することができる。
[0066] 従って、配信情報の配信のために必要な管理情報を効率的に分散配置してこれを 管理することが可能となる。
[0067] また、配信情報の配信を要求した利用者を識別する識別情報に基づき、当該配信 情報の配信のための管理情報が生成されるので、秘匿性を有する当該管理情報の 内容が第三者に漏洩することを防止しつつ当該管理情報を分散配置することができ る。
[0068] 更に、管理情報処理装置においてのみ復号可能な暗号ィヒ処理が管理情報に施さ れた上で管理情報記録装置に送信されることとなるので、当該管理情報が上記識別 情報に基づいて生成されることと相まって、管理情報の秘匿性の保護をより確実に行 いつつ当該管理情報を分散配置することができる。
[0069] 更にまた、管理情報を管理情報記録装置に送信した後に当該送信した管理情報 を配信元装置内から消去するので、管理情報の保全性をより高めることができる。
[0070] 本発明の更に他の観点によれば、同一の配信についての複数の管理情報を読み 出し、夫々の内容を相互に比較し、その比較結果に基づいて各管理情報が夫々の 記録中において改竄された可能性があるか否かを判定するので、分散配置されてい
るいずれかの管理情報に対する第三者による改竄を効果的且つ迅速に発見すること ができる。
[0071] 従って、配信情報の配信のために必要な各管理情報に対する第三者による改竄を 効果的且つ迅速に発見して各管理情報の秘匿性を向上させつつ、当該各管理情報 を効率的に分散配置してこれを管理することが可能となる。
[0072] また、管理情報が暗号化されており、その復号が管理情報処理装置においてのみ 可能とされているので、管理情報の秘匿性を確実に維持することができる。
[0073] 更に、他の過半数の管理情報と異なる内容の管理情報があるとき、当該管理情報 が改竄された可能性があると判定するので、簡易な処理で効率的に改竄された可能 性のある管理情報を判定することができる。
[0074] 本発明の更に他の観点によれば、配信元装置において、配信要求があつたときに その配信すべき配信情報に対応する管理情報を生成し、更にその生成した管理情 報の保存先となる管理情報記録装置を決定した上でその管理情報記録装置に管理 情報を送信するので、配信要求があつたときに対応する管理情報を生成して各管理 情報記録装置において配置しておくことにより、必要最小限の管理情報のみを効率 的に分散配置して管理することができる。
[0075] 従って、配信情報の配信のために必要な管理情報を効率的に分散配置してこれを 管理することが可能となる。
[0076] 本発明の更に他の観点によれば、同一の配信についての複数の管理情報を読み 出し、夫々の内容を相互に比較し、その比較結果に基づいて各管理情報が夫々の 記録中において改竄された可能性があるか否かを判定するので、分散配置されてい るいずれかの管理情報に対する第三者による改竄を効果的且つ迅速に発見すること ができる。
[0077] 従って、配信情報の配信のために必要な各管理情報に対する第三者による改竄を 効果的且つ迅速に発見して各管理情報の秘匿性を向上させつつ、当該各管理情報 を効率的に分散配置してこれを管理することが可能となる。
[0078] 本発明の更に他の観点によれば、配信要求があつたときにその配信すべき配信情 報に対応する管理情報を生成し、更にその生成した管理情報の保存先となる管理情
報記録装置を決定した上でその管理情報記録装置に管理情報を送信するように当 該配信元コンピュータが機能するので、配信要求があつたときに対応する管理情報 を生成して各管理情報記録装置において配置しておくことにより、必要最小限の管 理情報のみを効率的に分散配置して管理することができる。
[0079] 従って、配信情報の配信のために必要な管理情報を効率的に分散配置してこれを 管理することが可能となる。
[0080] 本発明の更に他の観点によれば、同一の配信についての複数の管理情報を読み 出し、夫々の内容を相互に比較し、その比較結果に基づいて各管理情報が夫々の 記録中において改竄された可能性があるか否かを判定するように当該管理情報処理 コンピュータが機能するので、分散配置されてレ、るレ、ずれかの管理情報に対する第 三者による改竄を効果的且つ迅速に発見することができる。
[0081] 従って、配信情報の配信のために必要な各管理情報に対する第三者による改竄を 効果的且つ迅速に発見して各管理情報の秘匿性を向上させつつ、当該各管理情報 を効率的に分散配置してこれを管理することが可能となる。
[0082] 本発明の更に他の観点によれば、配信要求があつたときにその配信すべき配信情 報に対応する管理情報を生成し、更にその生成した管理情報の保存先となる管理情 報記録装置を決定した上でその管理情報記録装置に管理情報を送信するように当 該配信元コンピュータが機能するので、配信要求があつたときに対応する管理情報 を生成して各管理情報記録装置において配置しておくことにより、必要最小限の管 理情報のみを効率的に分散配置して管理することができる。
[0083] 従って、配信情報の配信のために必要な管理情報を効率的に分散配置してこれを 管理することが可能となる。
[0084] 本発明の更に他の観点によれば、同一の配信についての複数の管理情報を読み 出し、夫々の内容を相互に比較し、その比較結果に基づいて各管理情報が夫々の 記録中において改竄された可能性があるか否かを判定するように当該管理情報処理 用コンピュータが機能するので、分散配置されているいずれかの管理情報に対する 第三者による改竄を効果的且つ迅速に発見することができる。
[0085] 従って、配信情報の配信のために必要な各管理情報に対する第三者による改竄を
効果的且つ迅速に発見して各管理情報の秘匿性を向上させつつ、当該各管理情報 を効率的に分散配置してこれを管理することが可能となる。
図面の簡単な説明
[図 1]第 1実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様 の一例を示す図である。
[図 2]DHTのノード ID空間において、ユーザノードから送出されたクエリがルートノー ドまで転送される様子の一例を示す図である。
[図 3]DHTのノード ID空間において、ユーザノードからクエリが送出された後、当該 ユーザノードに対してコンテンツデータが送信される様子の一例を示す図である。
[図 4]ノード 1の概要構成例を示す図である。
[図 5]DHTのノード ID空間における前払い時の情報の流れの一例を示す図である。
[図 6]アクセス権管理ノードに保存されている提供可否関連情報の一例を示す図であ る。
[図 7]DHTのノード ID空間における購入時の情報の流れの一例を示す図である。
[図 8]DHTのノード ID空間における視聴時の情報の流れの一例を示す図である。
[図 9]DHTのノード ID空間における課金情報収集時の情報の流れの一例を示す図 である。
[図 10]メッセージ種別毎に含まれるパラメータ(情報)を示す図である。
[図 11]ユーザノードにおける制御部 11の処理を示すフローチャートである。
[図 12]中継ノード、ルートノード、及びコンテンツホルダノードにおける制御部 11の処 理を示すフローチャートである。
[図 13]図 12に示すステップ S14における処理の詳細(サブルーチン)を示すフローチ ヤートである。
[図 14]図 12に示すステップ S 20における処理の詳細(サブルーチン)を示すフローチ ヤートである。
[図 15]アクセス権管理ノードにおける制御部 11の処理を示すフローチャートである。
[図 16]図 15に示すステップ S 73における処理の詳細(サブルーチン)を示すフローチ ヤートである。
[図 17]図 15に示すステップ S 75における処理の詳細(サブルーチン)を示すフローチ ヤートである。
[図 18]図 15に示すステップ S 77における処理の詳細(サブルーチン)を示すフローチ ヤートである。
[図 19]会計ノードにおける制御部 11の処理を示すフローチャートである。
[図 20]図 19に示すステップ S143における処理の詳細(サブルーチン)を示すフロー チャートである。
[図 21]図 19に示すステップ S145における処理の詳細(サブルーチン)を示すフロー チャートである。
園 22]第 2実施形態に係るコンテンツ配信システムの概要を示す模式図(I)であり、 ( a)は当該コンテンツ配信システムにおける ID空間を示す模式図であり、 (b)はインデ ックス情報を例示する図である。
園 23]第 2実施形態に係るノードの概要構成をコンテンツホルダノード等について共 通的に示すブロック図である。
園 24]第 2実施形態に係るコンテンツ及び課金データの授受を模式的に例示する図 (I)である。
園 25]第 2実施形態に係るコンテンツ及び課金データの授受を模式的に例示する図 (Π)である。
園 26]第 2実施形態に係るコンテンツ及び課金データの授受を模式的に例示する図
(III)である。
園 27]第 2実施形態に係るコンテンツ及び課金データの授受を模式的に例示する図
(IV)である。
園 28]第 2実施形態に係るコンテンツ及び課金データの授受を模式的に例示する図
(V)である。
園 29]第 2実施形態に係るコンテンツ及び課金データの授受を模式的に例示する図
(VI)である。
園 30]第 2実施形態に係るコンテンツ及び課金データの授受を模式的に例示する図
(VII)である。
[図 31]第 2実施形態 .係るコンテンツの配信動作及び課金データの処理を示すフロ 一チャートである。
[図 32]第 2実施形態 .係る共有データの要求処理の詳細を示すフローチャートであ る。
[図 33]第 2実施形態 .係る共有データの保存処理の詳細を示すフローチャートであ る。
[図 34]第 2実施形態 .係る要求メッセージ Rの受信処理の詳細を示すフローチャート である。
[図 35]第 2実施形態 .係る課金データ生成処理の詳細を示すフローチャートである。
[図 36]第 2実施形態 .係る課金データ名の取得処理の詳細を示すフローチャートで ある。
[図 37]第 2実施形態 .係る課金データの具体例を示す図である。
[図 38]第 2実施形態 .係る課金処理の詳細を示すフローチャートである。
符号の説明
1 ノード装置
8 ネットワーク
11 制御部
12 曰 L 1"思 ρ|5
13 ノ ッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
19 ICカードリーダ部
20 通信部
21 入力部
22 ノくス
Rc、Rn リング
EX インデックス情報
T、 Α、 Β、 C、 D、 Ε、 F、 G、 Η、 I ノード
MG1、MG4 共有データ検索メッセージ
MG2、 MG5 返答メッセージ
MG3 公開メッセージ
MG6 削除メッセージ
K 課金データ
k 課金情報
S、 BS コンテンツ配信システム
発明を実施するための最良の形態
[0088] 以下、本発明の最良の実施形態を図面に基づいて説明する。
[0089] [1.第 1実施形態]
先ず、コンテンツ配信システムに対して本発明を適用した場合の実施形態につい て、図 1乃至図 21を用いて説明する。
[0090] [1. 1 コンテンツ配信システムの構成等]
始めに、図 1を参照して、情報配信システムとしてのコンテンツ配信システムの概要 構成等について説明する。
[0091] 図 1は、第 1実施形態に係るコンテンツ配信システムにおける各ノード装置の接続 態様の一例を示す図である。
[0092] 図 1の下部枠 101内に示すように、 IX (Internet eXchange) 3、 ISP (Internet Service
Provider) 4、 DSL (Digital Subscriber Line)回線事業者(の装置) 5、 FTTH (Fiber To The Home)回線事業者(の装置) 6、及び通信回線 (例えば、電話回線や光ケー ブル等) 7等によって、インターネット等のネットワーク(現実世界のネットワーク) 8が構 築されている。
[0093] コンテンツ配信システム Sは、このようなネットワーク 8を介して相互に接続された複 数のノード装置 la, lb, 1ο· · · 1χ, ly, 1ζ · · ·を備えて構成されることになり、ピアツ 一ピア方式のネットワークシステムとなっている。各ノード装置 la, lb, 1ο· · · 1χ, ly
, 1ζ· ·には、ノード装置を示す情報として固有の製造番号及び IP (Internet Protocol )アドレスが割り当てられている。なお、製造番号及び IPアドレスは、複数のノード装 置 1間で重複しないものである。また、以下の説明において、ノード装置 la, lb, lc- •· 1χ, ly, 1ζ· · ·を総称して「ノード 1」とレ、うものとする。
[0094] そして、このコンテンツ配信システム Sにおいては、特定のアルゴリズム、例えば、後 述する分散ハッシュテーブル(以下、 DHT (Distribute Hash Table)という)を利用し たアルゴリズムによって、図 1の上部枠 100内に示すような、オーバーレイネットワーク 9が構築されることになる。つまり、このオーバーレイネットワーク 9は、既存のネットヮ ーク 8を用いて形成された仮想的なリンクを構成するネットワークを意味する。
[0095] 本実施形態においては、 DHTを利用したアルゴリズムによって構築されたオーバ 一レイネットワーク 9を前提としており、このオーバーレイネットワーク 9上に配置された ノード 1を、オーバーレイネットワーク 9に参加しているノード 1という。オーバーレイネ ットワーク 9への参加は、未だ参加していないノード 1が、既に参加している任意のノ ード 1に対して参加要求を送ることによって行われる。
[0096] また、オーバーレイネットワーク 9に参加している各ノード 1は、ノード IDを有しており 、当該ノード IDは、例えば、 IPアドレスあるいは製造番号を共通のハッシュ関数 (例え ば、 SHA— 1等)によりハッシュ化した値(例えば、 bit長は 160bit)であり、一つの ID 空間に偏りなく分散して配置されることになる。このように共通のハッシュ関数により求 められた (ハッシュ化された)ノード IDは、当該 IPアドレスあるいは製造番号が異なれ ば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知 であるので詳しい説明を省略する。なお、本実施形態では、 IPアドレス(グローバル I Pアドレス)を共通のハッシュ関数によりハッシュ化した値をノード IDとする。
[0097] また、オーバーレイネットワーク 9に参加している各ノード 1は、夫々、 DHTを保持し ている。この DHTには、他のノード 1への経路情報、すなわち、ノード ID空間内で適 度に離れた他のノード 1のノード IDとその IPアドレス力 複数登録されている。このよ うな DHTは、ノード 1がオーバーレイネットワーク 9に参加する際に与えられることにな る。また、コンテンツ配信システム Sにおいては、ノード 1のオーバーレイネットワーク 9 への参加若しくは脱退が頻繁に行われるため、定期的に (例えば数十分から数時間
間隔で) DHTの更新が必要かどうかが確認されると共に、その更新情報が他のノー ド 1に DHTに登録されてレ、る経路を介して伝達されるようになってレ、る。これにより、 DHTを最新の状態に保つことが可能となる。なお、 DHTの生成方法については公 知であるので詳しレ、説明を省略する。
[0098] 更に、オーバーレイネットワーク 9に参加している複数のノード 1には、コンテンツ(例 えば、映画や音楽等)データが分散して保存 (格納)されている。例えば、ノード laに は、タイトルが XXXの映画のコンテンツデータが保存されており、一方、ノード lbには 、タイトルが YYYの映画のコンテンツデータが保存されるというように、互いに異なる コンテンツデータが、複数のノード 1に分散されて保存される。また、あるコンテンツデ ータは、 1つのノード 1に保存されているとは限らず、複数のノード 1に同じコンテンツ データが保存されうる。これらのコンテンツデータには、夫々、コンテンツ名(タイトル) 等が付与されている。
[0099] そして、このように分散保存されているコンテンツデータの所在を示す所在情報 (例 えば、コンテンツデータが保存されているノード 1の IPアドレス)もまた、オーバーレイ ネットワーク 9に参加している複数のノード 1に分散して保存されている。例えば、ある コンテンツデータのコンテンツ名(或いは、当該コンテンツデータの先頭数バイトでも 良レ、)力 上記ノード IDを得るときと共通のハッシュ関数によりハッシュ化され (つまり 、ノード 1の IPアドレスのハッシュ値と同一の ID空間に配置)、そのハッシュ値(当該 ハッシュ値がコンテンツ IDとなる)と最も近い(例えば、上位桁がより多く一致する)ノ ード IDを有するノード 1に、当該コンテンツデータの所在情報が保存されることになる 。つまり、同一のコンテンツデータ(コンテンツ IDが同一)が、夫々、複数のノード 1に 保存されている場合であっても、力、かるコンテンツデータの所在を示す所在情報 (複 数のノード 1の IPアドレス等)は、 1つのノード 1で管理することができる(なお、本実施 形態においては、 1のノード 1では、 1のコンテンツ IDに対応するコンテンツデータの 所在情報が保存される(つまり、ノード 1と上記所在情報とは 1対 1の関係にある)が、 これに限定されるものではなレ、)。
[0100] これにより、あるコンテンツデータを取得 (ダウンロード)したいユーザが使用するノ ード(以下、これを「ユーザノード」という) laは、当該コンテンツデータのコンテンツ ID
が付加されたクエリ(問合せ情報)を他のノード 1に対して送出することにより、当該コ ンテンッ IDが付加されたクエリは、レ、くつかのノード(以下、これを「中継ノード」という )を経由されて(各中継ノードにおいて、上記 DHTが参照されてコンテンツ IDが転送 される)そのコンテンツデータの所在を示す所在情報を保存しているノード(以下、こ れを「ノレートノード」という)lxまで迪り着き、当該ルートノード lxから当該所在情報を 取得 (受信)することが可能となり、取得した所在情報に基づいて上記コンテンツデー タを保存している例えばノード(以下、これを「コンテンツホルダノード」という) lbに接 続し、そこから当該コンテンツデータを取得 (受信)することが可能になる。なお、コン テンッ IDがルートノード lxに迪り着くまでの間に当該ルートノード lxと同じ所在情報 をキャッシュしているノード 1から当該所在情報を取得 (受信)されるようにしてもよい。
[0101] なお、各ユーザノードのユーザには、夫々、固有の第 1識別情報としてのユーザ登 録番号 (ユーザ認証番号)が割り当てられてレヽる。
[0102] 図 2は、 DHTのノード ID空間において、ユーザノードから送出されたクエリがルート ノードまで転送される様子の一例を示す図である。図 2の例において、各中継ノード は、受信したクエリに付加されたコンテンツ IDと、 DHTに登録されているノード IDとを 比較して、次に転送すべきノード 1を特定 (例えば、コンテンツ IDの上位数桁が一致 するノード IDに対応するノード 1の IPアドレスを特定)し、そこにクエリを転送すること になる。なお、ユーザノードからルートノードに至るまでの DHTを用いたクエリの転送 方法は公知であるので更なる詳しい説明を省略する。
[0103] ところで、上記において、ルートノード lxは、クエリを送信したユーザノード laに対し て所在情報を送信する構成を説明したが、本実施形態においては、ルートノード lx が所在情報をユーザノード laに返送するのではなぐクエリをさらにコンテンツホルダ ノード lbに転送し、当該コンテンツホルダノード lbは、ユーザノード(コンテンツを購 入、視聴するユーザのノード) laのアクセス権を管理するノード(以下、これを「ァクセ ス権管理ノード」という)に、アクセス権があるか否力、、言い換えれば、コンテンツデー タの提供 (購入又は視聴)が可能か否かを確認した上で、アクセス権があれば、当該 ユーザノード laに対してコンテンツデータを送信し、また、当該コンテンツデータの提 供に対する課金処理を行うことを特徴としている。なお、本実施形態においては、コ
ンテンッデータの提供に対するユーザへの課金方式は、前払レ、方式と後払レ、方式と が選択可能になっている。
[0104] 図 3は、 DHTのノード ID空間において、ユーザノードからクエリが送出された後、当 該ユーザノードに対してコンテンツデータが送信される様子の一例を示す図である( 情報の流れは図中 (1)から (7)の順)。図 3の例においては、コンテンツホルダノード lb がアクセス権管理ノード lyに対し、ユーザノード laのアクセス権があるか否かを確認 (図中 (4)〜(6) )した上で、当該ユーザノードに対してコンテンツデータを送信してレヽ る。
[0105] 上記アクセス権管理ノードは、夫々のユーザノード毎に存在し、夫々のユーザノー ド(言い換えれば、ユーザ)に対する上記コンテンツデータの提供可否に関連する提 供可否関連情報を保存、管理している。また、力、かる提供可否関連情報には、例え ばコンテンツデータの提供に対して課金を行うために必要な課金情報が含まれてい る。
[0106] そして、夫々のユーザノードに対応する提供可否関連情報は、例えば、各ユーザ に対して割り当てられたユーザ登録番号 (ユーザ認証番号)が上記ノード IDを得ると きと共通のハッシュ関数によりハッシュ化され(つまり、ノード 1の IPアドレスのハッシュ 値と同一の ID空間に配置)、そのハッシュ値(当該ハッシュ値がユーザ IDとなる)と最 も近い(例えば、上位桁がより多く一致する)ノード IDを有するノード 1 (つまり、ユーザ ノードとは異なる他のノード(アクセス権管理ノード))に保存されることになる。つまり、 各ユーザノードのユーザのユーザ IDは、互いに異なるので、アクセス権管理ノードも 、ユーザノード毎に異ならせることができる。従って、ユーザ毎の例えば課金処理等 が分散されるので、処理の集中を回避することができる。
[0107] また、ノード 1は、例えば電源断等により、コンテンツ配信システム Sから脱退する可 能性があるので、その対策として、ユーザ登録番号からユーザ IDを生成するときに、 当該ユーザ登録番号の末尾に文字や記号等を加え、更に加えた文字や記号等を少 しずつ変える(いわゆるソルトする)ことにより互いに異なる複数の第 2識別情報として のユーザ IDを生成し、夫々のユーザ IDと最も近レ、(例えば、上位桁がより多く一致す る)ノード IDを有する夫々のノード 1を、アクセス権管理ノードとすれば、更に好ましい
。すなわち、 1つのユーザノードに対応して、複数のユーザ IDに対応するアクセス権 管理ノードが存在することになるので、何れかのアクセス権管理ノードが脱退しても、 例えば課金処理等の実行性を高めることができる。
[0108] 次に、図 4を参照して、ノード 1の構成及び機能について説明する。
[0109] 図 4は、ノード 1の概要構成例を示す図である。
[0110] 各ノード 1は、図 4に示すように、演算機能を有する CPU,作業用 RAM,各種デー タ及びプログラムを記憶する ROM等から構成されたコンピュータとしての制御部 11と 、各種データ (例えば、コンテンツデータ、所在情報、提供可否関連情報等)及びプ ログラム等を記憶保存 (格納)するための HDD等から構成された記憶部 12と、受信さ れたコンテンツデータを一時蓄積するバッファメモリ 13と、コンテンツデータに含まれ るエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等を デコード (データ伸張や複号化等)するデコーダ部 14と、当該デコードされたビデオ データ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部 15と 、当該映像処理部 15から出力されたビデオ信号に基づき映像表示する CRT,液晶 ディスプレイ等の表示部 16と、上記デコードされたオーディオデータをアナログォー ディォ信号に D (Digital) /A (Analog)変換した後これをアンプにより増幅して出力す る音声処理部 17と、当該音声処理部 17から出力されたオーディオ信号を音波として 出力するスピーカ 18と、 ICカードを挿入する ICカードスロットを有し挿入された IC力 ードから情報 (例えば、ユーザ登録番号)を読み取るための ICカードリーダ部 19と、 ネットワーク 8を通じて他のノード 1との間の情報の通信制御を行うための通信部 20と 、 ユーザ力 の指示を受け付け当該指示に応じた指示信号を制御部 11に対して与 える入力部(例えば、キーボード、マウス、或いは、操作パネル等) 21と、を備えて構 成され、制御部 11、記憶部 12、 ノ ノファメモリ 13、デコーダ部 14、 ICカードリーダ部 19及び通信部 20は、バス 22を介して相互に接続されている。なお、 ICカードは、例 えばノード 1の購入時に、ユーザ登録によりユーザに配布される。また、各 ICカードに は、ユーザ登録順に連番で固有のユーザ登録番号が記録され、更に、課金方式 (前 払いにする力 或いは後払いにするかをユーザが選択して決定する)も記録され、ュ 一ザは、記録されたこれらの情報を変更できないようになっている。
[0111] そして、制御部 11は、 CPUが記憶部 12等に記憶されたプログラム(本発明の情報 送信処理プログラムを含む)を読み出して実行することにより、ノード 1全体を統括制 御すると共に、ユーザノード、中継ノード、ルートノード、コンテンツホルダノード、ァク セス権管理ノード、及び後述する会計ノードの何れか 1以上のノードとして機能するよ うになつている。つまり、ノード 1は、その場面によって、ユーザノードであったり、コン テンッホルダノードであったり、或いは、アクセス権管理ノードであったりするのである
[0112] 例えば、ノード 1がコンテンツホルダノードである場合、制御部 11は、本発明の要求 情報受信手段、提供可否確認手段、提供可否情報送信手段、及び修正要求情報 送信手段等として機能し、アクセス権管理ノードである場合、制御部 11は、確認情報 受信手段、提供可否判別手段、提供可否情報返信手段、修正要求情報受信手段、 及び提供可否関連情報修正手段等として機能することとなる。なお、これらの各手段 についての詳細は後述する。
[0113] なお、情報送信処理プログラムは、例えば、ネットワーク 8上の所定のサーバからダ ゥンロードされるようにしてもよいし、例えば、 CD— ROM等の記録媒体に記録されて 当該記録媒体のドライブを介して読み込まれるようにしてもよい。
[0114] [1. 2 コンテンツ配信システムの動作]
次に、コンテンツ配信システム Sの動作にっレ、て説明する。
[0115] 始めに、図 5乃至図 9等を参照して、コンテンツ配信システム Sにおける前払い時の 流れ、購入時の流れ、視聴時の流れ、課金情報収集時の流れについて、夫々、その 概略を説明する。
[0116] (i)前払い時の流れ
図 5は、 DHTのノード ID空間における前払い時の情報の流れの一例を示す図であ る。
[0117] 図 5に示すように、 DHTのノード ID空間には、ユーザノード la、コンテンツホルダノ ード lb、ルートノード lx、アクセス権管理ノード lyl〜lyl0、及び会計ノード lzが存 在、つまり、オーバーレイネットワーク 9に参加している。アクセス権管理ノード lyl〜l ylOは、夫々、ユーザノード laに対するコンテンツデータの提供可否に関連する提供
可否関連情報を保存、管理している。また、課金管理センター(システム) Cは、ォー バーレイネットワーク 9外にあって、ユーザからの入金確認やユーザノード l aのユー ザに対する料金請求を行う機能を有し、会計ノード lzとの間で情報の授受を行うよう になっている。会計ノード l zは、課金管理センター Cの管理者が、専用のノードを設 置するか、あるいは、オーバーレイネットワーク 9の中から任意のノードを 1つ選んで、 その役目を割り当てても良い。
[0118] そして、ユーザが例えば銀行振り込みなどで入金をして、その旨を課金管理センタ 一 Cに通知する(例えば、「ユーザ登録番号「10293956」の者力 15, 000円振り込 みました」、と通知される)。これに対して、課金管理センター Cが当該入金を確認す ると、当該課金管理センター Cは、その制御下にある会計ノード l zに対して、ユーザ 登録番号及び入金額を含む入金指示を示す入金指示情報を送信する。会計ノード l zは、当該入金指示情報を受信すると、当該ユーザ登録番号に基づいて互いに異 なる複数のユーザ IDを生成する。例えば、ユーザ登録番号の末尾に、 0, 1 , 2, 3, 4 , 5, 6, 7, 8, 9の 10種類の数字が付加された番号が作成され、夫々の番号が、上 記ノード IDを得るときと共通のハッシュ関数によりハッシュ化されて複数のユーザ ID が生成される。
[0119] 次いで、会計ノード lzは、生成された夫々のユーザ ID及び DHTに従って、ユーザ ID及び入金額を含む"前払い"メッセージを送信する。送信された"前払い"メッセ一 ジは、 DHTに従って中継ノードを転送されていき、夫々のユーザ IDと最も近い(例え ば、上位桁がより多く一致する)ノード IDを有する(つまり、夫々のユーザ IDに対応す る)アクセス権管理ノード lyl〜: lylOに到着する。
[0120] 上記"前払レ、"メッセージを受信した夫々のアクセス権管理ノード lyl〜lylOは、未 だ当該ユーザの提供可否関連情報が生成されていない場合には、当該"前払い"メ ッセージ中のユーザ ID及び入金額に従って提供可否関連情報を新たに生成し、一 方、既に当該ユーザの提供可否関連情報が生成されている場合には、当該"前払い "メッセージ中のユーザ ID及び入金額に従って提供可否関連情報を更新する。
[0121] 図 6は、アクセス権管理ノードに保存されている提供可否関連情報の一例を示す図 である。図 6の例では、提供可否関連情報 51には、課金対象ユーザのユーザ ID、課
金方式 (前払いと後払いが選択可能)、プール金額 (前払い金額)、及び後日請求金 額 (後払い金額)等の課金情報の他、視聴ログ、購入コンテンツリストが含まれている 。例えば、上記前払い時においては、 "前払い"メッセージ中の入金額がプール金額 (前払い金額)に加算されることになる。
[0122] なお、 1つのアクセス権管理ノードは、複数の課金対象ユーザの提供可否関連情 報を保存、管理することもあり得るので、提供可否関連情報はユーザ ID毎に管理さ れる。また、ユーザノード (課金対象となるノード 1)は、かかる提供可否関連情報を直 接操作 (例えば、情報の追加、変更等)することはできないようになっている。つまり、 ユーザが不正に課金情報を変更できないようになっている。
[0123] また、あるノード 1がオーバーレイネットワーク 9に参加するときは、例えば、 自己(自 ノード)のノード IDに最も近いノード IDを有するノード 1から DHTの一部を委譲される 、上記提供可否関連情報も、同様に委譲されるようにすれば望ましい。つまり、新 規参加するノード 1のノード IDに最も近いノード IDを有するノード 1が提供可否関連 情報を保存していた場合、その提供可否関連情報に対応するユーザ IDが新規参加 するノード 1のノード IDと既存のノード 1のノード IDとのどちらに近いかで、その提供 可否関連情報がどちらのノード 1に保存されるべきかが判断され、例えば、新規参加 するノード 1のノード IDの方がユーザ IDに近ければ提供可否関連情報が当該新規 参加するノード 1に委譲されることになる。
[0124] (ii)購入時の流れ
図 7は、 DHTのノード ID空間における購入時の情報の流れの一例を示す図である
[0125] 先ず、ユーザノード laは、コンテンツの電子カタログ(タイトルリスト:コンテンツタイト ルと、そのコンテンツ IDと、 1回視聴時の利用金額、購入時の料金、等の組を表にし たもの。上映時間、監督、俳優などの情報が付記されていても良い)を表示部 16に おける表示画面上に表示する。当該電子カタログは、例えば全てのノード 1に配信さ れており、ユーザはユーザノード la上で閲覧することができる。なお、ここで言ってい る「購入」は、自ノード内にコンテンツのコピーを作ることではなぐネットワーク上にあ るコンテンツを、無条件で (課金されることなく)視聴できる権利を無期限に得る、とい
う意味である。初めに一定金額を支払ってこの権利を得れば、いわゆる「購入して所 有している」のと同じことになる。
[0126] そして、ユーザが、上記表示された電子カタログから、購入を希望するコンテンツを 入力部 21を操作して選択して"購入ボタン"を押下すると、ユーザノード l aは、選択さ れたコンテンツに対応するコンテンツ ID及び DHTに従って、コンテンツ ID、 自己(当 該ユーザノード l a)の IPアドレス、ユーザ登録番号及び課金方式を含む"購入申込" メッセージ (コンテンツデータの無期限かつ無条件の視聴権利(すなわち購入)要求 を示す要求情報)を送信する。送信された"購入申込"メッセージは、 DHTに従って 中継ノードを転送されていき、当該コンテンツ IDと最も近レ、(例えば、上位桁がより多 く一致する)ノード IDを有するルートノード lxに到着する。そして、当該"購入申込"メ ッセージを受信したルートノード lxは、当該"購入申込"メッセージを、当該コンテンツ IDに対応するコンテンツデータを保存しているコンテンツホルダノード lbに転送する
[0127] コンテンツホルダノード lbは、ルートノード lxからネットワーク 8を介して転送(送信) されてきた"購入申込"メッセージを受信する。次いで、コンテンツホルダノード lbは、 受信された"購入申込"メッセージの送信元であるユーザノード l aに対応する提供可 否関連情報を保存しているアクセス権管理ノード lyl〜: lylOに対して、当該コンテン ッデータの提供可否をネットワーク 10を介して確認する。例えば、 "購入申込"メッセ ージに含まれるユーザ登録番号に基づいて互いに異なる複数 (ここでは、 10個)の ユーザ IDを生成 (例えば、上記会計ノード lzと同様、ユーザ登録番号の末尾に、 0, 1 , 2, 3, 4, 5, 6 , 7, 8, 9の 10種類の数字が付加された番号を作成し、夫々の番号 力 上記ノード IDを得るときと共通のハッシュ関数によりハッシュ化して複数のユーザ IDを生成)、夫々のユーザ IDに対応する夫々のアクセス権管理ノード lyl〜lylOに 対して(つまり、ユーザ ID及び DHTに従って)、コンテンツデータの提供可否を確認 するための確認情報としての"購入登録"メッセージ(コンテンツ ID、ユーザ ID、コン テンッホルダノード lbの IPアドレス、及び課金方式を含む)を送信することにより確認 する。送信された"購入登録"メッセージは、 DHTに従って中継ノードを転送されてい き、夫々のユーザ IDと最も近い(例えば、上位桁がより多く一致する)ノード IDを有す
る(つまり、夫々のユーザ IDに対応する)アクセス権管理ノード lyl〜: lylOに到着す る。
[0128] 夫々のアクセス権管理ノード lyl〜: lylOは、コンテンツデータの保存元であるコン テンッホルダノード lbから中継ノード及びネットワーク 10を介して送信されてきた"購 入登録"メッセージを受信すると、 "購入登録"メッセージに関わるコンテンツデータ( つまり、当該コンテンツ IDに対応するコンテンツデータ)の無期限かつ無条件の視聴 権利の獲得 (すなわち、購入)が可能か否かを当該ユーザ IDに対応する提供可否関 連情報を参照して判別する。例えば、 "購入登録"メッセージ中の課金方式が前払い の場合は、提供可否関連情報に含まれるプール金額 (前払い金額)の残高から当該 コンテンツ IDに対応するコンテンツデータの価格(コンテンツの電子カタログを参照 する)が引かれ、マイナスになれば購入不可と判別され、マイナスにならなければ購 入可能と判別される。また、 "購入登録"メッセージ中の課金方式が後払いの場合は 、購入可能と判別される。
[0129] そして、夫々のアクセス権管理ノード lyl〜: lylOは、前払いであって購入可能(購 入成功)と判別した場合、当該ユーザ IDに対応する提供可否関連情報に含まれるプ ール金額(前払い金額)の残高から当該コンテンツ IDに対応するコンテンツデータの 価格が引かれた金額をプール金額 (前払い金額)として更新し、一方、前払いであつ て購入不可と判別した場合、プール金額 (前払い金額)の更新を行わない。また、夫 々のアクセス権管理ノード lyl〜: lylOは、後払いであって購入可能と判別した場合、 提供可否関連情報に含まれる後日請求金額 (後払い金額)に当該コンテンツデータ の価格を加算し、購入コンテンツリストにコンテンツ ID等を追加する更新を行う。なお 、ユーザ IDに対応する提供可否関連情報が未だ作成されていない場合には、このタ イミングで作成されることになる。
[0130] 次いで、夫々のアクセス権管理ノード lyl〜: lylOは、 "購入登録"メッセージを送信 したコンテンツホルダノード lbに対して、上記判別された購入可否(購入可能或いは 不可)及び課金情報 (例えば、プール金額 (前払い金額)又は後日請求金額 (後払い 金額)を含む)を含む"購入可否 (購入成否) "メッセージをネットワーク 10を介して返 信する。なお、アクセス権管理ノードが 1つである場合には、 "購入可否 (購入成否)"
メッセージは、アクセス権管理ノードからネットワーク 10を介して直接ユーザノード la に送信されるように構成しても良レ、。
[0131] そして、コンテンツホルダノード lbは、上記"購入登録"メッセージに応じて夫々のァ クセス権管理ノード lyl〜: lylOから返信されてきた"購入可否"メッセージを受信し、 これによつて購入可否を確認し、続いて、 "購入申込"メッセージの送信元であるユー ザノード laに対して、当該確認された購入可否に基づく回答情報をネットワーク 10を 介して送信することになる。
[0132] ところで、正常ならば 10個のアクセス権管理ノード lyl〜: lylOから、 "購入可否"メッ セージがコンテンツホルダノード lbに返信されて 10個とも同じ回答が返ってくる箬で あるが、何れかのアクセス権管理ノード lyl〜lylOが、電源断や通信事故等により、 一時的にコンテンツ配信システム Sから脱退していたことにより、 10個の夫々のァクセ ス権管理ノード lyl〜: lylOが有する提供可否関連情報が食い違う場合があり得る。 かかる場合、コンテンツホルダノード lbは、上記確認された複数の購入可否に基づ いて (例えば、多数決により)、当該コンテンツデータの購入可否を決定、例えば過半 数以上のアクセス権管理ノードが購入可能とした場合、購入可能 (購入成功)と決定 し、当該購入可能及び課金情報を含む"購入可否"メッセージを、ユーザノード laに 対してネットワーク 10を介して送信する。一方、例えば過半数以上のアクセス権管理 ノードが購入不可とした場合、コンテンツホルダノード lbは、購入不可 (購入失敗)と 決定し、当該購入不可及び課金情報を含む"購入可否"メッセージを、ユーザノード 1 aに対してネットワーク 10を介して送信する。
[0133] そして、上記決定された提供可否 (最も多い回答:購入可能又は購入不可)と異な る提供可否に基づく回答情報(回答)を返信したアクセス権管理ノードに対しては、 提供可否関連情報の修正が行われる。具体的には、アクセス権管理ノード lyl〜: ly 10からの"購入可否"メッセージには、現状の課金情報が含まれるので、多数決で選 択されたアクセス権管理ノードの課金情報を正当とみなし(同じ購入可能 (購入成功) を返信した中でも、課金情報が食い違うこともあり得るが、その場合も、最も一致する ものが多レ、課金情報を正当とみなし)、正当とみなされなレ、課金情報を含む"購入可 否"メッセージを返信したアクセス権管理ノードに対して、提供可否関連情報の修正
要求を示す修正要求情報として、ユーザ ID及び修正課金情報 (正当とみなされた課 金情報)を含む"情報修正"メッセージを、上述したようにユーザ ID及び DHTに従つ てネットワーク 10を介して送信する。そして、 "情報修正"メッセージを受信したァクセ ス権管理ノードは、 "情報修正"メッセージ中の修正課金情報に基づいて、提供可否 関連情報に含まれる課金情報を修正(当該課金情報を修正課金情報に更新)する。 これにより、アクセス権管理ノード lyl〜: lylOの相互間で課金情報の食い違いが発 生したとしても、同じになるように修正することができる。
[0134] (iii)視聴時の流れ
図 8は、 DHTのノード ID空間における視聴時の情報の流れの一例を示す図である 。なお、ここで言っている「視聴」は、いわゆるペイパービュー (Pay per view)方式の課 金を行うことを想定しており、一回ごとの視聴に、支払い金額が発生する。
[0135] 先ず、上記購入時の流れと同様、ユーザが、表示部 16における表示画面上に表 示された電子カタログから、視聴を希望するコンテンツを入力部 21を操作して選択し で'視聴ボタン"を押下すると、ユーザノード laは、選択されたコンテンツに対応する コンテンツ ID及び DHTに従って、コンテンツ ID、 自己(当該ユーザノード la)の IPァ ドレス、ユーザ登録番号及び課金方式を含む"視聴要求"メッセージ (コンテンツデー タの提供 (ここでは、視聴)要求を示す要求情報)を送信する。送信された"視聴要求 "メッセージは、 DHTに従って中継ノードを転送されていき、当該コンテンツ IDと最も 近い(例えば、上位桁がより多く一致する)ノード IDを有するルートノード lxに到着す る。そして、当該"視聴要求"メッセージを受信したルートノード lxは、当該"視聴要求 "メッセージを、当該コンテンツ IDに対応するコンテンツデータを保存しているコンテ ンッホルダノード lbに転送する。
[0136] コンテンツホルダノード lbは、ルートノード lxからネットワーク 8を介して転送(送信) されてきた"視聴要求"メッセージを受信する。次いで、コンテンツホルダノード lbは、 受信された"視聴要求"メッセージの送信元であるユーザノード laに対応する提供可 否関連情報を保存しているアクセス権管理ノード lyl〜: lylOに対して、当該コンテン ッデータの提供可否をネットワーク 10を介して確認する。例えば、 "視聴要求"メッセ ージに含まれるユーザ登録番号に基づいて互いに異なる複数 (ここでは、 10個)の
ユーザ IDを生成(ユーザ IDの生成方法は、購入時の流れと同様)、夫々のユーザ ID に対応する夫々のアクセス権管理ノード lyl〜: lylOに対して(つまり、ユーザ ID及び DHTに従って)、コンテンツデータの提供可否を確認するための確認情報としての" 視聴確認"メッセージ(コンテンツ ID、ユーザ ID、コンテンツホルダノード lbの IPアド レス、及び課金方式を含む)を送信することにより確認する。送信された"視聴確認"メ ッセージは、 DHTに従って中継ノードを転送されていき、夫々のユーザ IDと最も近 レ、(例えば、上位桁がより多く一致する)ノード IDを有する(つまり、夫々のユーザ ID に対応する)アクセス権管理ノード lyl〜: ly 10に到着する。
[0137] 夫々のアクセス権管理ノード lyl〜lyl0は、コンテンツデータの保存元であるコン テンッホルダノード lbから中継ノード及びネットワーク 10を介して送信されてきた"視 聴確認"メッセージを受信すると、 "視聴確認"メッセージに関わるコンテンツデータ( つまり、当該コンテンツ IDに対応するコンテンツデータ)の提供 (ここでは、視聴)が可 能か否かを当該ユーザ IDに対応する提供可否関連情報を参照して判別する。例え ば、 "視聴確認"メッセージ中のコンテンツ ID力 提供可否関連情報中の購入コンテ ンッリストに含まれている場合は、視聴可能と判別される。一方、 "視聴確認"メッセ一 ジ中のコンテンツ ID力 提供可否関連情報中の購入コンテンツリストに含まれていな い場合は、 "視聴確認"メッセージ中の課金方式が確認され、前払いであれば、提供 可否関連情報に含まれるプール金額(前払い金額)の残高から当該コンテンツ IDに 対応するコンテンツデータの価格(コンテンツの電子カタログを参照する)が引かれ、 マイナスになれば視聴不可と判別され、マイナスにならなければ視聴可能と判別され る。また、 "視聴確認"メッセージ中のコンテンツ IDが、提供可否関連情報中の購入コ ンテンッリストに含まれていない場合であって、 "視聴確認"メッセージ中の課金方式 が後払レ、であれば、視聴可能と判別される。
[0138] そして、夫々のアクセス権管理ノード lyl〜: lylOは、コンテンツ IDが購入コンテンツ リストに含まれておらず、かつ、前払いであって視聴可能と判別した場合、当該ユー ザ IDに対応する提供可否関連情報に含まれるプール金額 (前払い金額)の残高から 当該コンテンツ IDに対応するコンテンツデータの価格が引かれた金額をプール金額 (前払い金額)として更新し、一方、前払いであって視聴不可と判別した場合、プール
金額(前払い金額)の更新を行わない。また、夫々のアクセス権管理ノード lyl〜lyl 0は、コンテンツ IDが購入コンテンツリストに含まれておらず、かつ、後払いであって 視聴可能と判別した場合、提供可否関連情報に含まれる後日請求金額 (後払い金 額)に当該コンテンツデータの価格を加算する更新を行う。なお、ユーザ IDに対応す る提供可否関連情報が未だ作成されていない場合には、このタイミングで作成される ことになる。
[0139] 次いで、夫々のアクセス権管理ノード lyl〜: lylOは、 "視聴確認"メッセージを送信 したコンテンツホルダノード lbに対して、上記判別された視聴可否(視聴可能或いは 不可)及び課金情報 (例えば、プール金額 (前払い金額)又は後日請求金額 (後払い 金額)を含む)を含む"視聴可否"メッセージをネットワーク 10を介して返信する。なお 、アクセス権管理ノードが 1つである場合には、 "視聴可否"メッセージは、アクセス権 管理ノードからネットワーク: L0を介して直接ユーザノード: に送信されるように構成し ても良い。
[0140] そして、コンテンツホルダノード lbは、上記"視聴確認"メッセージに応じて夫々のァ クセス権管理ノード lyl〜: lylOから返信されてきた"視聴可否"メッセージを受信し、 これによつて視聴可否を確認し、続いて、 "視聴要求"メッセージの送信元であるユー ザノード laに対して、当該確認された視聴可否に基づく回答情報を含むコンテンツ データをネットワーク 10を介して送信することになる。
[0141] ところで、正常ならば 10個のアクセス権管理ノード lyl〜: lylOから、 "視聴可否"メッ セージがコンテンツホルダノード lbに返信されて 10個とも同じ回答が返ってくる害で あるが、何れかのアクセス権管理ノード lyl〜lylOが、電源断や通信事故等により、 一時的にコンテンツ配信システム Sから脱退していたことにより、 10個の夫々のァクセ ス権管理ノード lyl〜: lylOが有する提供可否関連情報が食い違う場合があり得る。 かかる場合、コンテンツホルダノード lbは、上記確認された複数の視聴可否に基づ いて (例えば、多数決により)、当該コンテンツデータの視聴可否を決定、例えば過半 数以上のアクセス権管理ノードが視聴可能とした場合、視聴可能と決定し、当該視聴 可能及び課金情報を含む"視聴可否"メッセージを含むコンテンツデータを、ユーザ ノード laに対してネットワーク 10を介して送信する。一方、例えば過半数以上のァク
セス権管理ノードが視聴不可とした場合、コンテンツホルダノード lbは、視聴不可と 決定し、当該視聴不可及び課金情報を含む"視聴可否"メッセージを含むコンテンツ データを、ユーザノード laに対してネットワーク 10を介して送信する。
[0142] そして、上記決定された提供可否 (最も多い回答:視聴可能又は視聴不可)と異な る提供可否に基づく回答情報(回答)を返信したアクセス権管理ノードに対しては、 提供可否関連情報の修正が行われる。具体的には、アクセス権管理ノード lyl〜: ly 10からの"視聴可否"メッセージには、現状の課金情報が含まれるので、多数決で選 択されたアクセス権管理ノードの課金情報を正当とみなし(同じ視聴可能を返信した 中でも、課金情報が食い違うこともあり得るが、その場合も、最も一致するものが多い 課金情報を正当とみなし)、正当とみなされない課金情報を含む"視聴可否"メッセ一 ジを返信したアクセス権管理ノードに対して、提供可否関連情報の修正要求を示す 修正要求情報として、ユーザ ID及び修正課金情報 (正当とみなされた課金情報)を 含む"情報修正"メッセージを、上述したようにユーザ ID及び DHTに従ってネットヮ ーク 10を介して送信する。そして、 "情報修正"メッセージを受信したアクセス権管理 ノードは、 "情報修正"メッセージ中の修正課金情報に基づレ、て、提供可否関連情報 に含まれる課金情報を修正(当該課金情報を修正課金情報に更新)する。これにより 、アクセス権管理ノード lyl〜: lylOの相互間で課金情報の食い違いが発生したとし ても、同じになるように修正することができる。
[0143] (iv)課金情報収集時の流れ
図 9は、 DHTのノード ID空間における課金情報収集時の情報の流れの一例を示 す図である。
[0144] 先ず、課金管理センター Cは、一定期間(例えば、月に一回程度)毎に、その制御 下にある会計ノード lzに対して、ユーザ登録番号を含む課金情報 (後日請求金額) 収集指示を示す請求金額収集指示情報を送信する。会計ノード; Lzは、当該請求金 額収集指示情報を受信すると、当該ユーザ登録番号に基づいて互いに異なる複数 のユーザ IDを生成する。例えば、ユーザ登録番号の末尾に、 0, 1 , 2, 3, 4, 5, 6, 7, 8, 9の 10種類の数字が付加された番号が作成され、夫々の番号が、上記ノード I Dを得るときと共通のハッシュ関数によりハッシュ化されて複数のユーザ IDが生成さ
れる。なお、課金管理センター Cは、全てのユーザノードに対応するユーザ登録番号 を含む請求金額収集指示情報を会計ノード lzに対して送信することになるが、各ュ 一ザノードに対応する請求金額収集指示情報を、所定時間間隔 (例えば、 1時間)毎 に会計ノード lzに対して送信するようにすれば、ネットワーク負荷を低減できるので、 好ましい。
[0145] 以下の説明では、 1つのユーザノード laに対応するユーザ登録番号を含む請求金 額収集指示を代表して説明する。
[0146] 会計ノード lzは、複数のユーザ IDを生成すると、夫々のユーザ IDに対応する夫々 のアクセス権管理ノード lyl〜lyl0に対して(つまり、ユーザ ID及び DHTに従って) 、ユーザ ID及び会計ノード laの IPアドレスを含む"課金収集"メッセージを送信する。 送信された"課金収集"メッセージは、 DHTに従って中継ノードを転送されていき、夫 々のユーザ IDと最も近い(例えば、上位桁がより多く一致する)ノード IDを有する(つ まり、夫々のユーザ IDに対応する)アクセス権管理ノード lyl〜: lylOに到着する。
[0147] 上記"課金収集"メッセージを受信した夫々のアクセス権管理ノード lyl〜: lylOは、 提供可否関連情報力 後日請求金額 (後払レ、金額)を取得し、当該後日請求金額及 びユーザ IDを含む"請求額回答"メッセージを会計ノード lzに対して送信(返信)する と共に、提供可否関連情報に含まれる後日請求金額 (後払い金額)を" 0"に更新す る (戻す)。
[0148] そして、会計ノード lzは、夫々のアクセス権管理ノード lyl〜lyl0から返信されてき た"請求額回答"メッセージを受信すると、当該"請求額回答"メッセージに含まれる後 日請求金額を示す情報を課金管理センター Cに対して送信する。これにより、課金管 理センター Cからユーザに対して後日請求金額の請求が行われることになる。
[0149] ところで、正常ならば 10個のアクセス権管理ノード lyl〜: lylOから、 "請求額回答" メッセージが会計ノード lzに返信されて 10個とも同じ回答が返ってくる箬であるが、 何れかのアクセス権管理ノード lyl〜: lylOが、電源断や通信事故等により、一時的 にコンテンツ配信システム Sから脱退していたことにより、 10個の夫々のアクセス権管 理ノード lyl〜: lylOが有する後日請求金額が食い違う場合があり得る。力、かる場合、 会計ノード lzは、例えば、多数決により当該請求金額 (例えば、最も一致するものが
多い請求金額)を決定し、決定された請求金額を示す情報を課金管理センター cに 対して送信する。
[0150] 次に、図 10乃至図 21等を参照して、コンテンツ配信システム Sにおける各ノードに おける処理にっレ、て説明する。
[0151] なお、図 10は、上述したメッセージ種別毎に含まれるパラメータ(情報)を示す図で ある。
[0152] (V)ユーザノードにおける処理
図 11は、ユーザノードにおける制御部 11の処理を示すフローチャートである。
[0153] 図 11の処理は、例えば表示部 16における表示画面上に電子カタログが表示され ている状態において、入力部 21におけるボタンが押下されたときに実行され、制御 部 11は、先ず、押下されたボタンの状態を読み取り(ステップ S1)、 "購入ボタン"であ るか否かを判別し (ステップ S2)、 "購入ボタン"である場合には (ステップ S2 :Y (YES ) )、選択されたコンテンツに対応するコンテンツ ID (例えば、当該コンテンツ名をノー ド IDを得るときと共通のハッシュ関数によりハッシュ化して得る)と、 ICカードリーダ部 19により ICカードから読み取られたユーザ登録番号及び課金方式と、更には、当該 ユーザノード laの IPアドレスと、を取得し、これらの情報が含まれる"購入申込"メッセ ージを生成して、これを DHTに従ってルートノード lxに向けて通信部 20等を介して 送信する(ステップ S3)。これに対してコンテンツホルダノード lbから送信されてきた" 購入可否"メッセージを制御部 11は受信し (ステップ S4)、当該メッセージに含まれる 購入可否の結果を表示部 16に表示する (ステップ S5)。
[0154] 一方、 "購入ボタン"でない場合には (ステップ S2 : N (NO) )、制御部 11は、 "視聴 ボタン''であるか否かを判別し (ステップ S6)、 "視聴ボタン"である場合には (ステップ S6 :Y)、選択されたコンテンツに対応するコンテンツ IDと、 ICカードリーダ部 19によ り ICカードから読み取られたユーザ登録番号及び課金方式と、更には、当該ユーザ ノード laの IPアドレスと、を取得し、これらの情報が含まれる"視聴要求"メッセージを 生成して、これを DHTに従ってルートノード lxに向けて通信部 20等を介して送信す る(ステップ S7)。これに対してコンテンツホルダノード lbから送信(例えば、ストリーミ ング配信)されてきた"視聴可否"メッセージを含むコンテンツデータを制御部 11は受
信し (ステップ S8)、当該コンテンツデータをバッファメモリ 13に蓄積しつつ、映像処 理部 15を介して表示部 16に表示(視聴可の場合、コンテンツデータに含まれる視聴 可を示す情報及び当該コンテンツに係るビデオデータ等を表示、視聴不可の場合、 コンテンツデータに含まれる視聴不可を示す情報のみを表示)し、音声処理部 17を 介してスピーカ 18から出力する(ステップ S9)。
[0155] なお、図 11に示すステップ S10では、制御部 11が実行するその他の処理(例えば 、その他のボタンの判別処理)が行われる力 本発明と直接の関係がないので、説明 を省略する。
[0156] (vi)中継ノード、ルートノード、及びコンテンツホルダノードにおける処理
図 12は、中継ノード、ルートノード、及びコンテンツホルダノードにおける制御部 11 の処理を示すフローチャートであり、図 13は、図 12に示すステップ S14における処理 の詳細(サブルーチン)を示すフローチャートであり、図 14は、図 12に示すステップ S 20における処理の詳細(サブルーチン)を示すフローチャートである。
[0157] 図 12に示す処理は、メッセージ受信イベントが発生(送信されてきたメッセージを、 制御部 11が通信部 20を介して受信)したときに実行され、制御部 11は、先ず、受信 したメッセージを読み取り(ステップ S11)、 "視聴要求"メッセージであるか否かを判 別し (ステップ S 12)、 "視聴要求"メッセージである(つまり、制御部 11が要求情報受 信手段として受信した)場合には (ステップ S12 :Y)、 自己がコンテンツホルダノード 1 bであるか否かを判別する(ステップ S13)。 自己がコンテンツホルダノード lbであるか 否かは、例えば、当該メッセージに含まれるコンテンツ ID力 自己の記憶部 12に記 憶しているコンテンツデータに対応するものであるか否かにより判別される。
[0158] そして、 自己がコンテンツホルダノード lbである場合には(ステップ S13 :Y)、ステツ プ S14に移行され、コンテンツホルダノード lbでない場合には(ステップ S13 : N)、ス テツプ S15に移行される。なお、ステップ S14の"視聴要求"メッセージの処理の詳細 (図 13)は後述する。
[0159] ステップ S15では、制御部 11は、 自己がルートノード lxであるか否かを判別する。
自己がルートノード lxであるか否かは、例えば、当該メッセージに含まれるコンテンツ IDに自己のノード IDが最も近いか否か(DHTをみて、他に転送すべきノードがない
か否か)により判別される。
[0160] そして、 自己がルートノード lxでない場合 (つまり、中継ノードである場合)には (ス テツプ S15 : N)、制御部 11は、 "視聴要求"メッセージを、 DHTに従ってルートノード lxに向けて通信部 20等を介して送信する (ステップ S16)。
[0161] 一方、 自己がルートノード lxである場合には (ステップ S15 :Y)、制御部 11は、 "視 聴要求"メッセージを、コンテンツホルダノード lbの IPアドレスに従って通信部 20等を 介してコンテンツホルダノード lbに送信する(ステップ S17)。なお、ルートノード lxは 、コンテンツホルダノード lbの IPアドレスを記憶部 12に記憶保存している所在情報か ら取得することになる。
[0162] 上記ステップ S 12におレ、て視聴要求"メッセージでなレ、場合には(ステップ S 12: N) 、制御部 11は、 "購入申込"メッセージであるか否かを判別し (ステップ S18)、 "購入 申込"メッセージである場合には(ステップ S18 : Y)、上記ステップ S13と同様、 自己 力 Sコンテンツホルダノード lbであるか否かを判別する(ステップ S19)。
[0163] そして、 自己がコンテンツホルダノード lbである場合には(ステップ S19 :Y)、ステツ プ S20に移行され、コンテンツホルダノード lbでない場合には(ステップ S19 : N)、ス テツプ S21に移行される。なお、ステップ S20の"購入申込"メッセージの処理の詳細 (図 14)は後述する。
[0164] ステップ S21では、制御部 11は、上記ステップ S15と同様、 自己がルートノード lx であるか否かを判別する。そして、 自己がルートノード lxでない場合(つまり、中継ノ ードである場合)には (ステップ S21 : N)、制御部 11は、 "購入申込"メッセージを、 D HTに従ってルートノード lxに向けて通信部 20等を介して送信する (ステップ S22)。
[0165] 一方、 自己がルートノード lxである場合には (ステップ S21 :Y)、制御部 11は、 "購 入申込"メッセージを、コンテンツホルダノード lbの IPアドレスに従って通信部 20等を 介してコンテンツホルダノード lbに送信する(ステップ S23)。
[0166] なお、上記ステップ S15又はステップ S21において自己がルートノード lxである場 合に、当該メッセージに含まれるコンテンツ IDに対応するコンテンツデータを保存し ている複数のコンテンツホルダノードの IPアドレスを認識している場合には、そのうち 1つのコンテンツホルダノード lbを選定 (例えば、ランダムに選定)してこれに転送す
ることになる。
[0167] また、図 12に示すステップ S24では、例えば、図 15に示すアクセス権管理ノードに おける制御部 11のメッセージ処理が行われる。
[0168] 次に、図 13に示す処理において、制御部 11は、 "視聴要求"メッセージ中のユーザ 登録番号に基づいて (例えば、上述したようにユーザ登録番号をハッシュ化して)互 レ、に異なる複数(ここでは、 10個)のユーザ IDを生成する(ステップ S31)。
[0169] 次いで、制御部 11は、アクセス権管理ノードの数を示す" n"の値を初期化("1"に 設定)し (ステップ S32)、コンテンツデータの視聴可否を確認するための確認情報と しての"視聴確認' 'メッセージを生成し、これを DHTに従って n番目のユーザ IDに対 応するアクセス権管理ノード lynに向けて通信部 20等を介して送信する(ステップ S3 3)。これに対してアクセス権管理ノード lynから送信(返信)されてきた"視聴可否"メ ッセージを受信し (ステップ S34)、記憶部 12に記憶する。
[0170] 次いで、制御部 11は、上記" n"を "1 "だけインクリメントし (ステップ S35)、当該" n" が" 10"より大きいか否かを判別し (ステップ S36)、 "n > 10"でない場合には(ステツ プ S36 : N)、ステップ S33に戻り同様の処理を繰り返す。こうして、制御部 11は、提 供可否確認手段として、アクセス権管理ノード lyl〜: lylOから夫々の"視聴可否"メッ セージを取得し、当該コンテンツデータの視聴可否を確認することになる。
[0171] 一方、 "n> 10"である場合には(ステップ S36 : Y)、制御部 11は、全ての"視聴可 否"メッセージに含まれる"視聴可否"を集計し、例えばその過半数が視聴可能である か否かを判別し (ステップ S37)、過半数が視聴可能である場合には (ステップ S37 : Y)、提供可否確認手段として視聴可能と決定し、当該視聴可能及び課金情報を含 む"視聴可否"メッセージ (確認された提供可否に基づく回答情報)を含むコンテンツ データ(なお、確認された提供可否に基づく回答情報がコンテンツデータであっても 良い)を、提供可否情報送信手段として、ユーザノード laの IPアドレスに従って通信 部 20等を介してユーザノード laに送信 (例えば、ストリーミング配信)する(ステップ S 38)。続いて、制御部 11は、上記"視聴可否"メッセージに含まれる課金情報のうち 最も一致する数が多い課金情報を修正課金情報として選定し、修正要求情報送信 手段として、当該修正課金情報及びユーザ IDを含む"情報修正"メッセージを生成し
、これを DHTに従って視聴不可を返信したアクセス権管理ノードに向けて通信部 20 等を介して送信し (ステップ S39)、図 12に示す処理に戻る。
[0172] 一方、ステップ S37において、過半数が視聴可能でない場合には (ステップ S37 : N )、視聴不可と決定し、当該視聴不可及び課金情報を含む"視聴可否"メッセージを 含むコンテンツデータを、ユーザノード laの IPアドレスに従って通信部 20等を介して ユーザノード laに送信する (ステップ S40)。続いて、制御部 11は、上記"視聴可否" メッセージに含まれる課金情報のうち最も一致する数が多い課金情報を修正課金情 報として選定し、当該修正課金情報及びユーザ IDを含む"情報修正"メッセージを生 成し、これを DHTに従って視聴可能を返信したアクセス権管理ノードに向けて通信 部 20等を介して送信し (ステップ S41)、図 12に示す処理に戻る。
[0173] 次に、図 14に示す処理において、制御部 11は、 "購入申込"メッセージ中のユーザ 登録番号に基づいて (例えば、上述したようにユーザ登録番号をハッシュ化して)互 レ、に異なる複数(ここでは、 10個)のユーザ IDを生成する(ステップ S51)。
[0174] 次いで、制御部 11は、アクセス権管理ノードの数を示す" n"の値を初期化("1 "に 設定)し (ステップ S52)、コンテンツデータの購入可否を確認するための確認情報と しての"購入登録"メッセージを生成し、これを DHTに従って n番目のユーザ IDに対 応するアクセス権管理ノード lynに向けて通信部 20等を介して送信する(ステップ S5 3)。これに対してアクセス権管理ノード lynから送信(返信)されてきた"購入可否"メ ッセージを受信し (ステップ S54)、記憶部 12に記憶する。
[0175] 次いで、制御部 11は、上記" n"を "1 "だけインクリメントし (ステップ S55)、当該" n" が" 10"より大きいか否かを判別し (ステップ S56)、 "n > 10"でない場合には(ステツ プ S56 : N)、ステップ S53に戻り同様の処理を繰り返す。こうして、制御部 11は、提 供可否確認手段として、アクセス権管理ノード lyl〜: lylOから夫々の"購入可否"メッ セージを取得し、当該コンテンツデータの購入可否を確認することになる。
[0176] 一方、 "n> 10"である場合には(ステップ S56 : Y)、制御部 11は、全ての"購入可 否"メッセージに含まれる"購入可否"を集計し、例えばその過半数が購入可能である か否かを判別し (ステップ S57)、過半数が購入可能である場合には (ステップ S57 : Y)、提供可否確認手段として購入可能と決定し、当該購入可能及び課金情報を含
む"購入可否"メッセージを、提供可否情報送信手段として、ユーザノード laの IPアド レスに従って通信部 20等を介してユーザノード laに送信する(ステップ S58)。続い て、制御部 11は、上記"購入可否"メッセージに含まれる課金情報のうち最も一致す る数が多レ、課金情報を修正課金情報として選定し、修正要求情報送信手段として、 当該修正課金情報及びユーザ IDを含む"情報修正"メッセージを生成し、これを DH Tに従って購入不可を返信したアクセス権管理ノードに向けて通信部 20等を介して 送信し (ステップ S59)、図 12に示す処理に戻る。
[0177] 一方、ステップ S57において、過半数が購入可能でない場合には (ステップ S57 : N )、購入不可と決定し、当該購入不可及び課金情報を含む"購入可否"メッセージを、 ユーザノード laの IPアドレスに従って通信部 20等を介してユーザノード laに送信す る(ステップ S60)。続いて、制御部 11は、上記"購入可否"メッセージに含まれる課 金情報のうち最も一致する数が多い課金情報を修正課金情報として選定し、当該修 正課金情報及びユーザ IDを含む"情報修正"メッセージを生成し、これを DHTに従 つて購入可能を返信したアクセス権管理ノードに向けて通信部 20等を介して送信し( ステップ S61)、図 12に示す処理に戻る。
[0178] (vii)アクセス権管理ノードにおける処理
図 15は、アクセス権管理ノードにおける制御部 11の処理を示すフローチャートであ り、図 16は、図 15に示すステップ S73における処理の詳糸田(サブルーチン)を示すフ ローチャートであり、図 17は、図 15に示すステップ S75における処理の詳細(サブル 一チン)を示すフローチャートであり、図 18は、図 15に示すステップ S77における処 理の詳細(サブルーチン)を示すフローチャートである。
[0179] 図 15に示す処理は、メッセージ受信イベントが発生(送信されてきたメッセージを制 御部 11が通信部 20を介して受信)したときに実行され、制御部 11は、先ず、受信し たメッセージを読み取り(ステップ S71)、そのメッセージが"購入登録"メッセージであ るか否かを判別し (ステップ S72)、 "購入登録"メッセージである(つまり、制御部 11 が確認情報受信手段として受信した)場合には (ステップ S72: Y)、ステップ S73に 移行され、 "購入登録"メッセージでない場合には (ステップ S72 : N)、ステップ S74 に移行される。なお、ステップ S73の"購入登録"メッセージの処理の詳細(図 16)は
後述する。
[0180] ステップ S74では、制御部 11は、受信したメッセージ力 視聴確認"メッセージであ るか否かを判別し、 "視聴確認"メッセージである(つまり、制御部 11が確認情報受信 手段として受信した)場合には (ステップ S74 :Y)、ステップ S75に移行され、 "視聴確 認"メッセージでない場合には(ステップ S74 : N)、ステップ S76に移行される。なお、 ステップ S75の"視聴確認"メッセージの処理の詳細(図 17)は後述する。
[0181] ステップ S76では、制御部 11は、受信したメッセージ力 '前払い"メッセージである か否かを判別し、 "前払い"メッセージである場合には(ステップ S76 : Y)、ステップ S7 7に移行され、 "前払い"メッセージでない場合には(ステップ S76 : N)、ステップ S78 に移行される。なお、ステップ S77の"前払い"メッセージの処理の詳細(図 18)は後 述する。
[0182] ステップ S78では、制御部 11は、受信したメッセージ力 課金収集"メッセージであ るか否かを判別し、 "課金収集"メッセージである場合には(ステップ S78 : Y)、ステツ プ S79に移行され、 "課金収集"メッセージでない場合には (ステップ S78 : N)、ステ ップ S81に移行される。
[0183] ステップ S79では、制御部 11は、提供可否関連情報から後日請求金額 (後払い金 額)を取得して"請求額回答"メッセージを生成し、これを会計ノード lzの IPアドレスに 従って通信部 20等を介して会計ノード lzに送信(返信)する。そして、制御部 11は、 提供可否関連情報に含まれる後日請求金額 (後払レ、金額)を" 0"に更新する (ステツ プ S80)。
[0184] ステップ S81では、制御部 11は、受信したメッセージ力 S"情報修正"メッセージであ るか否かを判別し、 "情報修正"メッセージである(つまり、制御部 11が修正要求情報 受信手段として受信した)場合には (ステップ S81: Y)、提供可否関連情報修正手段 として、当該情報修正"メッセージ中の修正課金情報に基づいて、提供可否関連情 報に含まれる課金情報を修正(当該課金情報を修正課金情報に更新)する (ステップ
[0185] 一方、 "情報修正"メッセージでない場合には(ステップ S81 : N)、ステップ S83に移 行される。なお、当該ステップ S83では、例えば、図 12に示す中継ノード、ルートノー
ド、及びコンテンツホルダノードにおける制御部 11のメッセージ処理が行われる。
[0186] 次に、図 16に示す処理において、制御部 11は、 "購入登録"メッセージ中のユーザ IDに対応する提供可否関連情報が既に作成されているか否力を判別し (ステップ S9 1)、既に作成されている場合には (ステップ S91 : Y)、ステップ S93に移行し、未だ 作成されていない場合には (ステップ S91 : N)、新たに、提供可否関連情報を作成し (ステップ S 92)、ステップ S 93に移行する。
[0187] ステップ S93では、制御部 11は、 "購入登録"メッセージ中の課金方式が前払い方 式であるか否かを判別し、前払い方式でない場合には (ステップ S93 : N)、提供可否 判別手段として購入可能と判別し、続いて、提供可否関連情報更新手段として、当 該"購入登録"メッセージ中のコンテンツ ID等を購入コンテンツリストに追加する(ステ ップ S94)と共に、上記提供可否関連情報に含まれる後日請求金額 (後払い金額)に 当該コンテンツデータの価格をカ卩算する(ステップ S95)更新を行い、ステップ S96に 移行する。
[0188] 一方、ステップ S93において"購入登録"メッセージ中の課金方式が前払い方式で ある場合には (ステップ S93 : Y)、制御部 11は、 "購入登録"メッセージ中のユーザ I Dに対応する提供可否関連情報に含まれるプール金額 (前払い金額)の残高から当 該コンテンツ IDに対応するコンテンツデータの価格を減算し (ステップ S97)、当該残 高がマイナスになったか否かを判別する(ステップ S98)。
[0189] 当該残高がマイナスにならなかった場合には (ステップ S98 : N)、制御部 11は、提 供可否判別手段として購入可能と判別し、続いて、提供可否関連情報更新手段とし て、 "購入登録"メッセージ中のコンテンツ ID等を購入コンテンッリストに追加すると共 に、提供可否関連情報に含まれるプール金額の残高から当該コンテンツ IDに対応 するコンテンツデータの価格が減算された金額をプール金額として更新し (ステップ S 99)、ステップ S96に移行する。
[0190] ステップ S96では、制御部 11は、提供可否情報返信手段として、上記判別された 購入可能及び課金情報を含む"購入可否"メッセージを生成し、これをコンテンツホ ルダノード lbの IPアドレスに従って通信部 20等を介してコンテンツホルダノード lbに 送信 (返信)する。
[0191] 一方、ステップ S98において残高がマイナスになった場合には(ステップ S98 : Y)、 制御部 11は、提供可否判別手段として購入不可と判別し、当該購入不可等を含む" 購入可否"メッセージを生成し、これをコンテンツホルダノード lbの IPアドレスに従つ て通信部 20等を介してコンテンツホルダノード lbに送信(返信)して (ステップ S100) 、図 15に示す処理に戻る。
[0192] 次に、図 17に示す処理において、制御部 11は、 "視聴確認"メッセージ中のユーザ IDに対応する提供可否関連情報が既に作成されているか否力、を判別し (ステップ S1 11)、既に作成されてレ、る場合には(ステップ S 111: Y)、ステップ S 113に移行し、未 だ作成されていない場合には (ステップ S111 : N)、新たに、提供可否関連情報を作 成し(ステップ S 112)、ステップ S 113に移行する。
[0193] ステップ S113では、制御部 11は、 "視聴確認"メッセージ中のコンテンツ ID力 提 供可否関連情報中の購入コンテンツリストに含まれているか否力、を判別し、含まれて レ、る場合には (ステップ S113 : Y)、提供可否判別手段として視聴可能と判別して、ス テツプ S 117に移行する。
[0194] 一方、コンテンツ IDが購入コンテンツリストに含まれていない場合には(ステップ S1 13 : N)、制御部 11は、 "視聴確認"メッセージ中の課金方式が前払い方式であるか 否かを判別し、前払い方式でない場合には (ステップ S114 : N)、提供可否判別手段 として視聴可能と判別し、続いて、提供可否関連情報更新手段として、当該"視聴確 認"メッセージ中のコンテンツ ID等を購入コンテンツリストに追加する(ステップ S115) と共に、上記提供可否関連情報に含まれる後日請求金額 (後払い金額)に当該コン テンッデータの価格を加算する(ステップ S 116)更新を行レ、、ステップ S 117に移行 する。
[0195] 一方、ステップ S114において"視聴確認"メッセージ中の課金方式が前払い方式 である場合には(ステップ S114 : Y)、制御部 11は、 "視聴確認"メッセージ中のユー ザ IDに対応する提供可否関連情報に含まれるプール金額 (前払い金額)の残高から 当該コンテンツ IDに対応するコンテンツデータの価格を減算し (ステップ S118)、当 該残高がマイナスになったか否力、を判別する(ステップ S 119)。
[0196] 当該残高がマイナスにならな力 た場合には(ステップ S119 : N)、制御部 11は、
提供可否判別手段として視聴可能と判別し、続いて、提供可否関連情報更新手段と して、 "視聴確認"メッセージ中のコンテンツ ID等を購入コンテンツリストに追加すると 共に、提供可否関連情報に含まれるプール金額の残高から当該コンテンツ IDに対 応するコンテンツデータの価格が減算された金額をプール金額として更新し (ステツ プ S 120)、ステップ S117に移行する。
[0197] ステップ S 117では、制御部 11は、提供可否情報返信手段として、上記判別された 視聴可能及び課金情報を含む"視聴確認"メッセージを生成し、これをコンテンツホ ルダノード lbの IPアドレスに従って通信部 20等を介してコンテンツホルダノード lbに 送信 (返信)する。
[0198] 一方、ステップ S119において残高がマイナスになった場合には(ステップ S119 :Y )、制御部 11は、提供可否判別手段として視聴不可と判別し、当該視聴不可等を含 む"視聴可否"メッセージを生成し、これをコンテンツホルダノード lbの IPアドレスに従 つて通信部 20等を介してコンテンツホルダノード lbに送信(返信)して (ステップ S12 1)、図 15に示す処理に戻る。
[0199] 次に、図 18に示す処理において、制御部 11は、 "前払い"メッセージ中のユーザ I Dに対応する提供可否関連情報が既に作成されているか否力を判別し (ステップ S1 31)、既に作成されてレ、る場合には(ステップ S 131: Y)、ステップ S 133に移行し、未 だ作成されていない場合には (ステップ S131 : N)、新たに、提供可否関連情報を作 成し (ステップ S132)、ステップ S133に移行する。そして、制御部 11は、 "前払い"メ ッセージ中の入金額を、提供可否関連情報に含まれるプール金額 (前払い金額)に 加算し (ステップ S133)、これを記憶部 12に記憶保存して、図 15に示す処理に戻る
[0200] (viii)会計ノードにおける処理
図 19は、会計ノードにおける制御部 11の処理を示すフローチャートであり、図 20は 、図 19に示すステップ S 143における処理の詳細(サブルーチン)を示すフローチヤ ートであり、図 21は、図 19に示すステップ S145における処理の詳細(サブルーチン )を示すフローチャートである。
[0201] 図 19の処理において、制御部 11は、課金管理センター Cから送信されてきた指示
情報を受信すると (ステップ S141)、当該指示情報が入金指示情報であるか否かを 判別し (ステップ S142)、入金指示情報である場合には (ステップ S142 :Y)、ステツ プ S143に移行し、入金指示情報でない場合には(ステップ S142 : N)、ステップ S14 4に移行する。なお、ステップ S143の入金指示の処理の詳細(図 20)は後述する。
[0202] ステップ S 144では、制御部 11は、上記課金管理センター Cからの指示情報が請 求金額収集指示情報であるか否かを判別し、請求金額収集指示情報である場合に は (ステップ S144 : Y)、ステップ S145に移行し、請求金額収集指示情報でない場 合には(ステップ S144 : N)、ステップ S146に移行する。なお、ステップ S145の請求 金額収集指示の処理の詳細(図 21)は後述する。また、図 19に示すステップ S146 では、例えば、図 12に示す中継ノード、ルートノード、及びコンテンツホルダノードに おける制御部 11のメッセージ処理、或いは、図 15に示すアクセス権管理ノードにお ける制御部 11のメッセージ処理が行われる。
[0203] 次に、図 20に示す処理において、制御部 11は、入金指示情報に含まれるユーザ 登録番号に基づいて (例えば、上述したようにユーザ登録番号をハッシュ化して)互 レ、に異なる複数(ここでは、 10個)のユーザ IDを生成する(ステップ S 151)。
[0204] 次いで、制御部 11は、アクセス権管理ノードの数を示す" n"の値を初期化("1 "に 設定)し (ステップ S152)、ユーザ ID及び入金額を含む"前払い"メッセージを生成し 、これを DHTに従って n番目のユーザ IDに対応するアクセス権管理ノード lynに向 けて通信部 20等を介して送信する (ステップ S 153)。
[0205] 次いで、制御部 11は、上記" n"を "1 "だけインクリメントし (ステップ S154)、当該" n "が" 10"より大きいか否かを判別し (ステップ S155)、 "n > 10"でない場合には(ステ ップ S155 : N)、ステップ S153に戻り同様の処理を繰り返す。こうして、 "前払い"メッ セージを受信した夫々のアクセス権管理ノード lyl〜: ly 10において上記入金額が提 供可否関連情報に登録されることになる。
[0206] 一方、 "n> 10"である場合には(ステップ S155 : Y)、図 19に示す処理に戻る。
[0207] 次に、図 21に示す処理において、制御部 11は、請求金額収集指示情報に含まれ るユーザ登録番号に基づいて (例えば、上述したようにユーザ登録番号をハッシュ化 して)互いに異なる複数(ここでは、 10個)のユーザ IDを生成する(ステップ S 161)。
[0208] 次いで、制御部 11は、アクセス権管理ノードの数を示す" n"の値を初期化("1 "に 設定)し (ステップ S162)、 "課金収集"メッセージを生成して、これを DHTに従って n 番目のユーザ IDに対応するアクセス権管理ノード lynに向けて通信部 20等を介して 送信する(ステップ S163)。これに対してアクセス権管理ノード lynから送信(返信)さ れてきた"請求額回答"メッセージを受信し (ステップ S 164)、記憶部 12に記憶する。
[0209] 次いで、制御部 11は、上記" n"を" 1"だけインクリメントし (ステップ S165)、当該 "n "が" 10"より大きいか否かを判別し (ステップ S166)、 "n > 10"でない場合には (ステ ップ S166 : N)、ステップ S163に戻り同様の処理を繰り返す。こうして、会計ノード lz は、夫々のアクセス権管理ノード lyl〜: ly 10から後日請求金額 (後払い金額)を取得 することになる。
[0210] 一方、 "n> 10"である場合には(ステップ S166 : Y)、制御部 11は、全ての"請求額 回答"メッセージに含まれる"後日請求金額 (後払い金額) "を比較し、例えば、最も一 致するものが多い金額を請求金額として決定し、決定された請求金額を示す情報を 課金管理センター Cに対して送信し (ステップ S167)、図 19に示す処理に戻る。
[0211] 以上説明したように、上記実施形態によれば、コンテンツデータの提供可否に関連 する提供可否関連情報であって夫々のユーザノードに対応する提供可否関連情報( 例えば、課金を行うために必要な課金情報が含まれている)が、夫々のユーザノード のユーザ IDに対応するアクセス権管理ノードに分散保存されるようにしておき、コン テンッホルダノードは、ユーザノードからコンテンツデータの"購入申込"又は"視聴要 求"メッセージを受信すると、当該ユーザノードに対応する提供可否関連情報を保存 しているアクセス権管理ノードに対して、当該コンテンツデータの提供 (購入又は視 聴)可否をネットワーク 8を介して確認し、当該確認された提供可否を含むコンテンツ データを、上記ユーザノードに対して送信するようにしたので、コンテンツデータの提 供可否に関する処理 (例えば課金に関する処理)をユーザノード毎に分散させ、処理 の集中を回避することができる。
[0212] また、 1つのユーザノードに対応する提供可否関連情報を、当該ユーザノードのュ 一ザのユーザ登録番号に基づいて複数生成された互いに異なるユーザ IDに夫々対 応するアクセス権管理ノードに保存しておき、コンテンツホルダノードは、これら複数
のアクセス権管理ノードに対して、当該コンテンツデータの提供 (購入又は視聴)可 否をネットワーク 8を介して確認し、例えば多数決により当該可否を決定するようにし たので、アクセス権管理ノードが、電源断や通信事故等により、一時的にコンテンツ 配信システム Sから脱退していた場合であっても、提供可否関連情報 (例えば、課金 情報)の正確性を保ち、コンテンツデータの提供可否を正確に決定することができ、 また、正確に課金に関する処理を行うことができる。
[0213] 更に、夫々のアクセス権管理ノードが有する課金情報が食い違う場合であっても、 上記決定された提供可否 (最も多い回答:購入可能又は購入不可)と異なる回答を 返信したアクセス権管理ノードに対しては、提供可否関連情報の修正を行うようにし たので、複数のアクセス権管理ノード間において提供可否関連情報の内容を一致さ せ、当該提供可否関連情報の正確性を保つことができる。
[0214] なお、上記実施形態においては、複数のアクセス権管理ノードからの提供 (購入又 は視聴)可否に基づき、多数決により当該コンテンツデータの提供 (購入又は視聴) 可否を決定するようにした力 これに限定されるものではなぐ例えば、コンテンツ配 信システム Sからの脱退履歴をも考慮してコンテンツデータの提供 (購入又は視聴) 可否を決定するようにしてもょレ、。
[0215] また、上記実施形態においては、 DHTを利用したアルゴリズムによって構築された オーバーレイネットワーク 9を前提として説明した力 S、本発明はこれに限定されるもの ではない。
[0216] また、上記実施形態においては、コンテンツホルダノード lbが、アクセス権管理ノー ド lyl〜: lylOに対して、当該コンテンツデータの提供可否を確認するように構成した 力 これに限定されるものではなぐルートノード lxが、当該コンテンツデータの提供 可否を確認し、当該確認された提供可否に基づく回答情報をネットワーク 10を介して ユーザノード laに対して送信するように構成してもよい。
[0217] [2.第 2実施形態]
次に、インターネット等のネットワークを用いて上記コンテンツの配信を行う上記 P2 P型のコンテンツ配信システム(以下、単にコンテンツ配信システムと称する)に対して 本発明を適用した場合の実施の形態について、図 22乃至図 38を用いて説明する。
なお、以下の説明においては、上記端末装置を一般的に「ノード」と称することとする
[0218] [2. 1 本発明の原理]
初めに、本発明の第 2実施形態について具体的に説明する前に、本発明の原理に つき、第 2実施形態に係るコンテンツ配信システムの概要と共に説明する。
[0219] (A)コンテンツ配信システムの概要
先ず、本発明の前提となる、第 2実施形態に係る上記コンテンツ配信システム全体 の概要について、図 22を用いて説明する。なお、図 22は当該コンテンツ配信システ ムの概要を示す模式図である。
[0220] 一般に、上記ネットワークに接続されている特定のノード同士がコンテンツの授受を 行う際には、例えば当該ネットワークがインターネットである場合には、要求するコン テンッを記憶しているノードの IP (Internet Protocol)アドレスを手が力 としてコンテン ッの授受を行う必要がある。よって、本実施形態に係るコンテンツ配信システムの如 き不特定多数のノードがコンテンツを共有し合うようなコンテンツ配信システムにおい ては、全てのノードの IPアドレスとそれが記憶しているコンテンツを各ノードが認識し ておくことが必要となる。
[0221] し力しながら、ネットワークに接続されているノードの数が多くなつた場合、各ノード における物理的な記録可能量の制限等が理由となって、全てのノードの IPアドレスと 記憶しているコンテンツ名を各ノードが夫々に記録しておくことは現実的ではない(例 えば、ネットワークに百万台のノードが接続されている場合、その百万台分の IPァドレ スとそれらが記憶しているコンテンツ名を各ノードが互いに全て記録しておくことは全 く現実的ではない)。
[0222] また、各ノードが全てのノードの IPアドレスと記憶しているコンテンツ名を記録してお く場合、新しいノードの参カロ'脱退や、あるノードでの記憶コンテンツの追カロ'削除が 起こる度に、全ノードが記録情報を更新しなければならなレ、。更新の度に全ノードに 通知すると、更新が頻繁になる上、ネットワーク内の各ノードにおける電源スィッチの オン/オフが頻繁な場合 (例えば当該ノードをパーソナルコンピュータにより実現す る場合は頻繁に電源スィッチが操作され得ることになる)に更新できないなど、現実
的にはネットワーク全体としての運用が困難となる。
[0223] そこで、上述したような問題点に対処すベぐ必要最低限のノードの IPアドレスのみ を記録し、コンテンツを要求する際は、記録されているノードの中で要求コンテンツを 記憶しているノードの IPアドレスを知っていると思われるノードに問い合わせることに よって、コンテンツを記憶しているノードの IPアドレスを解決するという仕組みのコンテ ンッ配信システムが研究されており、その一つに、いわゆる DHT(Distributed Hash T able;離散ハッシュテーブル)を用いたコンテンツ配信システムがある。
[0224] 次に、当該 DHTを用いたコンテンツ配信システムについて、概要を説明する。
[0225] 上記 DHTを用いたコンテンツ配信システムでは、各ノードを相互に識別するための ノード ID (Identification)を当該各ノードに付与する。このとき、当該ノード IDは、ノー ド毎にユニークな、すなわち他のノードとは異なる番号を付与する。この番号は、その ネットワークにおけるノードの最大運用台数を収容できるだけのビット数(ビット長)を 有するものとなる。より具体的には、例えば 128ビットのノード IDを用いれば、最大で 、 2128 = 340 X 1036台のノードを一つのネットワーク内に接続することができる。そし て、当該ノード IDとして一般的には、ノード自体に付与されている IPアドレスやいわ ゆる MAC (Media Access Control)アドレス、或いはノード自体の製造番号等の、当 該ノード毎に固有の値に対してハッシュ関数を乗じて得られる値を用いる。
[0226] 次に、上記 DHTを用いたコンテンツ配信システムでは、そのコンテンツ配信システ ムによって配信されるコンテンツ自体にも、他のコンテンツとは異なるユニークなコン テンッ IDを付与する。このコンテンツ IDのビット長も上記ノード IDのビット長と同一と される。そして、当該コンテンツ IDとして一般的には、例えばそのコンテンツのタイト ルを示すタイトルデータ、コンテンツを構成するデータの属性を示す属性データ、コ ンテンッを構成するデータのうち先頭から数バイト分のデータ等に対してハッシュ関 数を乗じて得られる値を用いる。
[0227] ここで、対応するノード ID及びコンテンツ IDが相互に同じビット長で表現されている ことも関連して、上記ノード及びコンテンツは、同一のリング状の仮想的な ID空間上 に点在するものとして考えることができる。すなわち、一のノードをきで表示し且つ一 のコンテンツを〇で表示する図 22 (a)に示すように、コンテンツが属するリング Rcとノ
ードが属するリング Rnとを仮想空間的に同心円状に想定し、更に各リング Rc及び Rn において反時計回りに各 IDの値が増加すると規定すると、各ノード又は各コンテンツ は、各リング Rc及び Rn上に重なることなく存在すると仮定できるのである。なお、各 I Dを上記の例のように 128ビット長で表現すると桁数が多くなり過ぎて説明が煩雑とな るので、図 22 (a)においては、説明の簡略化のために、各 IDのビット長を 32ビットと して表現している(以下、同様)。そして、上述したように各 IDの値を決めるに当たつ てハッシュ関数を用いたことに起因して、各ノード及び各コンテンツは、上記各リング Rc及び Rn上に偏ることなく概ね分散して存在することとなる。
[0228] 一方、上記 DHTを用いたコンテンツ配信システムでは、「あるコンテンツ IDが付与 されてレ、るコンテンツを管理するノードは、そのコンテンツ IDの値に一番近レ、値を有 するノード IDが付与されてレ、るノード」とされてレ、る。
[0229] ここで、「近レ、」とは、そのコンテンツ配信システムに関する各種規定や規格等内に おいて一貫してさえいればどのような定義付けでも良いのである力 S、具体的には例え ば、「そのコンテンツ IDの値を超えない値であって且つ IDとしての値同士の差が最も 小さレ、もの」とレ、うように定義付けられる。
[0230] より具体的には、例えば図 22 (a)に例示するように、ノード IDの値が「A0334055」 であるノードとノード IDの値が「A03340FF」であるノードとがリング Rn上で隣り合つ て存在しているとすると、コンテンツ IDの値が「A0334080」であるコンテンツは、ノー ド IDの値が「A0334055」であるノードが管理することとになる。なお、図 22 (a)では 、〇のコンテンツを管理する端末情報を、当該各〇から伸びた矢印で示している。こ のようにすると、多数のノードで分散して様々なコンテンツを管理することができる。
[0231] このとき、「管理」とは、そのコンテンツ IDが付与されているコンテンツをその中に記 録しているという意味ではなぐ「そのコンテンツが記録されているノードの所在(例え ば IPアドレス等)を、そのコンテンツを管理するノードが認識している」との意味である 。実際にコンテンツが記録されているノードと管理するノードとが異なっても良いし、 逆に管理するノード内にその管理対象であるコンテンツが記録されていても構わない
[0232] そして、上述したコンテンツ管理用のノードを「ノレートノード」と称する。ルートノード
は、それが管理することとされているコンテンツを示すコンテンツ IDと、当該コンテン ッ IDにより示されるコンテンツが記録されているノードの IPアドレスと、の対からなるィ ンデッタス情報を記録し、これをコンテンツ配信システム内の他のノードから参照可能 に記録する。このインデックス情報内に、そのコンテンツのタイトルやその属性 (ジヤン ノレ)等が含まれる場合もある。
[0233] また、異なるコンテンツを夫々示すコンテンツ IDが偶然に近い値となり、その値に近 い値のノード IDを有するノードが他に存在しない場合には、一つのルートノードが複 数のコンテンツに対応する複数のインデックス情報を記録することとなる。更に、同一 のコンテンツが異なる複数のノード内に記録されている場合であって、その同一のコ ンテンッを記録しているノードが偶然に一つのルートノードに近い場合、当該ルートノ ードには、同一のコンテンツが夫々に記録されている複数のノードのインデックス情 報が記録されることとなる。上述してきたルートノード内のインデックス情報 EXの一例 を図 22 (b)に示す。
[0234] 更に、実際に各コンテンツ自体を記録しているノードを「コンテンツホルダノード」と 称する。このとき、当該コンテンツホルダノード自体はノードであるから、そのノード ID は、図 22 (a)におけるリング Rn上に存在していることになる。
[0235] 次に、上記 DHTを用いたコンテンツ配信システムにおいて、上述したように全ての ノードの IPアドレスを各ノード夫々が記録する必要性を排除するための工夫の一つ である DHT (ノレ一ティングテーブル)自体について説明する。
[0236] 本実施形態に係る DHTには、図 22に例示した ID空間を段階的なレベル毎にレべ ル数を上げつつ細分化(例えば、レベル 1の場合は当該 ID空間(リング Rn全体)を四 分割)していき、そのレベル毎 (段階的に細分化した領域毎)に、任意のノードのノー ド IDと、その IPアドレスと、を対としたルーティング情報が記述されている。そして、例 えば要求コンテンツを記憶しているコンテンツホルダノードの IPアドレスを要求するた めの要求情報をそのコンテンツが管理されているルートノードに転送する場合、この ルーティング情報を参照しつつ当該要求情報を目的のコンテンツを管理するルートノ ードまで転送する。すなわち、 DHTにおけるレベルが上がる度に、ルーティング先の ノード IDが到達しょうとするルートノードのノード IDに一桁ずつ合致していき、最終的
に当該コンテンツを管理するルートノードに到達する。ルートノードは自分が管理する コンテンツホルダノードの IPアドレスを要求元ノードに送信することによって、要求元 ノードはコンテンツホルダノードの IPアドレスを知ることが出来る。
[0237] なお、 DHTを用いたコンテンツ配信システムにおいては、上述した如き検索情報の 他、配信を要求するコンテンツに関する一般的な問合せ情報、そのコンテンツの配 信自体を要求する配信要求メッセージ及び後述する公開メッセージなどのメッセージ を図 22に例示する如き上記 ID空間内で効率よく目的のノードまで転送することがで きる。なお、以下の説明においては、コンテンツホルダノードにおいて新たにコンテン ッが記録された場合に当該コンテンツホルダノードにおいて生成されるメッセージを 公開メッセージと称し、後述するユーザノードからルートノード又は後述するキヤッシ ュノードに対して送信するクエリを、以下共有データ検索メッセージと称する。
[0238] ここで、上述したようにルートノードのノード IDの値は、そのルートノードがコンテンツ を管理してレ、るコンテンツ IDの値に最も近レ、のであるから、上記共有データ検索メッ セージは、配信要求対象のコンテンツを管理するルートノードに到達することになる。 そして、当該共有データ検索メッセージを受け取ったルートノードは、その共有デー タ検索メッセージにより要求されているコンテンツを蓄積しているコンテンツホルダノ ードの IPアドレス等を、当該共有データ検索メッセージの発信元まで返信する。すな わち、ルートノード内に記録されているインデックス情報(図 22 (b)参照)の中から、当 該共有データ検索メッセージにより要求されてレ、るコンテンツを示すタイトル、属性情 報及びそのコンテンツホルダノードとしてのノードの IPアドレス等が共有データ検索メ ッセージの発信元であるノードまで返信される。このような DHTの活用により、効率的 に所望のコンテンツの所在が例えば配信要求元において認識できるのである。なお 、上述したコンテンツの配信要求元であるノードを、以下「ユーザノード」と称する。
[0239] 次に、あるノードに新たなコンテンツが蓄積された場合における当該コンテンツの登 録処理について説明する。
[0240] 新しいコンテンツがノード、すなわちそのコンテンツのコンテンツホルダノードに蓄積 されると、そのコンテンツホルダノードは、コンテンツ配信システム内の他のノードに対 してそのコンテンツが蓄積されたことを公開することになる。
[0241] すなわち、あるノードに新たなコンテンツが蓄積されたとき、当該蓄積されたコンテ ンッに対するコンテンツホルダノードとなるそのノードは、蓄積されたコンテンツのタイ トル等に基づき、当該コンテンツに対応するコンテンツ IDを生成する。
[0242] 次に、当該コンテンツホルダノードは、生成されたコンテンツ IDと同じ値を有するノ ード IDを有するノードを到達先として、(そのノード IDを有するノードが実在するかど うかに拘わらず)上記公開のための公開メッセージを上記配信要求メッセージと同様 の方法で送信する。この公開メッセージは、そのコンテンツを示すタイトル、属性情報 及びそのコンテンツホルダノードとしてのノードの IPアドレス等を含むものであり、上 記 DHTの記述に従って各ルーティング先を介して各レベルの到達先としてのノード に順次転送される。
[0243] そして、最も近い値のノード IDを有するノードに到達すると、そのノードはその後に その公開メッセージを転送すべきノードが ID空間内に存在しないことを認識し (すな わち、 DHTで桁合わせをしていくと、次に転送すべきノードが自分自身であることを 認識する)、この時点で当該公開メッセージが到達しているノードが新たなコンテンツ を管理するルートノードとなることになる。そして、当該ルートノードとなったノードは、 公開メッセージが含まれているコンテンツ ID及びコンテンツホルダノードを示す IPァ ドレス並びに属性情報等を図 22 (b)に例示するインデックス情報 EXとして記録する。
[0244] 以上説明したように、本実施形態に係る DHTを用いたコンテンツ配信システムを用 いれば、各ノードの構成を簡略化しつつ、必要な共有データ検索メッセージ又は公 開メッセージをその転送先まで到達させてコンテンツの配信を行うことができる。
[0245] (B)本発明の原理
次に、概要を上述したコンテンツ配信システムを前提とする本発明に原理について 、概要を説明する。
[0246] 上述したコンテンツ配信システムの概要説明においては、主として当該コンテンツ 配信システムを用いたコンテンツの分散配置並びにその配信に伴う動作等について 説明したが、本発明では、当該配信対象のコンテンツの分散配置に加えて、当該コ ンテンッ配信先のノードを操作して配信要求を行った利用者と、当該配信要求に応 じて実際にコンテンツの配信を行う配信者と、の間において当該配信を行う際に契約
上発生する配信料の授受を管理するための管理情報 (以下、当該管理情報を一般 に課金データと称する)を、当該コンテンツの授受を直接行う二つのノード(すなわち 、上記利用者が操作する配信先のユーザノードと、上記配信者に属する配信元のコ ンテンッホルダノード)以外の他のノード Tに分散配置する。このとき、上記コンテンツ に対応するコンテンツデータ自体と上記課金データとは、コンテンツ配信システムに 属するノード間で共有されると言う意味では同等であるので、本発明に係るコンテン ッ配信システムでは、これらは共に「共有データ」として同等に扱われる。
[0247] そして、これらに加えて、当該分散配置されている課金データを一元的に処理する 課金処理ノードがコンテンツ配信システム内に設けられ、この課金処理ノードが必要 に応じて分散配置されている課金データを収集し、その改竄状況等を判定すること で、課金データとしての秘匿性を確保している。また、課金処理ノードが主体的に上 記課金データを配置先から収集することで、当該課金処理ノードに対する処理集中 の発生を回避し、これにより P2P型コンテンツ配信システムとしてのアクセス集中回避 も同時に実現する。
[0248] 次に、上述した原理に則った本発明に係る第 2実施形態について、具体的に図 23 乃至図 38を用いて説明する。
[0249] 初めに、本実施形態に係るノードの概要構成について図 23を用いて説明する。な お、図 23は第 2実施形態に係るノードの概要構成を示すブロック図である。また、本 実施形態に係る P2P型のコンテンツ配信システムに属する各ノードは、基本的に全 て同一のハードウェア構成を有するものであるので、それらを代表して一般のノード の構成について、図 23を用いてその概要を説明する。
[0250] 図 23に示すように、本実施形態に係るコンテンツ配信システムに含まれているノー ド Tは、演算機能を有する CPU、作業用 RAM (Random Access Memory)、各種デー タ及びプログラムを記録する ROM (Read Only Memory)等から構成された処理手段 、読出手段、決定手段、生成手段、消去手段及び検索手段としての制御部 11と、上 記課金データ、上記コンテンツ自体としてのコンテンツデータ、その配信に必要な各 種ノレ一ティング用データ及びその他の必要なプログラム等を記録保存 (格納)するた めの HDD (Hard Disc Drive)等から構成された記録手段としての記録部 12と、受信
されたコンテンツデータを一時蓄積するバッファメモリ 13と、当該コンテンツデータに 含まれるエンコード (符号化)されたビデオデータ(映像情報)及びオーディオデータ( 音声情報)等をデコード (データ伸張や復号化等)するデコーダ部 14と、当該デコー ドされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する 映像処理部 15と、当該映像処理部 15から出力されたビデオ信号に基づき映像表示 する CRT(Cathode Ray Tube)又は液晶ディスプレイ等よりなる表示部 16と、上記デ コードされたオーディオデータをアナログオーディオ信号に DZA (Digital/Analog) 変換した後これを増幅器等により増幅して出力する音声処理部 17と、当該音声処理 部 17から出力されたオーディオ信号を音波として出力するスピーカ 18と、ネットヮー ク 8を通じて他のノード Tとの間の情報の通信制御を行うための送信手段及び受信手 段としての通信部 20と、夫々の利用者力 の指示を受け付け当該指示に応じた指示 信号を制御部 11に出力する入力部(例えば、キーボード、マウス或いは、操作パネ ル等) 21と、を備えて構成され、制御部 11、記録部 12、バッファメモリ 13、デコーダ 部 14、及び通信部 20はバス 22を介して相互にデータの授受が可能に接続されてい る。
[0251] そして、制御部 11における CPUが記録部 12等に記録された各種プログラムを実 行することにより、制御部 11が、本実施形態に係るノード Tとしての全体動作を統括 制御する。
[0252] [2. 2 第 2実施形態に係る各ノードにおける動作]
次に、上記ノード Tにおける本実施形態に係るコンテンツの配信動作並びに課金 データの処理に係る動作について、図 24乃至図 38を用いて説明する。なお、図 24 乃至図 30は当該各動作を具体的に例示する図であり、図 31乃至図 38は当該各動 作を示すフローチャートである。
[0253] 先ず、以下に説明する本実施形態に係るコンテンツ配信システムにおけるコンテン ッの配信動作としては、当該コンテンツの配信を要求する(以下、当該配信要求対象 であるコンテンツをコンテンツ Xとする)操作がユーザノードとしてのノード T (以下、当 該ユーザノードとしてのノード Tをノード RQとする)において実行されると、共有デー タ検索メッセージが発行され、当該コンテンツ Xを管理するルートノードに到達する。
当該コンテンツ Xを管理するルートノードは、ノード RQへむけてコンテンツホルダノー ドの情報を送信し、当該ノード RQから配信要求メッセージがコンテンツホルダノード としてのノード Tに送信され、それを受信した当該コンテンツホルダノードからノード R Qに対して当該コンテンツ Xが配信される。そして、コンテンツ Xの配信を受けたノード RQにおいては、当該配信されたコンテンツ Xのコンテンツデータを用いてその再生 処理等が実行される。
[0254] この配信処理と並行して、上記課金データの処理に係る動作として、配信要求メッ セージを受信したコンテンツホルダノードにおいては、配信対象のコンテンツ Xを配 信する際に発生する配信料及びその授受に関する情報を含む課金データが生成さ れる。そして、当該課金データを保存すべきとして指定されているノード (言わば、課 金データをコンテンツデータと看做したときのコンテンツホルダノード)に当該課金デ 一タが喑号化された上で送信され、当該送信先にて保存される。
[0255] 更に、当該保存されている課金データについては、課金処理ノードからの要求によ り当該課金処理ノードに集積され、後述する処理により改竄判定が実行される。
[0256] 次に、本実施形態に係るコンテンツ配信システム内に存在する各ノード T間におい て、コンテンツ及び課金データの授受がどのように進行するかについて、具体的に図 24乃至図 30を用いて例示しつつ説明する。
[0257] なお、図 24乃至図 30は、当該コンテンツ及び課金データの授受を模式的に示す 図であり、各図において各ノードを接続するネットワーク自体は図示を省略している。
[0258] また、当該図 24乃至図 30を用いて説明する例においては、コンテンツ配信システ ム BS内にノード Tが 10個含まれており、各ノード Nを、夫々ノード A、 B、 C、 D、 E、 F 、 G、 H、 I及び Jとする。そして、コンテンツ Xの配信を要求するユーザノードがノード C であり、当該コンテンツ Xの配信を管理するルートノードがノード Iであるとする。更に、 上記課金処理ノードがノード Aであり、課金データ Kの配信を管理するルートノードが ノード Jであるとする。
[0259] 先ず、コンテンツの配信が実行される段階のコンテンツデータ及び課金データの授 受について、図 24乃至図 27を用いて説明する。
[0260] 当該コンテンツの配信段階においては、図 24に示すように、ユーザノードとしてのノ
ード Cから所望するコンテンツのルートノードであるノード Iに対して、当該コンテンツを 記憶するコンテンツホルダノードとしてのノード τがいずれであるかを問い合わせる共 有データ検索メッセージ MG1が送信されると、その返答メッセージ MG2として、当該 コンテンツを記憶する記録部 12を備えるノード Tを示す情報がノード Cに返信される( 後述する図 32ステップ S210参照)。ここで、図 24に示す例では、当該コンテンツの コンテンツホルダノードはノード D、 F及び Hであったとすると、上記返答メッセージ M G2内には当該ノード D、 F及び Hを示す情報が含まれていることになる。
[0261] 次に、返答メッセージ MG2を受信したノード Cは、図 25に示すように、当該返答メッ セージ MG2に含まれている情報を参照して、当該コンテンツの配信を要求する要求 メッセージ Rを、ノード D、 F及び Hに夫々送信する(後述する図 32ステップ S213及 び S214参照)。そして、当該要求メッセージ Rを受信したノード D、 F及び Hにおいて は、当該受信した要求メッセージ Rに含まれている利用者情報及び名称データ N (X )に基づいて、当該配信に対応する課金データ Kを夫々生成すると共に、その生成さ れた課金データ Kの記憶先となるノード Tを決定する(後述する図 34ステップ S228、 図 35ステップ S235乃至 S241及び図 36参照)。図 25に示す例では、ノード Dからの 配信に対応する課金データ Kの記憶先がノード Eと決定され、ノード Fからの配信に 対応する課金データ Kの記憶先がノード Gと決定され、ノード Hからの配信に対応す る課金データ Kの記憶先がノード Bと決定されたとする。
[0262] 次に、図 26に示すように、ノード D、 F及び Hから、夫々課金データ Kが暗号化され た上でその記憶先であるノード E、 B及び Gに夫々送信され(後述する図 34ステップ S 244参照)、各ノード E、 B及び G内の記録部 12に夫々記憶される(後述する図 33ス テツプ S224参照)。その後、当該ノード E、 G及び B内に課金データ Kが記憶された 旨の公開メッセージ MG3が、夫々ノード E、 G及び Bから対応するルートノードである ノード Jに送信される。
[0263] その後、図 27に示すように、コンテンツホルダノードとしてのノード D、 F又は Hのい ずれ力、(図 27の場合はノード H)から、上記ノード Cで所望されているコンテンツに対 応する共有データ X (コンテンツデータ)が当該ノード Cに送信されて格納される(後 述する図 34ステップ S229及び図 33ステップ S220乃至 S222参照)。ここで、コンテ
ンッホルダノードとしてのノード D、 F又は Hのレ、ずれから共有データ Xを送信するか については、例えば、最も早く返答したノード Tから送信してもらうようにノード Cにお レ、て選択しても良レ、し、ノード Cからネットワーク上にレ、て最も近レ、ノード Tから送信し てもらうようにノード Cにおいて選択しても良いし、或いは、全てのノード D、 F及び H 力 共有データ Xの一部づっ受信してノード Cにおいて結合するようにしても良い。
[0264] 以上の図 24乃至図 27に示す流れにより、ユーザノード(ノード C)において所望さ れたコンテンツがそのユーザノードに配信されると共に、その配信に対応する課金デ ータ Kがそのコンテンツ自体には無関係のノード E、 G及び Bに分散配置されたことに なる。
[0265] 次に、当該分散配置された課金データ Kを課金処理ノードであるノード Aにおいて 課金処理する段階の課金データの授受について、図 28乃至図 30を用いて説明する
[0266] 当該課金処理の配信段階においては、図 28に示すように、課金処理ノードであり 且つ課金データ Kについてはユーザノードとなるノード Aから所望する課金データ K のルートノードであるノード Jに対して、当該課金データ Kを記憶するコンテンツホルダ ノードとしてのノード Tがいずれであるかを問い合わせる共有データ検索メッセージ M G4が送信されると、その返答メッセージ MG5として、当該課金データ Kを記憶する 記録部 12を備えるノード Tを示す情報がノード Aに返信される(後述する図 38ステツ プ S250)。ここで、図 28に示す例では、当該課金データ Kのコンテンツホルダノード はノード E、 G及び Bであるので、上記返答メッセージ MG5内には当該ノード E、 B及 び Gを示す情報が含まれていることになる。
[0267] 次に、返答メッセージ MG5を受信したノード Aは、図 29に示すように、当該返答メッ セージ MG5に含まれている情報を参照して、当該課金データ Kの配信を要求する 要求メッセージ Rを、ノード E、 G及び Bに夫々送信する(後述する図 38ステップ S23 6及び S203参照)。そして、当該要求メッセージ Rを受信したノード E、 G及び Bにお いては、当該受信した要求メッセージ Rに基づいて、当該要求されている課金データ Kをノード Aに夫々送信し(後述する図 34ステップ S230及び S231参照)、その後ノ ード Aにおいて当該送信された課金データ Kを用いた課金処理が行われる(後述す
る図 38ステップ S253乃至 S259参照)。
[0268] 次に、図 30に示すように、ノード E、 G及び Bにおいて送信した課金データ Kが削除 され (後述する図 38ステップ S246参照)、その旨を示す削除メッセージ MG6が課金 データ Kについてのルートノードであるノード Jに送信されて、一連の課金処理が完了 する。
[0269] 次に、上述した具体的な処理が実行されるために各ノードにおいて実行されるべき コンテンツの配信動作並びに課金データの処理に係る動作について、具体的に図 3 1乃至図 38を用いて説明する。
[0270] 先ず、当該各動作の全体について、図 31を用いて説明する。なお、本実施形態に 係るコンテンツ配信システムにおいては、いずれのノード Tも上記ノード RQ或いはコ ンテンッデータ又は課金データについてのコンテンツホルダノードとなり得るので、図 31は、一つのノード Tがノード RQとなった場合といずれかのコンテンツホルダノードと なった場合とを纏めて示してレ、る。
[0271] 図 31に示すように、本実施形態に係るコンテンツの配信動作並びに課金データの 処理に係る動作においては、一のノード Tにおいては、例えばその電源投入時等の 初期動作として、そのノード Tを操作する利用者を示す利用者情報を取得し (ステツ プ S201)、当該取得した利用者情報を記録部 12内に記憶しておく。ここで、当該禾 IJ 用者情報には、当該利用者を識別するための利用者 ID等が含まれており、当該利 用者情報自体は入力部 21における操作により入力される。また、本実施形態におけ る上記利用者としては、コンテンツの視聴を希望する利用者と、課金処理ノードにお レ、て課金データの収集を行おうとする利用者と、が含まれてレ、る。
[0272] 利用者情報の取得が完了すると、次に、そのノード Tにおいてコンテンツ配信の要 求操作又は課金データ収集の要求操作が上記利用者により実行されたか否かが常 に監視されており(ステップ S202)、当該要求操作がその一のノード Tで実行された 場合、すなわち、当該一のノード Tがユーザノード U又は課金処理ノードとなった場 合は(ステップ S202 ;YES)、当該要求されたコンテンツ X又は課金データ(以下、当 該コンテンツ X及び課金データを纏めて共有データ Xと称する)をノード RQに配信さ せることを要求するための処理が当該ノード RQにおいて実行される(ステップ S203)
[0273] なお、以下の説明では、共有データ Xの名称を示す名称データを N (X)とし、更に 、共有データ Xをノード RQに送信することを要求するメッセージ (配信要求情報)を要 求メッセージ Rとする。このとき、当該要求メッセージ Rには、共有データ Xに対応する 名称データ N (X)と、当該共有データ Xの配信先であるノード RQを識別するための 情報と、が含まれている。
[0274] そして、当該共有データ Xの取得処理完了後は、そのノード RQの電源がオフとさ れたか否かが確認され (ステップ S208)、電源がオフとされたときは(ステップ S208 ; YES)そのままノード RQにおける各動作を完了し、電源が引き続きオンのままである ときは(ステップ S208 ; N〇)、次のコンテンツの取得処理に移行すべく上記ステップ S202の半 IJ定に戻る。
[0275] 一方、上記ステップ S202の判定において共有データ Xの配信要求操作が実行さ れないときは(ステップ S202 ; NO)、次に、ノード RQにおいて、上記要求メッセージ Rに対応した共有データ Xを受信したか否かが判定される(ステップ S204)。そして、 当該共有データ Xを受信したときは (ステップ S 204 ; YES)、当該ノード RQにおいて その受信した共有データ Xをその記録部 12内に保存する共有データ保存処理が実 行され (ステップ S205)、上記ステップ S208に移行して以後上述した処理を実行す る。
[0276] 他方、上記ステップ S204の判定において共有データ Xが未だ受信されていないと きは(ステップ S204 ; NO)、次に、他のノード Tであるノード RQ力 上記要求メッセ一 ジ Rが送信されてきたか否かが判定される (ステップ S206)。そして、当該要求メッセ ージ Rが送信されてきた場合は (ステップ S206; YES)、対応する受信処理が実行さ れ (ステップ S207)、上記ステップ S208に移行して以後上述した処理を実行する。
[0277] 更に、上記ステップ S206の判定において、要求メッセージ Rも受信していないとき は(ステップ S206 ; N〇)、そのまま上記ステップ S208に移行する。
[0278] 次に、上記ステップ S203としての共有データ Xの要求処理の詳細について、図 32 を用いて説明する。なお、図 32は要求処理の詳細を示すフローチャートである。
[0279] 図 32に示すように、本実施形態に係る共有データ Xの要求処理においては、先ず
、配信要求対象である共有データ Xをその記録部 12内に記憶している他のノード T ( すなわち、共有データ Xのコンテンツホルダノードとしてのノード Τ)を、上記共有デー タ検索メッセージをコンテンツ配信システム内に送信することで検索する。そして、 Μ 個のノード Τが検索できたとしたとき、その検索できた Μ個のノード Τを、ノード T[i] (i
[0280] 次に、取得できたコンテンツホルダノードとしてのノード Tの番号を示すパラメータ i を初期化し (ステップ S211)、更に現在のパラメータ iの値が「M」未満であるか否かを 確認する(ステップ S212)。そして、現在のパラメータ iの値が「M」未満であるときは( ステップ S212 ;YES)、要求メッセージ Rを生成し(ステップ S213)、現在のパラメ一 タ iにより示されてレ、るノード T[i]に対して生成した要求メッセージ Rを送信する(ステ ップ S214)。このとき、当該要求メッセージ Rには、配信要求されている共有データ X に対応する名称データ N (X)と、その配信先を示す利用者情報と、が含まれている。
[0281] そして、要求メッセージ Rの送信後は、ノ メータ iを「1」だけインクリメントして (ステ ップ S215)上記ステップ S212の判定に戻る。
[0282] 他方、ステップ S212の判定において、現在のパラメータ iの値が「M」未満でないと き、すなわち、検索された(上記ステップ S210)全てのノード Tに対して要求メッセ一 ジ Rの送信が完了したときは(ステップ S212 ; NO)、そのまま図 24に示すステップ S2 08の処理に移行する。
[0283] 以上説明したように、図 32に示す共有データの要求処理が実行されることで、配信 対象の共有データ Xを記憶してレ、る全てのノード Tに対して、ユーザノードとしてのノ ード RQから要求メッセージ Rが送信されることとなる。
[0284] 次に、上記ステップ S205としての共有データ Xの保存処理について、図 33を用レヽ て詳細に説明する。なお、図 33は当該保存処理の詳細を示すフローチャートである [0285] 図 33に示すように、本実施形態に係る共有データ Xの保存処理において、図 31に 示すステップ S204の判定により共有データ Xを受信したと判定されたときは (ステツ プ S204 ;YES)、先ず、その受信した共有データ Xと同名の共有データ Xをノード R Qがその記録部 12内に既に記憶しているか否かを確認し (ステップ S220)、それが
記憶されていないときは(ステップ S 220 ; N〇。共有データ Xがコンテンツデータであ るときは、通常はこちらの判定となる)、当該受信した共有データ Xを記録部 12内に 記憶させ (ステップ S221)、更に当該共有データ Xが自己の記録部 12内に記憶され たことを上記公開メッセージを用いる等してコンテンツ配信システム内の他のノード T に対して公開し (ステップ S222)、図 31に示すステップ S208の処理に移行する。
[0286] 一方、ステップ S220の判定において、受信した共有データ Xと同名の共有データ Xが自己の記録部 12内に既に記憶されているときは(ステップ S220 ; YES)、当該ノ ード RQが課金処理ノードであって、その新たに受信した共有データ Xが追加課金に 関する課金データである可能性があるので、次に、その共有データ Xが課金データ であるか否かを確認する(ステップ S223)。そして、課金データでないときは(ステツ プ S223 ; N〇)、何らかの理由で既に記録部 12内に記憶済みのコンテンツデータが 再度要求されて受信されたことになるので、記録部 12内の既に取得している共有デ ータ X (コンテンツデータ)を更新することなぐ図 31に示すステップ S208に移行する
[0287] 他方、ステップ S223の判定にぉレ、て、受信した共有データ Xが課金データであつ たときは(ステップ S223 ; YES)、課金処理ノードとしてのノード RQの記録部 12内に 既に記憶されている過去の課金データに対してその受信した課金データを追加記憶 した上で(ステップ S224)、図 31に示すステップ S208の処理に移行する。
[0288] 以上説明した共有データ Xの保存処理が実行されることで、受信した共有データ X 力 Sコンテンツデータである場合は、それが記録部 12内に記憶された後に再生処理等 に供されることとなり、一方当該共有データ Xが新たな課金データであった場合には 、それが課金処理ノードとしてのノード RQの記録部 12内に保存されて必要な課金処 理 (利用者への課金処理等)に供されることになる。
[0289] 次に、上記ステップ S207としての要求メッセージ Rの受信処理について、図 34を 用いて詳細に説明する。なお、図 34は当該受信処理の詳細を示すフローチャートで ある。
[0290] 図 34に示すように、本実施形態に係る要求メッセージ Rの受信処理において、図 3 1に示すステップ S206の判定により要求メッセージ Rを受信したと判定されたときは(
ステップ S206 ;YES)、次に、当該受信した要求メッセージ R内から、それに含まれ ていた名称データ N (X)及び利用者情報を抽出し (ステップ S225)、更に、 自己の記 録部 12内から、当該要求メッセージ Rにより配信が要求されてレ、る共有データ X (コン テンッデータ又は課金データ)を取り出す (ステップ S226)。
[0291] 次に、当該取り出した共有データ Xの属性を確認し (ステップ S227)、それが課金 データでない、すなわちコンテンツデータであるときは(ステップ S227 ; N〇)、そのコ ンテンッデータを配信するに当たって、その配信先の利用者と配信元の配信者との 間に発生する配信料の課金を示す上記課金データを、そのコンテンツデータの配信 につレ、て生成し (ステップ S228)、次に上記要求データ Rを送信してきたノード RQ ( この場合はコンテンツのユーザノードとしてのノード RQ)に対して要求されてレ、るその 共有データ Xであるコンテンツデータを送信して (ステップ S229)、図 31に示すステ ップ S208の処理に移行する。ここで、上記課金データの生成処理の細部について は、後ほど詳述する。
[0292] 一方、ステップ S227の判定にぉレ、て、配信要求対象の共有データ Xが課金データ であるときは(ステップ S227 ;YES。この場合、その要求元のノード RQは課金処理ノ ードであることになる)、次にその配信先であるノード RQ自体に課金情報を収集する 権限がそのコンテンツ配信システム内にぉレ、て与えられてレ、るか否かを確認する(ス テツプ S230)。
[0293] ここで、当該ステップ S230の確認処理として具体的には、例えば、本実施形態に 係るコンテンツ配信システムにおける課金処理ノードが予め特定されている場合は、 配信先であるノード RQの IPアドレスと当該特定されている課金処理ノードの IPァドレ スとを比較することにより当該確認が為される。また、これ以外の、例えば特別な認証 処理を別途行うことによりこの確認を行っても良い。
[0294] ステップ S230の判定にぉレ、て、ノード RQ自体に課金情報を収集する権限が与え られてレ、なレ、場合は (ステップ S230; NO)、配信要求されてレ、る課金データをそのノ ード RQに配信することは許されないので、当該要求された課金データの送信処理を 実行することなくそのまま図 31に示すステップ S208の処理に移行する。
[0295] 一方、ステップ S230の判定にぉレ、て、ノード RQ自体に課金情報を収集する権限
が与えられている場合は(ステップ S230 ; YES)、そのノード RQに対して要求されて レ、るその共有データ Xである課金データを送信し (ステップ S231)、更に当該送信し た課金データを自身の記録部 12内から削除する処理を行った (ステップ S232)後に 、図 31に示すステップ S208の処理に移行する。
[0296] このとき、当該削除処理 (ステップ S232)には、当該課金データを自身の記録部 12 内から削除する処理と、その削除した旨を当該課金データに対応するルートノードに 通知する処理と、が含まれている。
[0297] 以上説明した要求メッセージ Rの受信処理が実行されることで、配信要求対象がコ ンテンッデータであるときは、その配信先のノード RQに対する課金データが新たに 生成された後に当該ノード RQに対して対応するコンテンツデータが送信され、一方 配信要求対象が課金データであるときは、その配信先の課金処理ノードが有する課 金データ収集のための権限を確認した上でその課金処理ノードに対して課金データ が送信されることになる。
[0298] 次に、上記ステップ S228としての課金データ生成処理について、具体的に図 35を 用いて説明する。なお、図 35は当該生成処理の詳細を示すフローチャートである。
[0299] 図 35に示すように、本実施形態に係る課金データ生成処理においては、先ず、受 信した(図 31ステップ S206参照)要求メッセージ R内から、それに含まれていた名称 データ N (X)及び利用者情報を再度抽出し (ステップ S235)、その抽出した利用者 情報を用いて、新たに配信されるコンテンツデータに対応する課金データ名を取得 する(ステップ S236)。このステップ S236の処理の細部については、後ほど詳述す る。
[0300] 課金データ名が取得されたら (ステップ S236)、次に、記録部 12内に新たな課金 データ K (内容は空とされる)を生成し、その名称を課金データ N (K)とする (ステップ S237) 0この空の課金データ Kは、複数回に渡ってコンテンツデータの配信が行わ れた場合に備えて、各回分の課金データを次々に追加してレ、くべく前もって生成さ れるものである。
[0301] 次に、ステップ S235において抽出されている利用者情報と、名称データ N (X)と、 現在の日時を示す時刻情報と、を纏めて今回配信されるコンテンツデータに対応す
る今回分の課金情報 kを生成し、これを予め定められている暗号化方式に則って暗 号化し (ステップ S238)、その暗号化後の課金情報 kを上記課金データ K内に格納( 追加格納)する(ステップ S 239)。
[0302] ここで、ステップ S238の処理において課金情報 kに施される暗号化処理において 用いられる暗号化方式は、後述する課金処理ノードにおいてのみ復号可能な暗号 化方式であり、たとえ当該ステップ S238自体を実行したノード T (コンテンツホルダノ ードとしてのノード T)であっても復号できない暗号化方式であることが望ましい。例え ば、公開鍵暗号方式を用いて、課金処理ノードが秘密鍵を記憶し、一方、それに対 応する公開鍵をすベてのノードに記憶させておき、この公開鍵で課金情報を暗号化 すれば、課金処理ノード以外には課金情報を復号することができなくなる。
[0303] ステップ S239の処理において課金データ Kに暗号化後の課金情報 kが格納される と、次に、当該新たな課金データ Kのコンテンツ配信システム内における記憶先ノー ドを決定すベぐ当該コンテンツ配信システム内において現在配信可能とされている コンテンツを示すリスト(このリストは、あらかじめノード装置の製造工程で記憶部 12内 に組み込まれる等の方法で、全てのノードに配布されている。 )内からランダムに一の コンテンツ(以下、当該選ばれたコンテンツをコンテンツ Zとし、それに対応するデータ を共有データ Zとする)を選び、その選ばれたコンテンツ Zに対応するコンテンツデー タを示す名称データ N (Z)を取得する (ステップ S240)。
[0304] 次に、当該共有データ Zをその記録部 12内に記憶している他のノード T (すなわち 、共有データ Zのコンテンツホルダノードとしてのノード T)を、上記共有データ検索メ ッセージをコンテンツ配信システム内に送信することで複数個検索する。そして、 M 個のノード Tが検索できたとしたとき、その検索できた M個のノード Tを、ノード T[i] (i =0、 1、 2、 3、■·■、(M_ l) )とする(ステップ S241)。
[0305] 次に、取得できたコンテンツホルダノードとしてのノード Tの番号を示すパラメータ i を初期化し (ステップ S 242)、更に現在のパラメータ iの値が「M」未満であるか否かを 確認する(ステップ S243)。そして、現在のパラメータ iの値が「M」未満であるときは( ステップ S243; YES)、現在のパラメータ iにより示されているノード T[i]に対して生 成した課金データ Kを送信する(ステップ S 244)。
[0306] そして、課金データ Kの送信後は、ノ ラメータ iを「1」だけインクリメントして (ステップ S245)上記ステップ S243の判定に戻る。
[0307] 他方、ステップ S243の判定において、現在のパラメータ iの値が「M」未満でないと き、すなわち、検索された(上記ステップ S241参照)全てのノード Tに対して課金デ ータ Kの送信が完了したときは(ステップ S243 ; NO)、 自己の記録部 12内にある送 信後の課金データ K自体を削除した上で (ステップ S246)、図 34に示すステップ S2 29の処理に移行して上記課金情報 kに対応するコンテンツデータの配信を行う。
[0308] なお、図 35の実施例では、課金データを保持させるための複数ノードの選定に際 し、「任意に選んだ特定のコンテンツに対し、そのコンテンツデータを記憶している複 数のノード」という選び方をしたが、これに限らず、例えば、利用者情報の末尾に常に 一定の 10種類の文字を追加したものをハッシュ関数にかけて、それを課金データの 送信先のノード IDとしてもよい。あるいはもっと単純に、疑似乱数関数の出力をノード IDの bit長に合わせて、切り取りあるいは連結したものを、数個から数十個用意し、そ れを課金データの送信先のノード IDとしてもよい。課金データを分散記憶させるノー ドの個数は多ければ多いほど、ノードの脱退に対する課金情報の信頼性が向上する
[0309] 次に、上記ステップ S236としての課金データ名の取得処理について、具体的に図
36を用いて説明する。なお、図 36は当該取得処理の詳細を示すフローチャートであ る。
[0310] 図 36に示すように、本実施形態に係る課金データ名の取得処理においては、先ず 、取得済み(図 35ステップ S235参照)の利用者情報からその利用者を識別するため の利用者 IDを取得し (ステップ S247)、その取得した利用者 IDに基づいて、新たな 課金データ Kの名称を、例えば、 利用者 ID] . kkn」として生成し (ステップ S248) 、図 35に示すステップ S237の処理に移行する。ここで、上記ステップ S248の処理と して具体的には、例えば、利用者 IDが「2376」である場合は、課金データ Kの名称 は、「2376. kkn」となる。
[0311] ここで、図 35及び図 36に示した処理により生成された課金データ Kの内容につい て、図 37を用いて例示しつつ説明する。
[0312] 図 37に例示するように、当該課金データ Kは、上述したように複数回のコンテンツ 配信に夫々一対一に対応する(暗号化された)課金情報 kを含むものであり、各課金 情報 kには、当該課金情報 k本体としての暗号化された課金情報に加えて、その課 金情報を生成した配信者のレ、わゆる電子署名が付加されてレ、る。
[0313] このとき、当該課金情報としては上述したように利用者 ID、配信されたコンテンツの 名称及び配信日時等の情報が暗号化されて含まれている。そして、課金情報に上記 電子署名が付加されていることで、当該課金情報 kが第三者による改竄が為されて レ、ない課金データであることの根拠とすることができる。
[0314] 以上説明した課金データ生成処理が実行されることで、暗号化された課金情報 kを 含む課金データ Kが、その課金情報 kが対応する配信により配信されるコンテンツと は無関係にランダムに選ばれた複数のノード Tに記憶されることとなる。
[0315] 次に、図 35及び図 36を用いて説明した処理により分散配置されている課金データ Kを収集してそれらの改竄状態を確認する上記課金処理ノードにおける具体的な処 理について、図 38を用いて詳細に説明する。なお、図 38は当該課金処理の詳細を 示すフローチャートである。
[0316] 図 38に示すように、本実施形態に係る課金処理においては、先ず、課金処理をす べき利用者を示す利用者情報のリストがシステム運営者から提示される。 (システム運 営者はあらかじめ、利用者の氏名、住所等の、料金請求をする際に必要な情報と、 それぞれの利用者に付与した利用者 IDを管理し、リストとして記憶しているものとする 。)1個の利用者情報が提示されたとしたとき、その I個の利用者情報を、利用者情報 S [i] (i=0、 1、 2、 3、 · · ·、(1—1) )とする(ステップ S250)。
[0317] 次に、利用者情報 Sの番号を示すパラメータ iを初期化し (ステップ S251)、更に現 在のパラメータ iの値が「I」未満であるか否かを確認する(ステップ S252)。そして、現 在のパラメータ iの値が「I」未満であるときは(ステップ S252; YES)、上記ステップ S2 36と同様の課金データ名の生成処理を行い(ステップ S236)、更にその生成された 名称を有する課金データ Kの配信要求を、上記ステップ S203の共有データ Xの要 求処理と同様に実行する (ステップ S203)。
[0318] そして、当該要求した課金データ Kがその記憶先であるノード T (図 35ステップ S24
4の処理により課金データ Kが送信されたノード T)から送信されてきたか否力を確認 し (ステップ S253)、送信されてきたときは(ステップ S253 ;YES)、当該課金処理ノ ード内の一時バッファにその課金データ Kを格納して (ステップ S253— 1)後述する ステップ S254に移行する。
[0319] 一方、ステップ S253の判定において、未だ要求した課金データ Kが送信されて来 ないときは (ステップ S253 ; NO)、当該課金データ Kの受信待ち時間として予め設定 されている待ち時間を越えたか否かを確認し (ステップ S254)、越えていないときは( ステップ S254; NO)越えるまで受信待機となり(ステップ S253)、越えてレ、るときは( ステップ S254 ;YES)、次に、受信した課金データ Kを課金処理ノード独自の復号キ 一によつて復号して (ステップ S255)、その内容の改竄について判定する(ステップ S 256)。
[0320] ここで、当該ステップ S256の処理として具体的には、例えば、受信した複数の課金 データ Kに夫々含まれている課金情報 kのうち、利用日時が同じ課金情報 k同士の内 容を比較し、その異同を確認する。つまり、他の課金データ K内に利用日時が同じで その内容が異なる課金情報 kが存在しているときは、最も多く同じ内容を有する課金 情報 kが正しい内容の課金情報 kであると(多数決で)判定し、その他の課金情報 kは 改竄された可能性がある課金情報 kと判定する。
[0321] その後、正しいと判定された内容を有する課金情報 kを、課金処理ノード内の記録 部 12に記憶されている同じ名称の課金データ Kに追加記憶し (ステップ S257)、次 に、前回の課金収集処理が実行された日時から現在時刻までの利用日時について 上記ステップ S256及び S257の処理を実行したか否かを確認する(ステップ S257 - 1) 0そして、当該現在時刻までの利用時刻について当該収集処理が終了してい ないときは(ステップ S257— 1; NO)、現在時刻までの全ての課金データ Kについて 上記ステップ S256及び S257の処理を実行すべく当該ステップ S256に戻り、一方、 当該現在時刻までの利用時刻について全て当該収集処理が終了しているときは (ス テツプ S257— 1; YES)、次に一時バッファ内の課金データ Kを削除する(ステップ S 258)。
[0322] その後、現在のパラメータ iを「1」だけインクリメントし (ステップ S259)次の利用者情
報 Sに対して同様の処理を繰り返すべく上記ステップ S252に移行する。
[0323] 以上説明した課金処理が課金処理ノードにおいて実行されることで、各課金データ Kとしての秘匿性を失うことなぐ分散配置された当該課金データ Kを収集して必要な 課金処理に供させることができる。
[0324] 以上説明したように、上記実施形態に係るコンテンツ配信システム BSの動作によれ ば、秘匿性を備えるべき課金データ Kを複数のノード Tに分散させて夫々記録し、こ れらを必要に応じてネットワークを介して読み出して処理するので、課金データ の 処理が一つのノード Tに集中することを防止しつつ、当該課金データ Kを効率的に分 散配置して管理することができる。
[0325] また、 P2P型のコンテンツ配信システム BSにおける課金データ Kの管理を、コンテ ンッと同様に分散配置させることで効率的に行うことができる。
[0326] 更に、コンテンツホルダノードとしてのノード Tにおいて、配信要求があつたときにそ の配信すべきコンテンツに対応する課金データ Kを生成し、更にその生成した課金 データ Kの保存先となるノード Tを決定した上でその課金データ Kを送信するので、 配信要求があつたときに対応する課金データ Kを生成して各ノード Tに配置しておく ことにより、課金データ Kを効率的に分散配置して管理することができる。
[0327] 更にまた、コンテンツの配信を要求した利用者を識別する利用者情報に基づき、当 該コンテンツの配信のための課金データ Kが生成されるので、秘匿性を有する当該 課金データ Kの内容が第三者に漏洩することを防止しつつ当該課金データ Kを分散 配置することができる。
[0328] また、課金処理ノードにおいてのみ復号可能な暗号化処理が課金データ Kに施さ れた上でその記憶を行うノード Tに送信されることとなるので、当該課金データ Kが利 用者情報に基づいて生成されることと相まって、課金データ Kの秘匿性の保護をより 確実に行いつつ当該課金データ Kを分散配置することができる。
[0329] 更に、課金データ Kを課金処理ノードに送信した後に当該送信した課金データ Kを 記憶元のノード T内から消去するので、課金データ Kの保全性をより高めることができ る。
[0330] 更にまた、課金処理ノードにおいては、同一の配信についての複数の課金データ
Kを、夫々を記憶するノード Τから読み出し、夫々の内容を相互に比較し、その比較 結果に基づいて各課金データ κが夫々の記録中において改竄された可能性がある か否かを判定するので、分散配置されてレ、るレ、ずれかの課金データ Κに対する第三 者による改竄を効果的且つ迅速に発見することができる。
[0331] 従って、コンテンツの配信のために必要な各課金データ Κに対する第三者による改 竄を効果的且つ迅速に発見して各課金データ Κの秘匿性を向上させつつ、当該各 課金データ Κを効率的に分散配置してこれを管理することが可能となる。
[0332] また、課金データ Κが喑号ィ匕されており、その復号が課金処理ノードにおいてのみ 可能とされているので、課金データ Κの秘匿性を確実に維持することができる。
[0333] 更に、課金処理ノードにおいて、他の過半数の課金情報 kと異なる内容の課金情 報 kがあるとき、当該課金情報 kが改竄された可能性があると判定するので、簡易な 処理で効率的に改竄された可能性のある課金情報 kを含む課金データ Kを判定する こと力 Sできる。
[0334] なお、上述した本実施形態においては、課金データ Kの検索及び課金処理ノード に対する配信についても上記 DHTを用いた方法によった力 これ以外に、課金デー タ Kについてのみ、その記憶先等を集中管理する管理ノードを別途設けても良い。
[0335] また、上述した本実施形態においては、コンテンツの配信によって生じる配信料に ついての課金データ Kの授受及び分散配置について説明したが、これ以外に、秘匿 性を有する当該配信に係る管理情報 (例えばコンテンツの再生許可に関する年齢制 限情報等)を上記課金データ Kとして扱うことも可能である。
[0336] 更に、上述した図 31乃至図 36及び図 38に夫々示すフローチャートに対応するプ ログラムを、フレキシブルディスク又はハードディスク等の情報記録媒体に記録してお き、又はインターネット等を介して取得して記録しておき、これらを汎用のコンピュータ で読み出して実行することにより、当該コンピュータを本実施形態に係る制御部 11と して機能させることも可能である。
[0337] また、本発明は、上記各実施形態に限定されるものではない。上記各実施形態は、 例示であり、本発明の請求の範囲に記載された技術的思想と実質的に同一な構成 を有し、同様な作用効果を奏するものは、レ、かなるものであっても本発明の技術的範
囲に包含される。
[0338] また、 2004年 12月 17日及び 2005年 3月 30日に出願された明細書、特許請求の 範囲、図面、要約を含む日本の特許出願(No. 2004-378005、 No. 2005-100013)の 全ての開示は、その全てを参照することよって、ここに組み込まれる。
産業上の利用可能性
[0339] 以上夫々説明したように、本発明はネットワークを介したコンテンツの配信の分野に 利用することが可能であり、特にダウンロード形式によるコンテンツの配信及びその課 金管理の分野に適用すれば特に顕著な効果が得られる。
Claims
請求の範囲
[1] ネットワークを介して互いに通信可能な複数のノード装置を備えた情報配信システ ムであって、配信情報が 1以上の前記ノード装置に保存され、かつ、前記配信情報の 提供可否に関連する提供可否関連情報であって夫々の前記ノード装置に対応する 前記提供可否関連情報が、他の前記ノード装置に分散保存されている情報配信シ ステムに含まれる前記ノード装置であって、
他の前記ノード装置から前記ネットワークを介して送信されてきた前記配信情報の 提供要求を示す要求情報を受信する要求情報受信手段と、
前記受信された要求情報の送信元である前記ノード装置に対応する前記提供可 否関連情報を保存している前記ノード装置に対して、当該配信情報の提供可否を前 記ネットワークを介して確認する提供可否確認手段と、
前記要求情報の送信元である前記ノード装置に対して、前記確認された提供可否 に基づく回答情報を前記ネットワークを介して送信する提供可否情報送信手段と、 を備えることを特徴とするノード装置。
[2] 請求項 1に記載のノード装置において、
前記要求情報の送信元である前記ノード装置に対応する前記提供可否関連情報 は、複数の前記ノード装置に保存されており、
前記提供可否確認手段は、前記提供可否関連情報を保存してレ、る前記複数のノ ード装置に対して、当該配信情報の提供可否を前記ネットワークを介して確認し、当 該確認された複数の提供可否に基づいて当該配信情報の提供可否を決定し、 前記提供可否送信手段は、前記要求情報の送信元である前記ノード装置に対して 、前記決定された提供可否に基づく回答情報を前記ネットワークを介して送信するこ とを特徴とするノード装置。
[3] 請求項 1に記載のノード装置において、
前記提供可否確認手段は、前記提供可否関連情報を保存してレ、る前記ノード装 置に対して、前記配信情報の提供可否を確認するための確認情報を送信し、当該 確認情報に応じて返信されてきた当該配信情報の提供可否に基づく回答情報を受 信することによって、前記配信情報の提供可否を確認することを特徴とするノード装
置。
[4] 請求項 3に記載のノード装置において、
前記複数のノード装置のうち、前記決定された配信情報の提供可否と異なる回答 情報を返信した前記ノード装置に対して、前記提供可否関連情報の修正要求を示 す修正要求情報を送信する修正要求情報送信手段を更に備えることを特徴とするノ ード装置。
[5] 請求項 2乃至 4の何れか一項に記載のノード装置にぉレ、て、
前記要求情報には、当該要求情報の送信元である前記ノード装置に対応する前記 第 1識別情報が含まれており、
前記提供可否確認手段は、前記要求情報に含まれる前記第 1識別情報に基づい て、互いに異なる複数の第 2識別情報を生成し、夫々の前記第 2識別情報に対応す る夫々の前記ノード装置に対して、前記配信情報の提供可否を確認することを特徴 とするノード装置。
[6] ネットワークを介して互いに通信可能な複数のノード装置を備えた情報配信システ ムであって、配信情報が 1以上の前記ノード装置に保存され、かつ、前記配信情報の 提供可否に関連する提供可否関連情報であって夫々の前記ノード装置に対応する 前記提供可否関連情報が、他の前記ノード装置に分散保存されている情報配信シ ステムに含まれる前記ノード装置であって、
任意の前記ノード装置から前記ネットワークを介して送信されてきた当該配信情報 の提供可否を確認するための確認情報を受信する確認情報受信手段と、
前記受信された確認情報に関わる配信情報の提供が可能か否かを前記提供可否 関連情報を参照して判別する提供可否判別手段と、
前記確認情報を送信した前記ノード装置に対して、前記判別された提供可否に基 づく回答情報を前記ネットワークを介して返信する提供可否情報返信手段と、を備え ることを特徴とするノード装置。
[7] 請求項 6に記載のノード装置において、
前記提供可否判別手段により、前記配信情報の提供が可能と判別された場合には 、前記提供可否関連情報を更新する提供可否関連情報更新手段を更に備えること
を特徴とするノード装置。
[8] 請求項 6に記載のノード装置において、
請求項 4に記載のノード装置から前記ネットワークを介して送信されてきた前記修 正要求情報を受信する修正要求情報受信手段と、
前記受信された修正要求情報に基づいて、前記提供可否関連情報を修正する提 供可否関連情報修正手段と、を更に備えることを特徴とするノード装置。
[9] 請求項 1又は請求項 6に記載のノード装置において、
前記提供可否関連情報には、前記配信情報の提供に対して課金を行うために必 要な課金情報が含まれていることを特徴とするノード装置。
[10] ネットワークを介して互いに通信可能な複数のノード装置を備えた情報配信システ ムであって、配信情報が 1以上の前記ノード装置に保存され、かつ、前記配信情報の 提供可否に関連する提供可否関連情報であって夫々の前記ノード装置に対応する 前記提供可否関連情報が、他の前記ノード装置に分散保存されている情報配信シ ステムに含まれるコンピュータを、
他の前記ノード装置から前記ネットワークを介して送信されてきた前記配信情報の 提供要求を示す要求情報を受信する要求情報受信手段、
前記受信された要求情報の送信元である前記ノード装置に対応する前記提供可 否関連情報を保存している前記ノード装置に対して、当該配信情報の提供可否を前 記ネットワークを介して確認する提供可否確認手段、及び、
前記要求情報の送信元である前記ノード装置に対して、前記確認された提供可否 に基づく回答情報を前記ネットワークを介して送信する提供可否情報送信手段として 機能させることを特徴とする情報送信処理プログラム。
[11] ネットワークを介して互いに通信可能な複数のノード装置を備えた情報配信システ ムであって、配信情報が 1以上の前記ノード装置に保存され、かつ、前記配信情報の 提供可否に関連する提供可否関連情報であって夫々の前記ノード装置に対応する 前記提供可否関連情報が、他の前記ノード装置に分散保存されている情報配信シ ステムに含まれるコンピュータを、
前記配信情報の保存元である前記ノード装置から前記ネットワークを介して送信さ
れてきた当該配信情報の提供可否を確認するための確認情報を受信する確認情報 受信手段、
前記受信された確認情報に関わる配信情報の提供が可能か否かを前記提供可否 関連情報を参照して判別する提供可否判別手段、及び、
前記確認情報を送信した前記ノード装置に対して、前記判別された提供可否に基 づく回答情報を前記ネットワークを介して返信する提供可否情報返信手段として機 能させることを特徴とする情報送信処理プログラム。
請求項 10又は 11に記載の情報送信処理プログラムがコンピュータ読み取り可能に 記録されてレ、ることを特徴とする記録媒体。
ネットワークを介して互いに通信可能な複数のノード装置を備えた情報配信システ ムであって、配信情報が 1以上の前記ノード装置に保存され、かつ、前記配信情報の 提供可否に関連する提供可否関連情報であって夫々の前記ノード装置に対応する 前記提供可否関連情報が、他の前記ノード装置に分散保存されている情報配信シ ステムにおける情報配信方法であって、
前記配信情報の保存元である前記ノード装置が、他の前記ノード装置から前記ネ ットワークを介して送信されてきた当該配信情報の提供要求を示す要求情報を受信 し、当該要求情報の送信元である前記ノード装置に対応する前記提供可否関連情 報を保存している前記ノード装置に対して、当該配信情報の提供可否を確認するた めの確認情報を送信する工程と、
前記提供可否関連情報を保存している前記ノード装置が、前記確認情報を受信し 、当該確認情報に関わる配信情報の提供が可能か否力を前記提供可否関連情報を 参照して判別し、当該判別された提供可否に基づく回答情報を、前記確認情報を送 信した前記ノード装置に対して前記ネットワークを介して返信する工程と、
前記配信情報の保存元である前記ノード装置が、前記提供可否に基づく回答情報 を受信し、当該提供可否に基づく回答情報を、前記要求情報の送信元である前記ノ ード装置に対して前記ネットワークを介して送信する工程と、
を備えることを特徴とする情報配信方法。
配信情報の配信を受ける配信先装置と、
当該配信先装置に対する前記配信を行う配信元装置と、
前記配信に係る管理情報であって、少なくとも当該配信を受ける利用者と当該配信 を行う配信者以外の者に対する秘匿性を備える管理情報を記録する記録手段を夫 々備える複数の管理情報記録装置と、
各前記記録手段から同一の前記配信に対応する前記管理情報を読み出す読出手 段と、当該読み出した管理情報を処理する処理手段と、を備える管理情報処理装置 と、
少なくとも、前記配信先装置、前記配信元装置、各前記管理情報記録装置及び前 記管理情報処理装置を相互に接続するネットワークと、
により構成されていることを特徴とする情報配信システム。
[15] 請求項 14に記載の情報配信システムにおいて、
前記管理情報は、一の前記配信について前記利用者から前記配信者に対して支 払われるべき配信料に関連する課金情報であることを特徴とする情報配信システム。
[16] 請求項 14に記載の情報配信システムにおいて、
当該情報配信システムは、前記配信情報が、前記ネットワークを介して前記配信元 装置と前記配信先装置との間で相互に直接授受される情報配信システムであること を特徴とする情報配信システム。
[17] 請求項 14に記載の情報配信システムに含まれる前記配信元装置であって、
前記配信先装置からの前記配信を要求する配信要求情報を受信する受信手段と 前記配信要求情報を受信したとき、当該受信した配信要求情報に基づいて前記配 信に対応する前記管理情報を生成する生成手段と、
前記生成された管理情報の保存先となる前記管理情報記録装置を決定する決定 手段と、
前記決定された管理情報記録装置に対して前記生成された管理情報を送信する 送信手段と、
を備えることを特徴とする配信元装置。
[18] 請求項 17に記載の配信元装置において、
前記配信要求情報には、当該配信要求情報を送信する操作を前記配信先装置に おいて実行した前記利用者を識別する識別情報が含まれており、
前記生成手段は、前記受信した配信要求情報に含まれてレ、る前記識別情報に基 づき、当該配信要求情報により配信が要求されている前記配信情報に対応する前記 管理情報を生成することを特徴とする配信元装置。
請求項 17に記載の配信元装置において、
前記生成手段は、前記管理情報処理装置においてのみ復号可能な暗号化処理を 前記生成された管理情報に施すことを特徴とする配信元装置。
請求項 17に記載の配信元装置において、
前記管理情報を前記管理情報記録装置に送信した後、前記送信した管理情報を 当該配信元装置内から消去する消去手段を更に備えることを特徴とする配信元装置 請求項 14に記載の情報配信システムに含まれる前記管理情報処理装置であって 同一の前記配信についての複数の前記管理情報を夫々記録している複数の前記 管理情報記録装置を検索する検索手段と、
前記検索された各管理情報記録装置から前記管理情報を夫々読み出す前記読出 手段と、
を備え、
前記処理手段は、
前記読み出された各管理情報の内容を比較する比較手段と、
前記比較手段における比較結果に基づいて、各前記管理情報の内容が改竄され た可能性があるか否かを判定する判定手段と、
を備えることを特徴とする管理情報処理装置。
請求項 21に記載の管理情報処理装置にぉレ、て、
前記読み出された管理情報には、当該管理情報処理装置においてのみ復号可能 な暗号化処理が施されており、
当該暗号化処理された管理情報を復号する復号手段を更に備えることを特徴とす
る管理情報処理装置。
[23] 請求項 21に記載の管理情報処理装置において、
前記判定手段は、前記比較手段における比較の結果、他の過半数の前記管理情 報と異なる内容の前記管理情報があるとき、当該異なる内容の管理情報が改竄され た可能性があると判定することを特徴とする管理情報処理装置。
[24] 請求項 14から 16のいずれか一項に記載の情報配信システムに含まれる前記配信 元装置において実行される配信元処理方法であって、
前記配信先装置からの前記配信を要求する配信要求情報を受信する受信工程と 前記配信要求情報を受信したとき、当該受信した配信要求情報に基づいて前記配 信に対応する前記管理情報を生成する生成工程と、
前記生成された管理情報の保存先となる前記管理情報記録装置を決定する決定 工程と、
前記決定された管理情報記録装置に対して前記生成された管理情報を送信する 送信工程と、
を含むことを特徴とする配信元処理方法。
[25] 請求項 14から 16のいずれか一項に記載の情報配信システムに含まれる前記管理 情報処理装置において実行される管理情報処理方法であって、
同一の前記配信についての複数の前記管理情報を夫々記録している複数の前記 管理情報記録装置を検索する検索工程と、
前記検索された各管理情報記録装置から前記管理情報を前記読出手段により夫 々読み出す読出工程と、
前記読み出された各管理情報の内容を比較する比較工程と、
前記比較工程における比較結果に基づいて、各前記管理情報の内容が改竄され た可能性があるか否かを判定する判定工程と、
を含むことを特徴とする管理情報処理方法。
[26] 請求項 14に記載の情報配信システムに含まれる前記配信元装置に含まれる配信 元コンピュータを、請求項 17に記載の配信元装置として機能させることを特徴とする
配信元処理用プログラム。
[27] 請求項 14に記載の情報配信システムに含まれる前記管理情報処理装置に含まれ る管理情報処理コンピュータを、請求項 21に記載の管理情報処理装置として機能さ せることを特徴とする管理情報処理用プログラム。
[28] 請求項 26に記載の配信元処理用プログラムが前記配信元コンピュータにより読取 可能に記録されていることを特徴とする情報記録媒体。
[29] 請求項 27に記載の管理情報処理用プログラムが前記管理情報処理コンピュータ により読取可能に記録されていることを特徴とする情報記録媒体。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004378005A JP2006185171A (ja) | 2004-12-27 | 2004-12-27 | ノード装置、情報送信処理プログラム、及び情報配信方法等 |
| JP2004-378005 | 2004-12-27 | ||
| JP2005100013A JP4670433B2 (ja) | 2005-03-30 | 2005-03-30 | 配信システム、ノード装置、情報処理方法及びノード装置用プログラム |
| JP2005-100013 | 2005-03-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2006070536A1 true WO2006070536A1 (ja) | 2006-07-06 |
Family
ID=36614662
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2005/020809 Ceased WO2006070536A1 (ja) | 2004-12-27 | 2005-11-14 | ノード装置、情報送信処理プログラム、及び情報配信方法等 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2006070536A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006285974A (ja) * | 2005-03-11 | 2006-10-19 | Brother Ind Ltd | 情報配信システム、ノード装置、及び解除データ発行方法等 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11120141A (ja) * | 1997-10-17 | 1999-04-30 | Fujitsu Ltd | 分散型情報処理システム及びそのシステムで用いられる認証システム及びサービス提供システム |
| JP2003115898A (ja) * | 2001-10-09 | 2003-04-18 | Nippon Telegr & Teleph Corp <Ntt> | 送受信データ監視サーバ、並びに、送信端末及び受信端末、並びに、送受信データ監視サーバプログラム及びその記憶媒体 |
| US20030177196A1 (en) * | 2002-03-14 | 2003-09-18 | Aditya Bhasin | Method and system for providing proxy based caching services to a client device |
| JP2004227394A (ja) * | 2003-01-24 | 2004-08-12 | Nippon Telegr & Teleph Corp <Ntt> | P2pコンテンツ配信システムとp2pコンテンツ配信課金方法およびプログラム |
| JP2004355358A (ja) * | 2003-05-29 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 参加者認証型の情報交換システム及び方法と該システムに使用する通信端末 |
-
2005
- 2005-11-14 WO PCT/JP2005/020809 patent/WO2006070536A1/ja not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11120141A (ja) * | 1997-10-17 | 1999-04-30 | Fujitsu Ltd | 分散型情報処理システム及びそのシステムで用いられる認証システム及びサービス提供システム |
| JP2003115898A (ja) * | 2001-10-09 | 2003-04-18 | Nippon Telegr & Teleph Corp <Ntt> | 送受信データ監視サーバ、並びに、送信端末及び受信端末、並びに、送受信データ監視サーバプログラム及びその記憶媒体 |
| US20030177196A1 (en) * | 2002-03-14 | 2003-09-18 | Aditya Bhasin | Method and system for providing proxy based caching services to a client device |
| JP2004227394A (ja) * | 2003-01-24 | 2004-08-12 | Nippon Telegr & Teleph Corp <Ntt> | P2pコンテンツ配信システムとp2pコンテンツ配信課金方法およびプログラム |
| JP2004355358A (ja) * | 2003-05-29 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | 参加者認証型の情報交換システム及び方法と該システムに使用する通信端末 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006285974A (ja) * | 2005-03-11 | 2006-10-19 | Brother Ind Ltd | 情報配信システム、ノード装置、及び解除データ発行方法等 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7221355B2 (ja) | 匿名エントリを含む分散型データベースのための方法および装置 | |
| RU2735730C1 (ru) | Способы и устройство эффективной реализации распределенной базы данных в сети | |
| US12321471B1 (en) | Systems and processes for providing secure client controlled and managed exchange of data between parties | |
| EP4002181A1 (en) | A consensus method and framework for a blockchain system | |
| CN113261024B (zh) | 用于利用区块链技术路由到网状网络内容的方法 | |
| US20040093273A1 (en) | System and method for the secure distribution of digital content in a sharing network | |
| JP6326173B1 (ja) | データ送受信システム及びデータ送受信方法 | |
| CN114254394A (zh) | 一种基于联盟链的数据共享系统和方法 | |
| JP7053031B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム | |
| CN111723385A (zh) | 数据信息处理方法、装置、电子设备及存储介质 | |
| JP2018098564A (ja) | 分散型台帳システムおよびプログラム | |
| JP7311745B2 (ja) | 管理者端末、参加者端末、権利者端末、利用者端末、コンテンツ利用システム、管理者プログラム、参加者プログラム、権利者プログラムおよび利用者プログラム | |
| JP2002359616A (ja) | 情報処理装置および方法、ライセンスサーバ、並びにプログラム | |
| EP4191976A1 (en) | Methods and devices for content distribution | |
| WO2019200919A1 (zh) | 基于即时通信消息记录的区块链处理方法、介质、装置和计算设备 | |
| GB2587541A (en) | A consensus method and framework for a blockchain system | |
| JP7060463B2 (ja) | データ管理システム及びノード装置 | |
| JP2005352786A (ja) | 電子チケット販売方法、電子チケット販売・譲渡方法、サーバ装置、クライアント装置、プログラム及び記録媒体 | |
| CN114598717A (zh) | 分布式云存储数据访问方法及数据服务系统 | |
| JPH11331145A (ja) | 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体 | |
| KR20230061113A (ko) | 블록체인 기반의 광고 및 가상 자산 관리 방법 및 블록체인 기반 전자 장치의 가상 자산 관리 방법 | |
| JP4670433B2 (ja) | 配信システム、ノード装置、情報処理方法及びノード装置用プログラム | |
| JP2002157231A (ja) | 仮想通信路および仮想通信路を制御するエージェント連携システムおよびエージェント連携方法 | |
| KR101094978B1 (ko) | P2p 네트워크에서 영수증 기반의 피어의 신뢰 정보 관리시스템 및 방법 | |
| RU2408150C2 (ru) | Способ управления передачей данных, способ управления передачей информационного содержания, способ приобретения информации об обработке информационного содержания и система передачи информационного содержания |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 05806309 Country of ref document: EP Kind code of ref document: A1 |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 5806309 Country of ref document: EP |