WO2004049667A1 - 情報処理装置および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
WO2004049667A1
WO2004049667A1 PCT/JP2003/014637 JP0314637W WO2004049667A1 WO 2004049667 A1 WO2004049667 A1 WO 2004049667A1 JP 0314637 W JP0314637 W JP 0314637W WO 2004049667 A1 WO2004049667 A1 WO 2004049667A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
processing
information
request
demand
Prior art date
Application number
PCT/JP2003/014637
Other languages
English (en)
French (fr)
Inventor
Yasushi Katayama
Original Assignee
Sony Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP03775830A priority Critical patent/EP1566937A4/en
Priority to US10/500,146 priority patent/US7818446B2/en
Priority to AU2003284407A priority patent/AU2003284407A1/en
Publication of WO2004049667A1 publication Critical patent/WO2004049667A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Definitions

  • the present invention relates to an information processing apparatus, an information processing method, and a computer program. More specifically, data (contents) distributed and stored in a plurality of nodes (information processing devices) connected via a network or the like, or data stored in a specific node, for example, a server, is transmitted and received via the network.
  • the present invention relates to an information processing apparatus and an information processing method capable of performing data reproduction with enhanced transmission efficiency by executing a plurality of different transmission schemes in combination in accordance with a situation in the configuration, and a computer program.
  • various information processing devices for example, personal computers (PCs), large-scale computers, servers, and other communication devices have been connected to a communication network such as the Internet.
  • Content such as data, voice data, or various programs, or various processed data is being transferred.
  • the type of content exchanged via the network is shifting from text and still images to multimedia content such as video and audio, and the capacity of content is increasing significantly.
  • a large-scale storage system that records certain data in a distributed manner to a large number of information processing terminals connected to each other via a network has attracted attention.
  • a server that records and manages data transmits data to an information processing terminal or another server by multicast or the like, and transmits the data to a local server provided in the information processing terminal or another server.
  • On a storage medium I I have. In this case, in order to be able to retrieve data on demand, a large amount of data must be recorded on a recording medium.
  • a capacity of 1 terabyte or more is required.
  • TCP / A protocol that requests retransmission of data such as an IP arrival signal (ACK)
  • ACK IP arrival signal
  • a P2P network is not a server that performs centralized processing, but an information processing device as a resource possessed by each network client, such as Pc, mobile terminal, PDA, mobile phone, and communication.
  • Various devices such as disk devices or printers, which have processing functions or are connected as storage means connected to communication devices, can communicate with each other via a network, and can share the resources of each network client. This is the configuration.
  • Peer-to-peer (P2P: Peer-to-Peer) network technology is the first to be used in APPN (Advanced Peer to Peer Networking), which is the US company's power company. Have been.
  • Peer-to-peer The (p 2 p p ee r- to- Peer) network, "Pure (Pure) peer 'Two' peer (P 2 P: Peer - to -Peer) network" and "hybrid There are two types of networks: hybrid peer-to-peer (P2P: Peer-to-Peer) networks.
  • Pure peer-to-peer (P2P: Peer-to-Peer) network Is a network form in which each component (peer) of the system has the same function and role, and performs equal communication.
  • a typical service using it is Gnuterlla.
  • a hybrid peer-to-peer (P2P: Peer—to—Peer) network is a pure (P2P) peer-to-peer (P2P) network. This is a network configuration that uses a control server to facilitate the interaction between each component of the system (peer). Napster is one of the typical services that use it.
  • Hybrid P2P Hybrid P2P
  • a network-connected terminal when a network-connected terminal tries to acquire content, it first searches for content resources on a central server, Based on the search information, the terminal accesses the node (other network connection terminal) holding the resource and acquires the content.
  • the terminal it is necessary to register resource information of all nodes in the central server, and furthermore, the search is concentrated on the central server. Therefore, a method has been proposed in which processing such as resource search is executed by being distributed to a plurality of devices.
  • devices for determining processing execution are managed by a method such as arranging them in a tree-like relationship, and processing such as resource search is distributed to a plurality of devices and executed based on management information. is there.
  • processing such as resource search is distributed to a plurality of devices and executed based on management information.
  • Carousel transmission takes its name from the carousel, a method of repeatedly transmitting data.
  • This method if multicast is used, the ability to transmit data to a very large number of playback instruction devices S, and data cannot be taken out at an arbitrary timing. The only alternative was to reduce the waiting time by increasing the number of repetitions per hour.
  • This carousel method is efficient when the number of simultaneous players is large, but cannot satisfy both real-time performance and playback at an arbitrary timing. Also in this method, transmission loss such as duplication of packets is small.
  • Cheung Jung there is a method called Cheung Jung.
  • Chaining means that when there is a node that has just received some data from another node, it does not request data from the original node, but connects to the node that just received the data and transfers it. It is a technique to get. Although it is not known whether there is data surely in the first Jung, if a small number of playback instruction devices use specific data, efficient data transmission is realized without increasing the network load. However, when many playback devices are connected, the carousel transmission method is more efficient. In addition, a fourth method is to secure a large number of caches locally. In other words, in the apparatus that executes the reproduction, all the data is cached. However, when such a cache method is used, it is not practical unless the capacity of the low-level storage device is considerably large.
  • the network load at the time of reproduction is practically zero, but there is a problem that the network load at the time of distribution is the largest of all methods.
  • DISCLOSURE OF THE INVENTION As described above, there are various data transmission methods, all of which have an advantage. There is a disadvantage, and it can be said that an appropriate method differs depending on the situation.
  • An object of the present invention is to provide an information processing apparatus and an information processing method capable of reproducing data, and a computer program.
  • the storage means installed in a plurality of network-connected terminals (nodes) for performing data processing such as content reproduction processing.
  • a content playback request is transmitted based on a predetermined rule without performing a process such as a node search in advance, and a terminal (node) receiving the request autonomously issues a command.
  • Is configured to selectively execute instructions by judging whether or not to execute them, thereby enabling efficient data processing while suppressing an increase in network traffic due to the transfer of many packets. It is an object of the present invention to provide an information processing apparatus and an information processing method, and a computer program. According to a first aspect of the present invention,
  • An information processing device serving as a playback instruction device that transmits a data playback process request to a node connected to the network and executes a data playback process based on return data;
  • a data transmission rate setting unit that selects one or more data transmission methods to be applied as a return data transmission method from a plurality of data transmission methods and determines a data transmission rate of each selected method
  • a network interface unit for transmitting the packet generated by the packet generation unit An information processing apparatus characterized by having: Further, in one embodiment of the information processing apparatus of the present invention, the data transmission rate setting unit selects a data transmission method based on a demand level of data to be reproduced and determines a data transmission rate of each selected method. It is characterized by having a configuration. Further, in one embodiment of the information processing apparatus according to the present invention, the data rate setting unit includes a data transmission method including at least one of a carousel transmission method, a checking transmission method, a distributed cache method, and a client server method. The transmission method is selected, and the data transmission rate of each selected method is determined.
  • the data transmission rate setting section has data corresponding to the demand of the data to be reproduced and the band ratio as the data transmission rate of the applicable data transmission method. Then, according to the corresponding data, the data transmission system is selected based on the demand level information of the reproduction target data, and the data transmission rate of each selected system is determined. Further, in one embodiment of the information processing apparatus of the present invention, the data transmission rate setting unit includes: a demand level: X, a bandwidth ratio for each transmission mode: y, and an identification value of each data transmission mode: n.
  • the information processing apparatus further includes a data restoration processing unit that executes a deinterleaving process and an FEC decoding process, and the data restoration processing unit includes the data restoration processing unit. It is characterized in that it is configured to execute the data leaping process and the FEC decoding process on the data to be reproduced extracted from the packet received from the node that has received the reproduction processing request, and perform data restoration. Further, in one embodiment of the information processing device of the present invention, the information processing device further includes a process for determining whether or not to execute a process according to the processing request at a node that receives the data reproduction processing request. Set the applicable judgment data
  • a packet determining unit that stores the determination data set by the rule determining condition setting unit and a data reproduction request packet that stores instruction data of data to be reproduced; It is characterized in that it is configured to generate Further, in one embodiment of the information processing apparatus of the present invention, the rule determination condition setting unit is adapted to determine whether or not a node receiving the data reproduction processing request performs a process according to the processing request.
  • the packet generation unit generates a bucket storing the probability value: 0 as the reproduction rule determination condition description. It is characterized in that it is configured to execute processing.
  • the data to be reproduced stored in the node is obtained by dividing the data into p blocks, performing p-block FEC encoding, and q-blocks.
  • the rule determination condition setting unit is a probability value for returning the data with a return probability: ⁇ at a node receiving the data reproduction processing request.
  • is set as a playback rule determination condition description, and a recording probability specified by a recording instruction device connected to the network: ⁇ , and the number of encoded blocks:
  • the probability value: ⁇ is set so that the number: ⁇ .
  • a second aspect of the present invention is:
  • a communication unit for transmitting and receiving data to and from a network connection node
  • the number of demand information acquisition requests received from a network connection node via the communication unit is counted, demand information corresponding to each data is generated based on the count information, and the demand information is generated based on the generated demand information.
  • the control unit when the data corresponding demand based on the count information is equal to or greater than a preset threshold, the carousel transmission execution node, It is characterized in that it has a configuration for executing transmission control of a carousel transmission processing request for data corresponding to a demand level that is equal to or greater than a threshold.
  • the control unit includes, in the carousel transmission processing request, an identifier of data to be executed for carousel transmission, and a source node address of the received demand information acquisition request. It is characterized by executing processing for storing destination address information of carousel transmission set based on the information.
  • the data transmission rate setting step includes a step of selecting a data transmission method based on a demand level of the data to be reproduced and determining a data transmission rate of each selected method. It is characterized by including. Further, in one embodiment of the information processing method according to the present invention, the data rate setting step includes at least one of a carousel transmission method, a checking transmission method, a distributed cache method, and a client server method. It is characterized by including the process of selecting the data transmission method to be included and determining the data transmission rate of each selected method.
  • the data transmission rate setting step includes the step of setting the data transmission rate according to the data corresponding to the demand of the data to be reproduced and the bandwidth ratio as the data transmission rate of the applicable data transmission method.
  • the method is characterized in that a data transmission method is selected based on data demand information and a data transmission rate determination process of each selected method is executed.
  • the information processing method further includes a data restoration process step of executing a dinterleaving process and an FEC decoding process, and the data restoration process step includes the data reproduction process. It is characterized in that the data is restored by executing the deinterleaving process and the FEC decoding process on the reproduction target data extracted from the packet received from the node that received the request. Further, in one embodiment of the information processing method according to the present invention, the information processing method further includes a process for determining whether or not to execute a process according to the processing request at a node receiving the data reproduction processing request.
  • the data to be reproduced stored in the node is obtained by dividing the data into ⁇ blocks, subjecting the ⁇ blocks to FEC coding, and Encoding processing data at an encoding rate q / p converted to a block of the above-mentioned block.
  • the rule determination condition setting step is a probability value for returning data with a return probability of 13 at a node receiving the data reproduction processing request.
  • is set as a description of the playback rule determination condition, and can be calculated by the recording probability specified by the recording instruction device connected to the network: ⁇ , and the number of encoding blocks: q, and the number of network connection nodes: n
  • the relationship between the number of reply blocks: qXaXnX ⁇ > the number of blocks: p is set to the probability value: And wherein the door.
  • An information processing method in a demand information providing device that provides demand level information of transmission data via a network.
  • An information processing method comprising: Further, in one embodiment of the information processing method of the present invention, the information processing method further includes a step of: On the other hand, demand The method includes a step of executing transmission control of a carousel transmission processing request for data corresponding to the degree of necessity. Further, in one embodiment of the information processing method of the present invention, the information processing method further includes an ' The method includes a step of executing a process of storing destination address information of carousel transmission set based on the node address information. Further, a fifth aspect of the present invention provides
  • a computer program that sends a data playback processing request to a node connected to the network and executes data playback processing based on the return data.
  • the computer is characterized by having a program. Further, a sixth aspect of the present invention provides
  • a computer that executes processing to provide information on the degree of demand for transmission data transmitted over a network.
  • a computer program According to the configuration of the present invention, a data reproduction processing request is transmitted to a node connected to the network, and the data reproduction processing is performed based on the return data. Then, one or more data transmission methods to be applied as data transmission methods are selected, and the data transmission rate of each selected method is determined, and data transmission is performed according to the determined transmission method. It is possible to select and combine data transmission methods from the transmission method, the chaining transmission method, the distributed cache method, the client server method, etc., and data transmission by the efficient and reliable data transmission method is realized. According to the configuration of the present invention, when executing the reproduction process, the instruction device has correspondence data between the demand of the data to be reproduced and the band ratio as the data transmission rate of the applicable data transmission method.
  • a demand information providing device for providing demand information of transmission data via a network is configured, and the number of demand information acquisition requests received from a network connection node is counted. Since it is configured to generate and provide demand information corresponding to each data based on the information, it is possible to grasp the demand information in real time and provide the latest demand information.
  • the data handling demand based on the force information measured by the demand information providing device that provides the demand information of the transmission data via the network is equal to or greater than a preset threshold.
  • the carousel transmission execution node is configured to execute transmission control of carousel transmission processing requests for data corresponding to the demand level that is equal to or higher than the threshold value.
  • Appropriate data transmission control is realized.
  • the computer program of the present invention is, for example, a storage medium or a communication medium provided in a computer-readable format for a general-purpose computer system capable of executing various programs' codes, for example, a CD, FD, MO, etc.
  • FIG. 1 is a diagram illustrating an example of the configuration of a distributed storage system to which the present invention can be applied.
  • FIG. 2 is a diagram illustrating an example of a network configuration to which the present invention can be applied.
  • Figure 3 is a diagram illustrating the configuration of an information processing device (node) connected to the network.
  • FIG. 4 is a diagram illustrating the configuration of the recording instruction device.
  • FIG. 5 is a diagram illustrating FEC encoding processing and interleaving processing of data executed in the recording instruction device.
  • FIG. 6 is a diagram illustrating a configuration of a data recording processing request packet transmitted from the recording instruction device.
  • FIG. 7 is a diagram for explaining a process of transmitting a data recording process request packet from the recording instruction device to the node.
  • FIG. 8 is a flowchart illustrating a processing procedure including an autonomous processing execution determination processing in a node that has received a data recording processing request packet from the recording instruction device.
  • FIG. 9 is a flowchart illustrating a processing procedure including an autonomous processing execution determination processing in a node that has received a data recording processing request bucket from the recording instruction device.
  • FIG. 10 is a diagram illustrating an example of a hash value generated in an autonomous process execution determination in a node that has received a data recording process request packet from a recording instruction device.
  • FIG. 11 is a diagram illustrating the configuration of the playback instruction device.
  • FIG. 12 is a diagram illustrating the configuration of a data reproduction processing request packet transmitted from the reproduction instruction device.
  • FIG. 13 is a diagram illustrating a configuration of a packet transmitted from the node that has received the data reproduction processing request packet to the reproduction instruction device.
  • FIG. 14 is a diagram for explaining data dinterleaving and FEC decoding performed in the playback instruction device.
  • FIG. 15 is a diagram illustrating a process of transmitting a data reproduction processing request packet from a reproduction instruction device to a node.
  • FIG. 16 is a diagram illustrating a process of transmitting a data storage packet from a node that has received a data reproduction processing request bucket from the reproduction instruction device.
  • FIG. 17 is a flowchart illustrating a processing procedure including an autonomous processing execution determination processing in a node that has received a data reproduction processing request packet from the reproduction instruction device.
  • FIG. 18 is a flowchart illustrating a processing procedure including an autonomous processing execution determination process in a node that has received a data reproduction processing request packet from a reproduction instruction device.
  • FIG. 19 shows the data recording processing request from the recording instruction device, the data recording processing at the node, the data reproduction processing request from the reproduction instruction device, the data extraction and transmission processing at the node, and the reproduction processing at the reproduction instruction device.
  • FIG. 4 is a sequence diagram to be described.
  • FIG. 20 is a diagram illustrating a configuration example of the reproduction instruction device.
  • FIG. 21 is a diagram for explaining a process of transmitting a reproduction processing request (command) bucket to each node connected to the network.
  • FIG. 22 is a diagram showing a state in which data is transmitted from each node to the reproduction instruction device as a reply to a reproduction processing request (command) packet.
  • FIG. 23 is a diagram illustrating a method in which the reproduction instruction device acquires data necessary for reproduction and characteristics of each method.
  • FIG. 24 is a diagram illustrating the effect of bandwidth reduction by using carousel transmission and other transmission methods together.
  • FIG. 25 is a diagram showing an example of an address table applied to set a multicast address according to the distance from the playback instruction device.
  • FIG. 26 is a diagram illustrating an example of an address table in which data (content) IDs and data transmission node addresses are set.
  • FIG. 28 is a diagram illustrating an example in which a demand information providing device that provides demand degree information is set on a network.
  • FIG. 9 is a diagram illustrating a series of processing sequences of issuing a data reproduction processing request to a node, extracting data at the node, and transmitting a packet.
  • FIG. 30 is a flowchart showing a detailed processing procedure from “inquiry of demand” to “restoration of processed data” of the reproduction instruction device.
  • FIG. 31 is a diagram illustrating a processing sequence in which the demand information providing device detects an increase in the demand for content and performs control to start carousel transmission based on the detected information.
  • FIG. 32 is a diagram illustrating an example of a hardware configuration of the information processing apparatus of the present invention.
  • BEST MODE FOR CARRYING OUT THE INVENTION an information processing apparatus, an information processing method, and a computer program according to the present invention will be described in detail with reference to the drawings. The description will be made in the following order.
  • FIG. 1 is a diagram showing a specific example of a distributed storage system for distributing and recording data on terminals constituting a network.
  • the distributed storage system instructs n nodes 1 1 1 1 1 1 2 ... It has a recording instruction device 101 to be controlled and a reproduction instruction device 102 to read data recorded in each node.
  • the recording instruction device 101, each of the nodes 111 to 115, and the reproduction instruction device 102 are described as separate devices, but the functions of these two devices are provided. There may be a device such as a recording / playback instruction device that performs the operation. Also, each of the nodes can be provided with a function as a recording instruction device or a reproduction instruction device. In this case, each device constituting the network can be used without distinction.
  • the recording instruction device, the reproduction instruction device, and the node are collectively called an information processing device. That is, a network configuration as shown in FIG. 2 can be assumed.
  • the information processing device has a configuration capable of communicating with another information processing device and is connected by a communication network.
  • the network is a pure peer-to-peer (P2P: Peer-to-Peer) network without a control server as a look-up server. is there.
  • P2P peer-to-peer
  • the information processing devices 12 1 to 12 26 communicate with each other via the network 110 and execute various types of data processing such as content recording processing and content reproduction processing.
  • the present invention can be applied to a hybrid peer-to-peer (P2P: Peer-to-Peer) network in which a control server is present.
  • the configuration is not limited and can be applied as long as the information processing apparatuses can communicate with each other.
  • a recording request processing request packet in which a multicast address is set based on a predetermined rule is generated, and the content is subjected to FEC (Forward Error Correction) and the interleave processing is performed. It is stored as divided data and transmitted to other information processing devices.
  • the information processing device that receives these packets autonomously determines whether to execute the data recording process, and performs the content recording process based on the determination.
  • one of the information processing apparatuses 121 to 126 sends a content playback request to another information processing apparatus, for example, a request packet in which a multicast address based on a predetermined rule is set. Generate and send.
  • the information processing device that receives these packets autonomously determines whether or not to execute data extraction processing, performs content extraction processing based on the determination, and extracts data extracted according to the request, for example, FEC (Forward Error). Correction) and the interleaved divided data are stored in a packet and transmitted to the playback request information processing device.
  • transmission control devices such as routers that constitute a network are omitted in FIGS. 1 and 2, in practice, transmission control devices such as routers that select a route of a packet passing through a node are used. Is provided.
  • the transmission control device may be provided separately from the node, or the node may have a function as the transmission control device.
  • FIG. 3 is a diagram illustrating a configuration of an information processing device that functions as a node.
  • the information processing device (node) 200 has a rule determination processing unit 201, a data processing unit 202, a packet processing unit 203, and a data transmitting / receiving unit 204. I do.
  • the data transmission / reception unit 204 outputs a transmission bucket to another information processing device connected via a network, and executes a process of inputting a reception packet from another information processing device.
  • the packet processing unit 203 performs a process of generating a packet to be transmitted from the own device to another information processing device connected to the network, a process of analyzing a packet received from another information processing device, and the like.
  • the data processing unit 202 executes a process according to a data processing program stored in each information processing device. For example, data processing based on a data processing request from another information processing device such as a recording instruction device or a reproduction instruction device connected to the network. This is a process of extracting the packet and outputting it to the packet processing unit 203. In the case of a content recording request, this is a process of inputting and storing input content in the storage unit 205.
  • the rule determination processing unit 201 is a processing unit that executes processing unique to the information processing apparatus of the present invention, and has a probability value of ⁇ or 0 as [rule determination condition description] described in the input packet.
  • Data processing based on the packet for example, data reception and storage processing in the storage unit as processing corresponding to the data recording instruction, or data extraction from the storage unit as processing corresponding to the data reproduction instruction. And a transmission process, and a process of determining whether or not to execute these processes.
  • the probability of executing the recording command is set as ⁇
  • the probability of executing the playback command is set as 0. The value is set.
  • the rule determination processing unit 201 of each node determines whether or not to execute the reproduction instruction based on the probability: As described above, in the reproduction command, since the command is executed only at a certain probability at each node, packet loss occurs. By setting the probability that the replay command is executed so that a sufficient number of packets are sent from multiple distributed nodes in total, this can be combined to form an FEC (Forward Error Collect error) based on the original data.
  • FEC Forward Error Collect error
  • FIG. 4 is a diagram showing a configuration of the recording instruction device 250.
  • the recording instructing device 250 is a data input unit 251, which inputs recording processing request data (contents) to a plurality of nodes, such as FEC (Forward Error Collection) encoding, and interleave processing for encoded data.
  • the data processing unit 252 that executes data processing, the probability value as the above [rule determination condition description]: the rule determination condition setting unit that sets ⁇ , the processing data generated by the data processing unit 252,
  • the rule judgment condition setting section 25 stores the rule judgment condition description set in 3 and the packet generation section 2 54 that generates a packet with an address set, and connects to the network.
  • the FEC coding is a general term for coding methods that perform error correction on the receiving side, such as a tornado coding method, a lead tornado coding method, and a turbo coding method.
  • the data input from the input unit 251 is divided into p blocks, and the p blocks are subjected to FEC coding to be converted into q blocks. Coding from the p blocks into q blocks is called coding rate qp, and by changing the coding rate qZp, the recording efficiency and the recording efficiency of this distributed storage system can be improved. Transmission efficiency can be changed You.
  • the interleaving process is a process of rearranging the order of encoded data. By interleaving, the data can be dispersed so that the burst error caused by packet loss becomes a random error.As a result, the lost data part can be corrected by error correction according to FEC. Become.
  • FEC encoder processing and the interleaving processing will be described with reference to FIG.
  • Fig. 5 (a) the input original data is divided into p blocks.
  • FIG. 5 (b) FEC encoding is performed at an encoding rate of q / p, and the data divided into p blocks is converted into q encoded blocks.
  • FEC coding is a general term for coding methods that perform error correction on the receiving side, such as tornado coding, read tornado coding, and turbo coding, and use FEC coding.
  • the FEC-coded data undergoes an interleaving process as shown in FIG. 5 (c).
  • the order of the encoded data is rearranged to distribute the data.
  • the data subjected to the interleap processing is output to the rule determination condition setting unit 253, and a probability value: ⁇ is set as the above [rule determination condition description].
  • the setting process of the probability value: ⁇ as the [rule determination condition description] is set in relation to the above-described processing of the data adding unit.
  • the data processing unit divides the data into ⁇ blocks, applies FEC coding to the generated ⁇ blocks, and performs q blocks.
  • the rail judgment condition setting unit 25 3 sets the recording probability at the node that receives the data recording processing request to the probability of recording data with ⁇ .
  • is set as the recording rule determination condition description, and the return probability specified by the playback instruction device 102 (see FIG. 1) connected to the network (see FIG. 1): ⁇ , and the number of encoded blocks: q,
  • the packet generation unit 254 divides the processing data generated by the data processing unit 252 into a predetermined size, stores the rule determination condition description set by the rail determination condition setting unit 253, and sets the end address. It generates a packet to which a header and a footer are added, and transmits the packet through the network interface 255. The packet is transmitted to each node configuring the distributed storage system using address setting according to the transmission node, that is, using multicast or multicast.
  • FIG. 6 is a diagram showing the structure of the packet 40 generated by the packet generator 254.
  • the packet consists of a header, a description of the recording rule judgment condition, a payload, and a footer.
  • the payload stores the processed data (processed content) that has been subjected to the FEC encoder processing and the interleave processing.
  • control information such as data ID indicating the data type, CRC (Cyclic Redundancy Check) checksum, GU ID (Global Unique ID) as the unique identifier of the packet destination node, and network address are described. It has been.
  • Each node described later records this packet in the recording rule determination condition description. Probability: ⁇ is described.
  • the rule determination processing unit 201 of the node receiving the bucket (see FIG. 3) records the packet based on the recording probability ct.
  • All nodes constituting the distributed storage system determine whether to record a packet based on the recording probability. As a result, data is recorded with a probability ⁇ on the nodes that constitute the distributed storage system.
  • data is recorded with a probability ⁇ on the nodes that constitute the distributed storage system.
  • the recording rule judgment condition description was stored in a packet different from the bucket storing the processed content
  • the link information of the packet storing the recording rule judgment condition description was stored in the bucket storing the processed content
  • the processed content was stored.
  • a configuration may be adopted in which the node that has received the packet acquires the corresponding recording rule determination condition description storage packet based on the link information.
  • FIG. 7 is a diagram for explaining a process of transmitting the data recording processing request packet shown in FIG. 6 as a data recording command from the recording instruction device 101 to the plurality of nodes 111 to 115.
  • the recording instructing device uses the processed data subjected to the FEC processing and the interleave processing described in FIG. 6 as a payload, and further, a packet in which a probability value: ⁇ as a rule judgment condition description is set for each node. Transmits a multicast or manoretic cast.
  • step S101 a data recording processing request bucket is waited for. If it is determined in step S102 that a packet has been received, random number generation processing is executed in step S103, and in step S104, the generated random number and the data recording processing request packet are included. Description of the stored recording rule judgment condition: Compares with the probability ⁇ , and judges whether the instruction is executed or not based on the comparison result. For example, if the generated random number> probability ⁇ , the processing for recording the processed data stored as the payload of the packet in its own storage means is executed, and if the generated random number probability ⁇ , the data recording processing is not executed.
  • the random numbers generated at each node are packets to all nodes when the number ⁇ of nodes constituting the distributed storage system is sufficiently large and the number q of decoded blocks is sufficiently large. Are uniformly recorded, and the range of the generated random numbers is set so that data is recorded with the probability of ⁇ as a whole of the distributed storage system. If it is determined that the data recording processing request should be executed as a result of the comparison processing based on the random number in step S104, the process proceeds to step S105, in which the processed data stored as the payload of the bucket is processed. Execute the extraction process, and
  • a process for recording the extracted data in the storage means of (node) is executed.
  • the process proceeds to step S106, and the processing ends without executing the data recording processing.
  • the information processing apparatus that has received the data recording processing request (command) autonomously executes and non-executes the command based on the comparison between the recording rule determination condition description stored in the packet and the random number. Judge and perform the process according to the judgment.
  • the information processing apparatus that has received the data recording processing request calculates a hash value, and autonomously decodes the hash value based on the hash value.
  • step S201 the process waits for a data processing request bucket.
  • step S202 a hash value generation process based on the data stored in the received bucket is performed. Is executed, and in step S204, execution or non-execution of an instruction is determined based on the generated hash value.
  • the information processing device stores a set value as a preset threshold value in the storage unit, and if the generated hash value is greater than the set value, the instruction execution, the generated hash value
  • the setting value is ⁇ , set the instruction to be non-executable.
  • the data stored in the data processing request packet for which the hash value is to be generated is, for example, an identifier (data ID) of the content data or a part of the data, for example, from the beginning of the data.
  • data ID an identifier
  • n predetermined
  • MD5 can be applied.
  • a hash value of MD5 of data ID or a hash value of MD5 of data content is generated.
  • step S204 If it is determined that the data recording processing request should be executed as a result of the determination based on the hash value in step S204, the process proceeds to step S205, where the processed data stored as the payload of the packet is processed. The extraction process is executed, and the process of recording the extracted data in the storage means of the own device (node) is executed. On the other hand, if it is determined that the data recording processing request is not to be executed as a result of the comparison processing based on the hash value, the process proceeds to step S206, and the processing ends without executing the data recording processing.
  • the information processing apparatus that has received the data recording processing request (command) receives the data recording processing request (instruction) and compares the hash value of the data stored in the packet with the setting value of each node. And autonomously determines the execution or non-execution of an instruction, and performs processing according to the determination.
  • FIG. 11 is a diagram showing a configuration of the reproduction instruction device 270.
  • the playback instruction device 270 is a network interface 271 that transmits and receives data to and from the outside via a network, and generates a packet for requesting a node to transmit playback data specifying playback target data.
  • a rule determination condition setting unit 273 that determines a probability value: 1 as [rule determination condition description] to be set in the data request packet.
  • the network interface 271 receives the playback data storage packet from each node, and the bucket processing unit 274 of the playback instruction device 270 performs processing for combining the data divided into packets.
  • the data restoration processing unit 275 executes the data interleaving process and the FEC decoding process of the data extracted from the received packet, and executes the restoration of the content data.
  • the restored data is input to the data processing unit 276 and output to an external device such as a monitor (not shown) or stored in a recording device (not shown).
  • the data request packet generator 272 transmits a packet requesting data to each node constituting the distributed storage system.
  • FIG. 12 is a diagram showing a configuration of a packet requesting data.
  • the packet is composed of a header, a description part of the playback rule judgment condition, a request description part, and a footer.
  • a data ID for identifying the requested data is recorded in the request description part.
  • Control information such as CRC checksum, node network address and GUID, and sequence number indicating data order are recorded in the header and footer.
  • the playback rule determination condition description part contains the return determined by the rule determination condition setting part 273.
  • Transmission probability (Set to 8. The transmission probability is a variable used to determine whether the node that received the packet returns data. Based on this variable, it is determined that data is returned. Some nodes determine that no data is returned, while others determine that data is not returned. However, the return probability is a value when the entire distributed storage system is viewed as a macro. Return probability is 3.
  • the packet processing unit 274 combines the packets returned from the nodes, and Fig. 13 is a diagram showing the data structure of the packets returned from the nodes. As shown The packet is composed of a header, a payload, and a footer. In the pay mouth, the data extracted from the storage unit by each node, that is, the data block subjected to the FEC processing and the interleave processing described above with reference to FIG.
  • control information such as a CRC checksum, a network address of the receiving node, a sequence number indicating a packet order, and the like are received by the playback instruction device shown in FIG.
  • the packet processor 274 performs packet analysis, reads the sequence number, changes the order of the received buckets, removes control information such as the header and footer, and combines the packets in the order of the sequence numbers.
  • the data restoration processor 275 5 interpolates the received data block by dinter leaping and arranges the data sequence Was further Dinta performs FEC decoding on one sleep has been de one data, to recover the original data.
  • the data restoration processing based on the FEC and the Dinter Leap processing will be described with reference to FIG.
  • Fig. 14 (a) received packets from each node In this case, loss occurs on the network, and the received data block and the lost data block are mixed.
  • the received data block is subjected to FEC coding at a coding rate of qZp, and the data divided into p blocks is converted into q coded blocks. This is the converted block data.
  • the data restoration processing unit 275 in the playback instruction device first applies the interleaving to the received data block, arranges the data arrangement, and generates the interleaved processing data shown in FIG. 14 (b). .
  • the data restoration processing unit 275 performs error correction by FEC on the dinterleave processing data shown in FIG. 14 (b), and generates restored data shown in FIG. 14 (c).
  • FEC coding is a general term for coding methods that perform error correction on the receiving side, such as tornado coding, read tornado coding, and turbo coding, and uses FEC coding.
  • the data restored by the data restoration processing unit 275 is output to the data processing unit 276.
  • the data processing unit 276 stores the decrypted data in a recording unit (not shown) or outputs the data to an output unit such as a monitor speed via an output interface. And output.
  • the distributed storage system is a system in which data is recorded in each node with a recording probability ⁇ , and data recorded in each node is returned with a return probability of 3, and the recording instruction device shown in FIG.
  • the original data output from 101 is returned at the rate of aXnX0. For example, if p blocks are coded into q blocks, q X a X n X] 3 blocks are returned. If the number of returned blocks is larger than the number p of blocks before decoding, the data can be decoded, as described in the above-mentioned paper RIZZ 097.
  • the rule determination condition setting unit 273 in the playback instruction device 270 is configured to convert the data to be played back stored in the node into q blocks by performing FEC encoding on p blocks.
  • the recording probability specified by the recording instructing device connected to the network one return probability: i3 and p, q, and the number of coding blocks: q
  • the probability of packet loss during data recording, output, or transmission is a, ⁇ , ⁇ q / so that a X n X a X q X / 3 is sufficiently larger than P.
  • p the probability of packet loss during data recording, output, or transmission
  • a sufficient number of data are returned.
  • the number of unique packets returned from multiple nodes is mathematically estimated, and the probability of arrival of unique packets can be increased by increasing the recording probability, return probability, or coding rate. it can.
  • the packet is transmitted. A description will be given of a playback processing procedure in which the mode that receives the content autonomously determines whether to extract and transmit the content and executes the processing.
  • FIG. 15 illustrates a process of transmitting the data reproduction processing request packet shown in FIG. 12 as a data reproduction command from the reproduction instruction device 102 to the plurality of nodes 111 to 115.
  • FIG. The playback instructing device sets the identifier of the playback designation data, for example, content ID, GUID, etc., as the request description, and further sets the probability value:
  • Fig. 16 shows the data playback processing, that is, the node receiving the data playback processing request bucket shown in Fig. 12 according to the playback command, that is, reading specified data from its own storage unit, generating a packet, and transmitting a packet.
  • step S301 a data reproduction processing request packet is waited, and when it is determined in step S302 that a packet has been received, in step S303, a random number generation process is executed.
  • step S304 the generated random number is compared with the reproduction rule judgment condition description: probability stored in the data reproduction processing request packet, and execution or non-execution of an instruction is determined based on the comparison result. . For example, if the generated random number> probability i3, the specified content stored in its own storage means is extracted, and a packet with the extracted data as the payload (see Fig. 13) is generated. Then, processing to be transmitted to the reproduction instruction device is executed, and if the generated random number ⁇ probability / 3, the data reproduction processing is not executed.
  • step S304 If it is determined that the data reproduction processing request should be executed as a result of the comparison processing based on the random number in step S304, the process proceeds to step S305, where the request is stored in the storage means of the own device (node). The extracted data is extracted, a packet with the extracted data as a payload (see Fig. 13) is generated, and the packet is transmitted to the playback instruction device. On the other hand, if it is determined that the data reproduction processing request is not to be executed as the comparison processing result based on the random number, the process proceeds to step S306, and the processing ends without executing the data reproduction processing.
  • the information processing device that has received the data reproduction processing request autonomously executes and non-executes the instruction based on a comparison between the reproduction rule determination condition description stored in the packet and the random number. Judge and perform the process according to the judgment.
  • the information processing apparatus that has received the data reproduction processing request calculates a hash value, and autonomously executes the data reproduction processing request based on the hash value. The process of determining execution will be described. First, in step S401, a data reproduction processing request packet is waited for, and when it is determined in step S402 that a packet has been received, in step S403, based on the data stored in the received bucket.
  • a hash value generation process is executed, and in step S404, execution or non-execution of an instruction is determined based on the generated hash value.
  • the information processing apparatus stores a preset set value as a threshold value in the storage unit, and executes the instruction if the generated hash value is greater than the set value, and executes the instruction if the generated hash value is the set value. Make settings such as execution.
  • the data for which the hash value is to be generated is, for example, the content data identifier (data ID) shown in FIG. 10 or a part of the data, for example, from the beginning of the data as shown in FIG.
  • data ID content data identifier
  • MD5 can be applied to the hash value calculation.
  • a hash value based on the MD5 of the data ID or a hash value based on the MD5 of the data content is generated. If it is determined that the data recording processing request should be executed as the determination result based on the hash value in step S404, the process proceeds to step S405, where the data is stored in the storage means of the own device (node). It executes the process of extracting the processed data, generates a packet with the extracted data as the payload (see Fig. 13), and sends it to the playback instruction device. On the other hand, if it is determined that the data reproduction processing request is not to be executed as the comparison processing result based on the hash value, the process proceeds to step S406, and the processing ends without executing the data reproduction processing.
  • the information processing apparatus that has received the data reproduction processing request (command) autonomously executes the command based on the comparison between the hash value of the data stored in the packet and the set value of each node. , Determine non-execution and perform processing according to the determination. [5. Data recording / playback processing sequence]
  • the recording instruction device issues a data recording processing request to the node, the node performs data recording processing, the reproduction instruction device issues a data reproduction processing request to the node, and the node extracts data.
  • a series of processing sequences of the bucket transmission processing will be described together.
  • the recording instruction device executes processing of recording target data (contents), that is, FEC processing and interleave processing. This process is the process described above with reference to FIG.
  • step S12 the recording instruction device executes a data recording processing request (instruction) packet generation process.
  • the data subjected to the interleave processing is stored as a payload, and the packet in which the probability value: ⁇ is set as the [rule determination condition description] determined in the rule determination condition setting unit 25 3 (see FIG. 4). Generate.
  • the recording instruction device transmits an address to each node configuring the distributed storage system using an address setting corresponding to the transmitting node, that is, using a unicast or a multicast.
  • the processing of the node that has received the data recording processing request (command) packet from the recording instruction device is performed by autonomously judging the execution or non-execution of the processing described above with reference to FIGS. Processing.
  • Figure 19 shows the processing of two nodes (nodes 1 and 2).
  • autonomous judgment is performed at many nodes, and data recording processing is performed. Some nodes do not perform data recording.
  • the two nodes (nodes 1 and 2) shown in FIG. 19 perform the probability control processing of steps S 21 and S 31, that is, the generated random numbers described with reference to FIG. Probability set as the recording rule judgment condition description in the packet): Judgment processing execution / non-execution based on comparison with a, or hash value based on data in the packet explained with reference to Fig. 9 Executes the process execution / non-execution determination process based on the comparison with the node setting value. As a result of the probability control processing of steps S 21 and S 31, it is concluded that the two nodes (nodes 1 and 2) shown in FIG.
  • step S32 a data recording process is executed.
  • the data to be recorded is the FEC and interleaved processed data stored in the data recording request packet received from the recording instruction device.
  • step S41 the reproduction instruction device transmits a reproduction processing request (command) packet (see FIG. 12) to each node.
  • the content ID to be played back is stored as a request description, and each node that receives a playback processing request (command) packet (see Fig. 12), which is a packet that sets a playback rule judgment condition description (probability: ⁇ ), That is, the two nodes (nodes 1 and 2) shown in FIG. 19 are the probability control processes of steps S51 and S61, that is, the generated random numbers described with reference to FIG.
  • step S51 Probability set as playback rule judgment condition description in: Processing execution ⁇ non-execution determination processing based on comparison with j3, or in packet described with reference to FIG. 18 Executes the process execution / non-execution determination process based on the comparison between the hash value based on the data and the node setting value. As a result of the probability control process in step S51, it is concluded that the node 1 shown in FIG. 19 performs the data reproduction process.
  • step S52 the reproduction process request (instruction) packet is transmitted. According to the request description, the corresponding data is acquired from the storage unit of the own node, a packet storing the acquired data as a payload (see FIG.
  • FIG. 19 shows a configuration in which data from only node 1 is transmitted to the reproduction instructing device. Data packets from nodes 3 to ⁇ (not shown) are transmitted to the reproduction instructing device and reproduced. The pointing device has received a large number of packets from a large number of nodes.
  • the reproduction instruction device that has received the packet storing the reproduction data applies the interleaving to the reception data block, arranges the data arrangement, and performs the FEC decoding on the interleaved data. , Restore the original data.
  • the data restoration processing based on the FEC and the Dinter Leap processing is as described above with reference to FIG. Even if there is a lost packet, the error is not a burst error in which the error portion exists as a large data area, but a random error, and the original data is restored by the FEC decoding process.
  • the information processing device that has received the data recording or reproduction processing request (command) receives the recording rule judgment condition description or the reproduction rule judgment condition description set in each processing request packet, or other data in the packet. It is possible to autonomously determine the execution or non-execution of an instruction on the basis of, and perform processing according to the determination.
  • the distributed storage system distributes and records data by transmitting a packet describing the recording probability a to the nodes constituting the system. Then, the data recorded in the node is returned with a return probability of 3 to retrieve the data.
  • data can be stored without concentrating the data management load on one server. Also, since one node is shared by a plurality of nodes, the data capacity required for the entire system can be reduced. Also, if data is received from multiple nodes, traffic will not be concentrated on one server, and data can be transmitted and received with a stable communication volume. Also, by changing the values of a, ⁇ , and q / p, the transmission efficiency and the amount of data to be recorded can be changed.
  • the recording instruction device transmits the data to be recorded and the recording probability in the same packet, but transmits the data to be recorded and the recording probability in different packets, or uses an external recording device. And may be referenced from each information processing node.
  • the present invention is not limited to the configuration having the packet transfer configuration.
  • data corresponding to the above-described processing rule determination condition description is added to each transfer data.
  • a carousel transmission method that repeatedly transmits data from a single node, a checking method that connects to the node that received data immediately before and receives data, and that receives data from multiple distributed caches and A node that stores all data, such as a server client method that connects to a recording instruction device to obtain all data, and stores local data locally on its own node,
  • the local cache method which eliminates the need for data transfer during playback by acquiring data from these, can be applied as a playback data acquisition method.
  • the above various methods are appropriately combined and executed, thereby reducing network traffic and realizing efficient and reliable data reproduction. Configuration.
  • the reproduction instruction device When acquiring data necessary for reproduction from another node, the reproduction instruction device transmits a data reproduction instruction to each node, receives data to be reproduced from each node, and executes data reproduction processing. If it exists in its own cache (local cache), it retrieves the data from the cache and plays it back.
  • the reproduction instruction device 310 will be described with reference to FIG.
  • Playback instruction device 3 1 0 is a network interface 311 for transmitting and receiving data to and from an external device via a network, and a data request packet generator 311 for generating a packet for requesting a node to transmit reproduction data specifying reproduction target data. 2.
  • It has a rule determination condition setting unit 313 that determines the probability value: as the [rule determination condition description] to be set in the data request packet. Further, there is a data transmission rate setting unit 318 that selects one or more data transmission methods from a plurality of data transmission methods and determines the data transmission rate of each selected method.
  • the data request bucket generation unit 312 sets the data to be subjected to the reproduction request processing based on the data transmission rate determined by the data transmission rate setting unit 318, performs the address setting processing of the packet, and sets the reproduction request. It generates a data reproduction processing request packet that stores the instruction data of the processing target data as a request description.
  • the data transmission rate setting section 318 selects the data transmission method based on the demand level of the data to be reproduced and determines the data transmission rate of each selected method.
  • the carousel transmission method, the switching transmission Select a data transmission method that includes at least one of the methods, distributed cache method, and client server method, and determine the data transmission rate of each selected method.
  • the network interface 311 receives the playback data storage packet from each node, and the packet processing unit 314 of the playback instruction device 310 performs a process of combining the data divided into packets. Execute. Further, the data restoration processing unit 315 executes the deinterleaving processing and the FEC decoding processing of the data extracted from the received packet, and executes the data restoration.
  • the restored data is input to the data processing unit 316, output to external devices such as a monitor and a speaker (not shown), or stored in a recording device (not shown).
  • the data storage unit 317 is applied as a local cache, and can store reproduction target data. If the stored data is processed data, the data is restored by the data restoration processor 3 15 After processing, it is played back. When stored as non-processed data, the data is reproduced by the data processing unit 316 without performing the restoration process.
  • the data request bucket generating unit 312 transmits a packet requesting data to each node constituting the distributed storage system.
  • the transmission packet configuration is as described above with reference to FIG. 12, and is composed of a header, a playback rule determination condition description section, a request description section, and a footer.
  • a data ID for identifying the requested data is recorded.
  • control information such as CRC checksum, node network address and GUID, and sequence number indicating data order are recorded.
  • the return probability determined by the rail determination condition setting unit 3 13 is set in the reproduction rule determination condition description unit.
  • the return probability] 3 is a variable for determining whether or not the node that has received the packet returns data. Based on this variable, the request data is extracted from its own storage unit, a packet is generated, and it is determined whether or not a data reply is to be executed. As a result of the judgment processing according to the variable, some nodes execute the request processing, and some nodes do not execute the request processing.
  • the return probability is a value when the entire distributed storage system is viewed as a macro, In the entire distributed storage system, the probability of returning data from each node is ⁇ . Therefore, when there are ⁇ nodes in the distributed storage system, the ratio of returned packets is the value ⁇ X multiplied by the number of nodes ⁇ and the return probability of 3.
  • various data transmission methods such as carousel, chaining, client server type, etc. are applied.
  • the rule determination condition setting unit 3 13 3 The return probability j3 can be set. That is, a for carousel, j3 b for Cheung Jung, and] 3c for client server type.
  • the bucket processing unit 314 combines the packets returned from each node.
  • the return packet has the configuration described above with reference to FIG. As shown in Fig. 13, a packet is composed of a header, a payload, and a footer force.
  • the payload includes data extracted from the storage unit by each node, that is, the FEC processing and processing described above with reference to Fig. 5.
  • the interleaved data block is stored, and the header and footer store control information such as the CRC checksum, the network address of the receiving node, and the sequence number indicating the packet order.
  • the packet processing unit 314 When the playback instruction device receives the bucket shown in FIG. 13, the packet processing unit 314 performs packet analysis, reads the sequence number, changes the order of the received packets, and transmits control information such as header and footer. Remove and combine packets in sequence number order.
  • the data restoration processor 315 interleaves the received data block, aligns the data arrangement, performs FEC decoding on the interleaved data, and restores the original data.
  • the data restoration processing based on the FEC and the Dinter Leap processing is as described above with reference to FIG.
  • the data restored by the data restoration processor 315 is output to the data processor 316.
  • the data processing unit 316 stores the decrypted data in a recording unit (not shown), or outputs the data to an output unit such as a monitor speed through an output interface.
  • the playback instruction device of the present embodiment has a plurality of interfaces (A, B,-) in the interface 311 in order to support a plurality of transmission methods.
  • the rule determination condition setting unit 3 1 3 transmits data via these interfaces.
  • a playback processing request (instruction) bucket with the return probability (] 3a, j3b ⁇ ⁇ ⁇ ) determined according to the formula is transmitted.
  • FIG. 21 is a diagram illustrating a process of transmitting a reproduction processing request (command) packet to each node connected to the network. Each node provides one or more transmission methods.
  • the playback instructing device 351 includes, for example, a node 371 that executes carousel transmission, a node 374 that executes chain transmission, a node 375 that stores data by the distributed cache method, and other nodes.
  • the return rule (
  • the identifier of the playback designation data for example, content ID, GUID, etc.
  • FIG. 22 shows a state in which data is transmitted from each of the nodes 37 1 to 37 75 to the playback instructing device 35 1 as a reply to a playback processing request (instruction) packet.
  • the node receiving the data reproduction processing request packet shown in FIG. 12 executes the data reproduction processing, that is, reads the designated data from the storage unit of the own node, generates the packet, and transmits the packet according to the reproduction command.
  • the bucket that stores the playback data only at the node that has made the decision to execute the processing, that is, the processed data that has been subjected to the FEC processing and the interleave processing described in Fig. 6, is used as the payload.
  • a packet (see Fig. 13) is generated and transmitted to the playback instruction device 351.
  • Each node returns data in the form of carousel, distributed cache, check, and client server.
  • the details of the method by which the reproduction instruction device acquires data necessary for reproduction and the characteristics of each method will be described with reference to FIG. Figure 23 summarizes the characteristics of each data transmission method or storage method to be acquired, such as data to be reproduced.
  • the methods are divided into the carousel method, distributed cache method, checking method, low-power cache method, and client-server method.
  • the cache node performs data acquisition processing such as a playback instruction device. The distinction is made between close and far from the executing device.
  • Carousel is a data transmission method that repeatedly transmits a group of data related to certain data using multicast.
  • a recording processing request packet in which the recording rule determination condition description described with reference to Fig. 6 is set is transmitted to each node, and the node performs autonomous processing determination and records data.
  • the reproduced data is obtained by the reproduction instruction device transmitting a reproduction request packet. It is a transmission system that can be operated flexibly even if other systems are used.
  • each node can be grouped to obtain a group of close nodes that do not cause much load on the network, it will be possible to control to receive the playback bucket from the group as close as possible. For example, by performing a process of setting an address (multicast address) in which a node group transmitting a data reproduction processing request is set to a node group close to the reproduction instruction device, packet transmission loss can be reduced to a minimum. . For example, by applying the address table shown in FIG.
  • the reproduction instruction device sets a multicast address that limits a group of nodes transmitting a data reproduction processing request to nodes that are close to the own device, Network traffic can be controlled by setting a multicast address that is limited to various nodes such as medium distance, long distance, or all nodes from the device.
  • Chaining is a method in which when a node also serves as a playback instruction device, the data reproduced immediately before or before is cached and reused. For example, it retains the identifier information corresponding to the data reproduced immediately before or before and the identification information of the node that transmitted the data, and based on the retained information, as shown in FIG.
  • An address table that associates a unicast or multicast address containing an address to the node that transmitted the data is generated, and by referring to this table, a data reproduction request (instruction) packet transmitted by the reproduction instruction device is transmitted.
  • Chaining is an effective method for content (data) that has rapidly become popular, for example. However, if the number of nodes holding data is small, data must be sent from a distance. Transmission loss such as packet duplication Therefore, it is desirable to use the content data only until the content data is held in many nodes, that is, until the distributed cache state is reached. It is also possible to use a local cache that does not perform real-time transmission during data reproduction.
  • this method stores data in the local cache of the device that executes the reproduction process, and uses the stored data for the reproduction process.
  • this method is considered to be applicable when the cache capacity of each node that executes distributed cache processing is extremely large and is biased toward specific data.
  • the client-server type transmission method is applicable to data transmission of data that cannot be obtained by, for example, the carousel, distributed cache, chaining, and local cache, and is a device that stores the original data.
  • this is a processing method in which data is acquired by inquiring of a server such as a recording instruction device that securely holds data.
  • This client-server type data transmission is a data distribution processing configuration suitable for data requested by only a small number of playback instruction devices, which is not cached at all in other nodes.
  • Figure 23 summarizes the characteristics of each of the above methods. The characteristics are shown for six items: distance, net load, data discovery rate, suitability for on-demand, transmission loss, and efficient demand.
  • the distance indicates the distance between the playback instruction device and the data storage node on the network.
  • the distributed cache method is classified as “distant” because it cannot be divided into far and near objects by grouping, and cannot be divided into other things.
  • the network load was evaluated by multiplying the transmission distance by the amount of transmission packets. “Small” indicates a small network load, and “Large” indicates a large network load. Even if the distance is long, the network load can be reduced only by the carousel method, and in other cases, the network load increases with distance.
  • the local cache must be A heavy load is imposed when you run.
  • the data discovery probability indicates whether there is a high or low possibility that a certain data is transmitted on the transmission line when the reproduction instruction device requests the data.
  • the on-demand property indicates whether playback can be started immediately when the playback instruction device requests certain data.
  • Transmission loss refers to the loss of data transmission including duplicate packets, and “large” is not desirable.
  • the vertical axis shows the data demand (popularity) as a logarithmic axis
  • the horizontal axis shows the ratio (bandwidth ratio) to which each data acquisition method is applied.
  • the bandwidth ratio corresponds to the data transmission rate of each data transmission method. For example, data (content) in the area a or higher where demand (popularity) is extremely high executes carousel transmission 100%. For data (content) whose demand (popularity) is at the point of b, the bandwidth ratio applied to carousel transmission is 30%, and the bandwidth ratio applied to data acquisition from the distributed cache is 70%.
  • the bandwidth ratio substantially corresponds to the data acquisition rate.
  • the data transmission rate setting section 3 18 (see Fig. 20) has data corresponding to the demand level of the data to be reproduced and the bandwidth ratio as the data transmission rate of the applicable data transmission method as shown in Fig. 27.
  • the data transmission method is selected based on the demand level information of the data to be reproduced, and the data transmission rate of each selected method is determined.
  • the data request packet generator 312 sets the playback request processing target data based on the data transmission rate determined by the data transmission rate setting section 318, performs the address setting processing, and executes the playback request processing target data.
  • a data reproduction processing request packet that stores the instruction data of (1) as a request description is generated.
  • the demand popularity
  • the data acquisition ratio from the distributed cache is 43%
  • the data transfer of the chaining and client server type is 5%. Since it is 7%, the request description of the data acquisition request packet from the distributed cache describes 43% of the data acquisition request of the entire content, and the address is the multicast address corresponding to the distributed node. Set.
  • the remaining 57% of data requests are executed as client-server type data requests. That is, an address to the server (for example, the recording instruction device) is set, and a bucket storing a 57% data request as a request description is transmitted to the server. Efficient data transfer is realized by properly using such transmission methods.
  • Fig. 27 shows four types of examples of carousel + distribution j, distribution + checking + client server, and client server only according to the data demand (popularity).
  • the combination of data transmission and the combination of ranks are not limited to the configuration shown in the figure, and various settings are possible.
  • the present embodiment has a configuration in which the data transmission method and the data acquisition method are changed according to the degree of demand (popularity) of the acquired data.
  • the index data related to the demand (popularity) of the acquired data is set, for example, on a website that can be freely browsed. It is preferable to have a configuration in which the execution is performed.
  • FIG. 28 shows an example in which a demand information providing device 421 for providing demand degree information is set on a network.
  • the demand information providing device 421 collects and stores the number of nodes connected to the network, executable transmission method information of each node, and demand information of data (for each content). Provide this information on request.
  • the force indicating the reproduction instruction device 4 1 1 is distinguished from the other nodes 4 3 1 to 4 3 5.
  • ⁇ 4 3 5 also with playback instruction device And can function.
  • the demand information providing device 4 2 1 not only provides the number of nodes connected to the network, the transmission method information executable by each node, and the demand information of data (for each content), but also controls the timing of the start of carousel transmission. It is also possible to use a configuration that performs the operation. That is, when starting the carousel transmission from the node having the original data, a transmission start request is transmitted from the demand information providing device 421, and the carousel transmission is started on condition that the node receives the transmission start request.
  • the nodes that execute the carousel transmission are, for example, a recording instruction device holding original data, a node holding data in its own storage means, and the like.
  • the node that executes the carousel transmission may be only one node or a plurality of nodes.
  • the demand information providing device 4 21 is composed of an information processing device having a communication unit for transmitting and receiving data to and from a network connection node, and a control unit for generating demand degree information and controlling the process of providing generated information. .
  • the control unit for example, a process of counting the number of demand information acquisition requests received from the network connection node via the communication unit is executed, and demand information corresponding to each data is generated based on the count information. You.
  • the control unit Upon receiving the demand information acquisition request from the network connection node via the communication unit, the control unit generates and transmits response information based on the count value.
  • the control unit of the demand information providing device 4 21 when the data corresponding demand degree based on the count information is equal to or greater than the preset threshold, the carousel transmission execution node is equal to or greater than the threshold. Carousel transmission processing of data corresponding to the demand is executed. These processes will be described later. Next, referring to FIG. 29, a data recording process from the recording instruction device to the node is required. Request, data recording processing at the node, inquiry and response information reception from the reproduction instruction device to the demand information providing device, data issuance of a data reproduction processing request to the node based on the response information, data extraction at the node, packet A series of transmission processing sequences will be described together.
  • step S501 the recording instruction device performs processing of recording target data (content), that is, FEC processing and interleave processing.
  • content that is, FEC processing and interleave processing.
  • step S502 the recording instruction device executes a data recording processing request (instruction) packet generation process.
  • the data subjected to the interleave processing is stored as a payload, and a probability value: ⁇ is set as a [rule determination condition description] determined in the rule determination condition setting unit 25 3 (see FIG. 4).
  • step S503 the recording instruction device transmits an address to each node configuring the distributed storage system by using an address setting corresponding to the transmission node, that is, using a unicast or a multicast.
  • the processing of the node that has received the data recording processing request (command) bucket from the recording instruction device is performed by autonomously determining whether to execute the processing described above with reference to FIGS. Processing.
  • Figure 29 shows the processing of two nodes (nodes 1 and 2).
  • autonomous judgment probability control
  • data recording processing is performed. Some nodes do not perform data recording.
  • the two nodes (nodes 1 and 2) shown in 121 29 are the probability control processes of steps S511 and S521, that is, the generated random numbers described with reference to FIG. Set as recording rule judgment condition description in data recording processing request packet) Probability: Based on the comparison with ⁇ , the processing to determine whether or not to execute the processing, or based on the comparison between the hash value based on the data in the bucket described with reference to FIG. 9 and the set value of the node, A non-execution determination process is executed. In the two nodes (nodes 1 and 2) shown in FIG. 29, as a result of the probability control processing in steps S511 and S521, it is concluded that both of them execute data recording processing. At 5 1 2 and S 5 2 2, data recording processing is executed.
  • the data to be recorded is the FEC and interleaved processed data stored in the data recording processing request packet received from the recording instruction device.
  • the playback instruction device makes an inquiry to the demand information providing device, and in the response in step S 5 32, the demand information for the playback-scheduled content and, if necessary, Obtain information on the feasible transmission method of each node.
  • the reproduction instruction device determines the transmission method of the reproduction data based on the information obtained from the demand information providing device, and in step S5333, executes the reproduction processing request (instruction) packet (FIG. 12) based on the determined information. ), And transmits the packet to each node in step S534.
  • the playback data transmission method is, for example, one of the carousel, distributed cache, chaining + client, and client server methods. .
  • the content ID to be reproduced is stored in the packet as a request description, and a reproduction rule judgment condition description (probability: ⁇ ) is set as necessary.
  • Each node receiving the playback processing request (instruction) bucket that is, the two nodes (nodes 1 and 2) shown in FIG.
  • the probability control process that is, the generated random number described with reference to FIG. 17 and the reproduction rule determination condition description in the received packet (data reproduction request packet) are set.
  • step S551 For judgment processing of execution / non-execution based on comparison with ⁇ , or comparison of hash value based on data in a packet described with reference to Fig. 18 with node setting value Based on the process execution Perform the non-execution determination process.
  • the probability control processing in step S551 it is concluded that the node 1 shown in FIG. 29 executes data reproduction processing.
  • step S552 the playback processing request (instruction) packet is According to the request description, the corresponding data is acquired from the storage unit of the own node, and a packet (see FIG. 13) storing the acquired data as a payload is generated. Send.
  • FIG. 29 shows a configuration in which data only from node 1 is transmitted to the playback instruction device. ! The data storage bucket from is transmitted to the reproduction instruction device, and the reproduction instruction device receives a large number of packets from a large number of nodes.
  • the playback instruction device that has received the packet storing the playback data performs interleaving on the received data block, aligns the data arrangement, and performs FEC decoding on the interleaved data. And restore the original data.
  • the data restoration processing based on the FEC and the Dinter Leap processing is as described above with reference to FIG. Even if there is a lost packet, the error is not a burst error in which the error part exists as a large data area but a random error, and the original data is deleted by the FEC decoding processing. Data is restored.
  • a detailed processing procedure from “inquiry of demand” to “restoration of processed data” of the reproduction instruction device in the sequence chart of FIG. 29 will be described with reference to the flowchart of FIG. First, when the content to be reproduced is determined, the reproduction instruction device makes an inquiry to the demand information providing device in step S601.
  • the reproduction instruction device determines a reproduction data acquisition method, that is, a data transmission mode, based on the demand information received from the demand information providing device. This is determined based on the correspondence between the demand level and the bandwidth ratio described above with reference to FIG. For example, as described above, data (contents) in the area a or higher where demand (popularity) is extremely high executes 100% carousel transmission. For data (content) at the point where the demand (popularity) is b, the bandwidth ratio applied to carousel transmission is set to 30%, and the area ratio applied to data acquisition from the distributed cache is set to ⁇ 0%. It is.
  • step S602 when the transmission mode of the reproduction target data is determined based on the demand degree, in step S603, the return probability according to the determined data transmission mode is set as necessary. This is, for example, a return probability of / 3 as the playback rule judgment condition description (see Fig. 2) set in the playback request packet when acquiring data from the distributed cache.
  • step S604 a reproduction rule determination condition description is set, and a reproduction request packet (see FIG. 12) in which the identification information of the reproduction target data is a request description is transmitted.
  • step S605 a data bucket (see FIG. 13) having the reproduced data as a payload is received.
  • step S606 it is determined whether or not data that can be decoded (FEC decoding) has been obtained. If so, the decoding process is executed in step S607.
  • the decoding process for example, a process including the dent leave described above with reference to FIG. 14 and the FEC decoding is executed.
  • step S606 it is determined whether the number of reply blocks satisfies the above condition. If not satisfied, the data reception may be continued further, but as described above, in step S609, the data transmission mode is changed, and It is also possible to execute the process again.
  • step S606 If it is determined in step S606 that the decoding process (FEC decoding) executable data has been obtained, the decoding process is executed in step S607, and in step S608, the data is reproduced based on the decoded data.
  • the demand information providing device detects that the demand for the content has increased, and performs control to start carousel transmission based on the detected information. The processing sequence will be described.
  • the demand information providing device measures the content demand degree by counting, for example, the number of times the demand degree inquiry is received from the reproduction instruction device. The greater the number of times the demand degree inquiry is received from the playback instruction device, the greater the demand for that data (content).
  • the demand information providing device executes a control to switch the content delivery to the power roulette transmission when the number of times of receiving the demand degree inquiry from the reproduction instruction device exceeds a preset threshold. That is, when the number of nodes receiving the same content increases, a carousel transmission is instructed to a node capable of executing the carousel transmission, for example, a recording instruction device.
  • the carousel transmission instruction request includes data (content) identification information for which a demand inquiry has been made for the specific data received by the demand information providing device, and the source address information set in the inquiry.
  • a node that can execute power roux cell transmission identifies a data (content) by setting an address including a single door address included in the carousel transmission instruction request received from the demand information providing device, for example, a multicast address. Generates a packet in which data corresponding to the information is set as the payload, and starts carousel transmission.
  • the process in which the demand information providing device starts power roux cell transmission based on the content demand level will be described with reference to the processing sequence in FIG.
  • FIG. 31 shows an example in which two playback instructing devices A and B play the same content, and the same processing is performed in a configuration in which many nodes play back the same data (content). .
  • a plurality of reproduction instruction devices make an inquiry about demand information to the demand information providing device.
  • This demand information inquiry includes the identifier of the data (content) to be inquired.
  • the demand information providing device stores, as inquiry log information, a data (content) identifier of an inquiry target and address information of an inquiry node as inquiry source information.
  • the demand information providing device provides the demand information as a response process to the playback instruction device of the inquiry source.
  • each playback instructing device determines a data transmission method based on the demand information, generates a playback request packet in which a return probability is set as a playback rule determination condition description, and executes a step.
  • the packet is transmitted in S714.
  • the demand information providing device counts the number of times of receiving the demand degree inquiry from the reproduction instruction device, and determines that the number of times of receiving the demand degree inquiry has exceeded the preset threshold value.
  • a carousel transmission start request is transmitted to the executable node 501.
  • the carousel transmission start request includes data (content) identification information for which a demand inquiry has been made for the specific data received by the demand information providing device, and the source address information set in the inquiry.
  • the node 501 capable of executing the carousel transmission sets an address including a single address included in the carousel transmission instruction request received from the demand information providing device, for example, a multicast address, in step S711, Generates a packet in which the data corresponding to the user (content) identification information is set as the payload, and starts power roux cell transmission.
  • the reproduction instruction device applies the interleaving to the received data block, aligns the data arrangement, further performs FEC decoding on the interleaved data, and restores the original data.
  • the data restoration processing based on the FEC and Dinter-leave processing is as described above with reference to FIG.
  • the demand information providing device detects that the demand for the content has increased, and performs control to start carousel transmission based on the detected information, so that the individual playback instruction devices can reproduce the content to be reproduced in different transmission methods.
  • the state of receiving data can be switched to carousel transmission, reducing network traffic and increasing the efficiency of data transmission.
  • FIG. 32 shows an example of an information processing apparatus provided with a CPU (Central Processing Unit) as a control means.
  • a CPU Central Processing Unit
  • ROM Read-Only-Memory
  • a RAM Random Access Memory
  • FIG. 32 shows an example of an information processing apparatus provided with a CPU (Central Processing Unit) as a control means.
  • a CPU Central Processing Unit
  • ROM Read-Only-Memory
  • a RAM Random Access Memory
  • the HDD 904 executes the control of the hard disk, and executes the storing process and the reading process of various data and programs with respect to the single disk.
  • the encode Z decode processing section 905 executes encode processing of transmission data such as content and decode processing of received data in accordance with the above-described processing.
  • the input unit 9111 is an input unit including, for example, a keyboard and a pointing device.
  • the input unit 911 is operated via the keyboard ⁇ mouse, or when data is received from the communication unit 913, a command is input to the CPU 901 and the ROM (Read Only Memory) is read.
  • the output unit 912 is, for example, a CRT, a liquid crystal display, or the like, and displays various kinds of information as text or images.
  • the communication unit 913 executes communication between information processing devices or communication processing with other entities, and under the control of the CPU 911, data supplied from each storage unit or C
  • the PU 901 transmits the data processed by the encoder Z decode processing section 905 and executes processing for receiving data from another entity.
  • the drive 914 is used for recording removable storage media 915 such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, and semiconductor memory. It is a drive that executes recording and reproduction, and executes programs or data from each of the removable recording media 915, and stores programs or data in the removable recording media 915.
  • each process described in the specification can be executed by hardware, software, or a combined configuration of both. If a series of processing is executed by software, the software
  • the program may be stored and provided on a program-readable recording medium such as a CD-ROM, or the program may be downloaded via a communication network such as the Internet.
  • the program can be recorded in a hard disk or a ROM (Read Only Memory) as a recording medium in advance.
  • the program may be a flexible disk, CD-ROM (Compact Disk Read Only Memory), MO (Magneto opt i cal) disk, DVD (Digital Versatile Disk) magnetic disk, semiconductor memory, etc. It can be stored (recorded) temporarily or permanently on a removable recording medium.
  • a removable recording medium can be provided as so-called package software.
  • the program can be wirelessly transferred from a download site to the computer, or connected to the computer via a network such as a LAN (Local Area Network) or the Internet.
  • LAN Local Area Network
  • the computer can receive the program thus transferred and install it on a recording medium such as a built-in hard disk.
  • the information processing device that constitutes the node, the recording instruction device, and the reproduction instruction device may be a camcorder, a personal video recorder, a home gateway, or the like.
  • a recording unit that records data and a predetermined operation It may be a device having another configuration as long as it has a control unit that performs transmission and reception of data and a network interface.
  • the recording probability ⁇ , the reply probability 3 was recorded in the packet, but the recording probability ⁇ ,
  • the transmission probability / 3 may be recorded in an arbitrary recording device or packet, and each node may refer to the value.
  • the interleaving process can be omitted.
  • the various processes described in the specification are not only executed in chronological order as described, but also Alternatively, the processing may be performed in parallel or individually as required by the processing capability of the device that executes the processing.
  • a system is a logical set configuration of a plurality of devices, and is not limited to a device in which each component is in the same housing.
  • a data reproduction process request is transmitted to a node connected to a network, and a data reproduction process is performed based on return data.
  • one or more data transmission methods to be applied as data transmission methods are selected according to the data demand (popularity), and the data transmission rate of each selected method is determined.
  • data transmission methods can be selected and combined from, for example, the carousel transmission method, the switching transmission method, the distributed cache method, and the client-server method. Data transmission by a reliable data transmission method is realized.
  • the production instruction device when executing the reproduction process, sets the reproduction target data.
  • the configuration of the present invention when the demand level of the data to be reproduced is higher than a preset threshold value, the configuration is such that the processing of setting the applicable data transmission method as the carousel transmission method is executed. This makes it possible to automatically select and execute carousel transmission suitable for data transfer in response to a data acquisition request from a node.
  • a demand information providing apparatus for providing demand information of transmission data via a network is configured, and the number of demand information acquisition requests received from the network connection nodes is counted.
  • the data handling demand based on the count information measured by the demand information providing device that provides the demand information of the transmission data via the network is equal to or greater than a preset threshold. In this case, transmission control of carousel transmission processing requests for data corresponding to the demand level that exceeds the threshold is executed for the carousel transmission execution node. Data transmission control is realized.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ネットワークを介したデータ取得処理を、様々な伝送方式から最適構成を選択して実行する装置および方法を提供する。ネットワーク接続されたノードに対してデータ再生処理要求を送信するとともに、返信データに基づくデータ再生処理を実行する構成において、データの需要度(人気度)に応じて、データの伝送方式として適用する1以上のデータ伝送方式を選択するとともに選択各方式のデータ伝送率を決定して、決定伝送方式に従ったデータ伝送を行なう構成とした。本構成により、例えば、カルーセル伝送方式、チェーニング伝送方式、分散キャッシュ方式、クライアントサーバ方式等からのデータ伝送方式の選択、組み合わせが可能となり、効率的で確実なデータ伝送方式によるデータ伝送が実現される。

Description

明 細 書 情報処理装置および情報処理方法、 並びにコンピュータ 'プログラム 技術分野 本発明は、 情報処理装置および情報処理方法、 並びにコンピュータ 'プログ ラムに関する。さらに詳細には、ネットワーク等で接続された複数のノード(情 報処理装置)に分散格納されたデータ (コンテンツ)、あるいは特定のノード、 例えばサーバ等に格納されたデータ等をネットワークを介して送受信する構 成において、異なる複数の伝送方式を状況に応じて組み合わせて実行すること で、伝送効率を高めたデータ再生を可能とした情報処理装置および情報処理方 法、 並びにコンピュータ · プログラムに関する。 背景技術 近年、 ィンターネット等の通信ネットワークには、 様々な情報処理装置、 例 えばパーソナルコンピュータ (P C )、 大型コンピュータ、 サーバ、 その他の 通信機器が接続され、 各ネットワーク接続機器間の映像、 画像データ、 音声デ タ、 あるいは各種プログラム等のコンテンツの転送、 あるいは様々な処理デ ータの転送が行なわれている。ネットワークを通じてやりとりされるコンテン ッの種類は、 テキスト .静止画などから、 動画 .音声などのマルチメディアコ ンテンッへと移行が進んでおり、 コンテンツの大容量化が著しく進んでいる。 あるデータを、ネットワークを介して互いに接続された多数の情報処理端末 に分散して記録する大規模ストレージシステムが注目されている。このような 分散型ストレージシステムにおいて、データを記録管理するサーバは、マルチ キャスト等によって情報処理端末やその他のサーバにデータを送信して、デー タを情報処理端末や他のサーバに備えられたローカルの記録媒体に記録して いる。 この場合、オンデマンドでデータを取り出せるようにするためには、記録媒 体に多量のデータを記録しなければならない。例えば、 1本当たり約 2ギガバ ィ トのデータ容量になる映画の場合、このような映像データを 5 0 0本分記録 するとすれば、 1テラバイ ト以上の容量が必要となる。 また、 ストリーミングによってデータを提供する場合の例として、サーバが データを要求しているクライアントに対してュニキャストでデータを提供す る際には、 エラ一のない伝送を行うために、 例えば、 T C P / I Pの到着済み 信号 (A C K ) のようにデータの再送を要求するプロ トコルが用いられる。 ところが、 この手法は、 サーバ側に多大な負担がかかるため、 高性能なサー バ 1台を用いたとしても、現状では、数百台のクライアントにしかサービスを 提供することができない。 また、 U D P Z I Pのような A C Kを用いないプロ トコルを使用したとしても、サービス可能なクライアントの数は、数千台程度 である。 このように、 ス トリーミングによってデータを提供しょうとすると、 サーバ側のコストが増大し、 クライアントの数が制限されてしまう。 そこで近年で fま、マノレチキャス ト技術 ίこ F E C (Forward Error Correct ion) を用いて、データの再送を要求することなく複数のクライアントにデータを送 信する方式が提案されている。 これは、サーバがマルチキャス トでス ト リーム を繰り返し送信し、 クライアントは、 このストリームから必要な信号を拾い上 げ、 拾い上げたデータを復号して再生する方式である。 この方式を利用して、 1本 2ギガバイ トになる映画の映像データ 5 0 0本分 を 1 0分以内に送信する場合には、約 1 4 . 7ギガビッ ト Z秒の伝送帯域が必 要である。 さらに、 同量の映像データを 1分以内に送信する場合には、 約 1 4 7ギガビッ ト Z秒の伝送帯域が必要になる。 これは、 理論値であるが、 このよ うな容量及び伝送方式に耐えうるサーバは、非常にコストがかかり、実現した としても実用的でない。 また、複数のホストにデータを分散して記録するとい う方式もあるが、 このシステムを実現しようとすると、 巨大なデータを複数の サーバで管理しなければならないため、データ管理やデータ通信のための処理 が増大してしまう。 また、 近年、 情報処理装置間の直接通信処理としてのピア ·ツー 'ピア (P 2 P : Peer - to- Peer) ネットワーク技術が開発され、 利用されている。 P 2 P ネットワークとは、集中的に処理を行なうサーバを設置するのではなく、各ネ ットワーククライアントが持つ資源としての情報処理装置、例えば P c、携帯 端末、 P D A、 携帯電話、 さらに、 通信処理可能な機能を持つあるいは通信機 器に接続された記憶手段としてのディスク装置、 あるいはプリンタ等、様々な 機器をお互いにネットワークを介して通信し、各ネッ トワーククライアントが 持つ資源の共有を可能とした構成である。 ピア ·ツー ' ピア (P 2 P : Peer— to— Peer) ネットワーク技術は、 米 I B M 社力 S提 P昌する A P P N (Advanced Peer to Peer Networking)の中で用!/ヽられた のが最初とされている。 このネッ トワークを使うことで、従来のようなクライ アント-サーバ型ネットワークにおいてコンテンツ配信を行う場合に必要とな る巨大な配信サーバを設置する必要がなくなり、各ネットワーククライアント が持つ資源に分散配置されたコンテンツを多くのユーザが利用可能となり、大 容量のコンテンツの分散格納および、 配信が可能となる。 ピア.ツー.ピア(p 2 p: peer-to— Peer)ネットワークには、 「ピュア(Pure) ピア ' ツー ' ピア ( P 2 P : Peer - to-Peer) ネッ トワーク」 と 「ハイブリ ッ ド (Hybrid) ピア . ツー . ピア (P 2 P : Peer— to— Peer) ネッ トワーク」 の 2つ のネットワーク形態がある。 ピュア (Pure) ピア 'ツー . ピア (P 2 P : Peer- to-Peer) ネットワークと は、 システムの各構成要素 (ピア: Peer) が等しい機能 ·役割を持ち、 対等な コミュ-ケーシヨ ンを行うネットワーク形態である。それを用いた代表的なサ 一ビスとしてはグヌーテラ(Gnuterlla)が挙げられる。ハイプリッド(Hybrid) ピア .ツー .ピア ( P 2 P : Peer— to— Peer) ネットワークとは、 ピュア (Pure) ピア · ツー · ピア (P 2 P : Peer— to— Peer) ネッ トワークに加えて、 システム の各構成要素 (ピア: Peer) 間の相互作用を円滑にするための制御用サーバを 用いるネッ トワーク形態のことである。それを用いた代表的なサービスとして はナップスター (Napster) が挙げられる。 ナップスター(Napster)に代表されるハイブリッドビア'ツー'ピア (Hybri d P2P) 方式では、 ネットワーク接続された端末がコンテンツを取得しようとす る場合には、 まず中央のサーバでコンテンツリソースを検索し、 端末は、 検索 情報に基づいて、そのリソースを保有しているノ一ド(他のネットワーク接続 端末) にアクセスし、 コンテンツの取得を行なう。 この方式では、 中央サーバ にすベてのノードのリソース情報を登録する必要があり、さらに検索が中央サ ーバに集中するという欠点がある。 そこで、リソース検索等の処理を複数の装置に分散させて実行する方式が提 案された。 この処理分散方式では、処理実行の判断装置をツリー状の関係に配 置するなどの方法により管理し、管理情報に基づいてリ ソース検索等の処理を 複数の装置に分散させて実行するものである。 しかし、 この方式でも、 処理を 実行する装置が数百万など多数になると、ッリ一構成を管理する情報量の増大、 複数の処理装置に実行命令を伝達させるための処理命令数の増大、あるいはッ リ一の一貫性の保障などの問題が発生する。 また、複数の処理実行判断装置に よる判断処理が必要となるため、 処理遅延が起こる問題がある。 これらの弱点を補うために、すべての命令をすベてのネットワーク接続ノー ドに送り、各ノードにおいて受信した処理命令を自分が実行するかどうかを判 断をさせる方式がある。 これが、グヌーテラ (Gnutella)に代表されるピュア · ピア · ツー · ピア (Pure P2P) 方式である。 この方式は、 ハイプリッドビア · ツー ' ピア (Hybrid P2P) 方式と違って、 リソース検索処理を実行する中央サ —バを持たない構成であり、各ノード間で直接、検索要求を送受信してリソー スの件策を実行して、ヒットした端末にコンテンツ送信等の処理要求を依頼す る構成である。 このグヌーテラ (Gnutella) に代表されるピュア ' ピア .ツー ' ピア (Pure P2P) 方式においても、 検索命令の転送には、 ツリー構造やネットワーク構造 などのルーティングを使うことによって、すべてのまたはできるだけ多くのノ 一ドに対して検索を行わせる構成が有効である。しかし、この方式においても、 自ノードで実行しない処理命令の命令転送処理を実行することになり、伝送経 路に負担がかかる欠点がある。 例えばすベてのネットワーク接続ノードを検索して、処理要求を全ノードに 到達させるためには、複雑なルーティング管理が必要となる。 一方、 ベストェ フォート方式のノード検索を実行すると、すべてのノードに命令を伝達するこ とは保証されず、 必要なリソースを見つけ出せない場合がある。 また、 ノード 検索のための通信が多発するとネットワークにおける輻輳が発生するという 問題もある。 一方、 データの伝送方式にはいくつかの方式がある。 まず、 第 1の方式とし て、 単一のノードからすべてのデータを引き出す方式がある。 この方式では、 確実にデータが引き出されるがデータの有無を判定するための事前検索が必 要となる。 コンテンツを所有するノードに負荷が集中するという問題がある。 また、接続ノードがダウンした場合、データの再生が継続できないという問題 がある。 この単一ノードを利用したデータダウンロードは、 ごく少数の再生指 示装置、すなわちノードからデータを受信して再生する装置がデータを利用す る場合有効である。 本方式では、 パケットの重複などの伝送ロスは少ない。 次に、第 2の方式として、単一のノードからデータをカル セル伝送する方 式がある。カルーセル伝送とは、データを繰り返し送信する方式で回転木馬か らその名前を取っている。 この方式で、 マルチキャストを用いると、 とても大 きな数の再生指示装置にデータを伝送することができる力 S、任意のタイミング でデータを取り出すことができないので、データの遅れなどの解消のためには、 時間当たりの繰り返し回数を増やすことで待ち時間を減らす方法しかなかつ た。 このカルーセル方式は、 同時再生者数が多い場合には効率がよい方式であ るが、リアルタイム性と任意のタイミングで再生という両方を満たすことはで きない。 本方式においても、 パケットの重複などの伝送ロスは少ない。 また、 第 3の方式として、 チェ一ユングと呼ばれる手法がある。 チェ一ニン グとは、別のノードからあるデータを直前に受け取ったノードがある場合、 も とのノードにデータを要求するのではなく、直前にデータを受け取ったノード に接続して転送してもらう手法である。 チヱ一ユングでは、確実にデータがあ るかどうかはわからないが、少数の再生指示装置が特定のデータを利用する場 合は、ネットワーク負荷も過大とならず効率的なデータ伝送が実現される。 し かし、多数の再生装置が接続する場合は、カルーセル伝送方式のほうが効率が よい。 さらに、第 4の方式としてローカルにキヤッシュを多数、確保する方式が考 えられる。すなわち再生を実行する装置において、データをすベてキヤッシュ する方式である。 しかし、 このようなキャッシュ方式を用いる場合は、 ロー力 ルの記憶装置の容量がかなり大きくないと実用にならない。再生時のネッ トヮ ーク負荷は事実上 0であるが、配信時のネットワーク負荷はすべての方式のな かでもっとも大きくなるという問題がある。 発明の開示 上述したように、 データ伝送方式には、 様々な方式があるが、 いずれも一長 一短があり、状況に応じて適切な方式が異なるということが言える。本発明は、 コンテンッデータの再生等、データの取得によるデータ処理を実行する構成に おいて、 異なる複数の伝送方式を状況に応じて組み合わせて実行することで、 伝送効率を高めたデータ取得、データ再生を可能とした情報処理装置および情 報処理方法、 並びにコンピュータ ·プログラムを提供することを目的とする。 また、 本発明は、 複数の端末 (ノード) の接続されたネットワーク構成にお いて、例えばコンテンッ再生処理等のデータ処理をネッ トワーク接続された複 数の端末 (ノード) に設置された記憶手段を利用して実行する場合に、 事前の ノード検索等の処理を行なうことなく、所定のルールに基づいてコンテンツ再 生要求を送信し、 これらの要求を受信した端末 (ノード) において、 自律的に 命令を実行するかしないかを判断して命令の選択的な実行を行なう構成とす ることで、多数のパケッ ト転送によるネットワーク トラフィックの増大を抑え て効率的にデータ処理を実行することを可能とした情報処理装置および情報 処理方法、 並びにコンピュータ · プログラムを提供することを目的とする。 本発明の第 1の側面は、
ネットワーク接続されたノードに対してデータ再生処理要求を送信すると ともに、返信データに基づくデータ再生処理を実行する再生指示装置としての 情報処理装置であり、
複数のデータ伝送方式から、返信データの伝送方式として適用する 1以上の データ伝送方式を選択するとともに選択各方式のデータ伝送率を決定するデ ータ伝送率設定部と、
前記データ伝送率設定部において決定したデータ伝送率に基づいて、再生要 求処理対象データの設定処理およびァドレス設定処理を行ない、設定した再生 要求処理対象データ指示データをリクエスト記述として格納したデータ再生 処理要求パケッ トを生成するパケット生成部と、
. 前記パケッ ト生成部において生成したパケッ トを送信するネットワークィ ンタフェース部と、 を有することを特徴とする情報処理装置にある。 さらに、本発明の情報処理装置の一実施態様において、前記データ伝送率設 定部は、再生対象データの需要度に基づいてデータ伝送方式を選択するととも に選択各方式のデータ伝送率を決定する構成であることを特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記データ伝送率設 定部は、 カルーセル伝送方式、 チェ一ユング伝送方式、 分散キャッシュ方式、 クライアントサーバ方式の少なく ともいずれかの方式を含むデータ伝送方式 を選択するとともに選択各方式のデータ伝送率を決定する構成であることを 特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記データ伝送率設 定部は、再生対象データの需要度と、適用データ伝送方式のデータ伝送率とし ての帯域割合との対応データを有し、前記対応データに従って再生対象データ の需要度情報に基づくデータ伝送方式の選択および選択各方式のデータ伝送 率の決定処理を実行する構成であることを特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記データ伝送率設 定部は、 需要度: Xと、 各伝送方式ごとの帯域割合: yと、 各データ伝送方式 の識別値: nとして設定する関数群: y = D n ( x ) (ただし、 ∑ D n ( x ) = 1 ) を適用し、 需要情報に基づいて決定する需要度: Xの値に従って各デー タ伝送方式のデータ伝送率決定処理を実行する構成であることを特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記データ伝送率設 定部は、再生対象データの需要度が予め設定された閾値より高い場合は、適用 データ伝送方式をカルーセル伝送方式として設定する処理を実行する構成で あることを特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、 さらに、ディンタリーブ処理おょぴ F E C復号処理を実行するデータ復元処理 部を有し、前記データ復元処理部は、前記データ再生処理要求を受信したノー ドから受信するパケットから抽出される再生対象データについてのディンタ リープ処理および F E C復号処理を実行し、データ復元を行なう構成であるこ とを特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、 さらに、前記データ再生処理要求を受信するノードにおいて、処理要求に従つ た処理を実行するか否かの判定処理に適用可能な判定用データを設定するル
—ル判断条件設定部を有し、前記パケッ ト生成部は、前記ルール判断条件設定 部において設定した判定用データを格納するとともに、再生処理対象データの 指示データを格納したデータ再生処理要求パケッ トを生成する構成であるこ とを特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記ルール判断条件 設定部は、前記データ再生処理要求を受信するノードにおいて、処理要求に従 つた処理を実行するか否かの判定処理に適用可能な再生ルール判断条件記述 としての確率値: ]3を設定する処理を実行する構成であり、前記パケット生成 部は、前記再生ルール判断条件記述としての確率値: 0を格納したバケツトを 生成する処理を実行する構成であることを特徴とする。 さらに、本発明の情報処理装置の一実施態様において、前記ノードに格納さ れた再生対象データは、データを p個のプロック数に分割し、 p個のプロック に F E C符号化を施して q個のプロックに変換した符号化率 q / pの符号化 処理データであり、前記ルール判断条件設定部は、前記データ再生処理要求を 受信するノ一ドにおいて返信確率: βでデータを返信させる確率値: βを再生 ルール判断条件記述として設定する構成であり、前記ネッ トワークに接続され た記録指示装置から指定される記録確率: α、 および前記符号化プロック数: qと、 ネットワーク接続ノード数: nによって算出可能な返信プロック数: q X a X n X jSと、 前記プロック数: p との関係が、 返信プロック数: q X α X η X /3 >プロック数: ρとなるように前記確率値: βを設定する構成であるこ とを特徴とする。 さらに、 本発明の第 2の側面は、
ネッ トワークを介した伝送データの需要度情報を提供する需要情報提供装 置としての情報処理装置であり、
ネットワーク接続ノードとのデータ送受信を実行する通信部と、
前記通信部を介してネッ トワーク接続ノードから受信する需要度情報取得 要求数をカウントし、該カウント情報に基づく各データ対応の需要度情報を生 成するとともに、該生成需要度情報に基づいて前記需要度情報取得要求に対応 する応答情報を生成して前記通信部を介して送信する制御部と、
を有することを特徴とする情報処理装置にある。 さらに、 本発明の情報処理装置の一実施態様において、 前記制御部は、 前記 カウント情報に基づくデータ対応需要度が、予め設定した閾値以上となった場 合に、カルーセル伝送実行ノードに対して、 閾値以上となった需要度に対応す るデータのカルーセル伝送処理要求の送信制御を実行する構成を有すること を特徴とする。 さらに、 本発明の情報処理装置の一実施態様において、 前記制御部は、 前記 カルーセル伝送処理要求に、カルーセル伝送の実行対象データの識別子、およ び受信した需要度情報取得要求の送信元ノードア ドレス情報に基づいて設定 したカルーセル伝送の宛先ァドレス情報を格納する処理を実行する構成であ ることを特徴とする。 さらに、 本発明の第 3の側面は、
ネットワーク接続されたノードに対してデータ再生処理要求を送信すると ともに、返信データに基づくデータ再生処理を実行する再生指示装置における 情報処理方法であり、
複数のデータ伝送方式から、返信データの伝送方式として適用する 1以上の データ伝送方式を選択するとともに選択各方式のデータ伝送率を決定するデ —タ伝送率設定ステップと、
前記データ伝送率設定ステツプにおいて決定したデータ伝送率に基づいて、 再生要求処理対象データの設定処理およびァドレス設定処理を行ない、設定し た再生要求処理対象データ指示データをリクエスト記述として格納したデー タ再生処理要求パケットを生成するパケッ ト生成ステップと、
前記パケッ ト生成ステップにおいて生成したパケッ トを送信するパケッ ト 送信ステップと、
を有することを特徴とする情報処理方法にある。 さらに、本発明の情報処理方法の一実施態様において、前記データ伝送率設 定ステップは、再生対象データの需要度に基づいてデータ伝送方式を選択する とともに選択各方式のデータ伝送率を決定する処理を含むことを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記データ伝送率設 定ステップは、 カルーセル伝送方式、 チェ一ユング伝送方式、 分散キヤッシュ 方式、クライアントサ一バ方式の少なく ともいずれかの方式を含むデータ伝送 方式を選択するとともに選択各方式のデータ伝送率を決定する処理を含むこ とを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記データ伝送率設 定ステップは、再生対象データの需要度と、適用データ伝送方式のデータ伝送 率としての帯域割合との対応データに従って再生対象データの需要度情報に 基づくデータ伝送方式の選択および選択各方式のデータ伝送率の決定処理を 実行することを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記データ伝送率設 定ステップは、 需要度: Xと、 各伝送方式ごとの帯域割合: yと、 各データ伝 送方式の識別値: nとして設定する関数群: y = D n ( x ) (ただし、 ∑ D n ( x ) = 1 ) を適用し、 需要情報に基づいて決定する需要度: xの値に従って 各データ伝送方式のデータ伝送率決定処理を実行することを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記データ伝送率設 定ステップは、再生対象データの需要度が予め設定された閾値より高い場合は、 適用データ伝送方式をカルーセル伝送方式として設定する処理を実行するこ とを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、 さらに、ディンタリープ処理および F E C復号処理を実行するデータ復元処理 ステップを有し、前記データ復元処理ステップは、前記データ再生処理要求を 受信したノードから受信するパケッ トから抽出される再生対象データについ てのディンタリーブ処理および F E C復号処理を実行し、データ復元を行なう ことを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、 さらに、前記データ再生処理要求を受信するノードにおいて、処理要求に従つ た処理を実行するか否かの判定処理に適用可能な判定用データを設定するル ール判断条件設定ステップを有し、前記パケット生成ステップは、前記ルール 判断条件設定ステップにおいて設定した判定用データを格納するとともに、再 生処理対象データの指示データを格納したデータ再生処理要求パケッ トを生 成することを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記ルール判断条件 設定ステップは、前記データ再生処理要求を受信するノードにおいて、処理要 求に従った処理を実行するか否かの判定処理に適用可能な再生ルール判断条 件記述としての確率値: を設定する処理を実行する構成であり、前記パケッ ト生成ステップは、前記再生ルール判断条件記述としての確率値: 0を格納し たパケットを生成する処理を実行する構成であることを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記ノードに格納さ れた再生対象データは、データを ρ個のプロック数に分割し、 ρ個のプロック に F E C符号化を施して q個のプロックに変換した符号化率 q / pの符号化 処理データであり、前記ルール判断条件設定ステップは、前記データ再生処理 要求を受信するノ一ドにおいて返信確率: 13でデータを返信させる確率値: β を再生ルール判断条件記述として設定し、前記ネットワークに接続された記録 指示装置から指定される記録確率: 《、 および前記符号化プロック数: qと、 ネットワーク接続ノード数: nによって算出可能な返信プロック数: q X a X n X i3と、 前記プロック数: pとの関係が、 返信プロック数: q X a X n X ^ >プロック数: pとなるように前記確率値: を設定することを特徴とする。 さらに、 本発明の第 4の側面は、
ネッ トワークを介した伝送データの需要度情報を提供する需要情報提供装 置における情報処理方法であり、
通信部を介してネッ トワーク接続ノードから需要度情報取得要求を受信す るステップと、
前記需要度情報取得要求数を力ゥントし、該カウント情報に基づく各データ 対応の需要度情報を生成するステップと、
前記カウント情報に基づく需要度情報を応答情報として格納したパケッ ト を生成し、 前記通信部を介して送信するステップと、
を有することを特徴とする情報処理方法にある。 さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、 さらに、前記カウント情報に基づくデータ対応需要度が、予め設定した閾値以 上となった場合に、カルーセル伝送実行ノードに対して、閾値以上となった需 要度に対応するデータのカルーセル伝送処理要求の送信制御を実行するステ ップを有することを特徴とする。 さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、 さらに、前記カルーセル伝送処理要求に'、 カルーセル伝送の実行対象データの 識別子、および受信した需要度情報取得要求の送信元ノードア ドレス情報に基 づいて設定したカルーセル伝送の宛先ァドレス情報を格納する処理を実行す るステップを含むことを特徴とする。 さらに、 本発明の第 5の側面は、
ネットワーク接続されたノードに対してデータ再生処理要求を送信すると ともに、返信データに基づくデータ再生処理を実行するコンピュータ ·プログ ラムであり、
複数のデータ伝送方式から、返信データの伝送方式として適用する 1以上の データ伝送方式を選択するとともに選択各方式のデータ伝送率を決定するデ ータ伝送率設定ステップと、
前記データ伝送率設定ステップにおいて決定したデータ伝送率に基づいて、 再生要求処理対象データの設定処理およびァドレス設定処理を行ない、設定し た再生要求処理対象データ指示データをリクエスト記述として格納したデー タ再生処理要求パケットを生成するパケット生成ステップと、
前記パケッ ト生成ステップにおいて生成したパケッ トを送信するパケッ ト 送信ステップと、
を有することを特徴とするコンピュータ 'プログラムにある。 さらに、 本発明の第 6の側面は、
ネッ トワークを介した伝送データの需要度情報を提供する処理を実行する コンピュータ 'プログラムであり、
通信部を介してネッ トワーク接続ノードから需要度情報取得要求を受信す るステップと、 前記需要度情報取得要求数を力ゥントし、該カゥント情報に基づく各データ 対応の需要度情報を生成するステップと、
前記カウント情報に基づく需要度情報を応答情報として格納したパケッ ト を生成し、 前記通信部を介して送信するステップと、
を有することを特徴とするコンピュータ ·プログラムにある。 本発明の構成によれば、ネットワーク接続されたノ一ドに対してデータ再生 処理要求を送信するとともに、返信データに基づくデータ再生処理を実行する 構成において、 データの需要度 (人気度) に応じて、 データの伝送方式として 適用する 1 以上のデータ伝送方式を選択するとともに選択各方式のデータ伝 送率を決定して、 決定伝送方式に従ったデータ伝送を行なう構成としたので、 例えば、 カルーセル伝送方式、 チェ一二ング伝送方式、 分散キャッシュ方式、 クライアントサーパ方式等からのデータ伝送方式の選択、組み合わせが可能と なり、 効率的で確実なデータ伝送方式によるデータ伝送が実現される。 本発明の構成によれば、再生処理を実行する際製指示装置は、再生対象デー タの需要度と、適用データ伝送方式のデータ伝送率としての帯域割合との対応 データを有し、対応データに従って再生対象データの需要度情報に基づくデー タ伝送方式の選択および選択各方式のデータ伝送率の決定処理を実行する力 あるいは、 需要度: Xと、 各伝送方式ごとの帯域割合: yと、 各データ伝送方 式の識別値: nとして設定する関数群: y = D n ( x ) (ただし、 ∑D n ( x ) = 1 ) を適用し、 需要情報に基づいて決定する需要度: Xの値に従って各デー タ伝送方式のデータ伝送率決定処理を実行する構成としたので、需要度情報に 基づく伝送方式の決定処理を効率的に実行することが可能となる。 さらに、本発明の構成によれば、再生対象デ一タの需要度が予め設定された 閾値より高い場合は、適用デ一タ伝送方式をカルーセル伝送方式として設定す る処理を実行する構成としたので、多数のノードからのデータ取得要求に対応 したデータ転送に適したカルーセル伝送を自動的に選択実行する処理が可能 となる。 さらに、本発明の構成によれば、ネッ トワークを介した伝送データの需要度 情報を提供する需要情報提供装置を構成し、ネットワーク接続ノードから受信 する需要度情報取得要求数をカウントし、該カウント情報に基づく各データ対 応の需要度情報を生成し提供する構成としたので、リアルタイムでの需要度情 報が把握可能であり、 最新の需要度情報を提供可能となる。 さらに、本発明の構成によれば、ネッ トワークを介した伝送データの需要度 情報を提供する需要情報提供装置の計測する力ゥント情報に基づくデータ対 応需要度が、予め設定した閾値以上となった場合に、 カルーセル伝送実行ノー ドに対して、閾値以上となった需要度に対応するデータのカルーセル伝送処理 要求の送信制御を実行する構成としたので、需要度の増加に即座に対応した最 適なデータ伝送制御が実現される。 なお、 本発明のコンピュータ · プログラムは、 例えば、 様々なプログラム' コードを実行可能な汎用コンピュータ 'システムに対して、 コンピュータ可読 な形式で提供する記憶媒体、 通信媒体、 例えば、 C Dや F D、 M Oなどの記録 媒体、 あるいは、ネットワークなどの通信媒体によって提供可能なコンビユー タ 'プログラムである。 このようなプログラムをコンピュータ可読な形式で提 供することにより、 コンピュータ 'システム上でプログラムに応じた処理が実 現される。 本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付す る図面に基づくより詳細な説明によって明らかになるであろう。 なお、本明細 書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置 が同一筐体内にあるものには限らない。 図面の簡単な説明 図 1は、 本発明の適用可能な分散型ストレージシステム構成例について説 明する図である。
図 2は、本発明の適用可能なネットワーク構成例について説明する図である。 図 3は、 ネッ トワーク接続される情報処理装置 (ノード) の構成について説 明する図である。
図 4は、 記録指示装置の構成について説明する図である。
図 5は、記録指示装置において実行するデータの F E C符号化処理およびィ ンタリープ処理について説明する図である。
図 6は、記録指示装置から送信するデータ記録処理要求パケットの構成につ いて説明する図である。
図 7は、記録指示装置からノードに対するデータ記録処理要求パケットの送 信処理について説明する図である。
図 8は、記録指示装置からデータ記録処理要求パケッ トを受信したノードに おける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。 図 9は、記録指示装置からデータ記録処理要求バケツ トを受信したノードに おける自律的な処理実行判定処理を含む処理手順を説明するフロー図である。 図 1 0は、記録指示装置からデータ記録処理要求パケットを受信したノード における自律的な処理実行判定において生成するハッシュ値の例について説 明する図である。
図 1 1は、 再生指示装置の構成について説明する図である。
図 1 2は、再生指示装置から送信するデータ再生処理要求パケットの構成に ついて説明する図である。
図 1 3は、データ再生処理要求パケッ トを受信したノードから再生指示装置 に対して送信するパケットの構成について説明する図である。
図 1 4は、再生指示装置において実行するデータのディンタリープ処理およ び F E C復号処理について説明する図である。
図 1 5は、再生指示装置からノードに対するデータ再生処理要求パケットの 送信処理について説明する図である。 図 1 6は、再生指示装置からデータ再生処理要求バケツトを受信したノード からのデータ格納パケットの送信処理について説明する図である。
図 1 7は、再生指示装置からデータ再生処理要求パケットを受信したノード における自律的な処理実行判定処理を含む処理手順を説明するフロー図であ る。
図 1 8は、再生指示装置からデータ再生処理要求パケットを受信したノード における自律的な処理実行判定処理を含む処理手順を説明するフロー図であ る。
図 1 9は、記録指示装置からのデータ記録処理要求、 ノ一ドにおけるデータ 記録処理、および再生指示装置からのデータ再生処理要求、 ノードにおけるデ ータ抽出送信処理、再生指示装置における再生処理について説明するシーケン ス図である。
図 2 0は、 再生指示装置の構成例を示す図である。
図 2 1は、 再生処理要求 (命令) バケツトをネッ トワーク接続された各ノー ドに送信する処理を説明する図である。
図 2 2は、 再生処理要求 (命令) パケットの返事として各ノードから再生指 示装置にデータが送信される様子を示す図である。
図 2 3は、再生指示装置が再生に必要なデータを取得する方式および各方式 の特性について記す図である。
図 2 4は、カルーセル伝送おょぴその他の伝送方式の併用による帯域削減効 果について説明する図である。 図 2 5は、再生指示装置との距離に応じたマルチキャストァドレスを設定す るために適用するァドレステーブルの例を示す図である。
図 2 6は、 データ (コンテンツ) I Dと、 データ送信ノードアドレスを設定 したァドレステーブルの例を示す図である。
図 2 7は、 縦軸に対数軸として示すデータ需要 (人気度)、 横軸にデータ取 得の各方式を適用する割合(帯域割合) を示した需要と帯域割合の対応例を示 す図である。 図 2 8は、需要度情報を提供する需要情報提供装置をネットワーク上に設定 した例を示す図である。
図 2 9は、記録指示装置からノ一ドに対するデータ記録処理要求の発行、 ノ 一ドにおけるデータ記録処理、再生指示装置から需要情報提供装置に対する問 い合わせおよび応答情報受信、さらに応答情報に基づくノードに対するのデー タ再生処理要求の発行、 ノードにおけるデータ抽出、パケット送信処理の一連 の処理シーケンスについて説明する図である。
図 3 0は、 再生指示装置の 「需要の問い合わせ」 から 「加工されたデータの 復元」 までの詳細処理手順について示すフロー図である。
図 3 1は、 需要情報提供装置がコンテンツの需要が増加したことを検出し、 その検出情報に基づいて、カルーセル伝送を開始する制御を行なう処理シーケ ンスについて説明する図である。
図 3 2は、本発明の情報処理装置のハードウエア構成例について説明する図 である。 発明を実施するための最良の形態 以下、 本発明の情報処理装置および情報処理方法、 並びにコンピュータ .プ ログラムについて、 図面を参照して、 詳細に説明する。 説明は、 以下の項目順 に行なう。
1 . ネットワーク構成
2 . ノードと しての情報処理装置構成
3 . 記録指示装置構成およびデータ記録処理
4 . 再生指示装置構成およびデータ再生処理
5 . データ記録再生処理シーケンス
6 . 伝送方式の最適組合わせに基づくデータ伝送処理
7 . 情報処理装置のハード構成
[ 1 . ネットワーク構成] まず、本発明の情報処理装置を適用したデータ処理を実現するネットワーク 構成例について図 1を参照して説明する。図 1は、ネットワークを構成する端 末にデークを分散して記録する分散型ストレージシステムの具体例を示す図 である。分散型ス トレージシステムは、 ネッ トワーク 1 0 0の通信網に接続さ れた n個のノード 1 1 1、 1 1 2、 ··'、 1 1 5と、 各ノードへのデータの記録 を指示制御する記録指示装置 1 0 1と、各ノードに記録されたデータを読み出 す再生指示装置 1 0 2とを有する。
'なお、 本実施例では、 記録指示装置 1 0 1と、 各ノード 1 1 1〜 1 1 5と、 再生指示装置 1 0 2とを別の装置として説明するが、これら両装置の機能を有 する記録再生指示装置のような装置があってもよい。 また、 ノードの各々が記 録指示装置や再生指示装置としての機能を装備することもできる。 この場合、 ネットワークを構成する各装置を区別なく使用できる。 なお、 記録指示装置、 再生指示装置、 ノードを総称して情報処理装置と呼ぶ。 すなわち、 図 2に示すような、 ネットワーク構成を想定可能である。 情報処 理装置は、他の情報処理装置との通信可能な構成を有し通信ネットワークによ り接続される。 ネットワークは、 基本的には、 ルックァップサーバ (L o o k - u p S e r v e r )としての制御用サーバを持たないピュア(Pure) ピア · ツー ' ピア (P 2 P : Peer— to— Peer) ネッ トワークである。 図 2に示すように、各情報処理装置 1 2 1〜 1 2 6がネットワーク 1 1 0を 介して相互に通信を実行し、コンテンッ記録処理やコンテンツ再生処理等の各 種のデータ処理を実行する。 なお、 本発明は、 制御用サーバが存在するハイプ リ ッ ド (Hybrid) ピア ' ツー ' ピア ( P 2 P : Peer-to-Peer) ネッ トワークに おいても適用可能であり、特にネットワーク構成を限定して適用可能なもので はなく、 情報処理装置相互において通信が可能な構成であればよい。 図 2に示す情報処理装置 1 2 1〜 1 2 6のいずれかがコンテンッの記録要 求、あるいはコンテンツの再生要求をネットワーク接銃された情報処理装置に 出力する。 コンテンツの記録要求を行なう場合は、例えば所定のルールに基づ くマルチキャストァドレスを設定した記録要求処理要求パケットを生成し、パ ケットにコンテンツを F E C (Forward Error Correction) を力、けるとともに ィンターリーブ処理した分割データとして格納し、他の情報処理装置に対して 送信する。 これらのパケットを受信した情報処理装置は、データ記録処理を実 行するか否かを自律的に判定して、判定に基づくコンテンッ記録処理を行なう。 また、 コンテンッの再生処理を行なう場合は、情報処理装置 1 2 1〜 1 2 6 のいずれかがコンテンツ再生要求を他の情報処理装置、例えば所定のルールに 基づくマルチキャス トァドレスを設定した要求パケットを生成して送信する。 これらのパケットを受信した情報処理装置は、データ抽出処理を実行するか否 かを自律的に判定して、判定に基づくコンテンツ抽出処理を行ない、要求に従 つて抽出したデータ、 例えば F E C (Forward Error Correction) をかけると ともにインターリーブ処理した分割データをパケッ トに格納して再生要求情 報処理装置に対して送信する。 なお、 図 1、 図 2においては、 ネットワークを構成するルータなどの伝送制 御装置を省略してあるが、実際には、 ノードを通過するパケッ トの経路を選択 するルータなどの伝送制御装置が設けられている。伝送制御装置は、 ノードと は別に設けられていてもよいし、ノードが伝送制御装置としての機能を有して いてもよい。
[ 2 . ノードとしての情報処理装置構成]
次に、ノードとして機能する情報処理装置の構成について説明する。図 3は、 ノードとして機能する情報処理装置の構成を示す図である。 図 3に示すように情報処理装置 (ノード) 2 0 0は、 ルール判断処理部 2 0 1、 データ処理部 2 0 2、 パケット処理部 2 0 3、 データ送受信部 2 0 4を有 する。データ送受信部 2 0 4は、ネットワークを介して接続された他の情報処 理装置に対する送信バケツ トの出力、および他の情報処理装置からの受信パケ ットの入力処理を実行する。 パケット処理部 2 0 3は、 自装置から、ネットワーク接続された他の情報処 理装置に対して送信するパケットの生成処理、あるいは他の情報処理装置から 受信したパケットの解析処理等を行なう。 データ処理部 2 0 2は、それぞれの情報処理装置に格納されたデータ処理プ 口グラムに従った処理を実行する。例えば、ネットワークに接続された他の記 録指示装置あるいは再生指示装置等の情報処理装置からのデータ処理要求に 基づくデータ処理、例えばコンテンツ再生要求であれば、指定コンテンツを記 憶部 2 0 5から取り出して、パケット処理部 2 0 3に出力する処理である。 ま た、 コンテンツ記録要求であれば、入力コンテンツを記憶部 2 0 5に入力格納 する処理である。 ルール判断処理部 2 0 1は、本発明の情報処理装置に固有の処理を実行する 処理部であり、 入力したパケッ トに記述された [ルール判断条件記述] として の確率値: α、 あるいは 0をもとに、 パケットに基づくデータ処理、 例えばデ ータ記録命令に対応する処理としてのデータ受信および記憶部に対する格納 処理、あるいはデータ再生命令に対応する処理としての記偉部からのデータ抽 出および送信処理、これらの処理を実行するか否かを判定する処理を実行する。 本発明の構成においては、記録命令を実行する確率を αとし、再生命令を実行 する確率を 0として設定し、 それぞれ記録指示装置、再生指示装置が送信する 記録要求または再生要求パケットにこれらの確率値が設定される。 例えばコンテンッ記録処理を実行する場合、分散型ストレージシステムを構 成するノードの数 ηが十分に大きく、且つ復号化されたプロックの個数 qが十 分に大きい場合、全てのノードにパケットが均等に記録され、分散型ストレー ジシステム全体として の確率でデータが記録される。 また、 コンテンッ再生処理を実行する場合、各ノードのルール判断処理部 2 0 1では、再生命令を実行するか否かを確率: に基づいて判断して実行する。 このように再生命令では、それぞれのノードで一定の確率でしか命令が実行さ れないので、 パケットの消失が起こる。 し力 し、 複数の分散ノードからトータ ルで十分な数のパケッ トが送られてくるように再生命令が実行される確率 を設定しておけば、 これを結合して、 F E C (Forward Error Collect ion) に 基づくエラーコレクションを実行して、 元のデータを再生できる。
[ 3 . 記録指示装置構成およびデータ記録処理]
次に、 記録指示装置およびデータ記録処理について説明する。 図 4は、 記録 指示装置 2 5 0の構成を示す図である。記録指示装置 2 5 0は、複数のノード に対する記録処理要求対象データ (コンテンツ) を入力するデータ入力部 2 5 1、 例えば F E C (Forward Error Collect ion) 符号化、 および符号化データ に対するインターリーブ処理等のデータ加工を実行するデータ加工部 2 5 2、 前述の [ルール判断条件記述] としての確率値: αを設定するルール判断条件 設定部 2 5 3、データ加工部 2 5 2で生成した加工データおよびルール判断条 件設定部 2 5 3で設定したルール判断条件記述を格納し、アドレスを設定した パケットを生成するパケッ ト生成部 2 5 4、およびネッ トワークとの接続を行 ぅネッ トワークインターフェース 2 5 5を有している。 ここで、 F E C符号化とは、 トルネード符号化方式、 リードトルネード符号 化方式、ターボ符号方式などの受信側で誤り訂正を行う符号化方式の総称であ り、データ加工部 2 5 2は、データ入力部 2 5 1から入力されたデータを p個 のブロックに分割し、この p個のブロックに F E C符号化を施して q個のブロ ックに変換する。この p個のプロックから q個のプロックに符号化することを 符号化率 qノ pの符号化といい、この符号化率 q Z pを変更することによって、 この分散型ストレージシステムの記録効率や伝送効率を変更することができ る。 ィンターリープ処理は、符号化されたデータの順番を並び換える処理である。 ィンターリープすることによってデータを分散させ、パケットの消失によって 発生するパーストエラーがランダムエラーになるようにすることができ、その 結果、消失データ部を F E Cに従ったエラーコレクションによって訂正するこ とが可能となる。
F E Cェンコ一ド処理およびィンタリーブ処理について、図 5を参照して説 明する。 図 5 ( a ) に示すように、 入力した元データを p個のプロックに分割 する。 そして、 図 5 ( b ) に示すように、 符号化率 q / pの F E C符号化を施 し、 p個のプロックに分割したデータを q個の符号化プロックに変換する。 上述したように、 F E C符号化とは、 トルネード符号化方式、 リードトルネ 一ド符号化方式、ターボ符号化方式などの受信側で誤り訂正を行う符号化方式 の総称であり、 F E C符号化を用いて、 あるデータを符号化率 qノ pで符号化 し た 場 合 、 論 文 R I Z Z 0 9 7 (http : //www. i et. unipi. it/ lui gi/f ec. html#f ec. ps)に ^§表されているよつ に、 p個以上の符号化されたプロックが残存すれば、幾つかのブロックが消失 しても、 元のメッセージが復元できるようになつている。
F E C符号化を施されたデータは、 図 5 ( c ) に示すようにインターリーブ 処理が実行され。符号化されたデータの順番を並び換え、データを分散させる。 ィンターリープ処理のなされたデータは、ルール判断条件設定部 2 5 3に出力 され、 前述の [ルール判断条件記述] としての確率値: αを設定する。
[ルール判断条件記述] と しての確率値: αの設定処理は、 前述のデータ加 ェ部の処理に関連して設定される。データ加工部は、データを ρ個のプロック 数に分割し、生成した ρ個のプロックに F E C符号化を施して q個のプロック に変換する符号化率 dZpの符号化処理を実行するものとした場合 レール判 断条件設定部 2 5 3は、データ記録処理要求を受信するノードにおいて記録確 率: αでデータを記録させる確率値: αを記録ルール判断条件記述として設定 する構成であり、 ネットワークに接続された再生指示装置 1 0 2 (図 1参照) から指定される返信確率: β、 および前記符号化プロック数: qと、 ネットヮ ーク接続ノード数: nによって算出可能な返信ブロック数: q X a X n X |3と、 プロック数: pとの関係が、
返信ブロック数: q X o: X n X j3 >プロック数: p
となるように確率値: αを設定する。 この設定により、 再生指示装置の再生 要求によって各ノードから返信確率: ρで返信される返信データからの確実な データ復元が保証される。 パケット生成部 2 5 4は、データ加工部 2 5 2で生成した加工データを所定 の大きさに分割し レール判断条件設定部 2 5 3で設定したルール判断条件記 述を格納し、 了 ドレスを含むヘッダやフッタを付加したパケットを生成して、 ネットワークィンターフェース 2 5 5を介して送信する。 なお、パケットは送 信ノードに応じたァドレス設定、すなわちュニキャスト若しくはマルチキャス トを用いて分散型ストレージシステムを構成する各ノードに送信する。 図 6は、パケット生成部 2 5 4によって生成されるパケット 4 0の構造を示 す図である。 パケットは、 ヘッダ、 記録ルール判断条件記述、 ペイロード、 フ ッタから構成される。ペイロードには、 F E Cェンコ一ド処理およびィンター リーブ処理がなされた加工データ (加工コンテンツ) が格納される。 ヘッダと フッタには、 データの種類を示すデータ I D、 C R C (Cyclic Redundancy Check) のチェックサム、 パケット送信先ノードの固有識別子としての GU I D (Global Unique ID)、 ネットワークア ドレスなどの制御情報が記述されて いる。 記録ルール判断条件記述には、後述する各ノードがこのパケットを記録する 確率: αが記述されている。バケツトを受信したノードのルール判断処理部 2 0 1 (図 3参照) は、 この記録確率 ctに基づいてパケットを記録する。 分散型ストレージシステムを構成する全てのノードは、この記録確率に基づ いてパケットを記録するか否かを決定する。 これにより、分散型ス トレージシ ステムを構成するノ一ドに確率 αでデータが記録されることになる。この分散 型ストレージシステムでは、 ノードの数 ηが十分に大きく、且つ復.号されたブ 口ック数 qが十分に大きい場合に、各ノードに均等な確率でデータを分散する ことができる。 なお、記録ルール判断条件記述を加工コンテンツを格納したバケツトと別の パケットに格納し、加工コンテンツを格納したバケツトに記録ルール判断条件 記述を格納したパケットのリンク情報を格納し、加工コンテンツを格納したパ ケッ トを受信したノードがリンク情報に基づいて対応する記録ルール判断条 件記述格納パケッ トを取得する構成としてもよい。 次に、記録指示装置からの記録処理要求パケットの送信に基づいて、パケッ トを受信したノードが自律的にコンテンツを記録するか否かを判定して処理 を実行する記録処理手順について説明する。 図 7は、記録指示装置 1 0 1から複数ノード 1 1 1〜 1 1 5に対して、デー タ記録命令としての図 6に示すデータ記録処理要求パケッ トを送信する処理 を説明する図である。記録指示装置は、 図 6で説明した F E C処理およびィン ターリープ処理を施した加工データをペイロードとし、 さらに、ルール判断条 件記述としての確率値: αを設定したパケッ トを各ノードに対してュニキャス トあるいはマノレチキャスト送信する。 図 8を参照して、 バケツトを受信したノードにおける処理手順を説明する。 まず、 ステップ S 1 0 1で、 データ記録処理要求バケツ トを待機し、 ステップ S 1 0 2でパケッ トを受信したと判定すると、 ステップ S 1 0 3において、乱 数生成処理を実行し、 ステップ S 1 0 4において、 生成した乱数と、 データ記 録処理要求パケッ ト内に格納された記録ルール判断条件記述:確率 αとの比較 を行ない、 比較結果に基づいて、 命令の実行、 非実行を判定する。 例えば、生成乱数〉確率 αであれば、パケットのペイロードとして格納され た加工データを自己の記憶手段に記録する処理を実行し、生成乱数 確率 αで あれば、 データ記録処理を実行しない。 なお、各ノードにおいて生成される乱数は、分散型ストレージシステムを構 成するノードの数 ηが十分に大きく、且つ復号化されたプロックの個数 qが十 分に大きい場合、全てのノードにパケッ トが均等に記録され、分散型ストレー ジシステム全体として αの確率でデータが記録されるように発生乱数の範囲 が設定される。 ステップ S 1 0 4における乱数に基づく比較処理結果として、データ記録処 理要求を実行すべきとの判定がなされれば、 ステップ S 1 0 5に進み、バケツ トのペイロードとして格納された加工データの抽出処理を実行して、 自装置
(ノード) の記憶手段に抽出データを記録する処理を実行する。 一方、 乱数に 基づく比較処理結果として、データ記録処理要求を実行しないとの判定がなさ れれば、 ステップ S 1 0 6に進み、データ記録処理を実行せずに処理を終了す る。 このように、 データ記録処理要求 (命令) を受信した情報処理装置は、 パケ ッ ト内に格納された記録ルール判断条件記述と乱数との比較に基づいて自律 的に命令の実行、 非実行を判定し、 判定に従った処理を行なう。 次に、図 9の処理フローを参照して、データ記録処理要求を受信した情報処 理装置側において、ハツシュ値を算出して、ハツシュ値に基づいて自律的にデ ータ記録処理要求の実行、 非実行を判定する処理について説明する。 まず、 ステップ S 2 0 1で、 データ処理要求バケツトを待機し、 ステップ S 2 0 2でパケットを受信したと判定すると、 ステップ S 2 0 3において、受信 バケツト内の格納データに基づくハッシュ値生成処理を実行し、ステップ S 2 0 4において、 生成したハッシュ値に基づいて、命令の実行、 非実行を判定す る。 例えば、情報処理装置は、それぞれ予め設定された閾値としての設定値を記 憶部に格納し、 生成ハッシュ値 >設定値であれば、命令実行、 生成ハッシュ値
≤設定値であれば、 命令を非実行とするなどの設定とする。 ハッシュ値の生成対象とするデータ処理要求パケッ ト内に格納されたデー タは、図 1 0に示すように、例えばコンテンッデータの識別子(データ I D )、 あるいはデータの一部、 例えばデータ先頭から所定 (n ) ビッ トのデータをハ ッシュ対象データとして設定するなどが可能である。ハッシュ値算出は例えば M D 5の適用が可能であり、図 1 0に示すようにデータ I Dの M D 5によるハ ッシュ値、 あるいはデータ内容の M D 5によるハッシュ値が生成される。 ステップ S 2 0 4におけるハツシュ値に基づく判定結果として、データ記録 処理要求を実行すべきとの判定がなされれば、 ステップ S 2 0 5に進み、パケ ットのペイロードとして格納された加工データの抽出処理を実行して、自装置 (ノード) の記憶手段に抽出データを記録する処理を実行する。 一方、 ハツシ ュ値に基づく比較処理結果として、データ記録処理要求を実行しないとの判定 がなされれば、 ステップ S 2 0 6に進み、データ記録処理を実行せずに処理を 終了する。 このように、 データ記録処理要求 (命令) を受信した情報処理装置は、 パケ ッ ト内に格納されたデータのハッシュ値と各ノードの設定値との比較に基づ いて自律的に命令の実行、 非実行を判定し、 判定に従った処理を行なう。
[ 4 . 再生指示装置構成およびデータ再生処理]
次に、データの再生指示を各ノードに送信し、各ノードから再生対象のデー タを受信してデータ再生処理を実行する再生指示装置 1 0 2 (図 1参照) につ いて説明する。 図 1 1は、 再生指示装置 2 7 0の構成を示す図である。 再生指 示装置 2 7 0は、ネットワークを介しての外部とのデータの送受信を行うネッ トワークィンターフェース 2 7 1、ノードに再生対象データを指定した再生デ ータ送信を要求するパケットを生成するデータ要求パケット生成部 2 7 2、デ ータ要求パケットに設定する [ルール判断条件記述] としての確率値: 1 を決 定するルール判断条件設定部 2 7 3を有する。 さらに、ネッ トワークインターフェース 2 7 1は、各ノードからの再生デー タ格納パケットを受信し、再生指示装置 2 7 0のバケツ ト処理部 2 7 4は、パ ケットに分割されたデータを結合する処理を実行する。 さらに、データ復元処 理部 2 7 5は、受信パケットから抽出したデータのディンターリープ処理、 F E Cデコード処理を実行し、 コンテンッデータの復元を実行する。復元したデ ータはデータ処理部 2 7 6に入力され、 モニタゃスピー力 (図示省略) などの 外部機器に出力したり、 図示しない記録装置に格納されたりする。 データ要求パケット生成部 2 7 2は、分散型ス トレージシステムを構成する 各ノードにデータを要求するパケットを送信する。 図 1 2は、データを要求す るパケットの構成を示す図である。 パケットは、 ヘッダ、 再生ルール判断条件 記述部、 リクエスト記述部、 フッタから構成される。 リクエスト記述部には、 要求するデータを識別するためのデータ I Dが記録される。ヘッダとフッタに は、 C R Cのチェックサム、 ノードのネットワークア ドレスや G U I D、 デー タの順序を示すシーケンス番号などの制御情報が記録される。 再生ルール判断条件記述部には、ルール判断条件設定部 2 7 3の決定した返 信確率 (8を設定する。返信確率 は、パケットを受信したノードがデータを返 信するか否かの判定を行うための変数である。 この変数をもとに、データを返 信すると判定するノードもあれば、データを返信しないと判定するノードもぁ るが、返信確率 は、分散型ストレージシステム全体をマク口的にみたときの 値であり、分散型ストレージシステム全体では、各ノードのデータを返信する 確率が;3になる。 そのため、分散型ス トレージシステムに n個のノードが存在 する場合に、返信されるパケットの割合は、 ノードの個数 nと返信確率 |3を掛 け合わせた値 n X ]3となる。 パケット処理部 2 7 4は、各ノードから返信されたパケットを結合する。図 1 3は、 ノードから返信されたパケットのデータ構造を示す図である。図 1 3 に示すようにパケットは、 ヘッダ、 ペイロード、 フッタから構成され、 ペイ口 一ドには各ノードが記憶部から抽出したデータ、すなわち、先に図 5を参照し て説明した F E C処理およびィンターリープ処理のなされたデータプロック が格納され、ヘッダとフッダには、 C R Cのチヱックサムゃ受信側のノードの ネットワークァドレス、パケットの順序を示すシーケンス番号など、制御情報 が格納される。 図 1 3に示すバケツトを再生指示装置が受信すると、パケット処理部 2 7 4 はパケット解析を実行し、 シーケンス番号を読み取り、受信したバケツトの順 序を入れ替え、ヘッダゃフッタなどの制御情報を除去して、 シーケンス番号の 順にパケットを結合する。 データ復元処理部 2 7 5は、受信データプロックにディンターリープをかけ データの並びを整列させ、さらにディンタ一リープされたデ一タに F E C復号 を施し、 元のデータを復元する。
F E Cおよびディンタリープ処理に基づくデータ復元処理ついて、図 1 4を 参照して説明する。 図 1 4 ( a ) に示すように、 各ノードからの受信パケット は、ネットワーク上において消失が発生し、受信データプロックと消失データ プロックが混在することになる。 なお、 受信データプロックは、 先に図 5を参照して説明したように、 符号化 率 q Z pの F E C符号化を施し、 p個のプロックに分割したデータを q個の符 号化プロックに変換したプロックデータである。 再生指示装置における、 データ復元処理部 2 7 5は、 まず、 受信データプロ ックにディンターリーブをかけ、 データの並びを整列させ、 図 1 4 ( b ) に示 すディンタリープ処理データを生成する。ディンタリープ処理データには消失 パケット、すなわち消失プロックに基づくデータ消失部が存在する。 しかしデ インタリーブ処理により、 これらのエラーは、エラー部が大きなデータ領域と して存在するバーストエラーではなく、微少データ領域からなるランダムエラ 一となる。 このような微少データ領域からなるランダムエラーは、 F E Cによ るエラーの解消が可能である。 データ復元処理部 2 7 5は、 図 1 4 ( b ) に示すディンタリープ処理データ について、 F E Cによるエラー訂正を実行し、 図 1 4 ( c ) に示す復元データ を生成する。 上述したように、 F E C符号化とは、 トルネード符号化方式、 リ 一ドトルネード符号化方式、ターボ符号化方式などの受信側で誤り訂正を行う 符号化方式の総称であり、 F E C符号化を用いて、 あるデータを符号化率 q / p で 符 号 化 し た 場 合 、 論 文 R I Z Z 0 9 7 (http : //www. iet. unipi . it/~lui gi/f ec. html#fec. ps)に発表されてぃるよう に、 p個以上の符号化されたプロックが残存すれば、幾つかのプロックが消失 しても、 元のメッセージが復元できる。 データ復元処理部 2 7 5によって復元されたデータは、データ処理部 2 7 6 に出力される。 データ処理部 2 7 6は、 復号されたデータを、 図示しない記録 部に保存したり、モニタゃスピー力などの出力部に出カインターフェースを介 して出力する。 本発明に従った分散型ス トレージシステムは、記録確率 αで各ノードにデ一 タを記録し、各ノードに記録したデータを返信確率 3で返信させるシステムで あり、 図 1に示す記録指示装置 1 0 1から出力される元データは、 a X n X 0 の割合で返信される。例えば、 p個のプロックを q個のブロックに符号化する と、 q X a X n X ]3個のプロックが返信される。 前述の論文 R I Z Z 0 9 7に 記載のように、この返信されたプロックの個数が復号前のプロックの個数 pよ りも多い場合、 データは復号可能である。 そのため、 返信されるプロックの個 数が p個より多くなるように、 α、 β、 qZpの値を決定しておく と、 目的の データを復号することができる。 すなわち、再生指示装置 2 7 0におけるルール判断条件設定部 2 7 3は、 ノ 一ドに格納された再生対象データが、 p個のプロックに F E C符号化を施して q個のプロックに変換した符号化率 q/pの符号化処理データであるとき、ネ ッ トワークに接続された記録指示装置から指定される記録確率: ひと返信確 率: i3および p, q、 および前記符号化ブロック数: qと、 ネットワーク接続 ノード数: nによって算出可能な返信プロック数: q X a X n X jSと、 プロッ ク数: p との関係が、
返信プロック数: q X a X n X j3 >プロック数: p
となる確率値: ]3として設定する。 この設定により、 再生指示装置の再生要 求によって各ノードから返信確率: で返信される返信データからの確実なデ ータ復元が保証される。 このように、 本具体例における分散型ス トレージシステムは、
p≥ q X a X n X 3
を満たすように、 符号化率 qZp、 記録確率 α、返信確率 |3を設定すればよ いので、 上述の式を満たす範囲で符号化率 qZp、 記録確率 Q;、 返信確率 ]3を 変更することにより、データの記録効率や伝送効率を変更させることができる。 以下、 q/p、 α、 の各パラメータの設定例について説明する。 例えば、非常に多くの返信要求があるデータに対して、記録確率 αの値を大 きく し、返信確率 0の値を小さくすると、各ノードから送信されるデータが少 なくなり、ノードにおけるデータの検索処理やデータの送信処理が簡略化され るようになる。 また、記録確率 αの値を大きくするかわりに、符号化率 q/pの値を大きく して、返信確率 J3を小さく しても、各ノードにおけるデータの検索処理ゃデー タの送信処理を簡略化することができる。 また、 符号化率 qZpを小さく し、 記録確率 ctを大きくすると、 送信するパ ケットの数を抑えることができる。 これは、 pが十分大きいときに効果的であ る。 また、 記録確率 αを小さく し、 符号化率 qZpを小さくすることで、 同一 のパケットを複数のノードに記録することを避けることができる。 これは、 p が十分小さいときに効果がある。 また、返信確率 ]3を大きく し、記録確率 a又は符号化率 qZpを小さくする ことにより、分散型ストレージシステム全体に記録される符号化データの容量 を小さくすることができる。 或いは、 データの記録時、 出力時又は送信時など に、 パケットの消失する確率を aとすると、 a X n X a X q X /3が Pよりも十 分大きくなるように α、 β q/pの値を制御することによって、 十分な数の データが返信される。 また、複数のノードから返信されるユニークなパケットの個数を数学的に推 定し、 記録確率、 返信確率、 または符号化率を大きくすることで、 ユニークな パケットが到着する確率を高くすることができる。 次に、再生指示装置からの再生処理要求パケットの送信に基づいて、パケッ トを受信した ードが自律的にコンテンツを抽出し送信するか否かを判定し て処理を実行する再生処理手順について説明する。 図 1 5は、再生指示装置 1 0 2から複数ノード 1 1 1〜 1 1 5に対して、デ ータ再生命令としての図 1 2に示すデータ再生処理要求パケッ トを送信する 処理を説明する図である。 再生指示装置は、 再生指定データの識別子、 例えば コンテンツ I D、 G U I D等をリ クエス ト記述として設定し、 さらに、 ルール 判断条件記述としての確率値: |3を設定した図 1 2に示すデータ再生処理要求 パケットを生成し、パケットを各ノードに対してュニキャス トあるいはマルチ キャスト配信する。 図 1 6は、図 1 2に示すデータ再生処理要求バケツ トを受信したノードが再 生命令に従って、データ再生処理、すなわち自ノードの記憶部からの指定デー タの読み取り、 パケッ ト生成、 パケット送信を実行するか、 しないかを自律的 に判定し、処理実行の判定を行なったノードにおいてのみ再生データを格納し たパケット、すなわち図 6で説明した F E C処理およびィンターリープ処理を 施した加工データをペイロードとしたパケット (図 1 3参照) を生成して、 再 生指示装置 1 1 2に対して送信する。 図 1 7を参照して、ルール判断条件記述としての確率値: βを設定した図 1 2に示すデータ再生処理要求バケツ トを受信したノードにおける処理手順を 説明する。まず、ステップ S 3 0 1で、データ再生処理要求パケットを待機し、 ステップ S 3 0 2でパケッ トを受信したと判定すると、ステップ S 3 0 3にお いて、 乱数生成処理を実行し、 ステップ S 3 0 4において、 生成した乱数と、 データ再生処理要求パケッ ト内に格納された再生ルール判断条件記述:確率 との比較を行ない、 比較結果に基づいて、 命令の実行、 非実行を判定する。 例えば、生成乱数〉確率 i3であれば、 自己の記憶手段に格納された指定コン テンッを抽出し、 抽出データをペイロードとしたパケッ ト (図 1 3参照) を生 成して、再生指示装置に対して送信する処理を実行し、生成乱数≤確率/ 3であ れば、 データ再生処理を実行しない。 ステップ S 3 0 4における乱数に基づく比較処理結果として、データ再生処 理要求を実行すべきとの判定がなされれば、 ステップ S 3 0 5に進み、 自装置 (ノード) の記憶手段に格納された加工データの抽出処理を実行して、抽出デ ータをペイロードとしたパケット (図 1 3参照) を生成して、 再生指示装置に 対して送信する処理を実行する。 一方、 乱数に基づく比較処理結果として、 デ ータ再生処理要求を実行しないとの判定がなされれば、ステップ S 3 0 6に進 み、 データ再生処理を実行せずに処理を終了する。 このように、 データ再生処理要求 (命令) を受信した情報処理装置は、 パケ ット内に格納された再生ルール判断条件記述と乱数との比較に基づいて自律 的に命令の実行、 非実行を判定し、 判定に従った処理を行なう。 次に、 図 1 8の処理フローを参照して、データ再生処理要求を受信した情報 処理装置側において、ハッシュ値を算出して、ハッシュ値に基づいて自律的に データ再生処理要求の実行、 非実行を判定する処理について説明する。 まず、 ステップ S 4 0 1で、 データ再生処理要求パケットを待機し、 ステツ プ S 4 0 2でパケッ トを受信したと判定すると、 ステップ S 4 0 3において、 受信バケツ ト内の格納データに基づくハッシュ値生成処理を実行し、ステップ S 4 0 4において、 生成したハッシュ値に基づいて、 命令の実行、 非実行を判 定する。 例えば、情報処理装置は、それぞれ予め設定された閾値としての設定値を記 憶部に格納し、 生成ハッシュ値 >設定値であれば、 命令実行、 生成ハッシュ値 設定値であれば、 命令を非実行とするなどの設定とする。 ハッシュ値の生成対象とするデータは、先にデータ記録要求の処理の判定と 同様、 図 1 0に示す、 例えばコンテンツデータの識別子 (データ I D )、 ある いはデータの一部、例えばデータ先頭から Xビットのデータをハッシュ対象デ ータとして設定するなどが可能である。ハッシュ値算出は例えば M D 5の適用 が可能であり、 図 1 0に示すようにデ一タ I Dの M D 5によるハッシュ値、 あ るいはデータ内容の M D 5によるハッシュ値が生成される。 ステップ S 4 0 4におけるハッシュ値に基づく判定結果として、データ記録 処理要求を実行すべきとの判定がなされれば、 ステップ S 4 0 5に進み、 自装 置 (ノード) の記憶手段に格納された加工データの抽出処理を実行して、 抽出 データをペイロードとしたパケット (図 1 3参照) を生成して、 再生指示装置 に対して送信する処理を実行する。一方、ハッシュ値に基づく比較処理結果と して、データ再生処理要求を実行しないとの判定がなされれば、 ステップ S 4 0 6に進み、 データ再生処理を実行せずに処理を終了する。 このように、 データ再生処理要求 (命令) を受信した情報処理装置は、 パケ ット内に格納されたデータのハッシュ値と各ノードの設定値との比較に基づ いて自律的に命令の実行、 非実行を判定し、 判定に従った処理を行なう。 [ 5 . データ記録再生処理シーケンス]
次に、図 1 9を参照して記録指示装置からノードに対するデータ記録処理要 求の発行、 ノードにおけるデータ記録処理、再生指示装置からノードに対する のデータ再生処理要求の発行、 ノ一ドにおけるデータ抽出、バケツト送信処理 の一連の処理シーケンスについて、 まとめて説明する。 記録指示装置は、 まず、 ステップ S 1 1において、 記録対象データ (コンテ ンッ)の加工、すなわち、 F E C処理、およびィンターリープ処理を実行する。 この処理は、 先に図 5を参照して説明した処理である。 次に、 記録指示装置は、 ステップ S 1 2において、 データ記録処理要求 (命 令)パケットの生成処理を実行する。ィンターリープ処理のなされたデータが ペイロードとして格納されるとともに、ルール判断条件設定部 2 5 3 (図 4参 照) において決定される [ルール判断条件記述] としての確率値: αを設定し たパケットを生成する。 次に、 記録指示装置は、 ステップ S 1 3において、 送信ノードに応じたァド レス設定、すなわちュニキャス ト若しくはマルチキャス トを用いて分散型ス ト レージシステムを構成する各ノードに送信する。 記録指示装置からのデータ記録処理要求 (命令)パケットを受信したノード の処理は、 先に、 図 8、 図 9を参照して説明した処理の実行、 非実行を自律的 に判断して行なわれる処理となる。 図 1 9には、 2つのノード(ノード 1 , 2 ) の処理を示してあるが、 この他にも多数のノードにおいて、 自律的な判断 (確 率制御) が実行され、 データ記録処理を実行するノード、 データ記録処理を実 行しないノードが存在する。 図 1 9に示す 2つのノード (ノード 1 , 2 ) は、 ステップ S 2 1 , S 3 1の 確率制御処理、 すなわち、 図 8を参照して説明した生成乱数と、 受信パケット (データ記録処理要求パケット)中の記録ルール判断条件記述として設定され た確率: aとの比較に基づく、 処理実行/非実行の判定処理、 あるいは、 図 9 を参照して説明したパケッ ト内データに基づくハッシュ値と、ノードの設定値 との比較に基づく、 処理実行/非実行の判定処理を実行する。 図 1 9に示す 2つのノード (ノード 1 , 2 ) は、 ステップ S 2 1 , S 3 1の 確率制御処理の結果として、いずれもデータ記録処理を実行するとの結論が得 られ、 ステップ S 2 2 , S 3 2において、 データ記録処理を実行する。 記録対 象データは、記録指示装置から受信したデータ記録処理要求バケツトに格納さ れた F E Cおよびィンタリーブされた加工データである。 次に、 再生指示装置は、 ステップ S 4 1において、 再生処理要求 (命令) パ ケット (図 1 2参照) を各ノ一ドに対して送信する。 再生対象となるコンテン ッ I D等をリクエスト記述として格納し、再生ルール判断条件記述(確率: β ) ほ設定したパケットである 再生処理要求 (命令) パケット (図 1 2参照) を受信した各ノード、 すなわ ち図 1 9に示す 2つのノード (ノード 1 , 2 ) は、 ステップ S 5 1 , S 6 1の 確率制御処理、 すなわち、 図 1 7を参照して説明した生成乱数と、 受信パケッ ト (データ再生処理要求バケツト) 中の再生ルール判断条件記述として設定さ れた確率: j3との比較に基づく、 処理実行 Ζ非実行の判定処理、 あるいは、 図 1 8を参照して説明したパケット内データに基づくハッシュ値と、ノードの設 定値との比較に基づく、 処理実行/非実行の判定処理を実行する。 図 1 9に示すノード 1は、ステップ S 5 1の確率制御処理の結果として、デ ータ再生処理を実行するとの結論が得られ、 ステップ S 5 2において、再生処 理要求 (命令) パケットのリクエスト記述に従って、 自ノードの記憶部から対 応データを取得し、取得データをペイロードとして格納したパケット (図 1 3 参照)を生成して、ステップ S 5 3において、再生指示装置に対して送信する。 一方、 図 1 9に示すノード 2は、 ステップ S 6 1の確率制御処理の結果とし て、データ再生処理を実行しないとの結論が得られ、データ抽出およびパケッ ト生成、 送信を実行せずに処理を終了する。 なお、 図 1 9には、 ノード 1からのみのデータが再生指示装置に送信されて いる構成となっている力 図示しないノード 3〜ηからのデータ格鈉バケツト が再生指示装置に送信され、再生指示装置は、多数のもノードから多数のパケ ットを受信している。 再生データを格納したパケットを受信した再生指示装置は、ステップ S 7 1 において、受信データプロックにディンターリープをかけ、データの並びを整 列させ、 さらにディンターリーブされたデータに F E C復号を施し、元のデー タを復元する。
F E Cおよびディンタリープ処理に基づくデータ復元処理ついては、先に図 1 4を参照して説明した通りである。消失パケットが存在しても、ディンタリ —プ処理により、エラーは、エラー部が大きなデータ領域として存在するバー ストエラーではなく、 ランダムエラーとなり、 F E C復号処理により元のデー タが復元される。 このように、 データ記録あるいは再生処理要求 (命令) を受信した情報処理 装置は、各処理要求パケッ トに設定された記録ルール判断条件記述、 または再 生ルール判断条件記述、 あるいはその他のパケット内データに基づいて、 自律 的に命令の実行、非実行を判定し、判定に従った処理を行なうことが可能とな る。 以上のように、本実施例における分散型ス トレージシステムは、 システムを 構成するノードに記録確率 aを記述したパケットを送信することにより、デー タを分散して記録する。 そして、 ノードに記録されたデータを返信確率 3で返 信させることにより、 データの取り出しを行う。 このように、 データを分散し て記録すると、一つのサーバにデータ管理の負荷が集中することなく、データ を格納することができる。また、一つのデータを複数のノードで共有するため、 システム全体で必要となるデータ容量が少なくて済む。 また、複数のノードからデータを受信するようにすると、一つのサーバにト ラフィックが集中することがなくなり、安定した通信量でデータの送受信が行 える。 また、 a、 β、 q / pの値を変更することにより、 伝送効率や記録するデー タ量を変更することができる。 さらに、 データの記録時、 出力時、 送信時など にパケットが消失するとき、 消失する確率 aを考慮して、 α、 β、 q / pのパ ラメータの値を変更して、パケットが消失しても復号に十分なデータを取り出 せるようにすることもできる。 また、 この分散型ストレージシステムでは、記録確率と返信確率に基づいた 演算によってデータの分散記録,読み出しを実行できるため、データの管理が 単純であり、カムコ一ダや携帯電話などの処理能力の少ない家庭用の機器であ つてもこのシステムに適応できる。 また、カムコーダや携帯電話などの処理能 力の低い家庭用の機器をノードとして用いることができるようになるため、数 百万台規模の分散型ストレージシステムが容易に構築できる。 また、 上記分散ス トレージシステムにおいては、 記録指示装置は、 記録させ るデータと記録確率を同じパケッ トで送信したが、記録させるデータと記録確 率を異なるパケットで送信したり、外部の記録装置に記録し、各情報処理ノー ドから参照するようにしてもよい。 なお、上述した実施例では、ネットワークに接続された情報処理装置におけ るバケツ ト転送処理を実行する構成例を中心として説明したが、本発明は、パ ケット転送構成を持つ構成に限らず、例えば無線通信装置相互の通信、 あるい は P C等の情報処理装置の電子回路を構成するデバイス間通信においても、そ れぞれ転送データに対して、前述した処理ルール判断条件記述に対応するデー タを設定することで、処理要求データを受信した無線通信装置、 あるいはデバ イスにおいて要求処理を実行するか否かの自律的な判断が可能となる。
[ 6 . 伝送方式の最適組合わせに基づくデータ伝送処理]
次に、 伝送方式の最適組合わせに基づくデータ伝送処理について説明する。 先に図 1を参照して説明したようなネッ トワークに多数のノードが接続され、 データ記録指示装置、あるいは再生指示装置からの処理要求に基づいて各ノー ドが応答して処理データを送信するような構成において、例えばデータ再生処 理を実行する場合、再生指示装置が必要な再生データを取得するためには、複 数のノードからデータを取得するデータ取得方式、あるいは従来技術の欄で説 明したカルーセル伝送等、様々な方式によってデータを取得することが可能で ある。以下では、 これらの様々なデータ伝送方式を適宜組み合わせて適用する ことにより効率的なデータ伝送を可能とした例について説明する。 データ伝送方式としては例えば以下の方式がある。単一のノードからデータ を繰り返し送信するカルーセル伝送方式、直前にデータを受け取ったノードに 接続してデータを受信するチェ一二ング方式、複数の分散キャッシュからデー タを受信し、集積データに基づいてデータを取得する方式、全データを格納し ているノード、例えば記録指示装置に接続して全データを取得するサーバクラ イアント方式、 さらに、 必要データを自己のノードにローカルに格納し、 ロー カルキヤッシュからデータを取得することで再生時のデータ転送を不要とし たローカルキャッシュ方式、これらの方法が再生データ取得方式として適用可 能である。 以下、 説明する実施例は、 データ (コンテンツ) 再生処理を行なう際に、 上 記の様々な方式を適宜組み合わせて実行することにより、ネットワーク トラフ イツクを減少させ、 効率的で確実なデータ再生を実現する構成である。 図 2 0を参照して本実施例における再生指示装置の構成について説明する。 再生指示装置は、再生に必要なデータを他のノードから取得する場合は、デー タの再生指示を各ノードに送信し、各ノードから再生対象のデータを受信して データ再生処理を実行する。 また、 自己のキャッシュ (ローカルキャッシュ) に存在する場合は、 キャッシュからデータを取り出して再生を実行する。 図 2 0を参照して再生指示装置 3 1 0について説明する。再生指示装置 3 1 0は、ネットワークを介した外部装置とのデータの送受信を行うネットワーク ィンターフェース 3 1 1、ノードに再生対象データを指定した再生データ送信 を要求するパケッ トを生成するデータ要求パケット生成部 3 1 2、データ要求 パケットに設定する [ルール判断条件記述] と しての確率値: を決定するル ール判断条件設定部 3 1 3を有する。 さらに、複数のデータ伝送方式から 1以上のデータ伝送方式を選択するとと もに選択各方式のデータ伝送率を決定するデータ伝送率設定部 3 1 8を有す る。データ要求バケツト生成部 3 1 2は、データ伝送率設定部 3 1 8において 決定したデータ伝送率に基づいて、再生要求処理対象データを設定するととも に、パケットのァ ドレス設定処理を行ない、再生要求処理対象データの指示デ ータをリクエスト記述として格納したデータ再生処理要求パケットを生成す る。 データ伝送率設定部 3 1 8は、再生対象データの需要度に基づいてデータ伝 送方式を選択するとともに選択各方式のデータ伝送率を決定する構成であり、 カルーセル伝送方式、 チェ一二ング伝送方式、 分散キヤッシュ方式、 クライア ントサーバ方式の少なく ともいずれかの方式を含むデータ伝送方式を選択す るとともに選択各方式のデータ伝送率を決定する。 さらに、ネットワークインターフェース 3 1 1は、各ノードからの再生デー タ格納パケットを受信し、再生指示装置 3 1 0のパケッ ト処理部 3 1 4は、パ ケットに分割されたデータを結合する処理を実行する。 さらに、データ復元処 理部 3 1 5は、受信パケットから抽出したデータのディンターリーブ処理、 F E Cデコード処理を実行し、データの復元を実行する。復元したデータはデー タ処理部 3 1 6に入力され、 モニタやスピーカ (図示省略) などの外部機器に 出力したり、 図示しない記録装置に格納されたりする。 また、 データ記憶部 3 1 7はローカルキャッシュとして適用され、再生対象データが格納可能である。 格納データが加工データである場合は、データ復元処理部 3 1 5において復元 処理がなされた後、 再生される。 非加工データとして格納している場合は、 復 元処理を行なうことなく、 データ処理部 3 1 6において再生される。 データ要求バケツト生成部 3 1 2は、分散型ストレ一ジシステムを構成する 各ノードにデータを要求するパケットを送信する。送信パケット構成は、先に 図 1 2を参照して説明した通りであり、 ヘッダ、 再生ルール判断条件記述部、 リクエスト記述部、 フッタから構成される。 リクエスト記述部には、 要求する データを識別するためのデータ I Dが記録される。ヘッダとフッタには、 C R Cのチェックサム、 ノードのネッ トワークァドレスや G U I D、データの順序 を示すシーケンス番号などの制御情報が記録される。 再生ルール判断条件記述部には レール判断条件設定部 3 1 3の決定した返 信確率 を設定する。返信確率 ]3は、パケッ トを受信したノードがデータを返 信するか否かの判定を行うための変数である。 この変数をもとに、要求データ を自己の記憶部から抽出してパケッ トを生成してデ一タ返信を実行するか否 かを判定する。 変数に従った判定処理の結果、要求処理を実行するノードもあれば、実行し ないノードもあるが、返信確率 ]3は、分散型ストレージシステム全体をマク口 的にみたときの値であり、分散型ストレージシステム全体では、各ノードのデ ータを返信する確率が Ρになる。 そのため、分散型ストレージシステムに η個 のノードが存在する場合に、返信されるパケットの割合は、 ノードの個数 ηと 返信確率 3を掛け合わせた値 η X となる。 ただし、 本実施例においては、 カルーセル、 チェ一ユング、 クライアントサ ーバ型等、様々なデータ伝送方式を適用するものであり、それぞれの伝送方式 に応じて、ルール判断条件設定部 3 1 3は、返信確率 j3を設定することが可能 である。 すなわち、 カルーセルの場合 a、 チェ一ユングの場合 j3 b、 クライ アントサーパ型の場合 ]3 c等である。 ただし、上述した分散ノードからのデー タ受信方式にのみ返信確率 0を設定し、その他の方式には、返信確率の設定は 行なわないとする構成としてもよい。 バケツト処理部 3 1 4は、各ノードから返信されたパケッ トを結合する。返 信パケットは、先に図 1 3を参照して説明した構成を持つ。図 1 3に示すよう にパケットは、 へッダ、 ペイロード、 フッタ力 ら構成され、 ペイロードには各 ノードが記憶部から抽出したデータ、すなわち、先に図 5を参照して説明した F E C処理およびィンターリーブ処理のなされたデータプロックが格納され、 ヘッダとフッダには、 C R Cのチェックサムや受信側のノードのネットワーク ァドレス、パケットの順序を示すシーケンス番号など、制御情報が格納される。 図 1 3に示すバケツトを再生指示装置が受信すると、パケッ ト処理部 3 1 4 はパケット解析を実行し、 シーケンス番号を読み取り、受信したパケットの順 序を入れ替え、ヘッダやフッタなどの制御情報を除去して、 シーケンス番号の 順にパケッ トを結合する。 データ復元処理部 3 1 5は、受信データプロックにディンターリーブをかけ、 データの並びを整列させ、さらにディンターリーブされたデータに F E C復号 を施し、元のデータを復元する。 F E Cおよびディンタリープ処理に基づくデ ータ復元処理ついては、 先に図 1 4を参照して説明した通りである。 データ復元処理部 3 1 5によって復元されたデータは、データ処理部 3 1 6 に出力される。 データ処理部 3 1 6は、 復号されたデータを、 図示しない記録 部に保存したり、モニタゃスピー力などの出力部に出カインターフェースを介 して出力する。 上述したように、本実施例の再生指示装置では、複数の伝送方式に対応する ため複数のインターフェース (A , B , - · ) をインターフェース 3 1 1に持 つ。これらの各インタフェースを介してルール判断条件設定部 3 1 3が伝送方 式に応じて決定した返信確率 (]3 a , j3 b · · ) を設定した再生処理要求 (命 令) バケツ トを送信する。 図 2 1は、 再生処理要求 (命令) パケットをネットワーク接続された各ノー ドに送信する処理を説明する図である。各ノードは、一つまたは複数の伝送方 法を提供する。 図には、 一部しか書いていないが、 カルーセル、 分散キヤッシ ュ、チヱ一ユング、 クライアントサーバなどの方式を提供する多数のノードが ネットワーク分布している。 再生指示装置 3 5 1は、例えばカルーセル伝送を実行するノード 3 7 1、チ エー-ング伝送を実行するノード 3 7 4、分散キャッシュ方式によるデータ格 納を行なっているノード 3 7 5、 その他のノ一ド 3 7 2 , 3 7 3に対して、 先 に図 1 2を参照して説明した再生ルール判断条件記述として、各伝送方式に応 じて返信確率 (|3 a , |3 b · · ) を設定し、 再生指定データの識別子、 例えば コンテンツ I D、G U I D等をリクエスト記述として設定したデータ再生処理 要求パケッ トを生成し、パケットを各ノードに対してュニキャストあるいはマ ルチキャス ト配信する。 図 2 2は、 再生処理要求 (命令) パケットの返事として各ノード 3 7 1〜 3 7 5から再生指示装置 3 5 1にデータが送信される様子を示している。図 1 2 に示すデータ再生処理要求パケッ トを受信したノードが再生命令に従って、デ ータ再生処理、すなわち自ノードの記憶部からの指定データの読み取り、パケ ット生成、 パケッ ト送信を実行するか、 しないかを自律的に判定し、 処理実行 の判定を行なったノードにおいてのみ再生データを格納したバケツト、すなわ ち図 6で説明した F E C処理およびィンターリープ処理を施した加工データ をペイロードとしたパケット (図 1 3参照) を生成して、 再生指示装置 3 5 1 に対して送信する。各ノードは、カルーセル、分散キヤッシュ、チェ一ユング、 クライアントサーバそれぞれの方式でデータを返却する。 再生指示装置が再生に必要なデータを取得する方式の詳細、および各方式の 特性について、 図 2 3を参照して説明する。 図 2 3は、 再生対象データ等の取 得すべきデータの伝送方式あるいは格納方式別に、特性をまとめている。方式 としては、 カルーセル方式、 分散キャッシュ方式、 チェ一ユング方式、 ロー力 ルキヤッシュ方式、 クライアントサーバ方式の各種類に区分し、 さらに分散キ ャッシュ方式は、キヤッシュノードが再生指示装置等のデータ取得処理を実行 する装置から近距離にあるか遠距離にあるかを区別して示してある。 カルーセルは、あるデータに関するデータの群を繰り返しマルチキャストを 使って送信するデータ伝送方式である。カルーセル方式で送られるデータがマ ルチキャス トとして送信される場合、あるァドレスを読み出すことだけが出来、 単位時間あたりの受信データ量の変更は出来ない。従って、例えば 1 0 0の長 さのあるデータを単位時間 1 0の速度で繰り返し送信した場合、データが前述 のインターリーブ処理により、 ランダム入れ替え処理がなされていると、単位 時間に有効なデータを受信する確率は 1 0 %となる。 ただし、ストリーミングデータ配信などの場合には、 単位時間に受信した有 効データ以外のデータも、将来必ず関係するデータとして適用可能、すなわち ディンターリープ処理に適用可能なデータ部となるので、これらのデータを自 装置の記憶部にキャッシュしておけば、新たにデータを受信することなく、 キ ャッシュデータを利用することで帯域削減につながる。この帯域削減効果を図 2 4に示す。時間に従ってローカルにキヤッシュされるデータの量が増えるた めカルーセル以外で受け取る必要があるパケットの量が減っていく。すなわち、 すべてのデ一タをカル一セル伝送で実行することなく、一部データを力ルーセ ル伝送することで、 帯域削減効果が発生する。 次に、 確率分布による分散キャッシュについて説明する。 この方式は、 図 6 を参照して説明した記録ルール判断条件記述を設定した記録処理要求パケッ トを各ノードに送信し、ノード側で自律的な処理判断を実行してデータ記録を 行なったデータを、再生指示装置が再生要求パケットを送信して取得するもの である。他の方式とく らベてもつとも柔軟な運用が可能な伝送方式である。例 えば各ノードをグループ分けすることにより、ネットワークの負荷のあまりか からない近いノード群を得ることが出来れば、出来るだけ近いグループから再 生バケツトを受け取るように制御することが可能となる。 例えばデータ再生処理要求を送信するノード群を再生指示装置に近接する ノード群とするア ドレス (マルチキャス トア ドレス)設定とする処理を行なう ことで、パケットの伝送ロスは最小限に減らすことが出来る。 例えば図 2 5に 示すァドレステーブルを適用して、再生指示装置が、データ再生処理要求を送 信するノード群を、自装置に近距離にあるノードに限定するマルチキャストァ ドレスを設定したり、 自装置から中距離、 あるいは遠距離、 あるいは全ノード 等、様々なノードに限定するマルチキャストァドレスを設定することで、ネッ トワークのトラフィックの制御が可能となる。 次は、チェ一二ング伝送方式について説明する。チェ一二ングはノードが再 生指示装置を兼ねるとき直前または以前に再生したデータをキヤッシュして おきこれを再利用する方式である。 例えば、直前または以前に再生したデータに対応する識別子情報と、データ を送信したノードの識別情報を保持し、 これらの保持情報に基づいて、図 2 6 に示すように、 データ (コンテンツ) I Dと、 データを送信したノードに対す るア ドレスを含むュニキャストまたはマルチキャストァドレスを対応付けた ァドレステーブルを生成し、 このテーブルを参照して、再生指示装置が送信す るデータ再生要求 (命令) パケッ トの設定ア ドレスを決定する。 チェ一二ングは、 例えば急激に人気が出てきたコンテンツ (データ) に対し て、有効な方式であるが、データを保持しているノードが少ないと遠くからデ ータを送ってもらわなければならず、パケットの重複などの伝送ロスも大きい ので、 コンテンッデータが多くのノードに保持された状態、すなわち分散キヤ ッシュ状態に至るまでの間だけ用いるのが望ましい。 データの再生時におけるリアルタイム伝送をしないローカルキヤッシュを 用いる方式も可能である。すなわち、再生処理を実行する装置自身のローカル キャッシュにデータを格納し、その格納データを再生処理に利用する方法であ る。 ただし、 この方式は、 分散キャッシュ処理を実行する各ノードのキヤッシ ュ容量が非常に大きく特定のデータに偏っている場合に対応するものと考え られる。 クライアントサーバ型の伝送方式は、 例えばカルーセル、 分散キヤッシュ、 チェ一二ング、ローカルキヤッシュの各方式で取得不可能なデータについての データ伝送に適用可能であり、大元のデータを格納している装置、すなわち記 録指示装置等、データを確実に保持したサーバに問い合わせてデータを取得す る処理方式である。 このクライアントサーバ型のデータ送信は、他のノードに 全くキャッシュされていないような、ごく少数の再生指示装置だけが要求する データについて適したデータ配信処理構成であり、利用頻度の少ないデータも 確実に取得できる。 図 2 3には、 上述の各方式の特性をまとめている。 特性としては、 距離、 ネ ッ ト負荷、 データ発見率、 オンデマンド適性、 伝送ロス、 効率のいい需要の 6 項目について示してある。距離に関しては、再生指示装置とデータ格納ノード のネットワーク上での距離を示す。分散キヤッシュ方式はグループ分けにより 遠いものと近いものにわけることができる力 その他のものに関してはわける ことが出来ないため 「遠」 の分類にした。 ネットワーク負荷に関しては、 伝送 距離と伝送パケットの量の掛け算で評価した。 「小」 がネットワーク負荷が小 さく、 「大」 がネットワーク負荷が大きい。 距離が遠くてもネッ トワーク負荷 が小さく出来るのはカルーセル方式のみで、そのほかはネットワーク負荷が距 離に応じて大きくなっている。 ただし、 ローカルキャッシュは事前にダウン口 一ドする時に大きな負荷がかかる。 データ発見確率は、 あるデータを再生指示装置が要求したとき、その伝送路 で伝送される可能性が大きいか小さいかを表している。 オンデマンド性は、 あ るデータを再生指示装置が要求したときすぐに再生が開始できるかを示して いる。伝送ロスは、重複パケッ トを含めたデータ伝送のロスについてで、 「大」 のほうが望ましくない。 以上を総合すると、データの需要とそれに適した伝送 方式が分類できる。 これを示すのが、 「効率のいい需要」 の項目である。 このような、様々な特性を持つ異なる伝送方式を確率的ルールに基づいてシ ームレスに統合し、 ネッ トワーク接続されたノード (情報処理装置) 1台から 数千万台やそれ以上までそれぞれのデータ需要(人気度) に応じたデータ転送 制御を行う。 データ需要 (人気度) に応じたデータ転送制御について、 図 2 7を参照して 説明する。 図 2 7は、 縦軸に対数軸として示すデータ需要 (人気度)、 横軸に データ取得の各方式を適用する割合 (帯域割合) を示したものである。 帯域割 合は、 各データ伝送方式のデータ伝送率に相当する。 例えば需要度 (人気度) が極めて高い a以上の領域にあるデータ (コンテン ッ) は、 カルーセル伝送を 1 0 0 %実行する。 需要度 (人気度) が bのポイン トにあるデータ(コンテンツ)は、カルーセル伝送を適用する帯域割合を 3 0 % とし、 分散キャッシュからのデータ取得に適用する帯域割合を 7 0 %とする。 ここで帯域割合は、 ほぼデータ取得率に相当すると考えることができる。すな わち、 人気度が高い (ボイント b ) コンテンツデータの 3 0 %のデータはカル 一セル伝送で取得し、残りの 7 0 %のデータは分散キヤッシュからのデータ取 得によって取得することができる。 また、 需要度 (人気度) が cのポイントを持つデータ (コンテンツ) は、 分 散キャッシュからのデータ取得に適用する帯域割合を 4 3 %とし、チェ一ニン グとクライアントサーバ型のデータ転送を 5 7 %とする。 さらに、 需要度 (人 気度) が低く、 dのポイント以下のデータ (コンテンツ) は、 全てをクライア ントサーバ型のデータ転送とする。
データ伝送率設定部 3 1 8 (図 2 0参照) は、 図 2 7に示すような再生対象 データの需要度と、適用データ伝送方式のデータ伝送率としての帯域割合との 対応データを有し、前記対応データに従って再生対象データの需要度情報に基 づくデータ伝送方式の選択および選択各方式のデータ伝送率の決定処理を実 行する。 データ要求パケット生成部 3 1 2は、データ伝送率設定部 3 1 8において決 定したデータ伝送率に基づいて、再生要求処理対象データを設定するとともに、 ァドレス設定処理を行ない、再生要求処理対象データの指示データをリクエス ト記述として格納したデータ再生処理要求パケットを生成する。例えば需要度 (人気度) が cのポイントを持つデータ (コンテンツ) である場合には、 分散 キャッシュからのデータ取得割合が 4 3 %であり、チェ一二ングとクライアン トサーバ型のデータ転送が 5 7 %であるので、分散キヤッシュからのデータ取 得要求パケットのリクエス ト記述には全コンテンッの 4 3 %のデータ取得要 求を記述して、ァドレスとしては分散ノードに対応するマルチキャストァドレ スを設定する。 さらに、残りの 5 7 %のデータ要求は、 クライアントサーバ型のデータ要求 として実行する。 すなわちサーバ (例えば記録指示装置) に対するァドレスを 設定して、 5 7 %のデータ要求をリクエスト記述として格納したバケツ トをサ —バに送信する。 このような伝送方式の使い分けにより、 効率的なデータ転送が実現される。 ネットワークに接続された多数ノード、例えば数十万ノードからのデータ取得 要求があるようなコンテンツはカルーセルのみ送信処理を行ない、需要が減少 するに従って、 「カルーセル +分散」、 「分散 +チェ一二ング +クライアントサ 一バ」、 さらに、 需要の少ないデータについては 「クライアントサーバのみ」 のように、需要度(人気度)によってデータ取得に適用する方式を切り替える。 本実施例では、 このよ うなポリシーをデータの需要度 (人気度) で表す方式 を提案している。 図 2 7では、 データの需要度 (人気度) に応じて、 「カルー セル +分散 j、 「分散 +チェ一ユング +クライアントサーバ」、 「クライアント サーバのみ」 の 4つのタイプの切り分け例を示しているが、データ伝送の組み 合わせおよび序列の組み合わせは図に示す構成に限らず、様々な設定が可能で ある。 さらに、 他の伝送方式を組み込む構成としてもよい。 また、 図 2 7に示 す構成例には、 ローカルキャッシュ方式の処理が含まれないが、 ローカルキヤ ッシュデ一タがある場合には、利用帯域の割合をローカルキャッシュデータか ら取得可能な割合分、 減少させて構成することが可能となる。 上述したように、 本実施例では、 取得データの需要度 (人気度) に応じてデ ータの伝送方式、 取得方式を変更する構成である。 取得データの需要度 (人気 度)に関する指標データは、例えば自由に閲覧可能なウェブサイ ト等に設定し、 再生指示装置となるノードが最新の需要度情報を得て、取得した情報に従って 再生要求を実行する構成とすることが好ましい。再生指示装置となるノード自 身が保有する独自の情報、 あるいは推定情報に基づく処理を行なってもよい。 図 2 8は、需要度情報を提供する需要情報提供装置 4 2 1をネットワーク上 に設定した例を示す。需要情報提供装置 4 2 1は、ネットワーク接続されたノ 一ドの数、各ノードの実行可能な伝送方式情報、 さらにデータ (コンテンツ毎) の需要情報を集積格納し、再生指示装置 4 1 1の要求に応じてこれらの情報を 提供する。 なお、 図 2 8では、 再生指示装置 4 1 1を他のノード 4 3 1〜4 3 5と区別して示してある力 、いずれのノード 4 3 :!〜 4 3 5も再生指示装置と して機能し得る。 需要情報提供装置 4 2 1は、ネットワーク接続されたノードの数、各ノード の実行可能な伝送方式情報、 さらにデータ (コンテンツ毎) の需要情報を提供 するのみならず、カルーセル伝送開始のタイミング制御を行なう構成としても よい。すなわち、オリジナルデータを持つノードからカルーセル伝送を開始す る際、需要情報提供装置 4 2 1から伝送開始要求を送信し、 ノードが伝送開始 要求を受信したことを条件としてカルーセル伝送を開始する。カルーセル伝送 を実行するノードは、 例えばオリジナルデータを保有している記録指示装置、 データを自己の記憶手段に保有しているノード等である。 なお、カルーセル伝 送を実行するノードは、 1つのノードのみ、 あるいは複数のノードとしてもよ い。 需要情報提供装置 4 2 1は、ネットワーク接続ノードとのデータ送受信を実 行する通信部と、需要度情報を生成し生成情報の提供処理制御を実行する制御 部を有する情報処理装置によって構成される。 制御部においては、例えば、通信部を介してネットワーク接続ノードから受 信する需要度情報取得要求数のカウント処理が実行され、該カウント情報に基 づいて、各データ対応の需要度情報が生成される。通信部を介してネットヮー ク接続ノードから需要度情報取得要求を受信すると、制御部はカウント値に基 づく応答情報を生成して送信する。 また、需要情報提供装置 4 2 1の制御部は、カウント情報に基づくデータ対 応需要度が、予め設定した閾値以上となった場合に、 カルーセル伝送実行ノー ドに対して、閾値以上となった需要度に対応するデータのカルーセル伝送処理 要求の送信制御を実行する。 これらの処理については、 後述する。 次に図 2 9を参照して、記録指示装置からノードに対するデータ記録処理要 求の発行、 ノードにおけるデータ記録処理、再生指示装置から需要情報提供装 置に対する問い合わせおよび応答情報受信、さらに応答情報に基づくノードに 対するのデータ再生処理要求の発行、 ノ一ドにおけるデータ抽出、パケット送 信処理の一連の処理シーケンスについて、 まとめて説明する。 記録指示装置は、 まず、 ステップ S 5 0 1において、 記録対象データ (コン テンッ) の加工、 すなわち、 F E C処理、 およびインターリーブ処理を実行す る。 この処理は、 先に図 5を参照して説明した処理に対応する。 次に、記録指示装置は、ステップ S 5 0 2において、データ記録処理要求(命 令)パケットの生成処理を実行する。ィンターリープ処理のなされたデータが ペイロードとして格納されるとともに、ルール判断条件設定部 2 5 3 (図 4参 照) において決定される [ルール判断条件記述] と しての確率値: αを設定し たバケツトを生成する。 次に、 記録指示装置は、 ステップ S 5 0 3において、 送信ノ一ドに応じたァ ドレス設定、すなわちュニキャス ト若しくはマルチキャス トを用いて分散型ス トレージシステムを構成する各ノードに送信する。 記録指示装置からのデータ記録処理要求(命令)バケツトを受信したノード の処理は、 先に、 図 8、 図 9を参照して説明した処理の実行、 非実行を自律的 に判断して行なわれる処理となる。 図 2 9には、 2つのノード(ノード 1 , 2 ) の処理を示してあるが、 この他にも多数のノードにおいて、 自律的な判断 (確 率制御) が実行され、 データ記録処理を実行するノード、 データ記録処理を実 行しないノードが存在する。
121 2 9に示す 2つのノード (ノード 1 , 2 ) は、 ステップ S 5 1 1 , S 5 2 1の確率制御処理、 すなわち、 図 8を参照して説明した生成乱数と、 受信パケ ット (データ記録処理要求パケット) 中の記録ルール判断条件記述として設定 された確率: αとの比較に基づく、 処理実行ノ非実行の判定処理、 あるいは、 図 9を参照して説明したバケツ ト内データに基づくハッシュ値と、ノードの設 定値との比較に基づく、 処理実行ノ非実行の判定処理を実行する。 図 2 9に示す 2つのノード (ノード 1 , 2 ) は、 ステップ S 5 1 1 , S 5 2 1の確率制御処理の結果として、いずれもデータ記録処理を実行するとの結論 が得られ、ステップ S 5 1 2 , S 5 2 2において、データ記録処理を実行する。 記録対象データは、記録指示装置から受信したデータ記録処理要求パケットに 格納された F E Cおよびィンタリープされた加工データである。 次に、 再生指示装置は、 ステップ S 5 3 1において、 需要情報提供装置に対 して問い合わせを実行し、ステップ S 5 3 2の応答において、再生予定コンテ ンッに対する需要情報、さらに必要であれば各ノードの実行可能な伝送方式に ついての情報を取得する。 さらに、再生指示装置は、需要情報提供装置から取得した情報に基づいて再 生データの伝送方式を決定し、ステップ S 5 3 3において決定情報に基づいて 再生処理要求 (命令) パケット (図 1 2参照) を生成し、 ステップ S 5 3 4に おいて、 パケッ トを各ノードに対して送信する。 再生データの伝送方式は、 例 えば、 カルーセル、 分散キヤッシュ、 チェ一ユング +ク ライアン ト、 クライア ントサーバ方式のいずれかであり、バケツトには決定した伝送方式を実行可能 なノードに対するァドレスが設定される。さらにパケッ トには再生対象となる コンテンッ I D等をリクエスト記述として格納し、必要に応じて再生ルール判 断条件記述 (確率: β ) が設定される。 再生処理要求 (命令) バケツ ト (図 1 2参照) を受信した各ノード、 すなわ ち図 2 9に示す 2つのノード (ノード 1 , 2 ) は、 ステップ S 5 4 1 , S 5 5 1の確率制御処理、 すなわち、 図 1 7を参照して説明した生成乱数と、 受信パ ケット (データ再生処理要求パケット) 中の再生ルール判断条件記述として設 定された確率: β との比較に基づく、処理実行/非実行の判定処理、あるいは、 図 1 8を参照して説明したパケッ ト内データに基づくハッシュ値と、ノードの 設定値との比較に基づく、 処理実行 非実行の判定処理を実行する。 図 2 9に示すノード 1は、 ステップ S 5 5 1の確率制御処理の結果として、 データ再生処理を実行するとの結論が得られ、 ステップ S 5 5 2において、再 生処理要求 (命令) パケットのリクエスト記述に従って、 自ノードの記憶部か ら対応データを取得し、取得データをペイロードとして格納したパケッ ト (図 1 3参照) を生成して、 ステップ S 5 5 3において、 再生指示装置に対して送 信する。 一方、 図 2 9に示すノード 2は、 ステップ S 5 4 1の確率制御処理の結果と して、データ再生処理を実行しないとの結論が得られ、データ抽出およびパケ ット生成、 送信を実行せずに処理を終了する。 なお、図 2 9には、 ノード 1からのみのデータが再生指示装置に送信されて いる構成となっている力 図示しないノ一ド 3〜!!からのデータ格納バケツト が再生指示装置に送信され、再生指示装置は、多数のノードから多数のパケッ トを受信している。 再生データを格納したパケットを受信した再生指示装置は、ステップ S 5 6 1において、受信データブロックにディンターリープをかけ、データの並びを 整列させ、 さらにディンターリープされたデータに F E C復号を施し、元のデ ータを復元する。
F E Cおよびディンタリープ処理に基づくデータ復元処理ついては、先に図 1 4を参照して説明した通りである。消失パケットが存在しても、ディンタリ ープ処理により、エラーは、エラー部が大きなデータ領域として存在するバー ストエラーではなく、 ランダムエラーとなり、 F E C復号処理により元のデー タが復元される。 次に、 図 2 9のシーケンスチャートにおける、 再生指示装置の 「需要の問い 合わせ」 から 「加工されたデータの復元」 までの詳細処理手順について、 図 3 0のフローチャートを参照して説明する。 まず、再生指示装置は再生対象コンテンツが決定すると、 ステップ S 6 0 1 において、需要情報提供装置に対して問い合わせを実行する。 問い合わせには 例えばコンテンツの識別子 (コンテンツ I D ) を格納したパケットを生成して 需要情報提供装置に対して送信する。 次に、 ステップ S 6 0 2において、 再生指示装置は、 需要情報提供装置から 受信した需要情報に基づいて、再生データの取得方式、すなわちデータ伝送態 様を決定する。 これは、先に図 2 7を参照して説明した需要度と帯域割合との 対応関係に基づいて決定する。 例えば、 前述したように、 需要度 (人気度) が 極めて高い a以上の領域にあるデータ (コンテンツ) は、 カルーセル伝送を 1 0 0 %実行する。需要度(人気度) が bのボイントにあるデータ (コンテンツ) は、カルーセル伝送を適用する帯域割合を 3 0 %とし、分散キヤッシュからの データ取得に適用する带域割合を Ί 0 %とするなどである。 なお、 カル一セル、 分散キヤッシュ、 チェ一ユング +クライアント、 クライ アントサーバの各態様について、コンテンッの需要と伝送経路における確率の 割合との関係を表した関数を設定し、関数に基づいて伝送態様を決定すること も可能である。 Xを図 2 7の縦軸の需要度 (対数軸) とし、 yを各伝送経路ご との帯域割合(%:横幅) として設定した関数群: y = D n ( x ) を設定する。 nは、 例えば力ルーセル: n = 1、 分散キャッシュ : n = 2、 チェ一二ング + クライアント: n = 3、クライアントサーバ: n = 4等、態様毎に設定される。 これらの関数群: y = D n ( X ) において、 任意の Xに対する∑ D n ( x ) = 1になるように、 D n (x) を定める。 需要情報提供装置から受信した需要 情報に基づいて、 図 2 7の縦軸に相当する需要度: Xを取得し、 関数群: y = D n (x) に xを設定して、 n = 1〜 4それぞれの帯域: y、 すなわち、 カル 一セル、 分散キャッシュ、 チェ一二ング +クライアント、 クライアントサーバ それぞれの帯域を決定する。 すなわち、 デ一タ伝送率設定部 3 1 8 (図 2 0参照) は、 需要度: Xと、 各 伝送方式の帯域割合: yと、 各データ伝送方式毎の識別値: nとにより設定さ れる関数群: y =D n ( x ) (ただし、 ∑ D n ( x ) = 1 ) を適用して、 需要 情報に基づいて決定される需要度: Xの値を用いて各データ伝送方式のデータ 伝送率決定処理を実行する。 あるいは、 図 2 7に示した需要度と帯域割合の対 応データに基づいて実行すべき伝送方式の選択および帯域割合の設定を行な う構成としてもよい。 Xが大きくなるにしたがって、需要が高い場合有効な伝送経路が選択される ように関数: D n ( x ) は設定され、 伝送路の最適な選択が可能となる。 しか し、現実にはその伝送路を使用できるノードにデータがない場合もありえるの で、データの不足が生じた場合、一般に需要が高いときに有効な伝送路よりも 需要が低いときに有効な伝送路のほう力 よりデータがノードに含まれる確率 が高くなることから、 Xを調整することによって、確実にデータがある伝送路 の割合を増やすことで伝送路を最適化する。 この調整処理は、 図 3 0のフロー におけるステップ S 6 0 6力 >らステップ S 6 0 9、ステップ S 6 0 3の処理に 対応する。 図 3 0の処理フローに戻り説明を続ける。 ステップ S 6 0 2において、需要 度に基づく再生対象データの伝送態様を決定すると、ステップ S 6 0 3におい て、決定したデータ伝送態様に応じた返信確率を必要に応じて設定する。 これ は例えば分散キャッシュからのデータ取得の際に再生要求パケッ トに設定す る再生ルール判断条件記述 (図丄 2参照) と しての返信確率: /3である。 その 他の伝送方式においても、各伝送方式に応じた返信確率: β ηを必要に応じて 設定する。 次にステップ S 6 0 4において、再生ルール判断条件記述を設定するととも に、再生対象データの識別情報をリクエス ト記述とした再生要求パケッ ト (図 1 2参照) を送信する。 ステップ S 6 0 5において、 再生データをペイロード としたデータバケツト(図 1 3参照)を受信する。ステップ S 6 0 6において、 復号処理 (F E C復号) 実行可能なデータが取得できたか否かを判定し、 取得 していれば、 ステップ S 6 0 7において復号処理を実行する。復号処理につい ては、例えば先に図 1 4を参照して説明したディンタリーブと、 F E C復号を 含む処理が実行される。 なお、 ノードに格納された再生対象データが、 ρ個のプロックに F E C符号 化を施して q個のプロックに変換した符号化率 q Z pの符号化処理データで あるとき、ネットワークに接続された記録指示装置から指定される記録確率: aと返信確率: 13が設定されると、返信プロック数は、 q X a X n X i3となり、 返信プロック数: q X a X n X j3 >プロック数: pとなれば、 返信データから データ復元が可能となる。 ステップ S 6 0 6では、返信プロック数が上記条件 を満足するか否かを判定する。満足しない場合は、 さらに待機してデータ受信 を維続してもよいが、 前述したように、 ステップ S 6 0 9において、 データ伝 送態様の変更を実行して、ステップ S 6 0 3以下の処理を再実行することも可 能である。 ステップ S 6 0 6で、 復号処理 (F E C復号) 実行可能なデータが取得でき たと判定すると、 ステップ S 6 0 7において復号処理を実行し、 ステップ S 6 0 8において、 復号データに基づいてデータ再生を実行する。 次に、図 3 1を参照して、需要情報提供装置がコンテンツの需要が増加した ことを検出し、その検出情報に基づいて、カルーセル伝送を開始する制御を行 なう処理シーケンスについて説明する。 需要情報提供装置は、 コンテンツ需要度を、例えば再生指示装置からの需要 度問い合わせ受信回数をカウントすることで計測する。再生指示装置からの需 要度問い合わせ受信回数が多ければそれだけそのデータ (コンテンツ) の需要 が多いものと判定する。需要情報提供装置は、再生指示装置からの需要度問い 合わせ受信回数が予め設定した閾値を超えたとき、コンテンッ配信を力ルーセ ル伝送に切り替える制御を実行する。すなわち、 同様のコンテンツを受信して いるノードが多くなった場合、カルーセル伝送を実行可能なノード、例えば記 録指示装置に対してカルーセル伝送を指示する。 カルーセル伝送指示要求には、需要情報提供装置の受領した特定のデータに 対する需要問い合わせのあったデータ (コンテンツ) 識別情報、 および問い合 わせに設定された送信元ァドレス情報を含む。力ルーセル伝送を実行可能なノ 一ドは、需要情報提供装置から受信したカルーセル伝送指示要求に含まれるノ 一ドア ドレスを包含するァ ドレス、例えばマルチキャス トア ドレスを設定して データ (コンテンツ)識別情報に対応するデータをペイロードとして設定した パケットを生成してカルーセル伝送を開始する。 需要情報提供装置がコンテンツ需要度に基づいて力ルーセル伝送を開始さ せる処理について、図 3 1の処理シーケンスに従って説明する。 図 3 1には 2 つの再生指示装置 A , Bが同一コンテンツの再生を行なう例を示している力 S、 さらに多数のノードが同一データ (コンテンツ) の再生を行なう構成でも同様 の処理が行なわれる。 ステップ S 7 1 1において、複数の再生指示装置から需 要情報提供装置に対して需要情報の問い合わせが行われる。この需要情報問い 合わせには、問い合わせ対象となるデータ(コンテンツ)の識別子が含まれる。 需要情報提供装置は、問い合わせログ情報として、問い合わせ対象のデ一タ(コ ンテンッ)識別子と、問い合わせ元情報としての問い合わせノードのァ ドレス 情報を格納する。 ステップ S 7 1 2において、需要情報提供装置は問い合わせ元の再生指示装 置に対する応答処理として、需要情報を提供する。ステップ S 7 1 3において、 各再生指示装置は、需要情報に基づいてデータの伝送方式を決定し、再生ルー ル判断条件記述としての返信確率を設定した再生要求パケッ トを生成して、ス テツプ S 7 1 4においてパケットを送信する。 一方、需要情報提供装置は、再生指示装置からの需要度問い合わせ受信回数 をカウントして、需要度問い合わせ受信回数が予め設定した閾値を超えたと判 断すると、 ステップ S 7 1 6において、 カルーセル伝送を実行可能なノード 5 0 1に対して、 カルーセル伝送開始要求を送信する。 カルーセル伝送開始要求には、需要情報提供装置の受領した特定のデータに 対する需要問い合わせのあったデータ (コンテンツ) 識別情報、 および問い合 わせに設定された送信元ア ドレス情報を含む。 カルーセル伝送を実行可能なノード 5 0 1は、 ステップ S 7 1 7において、 需要情報提供装置から受信したカルーセル伝送指示要求に含まれるノ一ドア ドレスを包含するァドレス、例えばマルチキャストァドレスを設定して、ザ一 タ (コンテンツ)識別情報に対応するデータをペイロードとして設定したパケ ットを生成して力ルーセル伝送を開始する。 再生指示装置は、 ステップ S 7 1 8において、受信データプロックにディン ターリープをかけ、データの並びを整列させ、 さらにディンターリーブされた データに F E C復号を施し、元のデータを復元する。 F E Cおよびディンタリ ープ処理に基づくデータ復元処理ついては、先に図 1 4を参照して説明した通 りである。消失パケットが存在しても、ディンタリープ処理により、エラーは、 エラー部が大きなデータ領域として存在するバーストエラーではなく、ランダ ムエラーとなり、 F E C復号処理により元のデータが復元される。 このように、需要情報提供装置がコンテンツの需要が増加したことを検出し、 その検出情報に基づいて、カルーセル伝送を開始する制御を行なうことにより、 個々の再生指示装置が異なる伝送方式で再生対象データを受信している状態 をカルーセル伝送に切り替えることが可能となり、ネットワーク トラフィック の減少、 データ伝送の効率化が可能となる。
[7. 情報処理装置のハード構成]
次に、上述の実施例において説明したノード、記録指示装置、再生指示装置、 および需要情報提供装置を構成する情報処理装置のハード構成例について説 明する。 図 3 2に、 制御手段として C PU (Central Processing Unit)を備えた情報 処理装置例を示す。 図 3 2に示す構成について説明する。 C P U (Central Processing Unit) 9 0 1は、 各種プログラムを実行するプロセッサである。 R OM (Read-Only-Memory) 9 0 2は、 C PU 9 0 1が実行するプログラム、 あ るいは演算パラメータとしての固定データを格納する。 RAM (Random Access Memory) 9 0 3は、 C PU 9 0 1の処理において実行されるプログラム、 およ びプログラム処理において適宜変化するパラメータの格納エリァ、ワーク領域 として使用される。
HDD 9 04はハードディスクの制御を実行しノ、一ドディスクに対する各 種データ、プログラムの格納処理および読み出し処理を実行する。ェンコ一ド Zデコード処理部 9 0 5は、 コンテンッ等の送信データのェンコ一ド処理、受 信データのデコード処理を前述した処理に従って実行する。
/くス 9 2 1 ¾ P C I (Peripheral Component Internet/Interface) ノ ス等 により構成され、各モジュール、入出力ィンタフェース 8 2 2を介した各入出 力装置とのデータ転送を可能にしている。 入力部 9 1 1は、例えばキ一ボード、 ボインティングデバイスを含む入力部 である。 キーボードゃマウス等を介して入力部 9 1 1が操作された場合、 ある いは、通信部 9 1 3からのデータを受信した場合などに C PU 9 0 1に指令が 入力され、 ROM(ReadOnlyMemory) 9 0 2に格納されているプログラムを実 行する。 出力部 9 1 2は、 例えば CRT、 液晶ディスプレイ等であり、 各種情 報をテキストまたはイメージ等により表示する。 通信部 9 1 3は情報処理装置間の通信、 あるいは、 その他のエンティティと の通信処理を実行し、 C PU 9 0 1の制御の下に、各記憶部から供給されたデ ータ、 あるいは C PU 9 0 1、ェンコ一ド Zデコード処理部 9 0 5によって処 理されたデータを送信したり、他エンティティからのデータを受'信する処理を 実行する。 ドライプ 9 1 4は、フレキシプルディスク、 C D - ROM (Compact Disc Read Only Memory) , MO (Magneto optical)ティスク, DVD (Digital Versatile Disc), 磁気ディスク、 半導体メモリなどのリムーバブル記録媒体 9 1 5の記 録再生を実行するドライブであり、各リムーバブル記録媒体 9 1 5からのプロ グラムまたはデータ再生、リムーバブル記録媒体 9 1 5に対するプログラムま たはデータ格納を実行する。 各記憶媒体に記録されたプログラムまたはデータを読み出して C P U 9 0 1において実行または処理を行なう場合は、読み出したプログラム、データは 入出力インタフェース 9 2 2、パス 9 2 1を介して例えば接続されている R A M 9 0 3に供給される。 なお、 明細書中において説明した各処理はハードウエア、 またはソフトウェ ァ、 あるいは両者の複合構成によって実行することが可能である。一連の処理 をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプロ グラムが専用のハードウエアに組み込まれているコンピュータ、又は各種のプ 口グラムをィンス トールすることで各種の機能を実行することが可能な、例え ば汎用のパーソナノレコンピュータなどに、フレキシプノレディスクゃ C D— R O M等のプログラム読み取り可能な記録媒体にプログラムを格納して提供して もよいし、インターネッ トなどの通信網を介してプログラムをダウンロードし てもよい。 具体的には、 プログラムは記録媒体と してのハードディスクや R O M (Read Only Memory)に予め記録しておく ことができる。 あるいは、 プログラムはフレ キシプノレディスク、 C D— R O M (Compact Di sc Read Only Memory) , M O (Magneto opt i cal)ディスク, D V D (D i gi tal Versat i l e Di sc) 磁気ディス ク、 半導体メモリなどのリムーバブル記録媒体に、 一時的あるいは永続的に格 納 (記録) しておく ことができる。 このようなリムーバブル記録媒体は、 いわ ゆるパッケージソフ トウェアと して提供することができる。 また、 プログラムは、 上述したようなリムーバブル記録媒体からコンビユー タにインス トールする他、 ダウンロードサイ トカ ら、 コンピュータに無線転送 したり、 L A N (Local Area Network)、 インターネッ トといったネッ トワーク を介して、 コンピュータに有線で転送し、 コンピュータでは、 そのようにして 転送されてく るプログラムを受信し、内蔵するハードディスク等の記録媒体に インス トールすることができる。 ' なお、 ノード、 記録指示装置、 再生指示装置を構成する情報処理装置と して は、 カムコーダ、パーソナルビデオレコーダーやホームゲートウエイなどが考 えられるが、 データを記録する記録部と、 所定の演算を行う制御部と、 データ の送受信を行ぅネッ トワークィンターフ: —スを有していればその他の構成 を備える装置であってもよい。 また、 記録確率《、 返信確率 3をパケッ ト中に記録したが、 記録確率 α、 返 信確率 /3を任意の記録装置、若しくはパケットなどに記録し、各ノードがその 値を参照するようにしてもよい。 また、 F E C符号化としてリードトルネード 符号化方式を利用した場合には、インターリーブ処理を省略することもできる なお、 明細書に記載された各種の処理は、記載に従って時系列に実行される のみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあ るいは個別に実行されてもよい。 また、 本明細書においてシステムとは、 複数 の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限 らない。 以上、 特定の実施例を参照しながら、 本発明について詳解してきた。 しかし ながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し 得ることは自明である。すなわち、例示という形態で本発明を開示してきたの であり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、 冒頭に記載した特許請求の範囲の欄を参酌すべきである。 産業上の利用可能性 以上、 説明してきたように、 本発明の構成によれば、 ネットワーク接続され たノードに対してデータ再生処理要求を送信するとともに、返信データに基づ くデータ再生処理を実行する構成において、 データの需要度 (人気度) に応じ て、データの伝送方式として適用する 1以上のデータ伝送方式を選択するとと もに選択各方式のデータ伝送率を決定して、決定伝送方式に従ったデータ伝送 を行なう構成としたので、 例えば、 カルーセル伝送方式、 チェ一二ング伝送方 式、分散キャッシュ方式、 クライアントサーバ方式等からのデータ伝送方式の 選択、組み合わせが可能となり、効率的で確実なデータ伝送方式によるデータ 伝送が実現される。 本発明の構成によれば、再生処理を実行する際製指示装置は、再生対象デー タの需要度と、適用データ伝送方式のデータ伝送率としての帯域割合との対応 データを有し、対応データに従って再生対象データの需要度情報に基づくデー タ伝送方式の選択および選択各方式のデータ伝送率の決定処理を実行する力 あるいは、 需要度: Xと、 各伝送方式ごとの帯域割合: yと、 各データ伝送方 式の識別値: nとして設定する関数群: y = D n ( x ) (ただし、 ∑ D n ( x ) = 1 ) を適用し、 需要情報に基づいて決定する需要度: Xの値に従って各デー タ伝送方式のデータ伝送率決定処理を実行する構成としたので、需要度情報に 基づく伝送方式の決定処理を効率的に実行することが可能となる。 さらに、本発明の構成によれば、再生対象データの需要度が予め設定された 閾値より高い場合は、適用データ伝送方式をカルーセル伝送方式として設定す る処理を実行する構成としたので、多数のノードからのデータ取得要求に対応 したデータ転送に適したカルーセル伝送を自動的に選択実行する処理が可能 となる。 さらに、本発明の構成によれば、ネットワークを介した伝送データの需要度 情報を提供する需要情報提供装置を構成し、ネットワーク接続ノードから受信 する需要度情報取得要求数をカウントし、該カウント情報に基づく各データ対 応の需要度情報を生成し提供する構成としたので、リアルタイムでの需要度情 報が把握可能であり、 最新の需要度情報を提供可能となる。 さらに、本発明の構成によれば、ネッ トワークを介した伝送データの需要度 情報を提供する需要情報提供装置の計測するカウント情報に基づくデータ対 応需要度が、予め設定した閾値以上となった場合に、カルーセル伝送実行ノー ドに対して、閾値以上となった需要度に対応するデータのカルーセル伝送処理 要求の送信制御を実行する構成としたので、需要度の増加に即座に対応した最 適なデータ伝送制御が実現される。

Claims

請求の範囲
1 . ネットワーク接続されたノードに対してデータ再生処理要求を送信す るとともに、返信データに基づくデータ再生処理を実行する再生指示装置とし ての情報処理装置であり、
複数のデータ伝送方式から、返信データの伝送方式として適用する 1以上の データ伝送方式を選択するとともに選択各方式のデータ伝送率を決定するデ ータ伝送率設定部と、
前記データ伝送率設定部において決定したデータ伝送率に基づいて、再生要 求処理対象データの設定処理およびア ドレス設定処理を行ない、設定した再生 要求処理対象データ指示データをリクエス ト記述として格納したデータ再生 処理要求パケットを生成するパケット生成部と、
前記パケッ ト生成部において生成したパケッ トを送信するネッ トワークィ ンタフェース部と、
を有することを特徴とする情報処理装置。
2 . 前記データ伝送率設定部は、
再生対象データの需要度に基づいてデータ伝送方式を選択するとともに選 択各方式のデータ伝送率を決定する構成であることを特徴とする請求項 1に 記載の情報処理装置。
3 . 前記データ伝送率設定部は、
カルーセル伝送方式、 チェ一二ング伝送方式、 分散キャッシュ方式、 クライ アントサーバ方式の少なく ともいずれかの方式を含むデータ伝送方式を選択 するとともに選択各方式のデータ伝送率を決定する構成であることを特徴と する請求項 1に記載の情報処理装置。
4 . 前記データ伝送率設定部は、 再生対象データの需要度と、適用データ伝送方式のデータ伝送率としての帯 域割合との対応データを有し、前記対応データに従って再生対象データの需要 度情報に基づくデータ伝送方式の選択および選択各方式のデータ伝送率の決 定処理を実行する構成であることを特徴とする請求項 1に記載の情報処理装 置。
5 . 前記データ伝送率設定部は、
需要度: Xと、 各伝送方式ごとの帯域割合: yと、 各データ伝送方式の識別 値: nとして設定する関数群: y = D n ( x ) (ただし、 ∑D n ( x ) = 1 ) を適用し、需要情報に基づいて決定する需要度: Xの値に従って各データ伝送 方式のデータ伝送率決定処理を実行する構成であることを特徴とする請求項 1に記載の情報処理装置。
6 . 前記データ伝送率設定部は、
再生対象データの需要度が予め設定された閾値より高い場合は、適用データ 伝送方式をカルーセル伝送方式として設定する処理を実行する構成であるこ とを特徴とする請求項 1に記載の情報処理装置。
7 . 前記情報処理装置は、 さらに、
ディンタリープ処理および F E C復号処理を実行するデータ復元処理部を 有し、
前記データ復元処理部は、前記データ再生処理要求を受信したノードから受 信するパケッ トから抽出される再生対象デ一タについてのディンタリーブ処 理および F E C復号処理を実行し、データ復元を行なう構成であることを特徴 とする請求項 1に記載の情報処理装置。
8 . 前記情報処理装置は、 さらに、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理 を実行するか否かの判定処理に適用可能な判定用データを設定するルール判 断条件設定部を有し、
前記パケット生成部は、
前記ルール判断条件設定部において設定した判定用データを格納するとと もに、再生処理対象データの指示データを格納したデータ再生処理要求パケッ トを生成する構成であることを特徴とする請求項 1に記載の情報処理装置。
9. 前記ルール判断条件設定部は、
. 前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理 を実行するか否かの判定処理に適用可能な再生ルール判断条件記述としての 確率値: を設定する処理を実行する構成であり、
前記パケット生成部は、
前記再生ルール判断条件記述としての確率値: 3を格納したパケットを生成 する処理を実行する構成であることを特徴とする請求項 8に記載の情報処理 装置。
1 0. 前記ノードに格納された再生対象データは、データを ρ個のプロッ ク数に分割し、 Ρ個のブロックに F E C符号化を施して q個のプロックに変換 した符号化率 q/ pの符号化処理データであり、
前記ルール判断条件設定部は、
前記データ再生処理要求を受信するノードにおいて返信確率: βでデータを 返信させる確率値: ]3を再生ルール判断条件記述として設定する構成であり、 前記ネットワークに接続された記録指示装置から指定される記録確率: a、お よび前記符号化プロック数: qと、 ネットワーク接続ノード数: nによって算 出可能な返信プロック数: q X a X n X ^と、前記プロック数: pとの関係が、 返信プロック数: q X o! X n X /3〉プロック数: p
となるように前記確率値: 13を設定する構成であることを特徴とする請求項 8に記載の情報処理装置。
1 1. ネッ トワークを介した伝送データの需要度情報を提供する需要情報 提供装置としての情報処理装置であり、
ネットワーク接続ノードとのデータ送受信を実行する通信部と、
前記通信部を介してネッ トワーク接続ノードから受信する需要度情報取得 要求数をカウントし、該カウント情報に基づく各データ対応の需要度情報を生 成するとともに、該生成需要度情報に基づいて前記需要度情報取得要求に対応 する応答情報を生成して前記通信部を介して送信する制御部と、
を有することを特徴とする情報処理装置。
1 2 . 前記制御部は、
前記カウント情報に基づくデータ対応 要度が、予め設定した閾値以上とな つた場合に、カルーセル伝送実行ノードに対して、閾値以上となった需要度に 対応するデータのカルーセル伝送処理要求の送信制御を実行する構成を有す ることを特徴とする請求項 1 1に記載の情報処理装置。
1 3 . 前記制御部は、
前記カルーセル伝送処理要求に、カルーセル伝送の実行対象データの識別子、 および受信した需要度情報取得要求の送信元ノードア ドレス情報に基づいて 設定した力ルーセル伝送の宛先ァドレス情報を格納する処理を実行する構成 であることを特徴とする請求項 1 2に記載の情報処理装置。
1 4 . ネッ トワーク接続されたノードに対してデータ再生処理要求を送信 するとともに、返信データに基づくデータ再生処理を実行する再生指示装置に おける情報処理方法であり、
複数のデータ伝送方式から、返信データの伝送方式として適用する 1以上の データ伝送方式を選択するとともに選択各方式のデータ伝送率を決定するデ ータ伝送率設定ステップと、
前記データ伝送率設定ステツプにおいて決定したデータ伝送率に基づいて、 再生要求処理対象データの設定処理およびァドレス設定処理を行ない、設定し た再生要求処理対象データ指示データをリクエスト記述として格納したデー タ再生処理要求パケットを生成するパケッ ト生成ステップと、 前記パケッ ト生成ステップにおいて生成したパケットを送信するバケツ ト 送信ステップと、
を有することを特徴とする情報処理方法。
1 5. 前記データ伝送率設定ステップは、
再生対象データの需要度に基づいてデータ伝送方式を選択するとともに選 択各方式のデータ伝送率を決定する処理を含むことを特徴とする請求項 1 4 に記載の情報処理方法。
1 6. 前記データ伝送率設定ステップは、
カルーセル伝送方式、 チヱ一ユング伝送方式、 分散キャッシュ方式、 クライ アントサーバ方式の少なく ともいずれかの方式を含むデータ伝送方式を選択 するとともに選択各方式のデータ伝送率を決定する処理を含むことを特徴と する請求項 1 4に記載の情報処理方法。
1 7. 前記データ伝送率設定ステップは、
再生対象データの需要度と、適用データ伝送方式のデータ伝送率としての帯 域割合との対応データに従って再生対象データの需要度情報に基づくデータ 伝送方式の選択および選択各方式のデータ伝送率の決定処理を実行すること を特徴とする請求項 1 4に記載の情報処理方法。
1 8. 前記データ伝送率設定ステップは、
需要度: Xと、 各伝送方式ごとの帯域割合: yと、 各データ伝送方式の識別 値: nとして設定する関数群: y =D n ( x) (ただし、 ∑D n (x) = 1 ) を適用し、需要情報に基づいて決定する需要度: Xの値に従って各データ伝送 方式のデータ伝送率決定処理を実行することを特徴とする請求項 1 4に記載 の情報処理方法。
1 9 . 前記データ伝送率設定ステップは、
再生対象データの需要度が予め設定された閾値より高い場合は、適用データ 伝送方式をカルーセル伝送方式として設定する処理を実行することを特徴と する請求項 1 4に記載の情報処理方法。
2 0 . 前記情報処理方法は、 さらに、
ディンタリープ処理および F E C復号処理を実行するデータ復元処理ステ ップを有し、
前記データ復元処理ステップは、前記データ再生処理要求を受信したノード から受信するバケツトから抽出される再生対象データについてのディンタリ ーブ処理および F E C復号処理を実行し、データ復元を行なうことを特徴とす る言冑求項 1 4に記載の情報処理方法。
2 1 . 前記情報処理方法は、 さらに、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理 を実行するか否かの判定処理に適用可能な判定用データを設定するルール判 断条件設定ステップを有し、
前記パケット生成ステップは、
前記ルール判断条件設定ステップにおいて設定した判定用データを格納す るとともに、再生処理対象データの指示データを格納したデータ再生処理要求 バケツトを生成することを特徴とする請求項 1 4に記載の情報処理方法。
2 2 . 前記ルール判断条件設定ステツプは、
前記データ再生処理要求を受信するノードにおいて、処理要求に従った処理 を実行するか否かの判定処理に適用可能な再生ルール判断条件記述としての 確率値: ]3を設定する処理を実行する構成であり、
前記パケット生成ステップは、
前記再生ルール判断条件記述としての確率値: i3を格納したパケットを生成 する処理を実行する構成であることを特徴とする請求項 2 1に記載の情報処 理方法。
2 3 . 前記ノードに格納された再生対象データは、データを p個のプロッ ク数に分割し、 p個のプロックに F E C符号化を施して q個のプロックに変換 した符号化率 q Z pの符号化処理データであり、
前記ルール判断条件設定ステツプは、
前記データ再生処理要求を受信するノードにおいて返信確率: でデータを 返信させる確率値: /3を再生ルール判断条件記述として設定し、前記ネットヮ ークに接続された記録指示装置から指定される記録確率: α、および前記符号 化プロック数: qと、 ネットワーク接続ノード数: IIによって算出可能な返信 プロック数: q X a X n X 3と、 前記ブロック数: との関係が、
返信ブロック数: q X a X n X j3〉プロック数: p
となるように前記確率値: 0を設定することを特徴とする請求項 2 1に記載 の情報処理方法。
2 4 . ネッ トワークを介した伝送データの需要度情報を提供する需要情報 提供装置における情報処理方法であり、
通信部を介してネッ トワーク接続ノ一ドから需要度情報取得要求を受信す るステップと、
前記需要度情報取得要求数を力ゥントし、該カウント情報に基づく各データ 対応の需要度情報を生成するステップと、
前記カウント情報に基づく需要度情報を応答情報として格納したパケッ ト を生成し、 前記通信部を介して送信するステップと、
を有することを特徴とする情報処理方法。
2 5 . 前記情報処理方法は、 さらに、
前記力ゥント情報に基づくデータ対応需要度が、予め設定した閾値以上とな つた場合に、カルーセル伝送実行ノードに対して、 閾値以上となった需要度に 対応するデータのカルーセル伝送処理要求の送信制御を実行するステップを 有することを特徴とする請求項 2 4に記載の情報処理方法。
2 6 . 前記情報処理方法は、 さらに、
前記カルーセル伝送処理要求に、カルーセル伝送の実行対象データの識別子、 および受信した需要度情報取得要求の送信元ノードアドレス情報に基づいて 設定したカルーセル伝送の宛先ァドレス情報を格納する処理を実行するステ ップを含むことを特徴とする請求項 2 5に記載の情報処理方法。
2 7 . ネッ トワーク接続されたノードに対してデータ再生処理要求を送信 するとともに、返信データに基づくデータ再生処理を実行するコンピュータ · プログラムであり、
複数のデータ伝送方式から、返信データの伝送方式として適用する 1以上の データ伝送方式を選択するとともに選択各方式のデータ伝送率を決定するデ ータ伝送率設定ステップと、
前記データ伝送率設定ステップにおいて決定したデータ伝送率に基づいて、 再生要求処理対象データの設定処理および T ドレス設定処理を行ない、設定し た再生要求処理対象データ指示データをリクェスト記述として格納したデー タ再生処理要求パケットを生成するバケツ ト生成ステップと、
前記パケッ ト生成ステップにおいて生成したパケットを送信するパケッ ト 送信ステップと、
を有することを特徴とするコンピュータ ·プログラム。
2 8 . ネッ トワークを介した伝送データの需要度情報を提供する処理を実 行するコンピュータ ·プログラムであり、
通信部を介してネットワーク接続ノードから需要度情報取得要求を受信す るステップと、
前記需要度情報取得要求数をカウントし、該カウント情報に基づく各データ 対応の需要度情報を生成するステップと、
前記カウント情報に基づく需要度情報を応答情報として格納したパケッ ト を生成し、 前記通信部を介して送信するステップと、 を有することを特徴とするコンピュータ ' プログラム
PCT/JP2003/014637 2002-11-28 2003-11-18 情報処理装置および情報処理方法、並びにコンピュータ・プログラム WO2004049667A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP03775830A EP1566937A4 (en) 2002-11-28 2003-11-18 DATA PROCESSING DEVICE AND METHOD, AND COMPUTER PROGRAM
US10/500,146 US7818446B2 (en) 2002-11-28 2003-11-18 Controlling data transmission on a data storage network by selecting from multiple transmission modes
AU2003284407A AU2003284407A1 (en) 2002-11-28 2003-11-18 Information processing device, information processing method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-345375 2002-11-28
JP2002345375A JP2004180092A (ja) 2002-11-28 2002-11-28 情報処理装置および情報処理方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
WO2004049667A1 true WO2004049667A1 (ja) 2004-06-10

Family

ID=32376002

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/014637 WO2004049667A1 (ja) 2002-11-28 2003-11-18 情報処理装置および情報処理方法、並びにコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US7818446B2 (ja)
EP (1) EP1566937A4 (ja)
JP (1) JP2004180092A (ja)
KR (1) KR101009326B1 (ja)
AU (1) AU2003284407A1 (ja)
WO (1) WO2004049667A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL1715709T3 (pl) 2004-03-09 2017-10-31 Optis Wireless Technology Llc Sposób dostępu bezpośredniego i urządzenie terminala komunikacji radiowej
KR100643285B1 (ko) * 2004-11-02 2006-11-10 삼성전자주식회사 멀티캐스트를 이용한 데이터 송수신 시스템 및 방법
JP4742784B2 (ja) * 2005-09-28 2011-08-10 ブラザー工業株式会社 情報分配処理プログラム、情報処理装置、および情報分配処理システム
US7480848B2 (en) * 2006-02-10 2009-01-20 The Directv Group, Inc. Methods and apparatus to select tornado error correction parameters
WO2007114107A1 (ja) * 2006-03-30 2007-10-11 Pioneer Corporation コンテンツ送信システムにおけるサーバー装置およびコンテンツ送信方法
JP5293038B2 (ja) * 2008-09-19 2013-09-18 沖電気工業株式会社 情報処理装置、情報処理方法、通信装置、通信方法、情報処理システムおよび情報処理システムによる情報処理方法
US8681679B2 (en) * 2009-12-21 2014-03-25 Lg Electronics Inc. Transmitting system and method for transmitting digital broadcast signal
US9344735B2 (en) * 2009-12-21 2016-05-17 Tmm, Inc. Progressive shape based encoding of video content within a swarm environment
US9118922B2 (en) * 2009-12-30 2015-08-25 TMM Inc. Progressive encoding of video content within a swarm environment
CN102244558B (zh) * 2010-05-12 2014-09-03 华为技术有限公司 发送数据的方法及装置
KR20130024996A (ko) * 2011-08-24 2013-03-11 한국전자통신연구원 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치
US10104168B2 (en) * 2011-12-12 2018-10-16 International Business Machines Corporation Method for managing throughput in a distributed storage network
KR101978177B1 (ko) 2012-12-07 2019-08-28 삼성전자주식회사 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
JP6193569B2 (ja) * 2012-12-28 2017-09-06 キヤノン株式会社 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
US10091088B2 (en) * 2013-11-04 2018-10-02 Telefonaktiebolaget Lm Ericsson (Publ) Mode selection for a communications session
US10326824B2 (en) * 2013-12-17 2019-06-18 Excalibur Ip, Llc Method and system for iterative pipeline
US9986018B2 (en) 2014-01-09 2018-05-29 Excalibur Ip, Llc Method and system for a scheduled map executor
CN103731364B (zh) * 2014-01-16 2017-02-01 赛特斯信息科技股份有限公司 基于x86平台实现万兆大流量快速收包的方法
WO2016051512A1 (ja) 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
CN107566395A (zh) * 2017-09-28 2018-01-09 郑州云海信息技术有限公司 一种交互式数据包的构造方法
CN112486074B (zh) * 2020-12-03 2021-11-16 上海哔哩哔哩科技有限公司 数据处理系统、方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000156031A (ja) * 1998-11-17 2000-06-06 Sony Corp 情報処理システム、情報処理装置、及び情報処理方法
JP2001028739A (ja) * 1999-07-15 2001-01-30 Sony Corp データ配信システム及びデータ配信方法、データ受信システム及びデータ受信方法、並びに、ゲーム機

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568614A (en) * 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5553083B1 (en) * 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
US5699369A (en) * 1995-03-29 1997-12-16 Network Systems Corporation Adaptive forward error correction system and method
JP3456064B2 (ja) * 1995-09-08 2003-10-14 ソニー株式会社 音声・映像データ記録・再生装置
US5701292A (en) * 1995-12-04 1997-12-23 Lucent Technologies Inc. Method and apparatus for controlling data transfer rates of data sources in asynchronous transfer mode-based networks
JPH10134485A (ja) * 1996-10-30 1998-05-22 Toshiba Corp ストレージ共有型分散マルチメディアサーバシステム
JPH10229427A (ja) * 1997-02-14 1998-08-25 Canon Inc 情報処理装置及び方法
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
US6282240B1 (en) * 1997-09-03 2001-08-28 Oki Electric Industry Co., Ltd. Picture coder, picture decoder, and transmission system
JP3873405B2 (ja) * 1997-10-21 2007-01-24 ソニー株式会社 データ配信システム及びデータ配信装置
US6195622B1 (en) * 1998-01-15 2001-02-27 Microsoft Corporation Methods and apparatus for building attribute transition probability models for use in pre-fetching resources
US6973140B2 (en) * 1999-03-05 2005-12-06 Ipr Licensing, Inc. Maximizing data rate by adjusting codes and code rates in CDMA system
US6876668B1 (en) * 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
CA2284947C (en) * 1999-10-04 2005-12-20 Storagequest Inc. Apparatus and method for managing data storage
BR0015030A (pt) * 1999-10-28 2002-06-18 Ncube Corp Sistema de largura de banda adaptativo e método para transmitir dados
US6678855B1 (en) * 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
US7631080B2 (en) * 2000-06-20 2009-12-08 Nds Limited Unicast/multicast architecture
WO2002021239A2 (en) * 2000-09-06 2002-03-14 Xanboo, Inc. Adaptively controlled resource and method for controlling the behavior of same
JP4622070B2 (ja) * 2000-09-13 2011-02-02 株式会社デンソー 適応通信システム、通信端末、及び記録媒体
GB2367219A (en) * 2000-09-20 2002-03-27 Vintage Global Streaming of media file data over a dynamically variable bandwidth channel
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7143143B1 (en) * 2000-10-27 2006-11-28 Microsoft Corporation System and method for distributed caching using multicast replication
US8107524B2 (en) * 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
US7191246B2 (en) * 2001-07-18 2007-03-13 Sharp Laboratories Of America, Inc. Transmission rate selection for a network of receivers having heterogenous reception bandwidth
JP2003087348A (ja) * 2001-09-14 2003-03-20 Matsushita Graphic Communication Systems Inc 通信制御方法及び通信制御装置並びにadsl通信装置
US7327676B2 (en) * 2001-10-11 2008-02-05 Nippon Telegraph And Telephone Corporation Data transmission control method, program therefor and data transmission unit using the same
JP2003162470A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd 配信制御プログラムおよび方法
US7260601B1 (en) * 2002-06-28 2007-08-21 Cisco Technology, Inc. Methods and apparatus for transmitting media programs
US20040064719A1 (en) * 2002-09-13 2004-04-01 Sun Microsystems, Inc., A Delaware Corporation Accessing for digital content access control
US7222185B1 (en) * 2002-10-03 2007-05-22 Cisco Technology, Inc. Methods and apparatus for distributing content within a content delivery system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000156031A (ja) * 1998-11-17 2000-06-06 Sony Corp 情報処理システム、情報処理装置、及び情報処理方法
JP2001028739A (ja) * 1999-07-15 2001-01-30 Sony Corp データ配信システム及びデータ配信方法、データ受信システム及びデータ受信方法、並びに、ゲーム機

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1566937A4 *

Also Published As

Publication number Publication date
US7818446B2 (en) 2010-10-19
EP1566937A1 (en) 2005-08-24
KR20050084765A (ko) 2005-08-29
JP2004180092A (ja) 2004-06-24
AU2003284407A1 (en) 2004-06-18
US20050080916A1 (en) 2005-04-14
EP1566937A4 (en) 2010-12-22
KR101009326B1 (ko) 2011-01-18

Similar Documents

Publication Publication Date Title
WO2004049667A1 (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JP4172259B2 (ja) 情報処理装置および方法、並びにコンピュータ・プログラム
US9350488B2 (en) Content delivery system with allocation of source data and repair data among HTTP servers
JP4676833B2 (ja) 拡張可能なメディアの分散ストリーミングのシステムおよび方法
JP4920220B2 (ja) ピアツーピアネットワークでの受信側主導のシステム及び方法
JP5058468B2 (ja) ストリーミングメディアの消去耐性符号化のための方法、該方法を実行するコンピュータ実行可能命令を記録した媒体、及びシステム
EP1505508B1 (en) Distributed data recording and retrieval
JP5003177B2 (ja) 送信装置、受信装置、パケット送信方法、パケット受信方法及びプログラム
KR20130084301A (ko) 비균등 에러 보호 및 번들링된 파일 전달 서비스들을 제공하기 위한 범용 파일 전달 방법들
KR20060049325A (ko) 콘텐츠 배신 방법, 프로그램 및 정보 처리 장치
EP2774347A2 (en) Content delivery system with allocation of source data and repair data among http servers
JP2004531824A (ja) ネットワーク環境でのファイル伝送方法
US20130198151A1 (en) Methods for file sharing related to the bit fountain protocol
WO2012011473A1 (ja) 送信装置、送信方法、受信装置、受信方法、通信システム、データ構造、プログラム、及び、記憶媒体
KR100919254B1 (ko) 유디피 홀펀칭을 이용한 피어 대 피어 데이터 전송을 통해스트리밍 데이터를 분산 전송하는 분산 스트리밍 시스템 및그 방법
JP2004220183A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
JP2004221756A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 10500146

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2003775830

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003775830

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020047011592

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2003775830

Country of ref document: EP