WO2018012591A1 - アプリケーション層マルチキャスト配信方法 - Google Patents
アプリケーション層マルチキャスト配信方法 Download PDFInfo
- Publication number
- WO2018012591A1 WO2018012591A1 PCT/JP2017/025556 JP2017025556W WO2018012591A1 WO 2018012591 A1 WO2018012591 A1 WO 2018012591A1 JP 2017025556 W JP2017025556 W JP 2017025556W WO 2018012591 A1 WO2018012591 A1 WO 2018012591A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- wireless communication
- portable terminal
- terminal device
- chain
- communication portable
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Definitions
- the present invention relates to an application layer multicast distribution method, and in particular, a moving image, a still image, and audio data from a single distribution server to a plurality of wireless communication portable terminal devices via a telecommunication line network including a mobile communication line and a wireless LAN.
- the present invention relates to a method for multicast distribution of predetermined content data such as GPS information and other text data by a peer-to-peer method and chain connection.
- an application layer multicast distribution method (also referred to as application layer multicast distribution method ALM or overlay multicast distribution method) is known ( Patent Document 1).
- An object of the present invention is to provide an application layer multicast distribution method capable of suppressing the deterioration of the multicast distribution quality of content even when the communication state of the wireless communication portable terminal device constituting the node is decreased.
- the present invention is a method for distributing application content multicast in a peer-to-peer manner from a single distribution server to a plurality of wireless communication portable terminal devices via a telecommunication network including a mobile communication line and a wireless LAN.
- the distribution server distributes the predetermined content data to a wireless communication portable terminal device that has transmitted a distribution request first from a state in which the distribution server is not connected to any wireless communication portable terminal device,
- the distribution server chain-connects the wireless communication portable terminal devices as a first chain in the order in which a distribution request is subsequently transmitted, and the predetermined content is transmitted between the chained wireless communication portable terminal devices by the peer-to-peer method.
- the distribution server sends another distribution communication request to the next wireless communication portable terminal device And delivering the predetermined content data as a second chain different from the first chain,
- the distribution server chain-connects the wireless communication portable terminal devices as the second chain in the order in which distribution requests are subsequently transmitted, and the predetermined communication is performed in the peer-to-peer manner between the chained wireless communication portable terminal devices.
- the present invention provides a method for multicast distribution of predetermined content data in a peer-to-peer manner from a single distribution server to a plurality of wireless communication portable terminal devices via a telecommunication network including a mobile communication line and a wireless LAN. Because The distribution server receives information including an ID, an IP address, and a communication state of the wireless communication portable terminal device when receiving a distribution request from the wireless communication portable terminal device and at a predetermined time interval. The above problem is solved by an application layer multicast distribution method for generating or updating an index table including the index table.
- the present invention provides a method for multicast distribution of predetermined content data in a peer-to-peer manner from a single distribution server to a plurality of wireless communication portable terminal devices via a telecommunication network including a mobile communication line and a wireless LAN. Because The distribution server distributes the predetermined content data to a wireless communication portable terminal device that has transmitted a distribution request first from a state in which the distribution server is not connected to any wireless communication portable terminal device, The distribution server chain-connects the wireless communication portable terminal devices as a first chain in the order in which a distribution request is subsequently transmitted, and the predetermined content is transmitted between the chained wireless communication portable terminal devices by the peer-to-peer method.
- the wireless communication portable terminal device connected in the chain detects the communication state of the own device during the chain connection, and when the communication state of the own device is less than a predetermined connection threshold, the distribution server temporarily Send a request to leave,
- the distribution server solves the above problem by an application layer multicast distribution method for temporarily disconnecting the wireless communication portable terminal device that has transmitted the request to temporarily leave the chain from the chain.
- the wireless communication portable terminal device whose communication state is equal to or higher than the predetermined communication state threshold value is distributed until the communication state of the last wireless communication portable terminal device becomes less than the predetermined communication state threshold value. Since the chain connection is made as one chain in the order in which the requests are transmitted, and predetermined content data is distributed to each wireless communication portable terminal device by the peer-to-peer method, the communication state of the wireless communication portable terminal device constituting the chain is lowered. Even so, it is possible to suppress the deterioration of the quality of the multicast distribution of the content.
- the distribution server receives information including the ID, IP address, and communication state of the wireless communication portable terminal device when receiving a distribution request from the wireless communication portable terminal device and at a predetermined time interval. Since the index table including these pieces of information is generated or updated, even if the communication state of the wireless communication portable terminal device constituting the chain is lowered, this can be immediately grasped by the index table. As a result, it is possible to suppress degradation of the multicast distribution quality of the content by changing the node configuration of the chain.
- the wireless communication portable terminal device connected in the chain detects the communication state of the own device during the chain connection, and temporarily stops from the chain when the communication state of the own device is less than the predetermined connection threshold. Therefore, even if the communication state of the wireless communication portable terminal device constituting the chain is lowered, it is possible to prevent the quality of the multicast distribution of the content from being lowered.
- FIG. 1 is a block diagram showing an embodiment of a content distribution system 1 for realizing the application layer multicast distribution method of the invention.
- the content distribution system 1 of this embodiment includes a real-time encoder 11, a distribution server 21, a wireless communication portable terminal device 31, and a telecommunication network 41.
- the wireless communication portable terminal device 31 is also referred to as a node.
- the content of the present embodiment includes moving images, still images, audio data, GPS information and other text data, and multiplexed data thereof.
- IoT Internet of Things
- the real-time encoder 11 includes, as hardware, a computing unit such as a CPU or MPU, a ROM in which software is installed, a RAM in which input / output data is temporarily stored, and an input / output data I / O port. Consists of a computer.
- the real-time encoder 11 has an encoding function realized by software, captures video via a video capture board from a video camera that captures content data, for example, a live video (moving image), and an adaptive bit rate described later.
- ABR Adaptive Bitrate
- the data is encoded into three types of bit rate content data of 1 Mbps high quality data, 600 bps medium quality data, and 300 bps low quality data.
- the number of types of image quality encoding may be two or less or four or more.
- H. H.264 / MPEG-4 AVC standard and H.264. H.264 / HEVC (High Efficiency Video Coding) standard real-time encoding and transmission to the distribution server 21.
- the real-time encoder 11 can use an encoder device including an encoder circuit as hardware in addition to the software encoding.
- the content data when it is a still image or audio data other than a moving image, it may be encoded into a plurality of types of bit rate data (such as image quality) by the real-time encoder 11 according to the data capacity. It may be replaced with a single type of content data.
- the distribution server 21 includes, as hardware, a computing unit such as a CPU or MPU, a ROM in which software is installed, a RAM in which input / output data is temporarily stored, and an I / O port for input / output data. Consists of a computer.
- the distribution server 21 creates, updates, and transmits a distribution function of content data encoded by the real-time encoder 11, a distribution server function of peer-to-peer (P2P), and an index table (carousel distribution data) realized by software.
- P2P peer-to-peer
- the content data distribution function of the distribution server 21 assigns content data of different bit rates transmitted from the real-time encoder 11 to one or a plurality of output ports for each bit rate, and a plurality of chains corresponding to the output ports. Is to prepare. Then, the content data of each bit rate is distributed to the wireless communication portable terminal device 31 (node 1) connected first to the chain to be distributed (ABR method).
- the distribution server 21 also has output ports corresponding to a chain group that distributes content data via a mobile communication line and a chain group that distributes content data via a wireless LAN such as Wi-Fi (registered trademark). prepare. In the example shown in FIG.
- a chain group distributed via a mobile line includes four chains: chain 1 (high image quality), chain 2 (high image quality), chain 3 (medium image quality), and chain 4 (low image quality).
- the chain group distributed via the wireless LAN includes a chain 5 (high image quality), a chain 6 (medium image quality), and a chain 7 (low image quality).
- the number of these chains can be increased or decreased according to the number of wireless communication portable terminal devices 31 to be connected.
- a Wi-Fi (registered trademark) line installed in a public place such as a station has a low communication quality and a low communication speed. Therefore, if the same content data is distributed with a time difference and a packet error occurs, the other The content data may be supplemented by a packet of content data.
- the peer-to-peer (P2P) distribution server function of the distribution server 21 determines the line attribute of a mobile line or a wireless LAN when there is a distribution request (also referred to as a connection request) from each wireless communication portable terminal device 31.
- the chain group to be selected is selected, the communication band of the telecommunication network 41 (mobile line, wireless LAN) is detected, and the chain of the bit rate corresponding to the detected communication band is switched and controlled.
- the wireless communication portable terminal device 31 detects whether the connection line is a mobile line or a wireless LAN, and transmits it to the distribution server 21.
- the distribution server 21 detects the communication band of the telecommunication network 41.
- the creation, update and transmission functions of the index table of the distribution server 21 create and update the index table for each chain in the distribution server 21, and transfer the index table to the wireless communication portable terminal device 31 connected to the chain. It is distributed and sent from the end of the chain or each wireless communication portable terminal device 31 to the distribution server. Alternatively, or in addition to this, an index table created by the distribution server 21 may be transmitted and received between the distribution server 21 and each wireless communication portable terminal device 31.
- FIG. 2 An example of the data structure of the index table is shown in FIG.
- the upper part of FIG. 2 shows how the index table is distributed to the two chains from the distribution server 21, the middle part of FIG. 2 shows an example of the data structure of the index table of chain 1, and the lower part of FIG. .
- An example of the data structure of the index table of chain 2 is shown.
- an index table that is an information group including the ID, IP address, and communication state of the wireless communication portable terminal device 31 is prepared for each chain.
- the index table of the chain 1 in the middle of FIG. 2 includes a content data source node (reception source), node number, destination node (transmission destination), client ID, IP address, and node information.
- the node information includes node status information such as SIM carrier information, node movement speed using GPS signals, communication cutoff history, communication status (communication speed or packet error), and line attributes.
- the index table prepared for each chain is inserted into content data to be distributed periodically (for example, at intervals of 0.5 seconds) and transmitted to each node, or directly from the distribution server 21 to each node as necessary. Sent.
- each node reads out the reception source node ID (including the IP address) and the transmission destination node ID (including the IP address), overwrites the node information of the own device, and transmits the transmission destination node ID (IP address).
- IP address IP address
- each wireless communication portable terminal device 31 constituting one chain can periodically grasp the IP addresses of the reception source node and the transmission destination node, and even if the immediately preceding node or the immediately following node leaves the chain.
- the index table it is possible to grasp the IP addresses of the new reception source node and transmission destination node, and immediately connect to receive and transmit the content data.
- the distribution server 21 can periodically grasp the node information of the wireless communication portable terminal device 31 constituting each chain, and can execute an appropriate countermeasure according to each node information. Note that the last wireless communication portable terminal device 31 of each chain returns the index table to the distribution server 21.
- the chain switching function and the node control function of the distribution server 21 perform control such as designation of a connection destination of each node by a state transition request transmitted from the wireless communication portable terminal device 31 constituting each node.
- the state transition request transmitted from the wireless communication portable terminal device 31 constituting each node includes, for example, a transition request for changing the line attribute of the mobile communication line and the wireless LAN, a request for changing the bit rate of the ABR method due to a change in communication state,
- This function is a function to cope with switching between a mobile line and a wireless LAN and a change in the communication state of the wireless communication portable terminal device 31 that occur frequently when the wireless communication portable terminal device 31 is moving.
- the distribution server 21 is configured by a stationary computer, and software that implements each function of the distribution server 21 described below is installed in the wireless communication portable terminal device 31 that configures each node.
- the device itself may function as the distribution server 21. That is, the distribution server 21 according to the present invention includes the wireless communication portable terminal device 31. This embodiment will be described later.
- the wireless communication portable terminal device 31 includes, as hardware, a computing unit such as a CPU or MPU, a ROM in which software is installed, a RAM in which input / output data is temporarily stored, and an I / O port for input / output data. It is comprised with the computer provided with these, and the user can carry and move.
- a computing unit such as a CPU or MPU
- ROM read-only memory
- RAM random access memory
- I / O port for input / output data.
- the wireless communication portable terminal device 31 is implemented by software, including a peer-to-peer connection and IP address exchange function, a peer-to-peer hole punching connection function, a retransmission control function when a packet error occurs when content data is received, a wireless LAN chain Function for decoding multiplexed content (content data distributed with a time difference) in Japanese Patent No. 5159773, index table and content data reception and relay function, mobile line or wireless LAN detection function, communication Status detection function, chain switching request or node change request function according to communication status, content data buffering function, maximum speed transfer function of content to subsequent nodes; H.264 / MPEG-4 AVC standard and H.264. It has a decoding function for content data encoded according to the H.265 / HEVC (High Efficiency Video Coding) standard. Details of each function will be described later.
- H.265 / HEVC High Efficiency Video Coding
- FIG. 3 is a flowchart showing a basic distribution routine of the application layer multicast distribution method according to the embodiment of the invention.
- An example of content data is a live image such as a sports broadcast or a racing relay.
- step S1 When the distribution server 21 is activated and encoding of content data (stream data or the like) by the real-time encoder 11 is started, preparation for distribution is completed (step S1).
- step S2 when the application software of the node 1.1 that is one of the plurality of wireless communication portable terminal devices 31 is activated (step S2), and a content data distribution request to the distribution server 21 is transmitted (step S2).
- step S3 Along with the distribution request, the client ID, IP address, and node information of the node 1.1 are transmitted to the distribution server 21.
- the node information includes node carrier status data such as SIM carrier information, node movement speed using GPS signals, communication cutoff history, communication status, and line attributes.
- the distribution server 21 that has received the distribution request from the node 1.1 creates and stores an index table including the node ID (steps S4 to S5).
- the node ID of this node 1.1 is 1.1, for example. 1.1 to 1. of the nodes constituting the plurality of chains 1 to 7 described on the right side of FIG. E, 2.1-2. E ... shows an example of the node ID, for example, the first number means the chain ID, and the next number means the order from the top in the chain.
- the node 4.6 means the sixth wireless communication portable terminal device 31 in the chain 4 (the chain assigned to the low-quality content output port of the mobile line).
- the node ID assigned by the distribution server 21 is also transmitted to the node 1.1, and the node 1.1 acquires its own node ID (step S6).
- the own port in the index table in step S5 means the input / output port of the wireless communication portable terminal device 31, and the input ID is the device of the distribution source (device that distributes content data to the own device).
- ID means the output ID means the ID of the device of the distribution destination (the device to which the own device distributes the content data).
- the distribution server 21 distributes the created index table in a carousel (step S7) and starts distributing content data (step S8).
- the node 1.1 buffers the received content data in its own data buffer, and starts reproduction when receiving a reproducible data amount (step S9).
- the index table is periodically inserted into the content data to be distributed (for example, at intervals of 0.5 seconds) and distributed as a carousel (step S10).
- the node 1.1 that has received the index table receives the latest information of its own device. After the overwriting, if there is a subsequent node, it is transmitted to the subsequent node, and if there is no subsequent node, it is returned to the distribution server 21 (step S11).
- step S11 application software of node 1.2, which is a wireless communication portable terminal device 31 different from node 1.1, is activated (step S12), and a distribution request for content data to distribution server 21 is transmitted. Then (step S13), along with the distribution request, the client ID, IP address, and node information of the node 1.2 are transmitted to the distribution server 21.
- This node information also includes node status information such as SIM carrier information, node movement speed using GPS signals, communication cutoff history, communication status, and line attributes.
- the distribution server 21 that has received the distribution request from the node 1.2 creates and stores an index table including the node ID (steps S14 to S15). Strictly speaking, as shown in step S15, the information of the node 1.2 is added to the index table created in step S5. The node ID of this node 1.2 is 1.2, for example. The node ID assigned by the distribution server 21 is also transmitted to the node 1.2, and the node 1.2 acquires its own node ID (step S16). Note that the output ID of the node 1.1 in the index table in step S15 is updated to ID 1.2, and the input ID of the node 1.2 is set to ID 1.1. As a result, the node 1.2 receives the content data distributed to the node 1.1.
- the distribution server 21 distributes the created index table in a carousel (step S17).
- the node 1.1 continues the reproduction while buffering the received content data in its own data buffer, but the output ID of its own node 1.1 in the received index table is ID 1.2. Has been updated. Accordingly, the node 1.1 starts transmission of the buffered content data to the node 1.2 (step S18).
- the node 1.2 buffers the content data received from the node 1.1 in its own data buffer, and starts reproduction when it receives a reproducible data amount (step S19).
- the node 1.2 that has received the index table overwrites the latest information of its own device, and if there is a subsequent node, transmits it to the subsequent node, and returns to the distribution server 21 if there is no subsequent node (step S20).
- the distribution request is transmitted, the same processing as that of the node 1.2 described above is executed, the content data buffered in the node 1.2 is received, and the content data that can be played back is received and played back.
- a predetermined distribution server 21 is connected to a plurality of wireless communication portable terminal devices 31 (nodes 1.1 to 1.E) via a telecommunication network 41 including a mobile communication line and a wireless LAN.
- Content data can be distributed in an application layer multicast in a peer-to-peer manner.
- multiple nodes 1.1 to 1. E can be connected by a tree method or a mesh method.
- monitoring of each node becomes easier as compared to the case of connecting by a tree method or a mesh method. That is, when connected by the tree method or the mesh method, there are many connection routes, and the calculation load monitored by following these connection routes is large.
- the chain method it is only necessary to monitor a chain with a single route, so the monitoring load is reduced compared to the tree method and the mesh method.
- chain connection has the advantage that it is easy to secure the line bandwidth because there is one preceding node and one following node.
- the distribution server 21 includes a plurality (three in the figure) of nodes 1.1,.
- the distribution stop request is made from one or a plurality of nodes from the state where E is connected, the nodes subsequent to the node for which the distribution stop request has been made are reconnected and the distribution of the content data is performed. Will continue.
- the distribution server 21 deletes the information string related to the node 1.1 in the index table and the subsequent node Information indicating that the chain connection of 1.2 and node 1.3 is advanced to node 1.1 and node 1.2, respectively, is reflected in the index table, and is distributed to the nodes of the chain.
- Each node that has received the index table reads out the IP addresses of its own receiving destination node and distribution destination node based on its own client ID. Then, from the new receiving node, a data distribution request following the final data of the content data that has been received is transmitted and received from that portion. For a new delivery destination node, delivery is resumed from the part of the content data requested from the new delivery destination node.
- each wireless communication portable terminal device 31 includes a data buffer for buffering received content data, and for example, content data of about 5 to 30 seconds is buffered. Therefore, even if the communication speed is reduced during the reproduction of the content data, the buffered content data exists and can be absorbed. However, if the buffering capacity is too large, the real-time difference from the actual scene becomes large, which is not preferable. On the other hand, if the buffering capacity is too small, the decrease in communication speed cannot be absorbed and problems such as image stop and image skipping occur. For this reason, the buffering capacity is moderate.
- the transmission speed is increased stepwise to the newly connected node 1.2 until the preceding node 1.1 reaches the currently received data position.
- the newly connected node 1.2 detects the error value of the received content data (packet error of the received content data) and transmits the error value to the preceding node 1.1.
- the error value exceeds a predetermined error threshold, stop increasing the transmission speed of the content data, and reverse until the error value of the newly connected node 1.2 becomes equal to or lower than the predetermined error threshold. Decelerate gradually.
- the transmission speed of the content data is increased in units of GOP (Group-of-Picture) or packets.
- GOP Group-of-Picture
- the newly connected wireless communication portable terminal device 31 can not only reproduce in a short time, but can catch up with the currently received data position in a short time.
- the transmission speed is increased stepwise to the newly connected node 1.2
- the newly connected node 1.2 determines the communication speed of the received content data. Detecting and transmitting the communication speed to the preceding node 1.1.
- the preceding node 1.1 stops increasing the transmission speed of the content data and newly connects. Conversely, the speed may be gradually reduced until the error value of the node 1.2 becomes equal to or higher than a predetermined speed threshold.
- the preceding node 1.1 stops increasing the transmission speed of the content data and switches to deceleration.
- the distribution server 21 switches the newly connected node 1.2 to a chain with a bit rate corresponding to the communication state. Control.
- this chain switching control when the communication state of the newly connected node 1.2 is good, the communication state of the newly connected node 1.2 is not good. In some cases, switching to a lower quality chain is also included. Then, the newly connected node 1.2 starts reproduction of the content data when a reproducible amount of content data is accumulated in its own data buffer.
- each wireless communication portable terminal device 31 has a retransmission control function for transmitting a retransmission request when a packet error occurs when content data is received from a preceding node. That is, the succeeding node transmits a retransmission request for the packet or GOP data to which the packet belongs to the preceding node. When the preceding node receives this retransmission request from the subsequent node, it transmits the requested packet or GOP data to which the packet belongs to the subsequent node.
- the preceding request A similar retransmission request is transmitted to the node before the node. This retransmission request is made retroactively to the node where the request packet or request GOP data remains. If there is no request packet or request GOP data remaining in all preceding nodes constituting the chain, a retransmission request is transmitted to the distribution server 21.
- a packet error occurs in the wireless communication portable terminal device 31, a retransmission request for the packet or GOP data to which the packet belongs is transmitted to the preceding node, and the packet or the packet newly belongs. Even if the configuration is such that GOP data is received, for example, when the number of packet errors is too large, it takes too much time to receive a retransmission request and receive it, which may affect subsequent nodes. As a countermeasure in such a case, sorting (rearrangement, rearrangement of the order) of the nodes of the chain may be performed. That is, each wireless communication portable terminal device 31 writes the number of packet errors of its own device in the index table that is distributed in the data carousel.
- the distribution server 21 determines the data of the number of packet errors in the index table, and connects from the top of the chain in ascending order of the number of packet errors. That is, a node with a larger number of packet errors is connected to a position closer to the end. By doing so, the influence on the subsequent node can be suppressed to the minimum.
- FIG. 4 is a flowchart showing a processing procedure in the distribution server 21 regarding the finite number of nodes in chain connection. That is, when the distribution server 21 receives a distribution request from a new node, the distribution server 21 determines whether or not the communication state of the last node of the current chain is equal to or greater than a predetermined threshold (step S41).
- the chain connection is made at the end of the chain (step S42), but the communication state of the last node is less than the predetermined communication state threshold (bad). If there is, it does not connect to that chain, but directly connects to the head of the new chain, that is, another output port of the distribution server 21 (step S43).
- the communication state of the last node of each chain is monitored, and if the communication state is not good, the distribution server 21 directly distributes the other chain through another chain, thereby distributing to the node that requested the most recent distribution and subsequent nodes. Quality is improved.
- the communication state of the wireless communication portable terminal device 31 indicates the number of data per unit time received by the wireless communication portable terminal device 31 and / or an error in the data received by the wireless communication portable terminal device 31. Based on the value, the wireless communication portable terminal device 31 detects it, and transmits it to the distribution server 21 by writing it directly and in the index table.
- the distribution server 21 may detect the communication state of the wireless communication portable terminal device 31 (node) based on a ripple coefficient described later. The ripple coefficient will be described later.
- FIG. 5 is a flowchart showing a processing procedure in the distribution server 21 regarding chain selection based on the communication band and attribute of the line and optimization of the content data to be distributed. That is, when there is a delivery request from any of the wireless communication portable terminal devices 31 to the delivery server 21, regardless of whether the timing of the content data is being delivered or is not being delivered (that is, some chains are already connected)
- the wireless communication portable terminal device 31 detects the line attribute of the mobile line or the wireless LAN and transmits it to the distribution server 21 (step S51).
- the communication band of the telecommunication network 41 (mobile line, wireless LAN) is detected (step S52).
- the distribution server 21 selects a chain group corresponding to the detected line attribute, selects a chain having a bit rate corresponding to the detected communication band, and connects to the tail of the chain (step S53). .
- a chain 5 is assigned, the detected line attribute is a mobile line, and the communication band is medium. If so, chain 3 is allocated.
- the bit rate content data corresponding to the chain is distributed from the preceding wireless communication portable terminal device 31 (step S54).
- the chain 5 is assigned, so that high-quality content data of 1 Mbps is distributed.
- chain 3 is allocated, so that 600 bps of medium-quality content data is distributed.
- the client of this embodiment is the wireless communication portable terminal device 31
- the communication state varies from moment to moment with movement. For this reason, a decrease in the communication state of the own device affects distribution to not only the own device but also to subsequent nodes.
- the line attribute and communication state distributed from the distribution server 21 are changed. On the basis of this, since an appropriate chain is selected from a plurality of prepared chains, and content data of a bit rate corresponding to the selected chain is distributed, it is possible to obviate a playback defect such as image pause or image skip in the wireless communication portable terminal device 31. Can be prevented.
- FIG. 6 is a flowchart showing processing procedures in the distribution server 21 and the wireless communication portable terminal device 31 (node n) regarding node monitoring and node switching control.
- the distribution server 21 acquires information from each wireless communication portable terminal device 31 connected to each chain, creates an index table, and distributes the information to these wireless communication portable terminal devices 31 (step S61).
- Each wireless communication portable terminal device 31 connected to each chain detects its own communication state (step S62), and updates the index table that is distributed by carousel at a predetermined time interval, including the communication state.
- the communication state of the wireless communication portable terminal device 31 indicates the number of data per unit time received by the wireless communication portable terminal device 31 and / or an error in the data received by the wireless communication portable terminal device 31. Based on the value, the wireless communication portable terminal device 31 detects. Alternatively, a ripple coefficient described later may be used instead.
- the distribution server 21 determines a change in the communication state of each wireless communication portable terminal device 31 (node n) (step S65). Specifically, it is determined whether the communication state is less than a predetermined communication state threshold. Alternatively, the communication speed is determined instead.
- each wireless communication portable terminal device 31 when the communication state of each wireless communication portable terminal device 31 is equal to or greater than a predetermined communication state threshold, that is, when the communication state is good, the ID of the reception source and transmission destination of the index table is maintained. Alternatively, when the communication speed of each wireless communication portable terminal device 31 is not changed, the ID of the reception source and the transmission destination of the index table is maintained.
- the distribution server 21 confirms the presence of the wireless communication portable terminal device 31 whose communication state is less than a predetermined communication state threshold (for example, a state where communication is cut off or close to this) by the index table,
- a predetermined communication state threshold for example, a state where communication is cut off or close to this
- the wireless communication portable terminal device 31 having a poor communication state is removed from the chain, and the wireless communication portable terminal devices 31 before and after that are connected.
- the wireless communication portable terminal device 31 in which the communication state is inferior is deleted from the index table, the transmission destination ID (including the IP address) of the wireless communication portable terminal device 31 immediately before it, and the wireless immediately after that
- the ID (including the IP address) of the reception source of the communication portable terminal device 31 is rewritten (step S66).
- each wireless communication portable terminal device 31 confirms the ID of the reception source and the ID of the transmission destination, and has been changed. Transmits / receives content data to / from the wireless communication portable terminal device 31 after the change (step S68).
- the wireless communication portable terminal device 31 detects whether the communication state of the own device is good and the communication state is less than a predetermined communication state threshold, the wireless communication portable terminal device 31 voluntarily sends it to the distribution server 21. By transmitting a request to leave the chain, the node may be changed to another chain suitable for the communication state, or may be changed to an idle mode described later.
- each wireless communication portable terminal device 31 is monitored at a predetermined time interval (for example, 0.5 seconds), and if a communication failure occurs, the communication of the wireless communication portable terminal device 31 before and after that is adversely affected. So that the wireless communication portable terminal device 31 with poor communication is disconnected and the wireless communication portable terminal device 31 before and after that is reconnected, the content data delivered to the subsequent wireless communication portable terminal device 31 is interrupted, It is possible to suppress playback problems such as image pause and image skipping.
- step S65 when the presence of the wireless communication portable terminal device 31 whose communication speed is slower or faster than before is confirmed, it is disconnected from the current chain and connected to the tail of the chain according to the communication speed. Also good.
- the node 1.3 is connected to the third mobile line chain 1 (high image quality), but when the communication speed decreases, the node 1.3 is disconnected from the chain 1 and the same mobile line chain 3 (medium Image quality) or chain 4 (low image quality). In this way, content data corresponding to the communication speed of the wireless communication portable terminal device 31 can be received.
- FIG. 1 shows the node 1.3 in FIG.
- the node 4.3 is connected to the third mobile line chain 4 (low image quality), but when the communication speed increases, the node 4.3 is disconnected from the chain 4 and the same mobile line chain 1 or Connect to the end of 2 (high image quality) or chain 3 (medium image quality). In this way, content data corresponding to the communication speed of the wireless communication portable terminal device 31 can be received.
- FIG. 7 is a flowchart showing another processing procedure in the distribution server 21 and the wireless communication portable terminal device 31 (node n) regarding node monitoring and node switching control.
- node n the wireless communication portable terminal device 31
- FIG. 7 is a flowchart showing another processing procedure in the distribution server 21 and the wireless communication portable terminal device 31 (node n) regarding node monitoring and node switching control.
- step S71 it is assumed that three nodes are chain-connected to one chain of the distribution server 21 and the content data is multicast distributed by the peer-to-peer method.
- step S72 specifically, the carousel
- the node 1.2 transmits an inquiry request for the status of the node 1.1 to the distribution server 21 (step 73).
- the node 1.2 reproduces the content data that has been buffered until then (step S75), and maintains the subsequent session with the node 1.3 (step S75). Step S76). Subsequent node 1.3 reproduces the content data buffered in its own data buffer (step S77).
- distribution server 21 Upon receiving the communication failure signal of node 1.1 transmitted from node 1.2 in step 73, distribution server 21 transmits a connection response command to node 1.1 to determine whether it is connected to the chain. To detect. If the node 1.1 is not connected to the chain, the index table is rewritten as shown in step S74. That is, the node 1.1 determined to have a communication failure is removed from the chain, and the nodes 1.2 and 1.3 are shifted to the nodes 1.1 and 1.2, respectively. Therefore, as shown in the index table of step S74, each data is rewritten and transmitted to the node 1.2 (step 78).
- the node 1.2 confirms that the reception source is changed to the distribution server 21 based on the rewritten index table, and receives the content data from the distribution server 21. At this time, the node 1.2 stores the final position of the content data distributed from the node 1.1 and buffered in its own data buffer, and the reception source is switched to the distribution server 21. The content data that is sometimes received is from a position that continues to its final position.
- FIG. 8 is a flowchart showing a processing procedure in the distribution server 21 and the wireless communication portable terminal device 31 (node n) regarding the idle mode.
- each node detects its own communication state and overwrites it in the index table The data is transmitted directly to the distribution server 21 or distributed to the subsequent nodes.
- the distribution server 21 determines whether or not the communication state of each node is equal to or greater than a predetermined communication state threshold (step S81), and repeats step S81 if there is no problem in the communication state above the predetermined communication state threshold. On the other hand, if there is a node whose communication state is less than the predetermined communication state threshold value, the process proceeds to step S82, and a node having a bad communication state is temporarily changed to the end of the chain.
- step S82 the chain is temporarily removed from the chain (step S82). Detachment from the chain is due to the deletion of the information of the node by the index table and the rewriting process of information that sequentially advances the subsequent nodes as described above. Thereby, the malfunction that content data is not delivered to the node following a node with a bad communication state can be suppressed.
- step S82 a node having a bad communication state is temporarily changed to the end of the chain, and when the communication state recovers to a predetermined communication state threshold or more by a predetermined time, the connection at the end To maintain.
- a node with a bad communication state that has temporarily disconnected detects the communication state periodically and transmits it to the distribution server 21 in the same manner as the carousel distribution interval in the index table.
- the distribution server 21 determines whether or not the communication state of the node is equal to or higher than a predetermined communication state threshold (step S83), and when the communication state of the node returns to the predetermined communication state threshold or higher again, the distribution server 21 ends the chain.
- a predetermined communication state threshold step S83
- step S83 if the communication state of the node is less than the predetermined communication state threshold, step S83 is repeated.
- steps S81, S82, and S85 may be omitted, and when the communication state of the node is less than a predetermined communication state threshold value, it may be removed directly from the chain.
- a GOP skip occurs in all the nodes subsequent to that node. To prevent this, the wireless communication portable terminal device 31 in which the packet error has occurred as described above is not allowed to receive the preceding node or distribution.
- a retransmission request for the packet or GOP data to which the packet belongs is transmitted to the server 21 to compensate for the packet error.
- the number of GOP skips occurring at each node is counted, and this is written in the index table as the number of GOP skips at each node.
- the wireless communication portable terminal device 31 quantitatively grasps how much the GOP skip has spread to the nodes constituting the chain based on the value defined as the ripple coefficient. It is used for detecting the communication status of the network, resetting the chain, and restructuring.
- the ripple coefficient according to the present embodiment is M for the maximum number of GOP skips generated in each wireless communication portable terminal device 31 connected to one chain, and in all the wireless communication portable terminal devices 31 connected to the one chain. It is defined by T / M, where T is the total number of generated GOP skips.
- T the total number of generated GOP skips.
- the above-described ripple coefficient is used when detecting the communication state of the wireless communication portable terminal device 31 in step S41 of FIG. 4, step S62 of FIG. 6, steps S81, S83, S86 of FIG.
- the ripple coefficient is 0 or 1
- the ripple coefficient exceeds 1 the communication state is a predetermined communication state threshold.
- the distribution server 21 calculates a ripple coefficient at a predetermined time interval (for example, 0.5 seconds), and the ripple coefficient is a predetermined reset threshold value.
- the wireless communication portable terminal device 31 that has been connected to the chain and in which at least GOP skip has occurred is removed from the chain (chain reset), and then each wireless communication portable terminal device You may make it reconnect to the chain according to the communication state of 31.
- chain reset since an increase in the chain leads to an increase in the load on the distribution server 21, it is desirable to minimize the number of chains as much as possible. Therefore, when the ripple coefficient of the chain including the reconnected wireless communication portable terminal device 31 is restored to a predetermined reset threshold value or less, the reconnected wireless communication portable terminal device 31 is reconnected to the original chain. May be.
- FIG. 9 is a block diagram showing a content distribution system (a node distribution server) realizing an application layer multicast distribution method according to another embodiment of the invention
- FIG. 10 is an index in the content distribution system of FIG. It is a figure explaining the carousel delivery of a table (carousel data).
- node 1 wireless communication portable terminal device 31
- node n wireless communication portable terminal device 31
- the own device information acquired by the sensor is uploaded to the currently connected chain, and is distributed to the subsequent nodes 2 to n in the application layer multicast manner by the peer-to-peer method.
- only the own device information may be distributed to the chain by the application layer multicast, or the own device information may be distributed in addition to the content distributed from the main distribution server 21 by the application layer multicast.
- the distribution server 21 transmits the ID, IP address, and communication of each of the nodes 1 to n.
- the information including the status is added to the above-described own device information acquired by the camera or GPS sensor of the own device, and an index table including the information is generated, and the index table is periodically included in the content data. Carousel delivery.
- the distribution server 21 updates the index table returned from the last node n of each chain or an arbitrary node. At this time, as shown in FIG. 10, the index table is accumulated in a time series at predetermined time intervals. It may be recorded.
- the own device information of each node 1 to n is a video taken by the camera
- the time series information of each node 1 to n is viewed vertically, so that the continuous still image of each node is displayed.
- Playback motion information such as motion JPEG.
- the image quality, frame rate, etc. of the own device information of each of the nodes 1 to n are determined by the index data capacity or the data carousel distribution interval.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
ノードを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制する。配信サーバ(21)は、第1のチェインの最後尾の無線通信携帯端末機器(31)の通信状態が所定の通信状態閾値未満である場合に、次に配信要求を送信した他の無線通信携帯端末機器(31)に対して、第1チェインとは異なる第2チェインとして所定のコンテンツデータを配信し、配信サーバ(21)は、その後に配信要求を送信した順に無線通信携帯端末機器(31)を第2のチェインとしてチェイン接続して、ピアツーピア方式で前記所定のコンテンツデータを各無線通信携帯端末機器(31)にアプリケーション層マルチキャスト配信する。
Description
本発明は、アプリケーション層マルチキャスト配信方法に関し、特に一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、動画像、静止画像、音声データ、GPS情報その他のテキストデータなど所定のコンテンツデータを、ピアツーピア方式かつチェイン接続でアプリケーション層マルチキャスト配信する方法に関する。
配信サーバから複数のクライアントコンピュータに、一のコンテンツデータを同時送信する方法として、アプリケーション層マルチキャスト配信方法(アプリケーションレイヤーマルチキャスト配信方法ALM,又は、オーバーレイマルチキャスト配信方法とも称される)が知られている(特許文献1)。
一の配信サーバから複数の定置型コンピュータへ、有線回線などを介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合は、各ノードを構成する定置型コンピュータの通信状態が変動することはきわめて稀である。そのため、各ノードを構成する定置型コンピュータの通信状態が、他のノードに対して悪影響を及ぼすことは殆どない。しかしながら、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合には、各ノードを構成する無線通信携帯端末機器の通信状態が他のノードに対して大きく影響する。すなわち、先行する無線通信携帯端末機器の通信状態が低下したり途絶えたりすると、後続の無線通信携帯端末機器にコンテンツデータが送信されなくなる。
本発明の目的は、ノードを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制できるアプリケーション層マルチキャスト配信方法を提供することにある。
本発明は、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
前記配信サーバは、前記第1のチェインの最後尾の無線通信携帯端末機器の通信状態が所定の通信状態閾値未満である場合に、次に配信要求を送信した他の無線通信携帯端末機器に対して、前記第1チェインとは異なる第2チェインとして前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を前記第2のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信する方法、によって上記課題を解決する。
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
前記配信サーバは、前記第1のチェインの最後尾の無線通信携帯端末機器の通信状態が所定の通信状態閾値未満である場合に、次に配信要求を送信した他の無線通信携帯端末機器に対して、前記第1チェインとは異なる第2チェインとして前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を前記第2のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信する方法、によって上記課題を解決する。
また本発明は、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、前記無線通信携帯端末機器から配信要求を受信したとき及び所定時間間隔で、当該無線通信携帯端末機器のID、IPアドレス及び通信状態を含む情報を受信して、これらの情報を含むインデックステーブルを生成又は更新するアプリケーション層マルチキャスト配信方法、によって上記課題を解決する。
前記配信サーバは、前記無線通信携帯端末機器から配信要求を受信したとき及び所定時間間隔で、当該無線通信携帯端末機器のID、IPアドレス及び通信状態を含む情報を受信して、これらの情報を含むインデックステーブルを生成又は更新するアプリケーション層マルチキャスト配信方法、によって上記課題を解決する。
また本発明は、一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
チェイン接続されている無線通信携帯端末機器は、チェイン接続中に自機の通信状態を検出し、自機の通信状態が所定の接続閾値未満である場合に、前記配信サーバに一時的にチェインから離脱する要求を送信し、
前記配信サーバは、前記一時的にチェインから離脱する要求を送信した無線通信携帯端末機器を前記チェインから一時的に離脱させるアプリケーション層マルチキャスト配信方法、によって上記課題を解決する。
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
チェイン接続されている無線通信携帯端末機器は、チェイン接続中に自機の通信状態を検出し、自機の通信状態が所定の接続閾値未満である場合に、前記配信サーバに一時的にチェインから離脱する要求を送信し、
前記配信サーバは、前記一時的にチェインから離脱する要求を送信した無線通信携帯端末機器を前記チェインから一時的に離脱させるアプリケーション層マルチキャスト配信方法、によって上記課題を解決する。
本発明によれば、最後尾の無線通信携帯端末機器の通信状態が所定の通信状態閾値未満になるまで、換言すれば通信状態が所定の通信状態閾値以上の無線通信携帯端末機器のみを、配信要求を送信した順に一つのチェインとしてチェイン接続して、ピアツーピア方式で所定のコンテンツデータを各無線通信携帯端末機器にアプリケーション層マルチキャスト配信するので、チェインを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制することができる。
また本発明によれば、配信サーバが、無線通信携帯端末機器から配信要求を受信したとき及び所定時間間隔で、当該無線通信携帯端末機器のID、IPアドレス及び通信状態を含む情報を受信して、これらの情報を含むインデックステーブルを生成又は更新するので、チェインを構成する無線通信携帯端末機器の通信状態が低下してもこれをインデックステーブルにより即時把握することができる。その結果、チェインのノード構成を変更したりすることで、コンテンツのマルチキャスト配信の品質が低下するのを抑制することができる。
また本発明によれば、チェイン接続されている無線通信携帯端末機器は、チェイン接続中に自機の通信状態を検出し、自機の通信状態が所定の接続閾値未満である場合にチェインから一時的に離脱するので、チェインを構成する無線通信携帯端末機器の通信状態が低下しても、コンテンツのマルチキャスト配信の品質が低下するのを抑制することができる。
以下、本発明の一実施の形態を図面に基づいて説明する。図1は、発明のアプリケーション層マルチキャスト配信方法を実現するコンテンツの配信システム1の一実施の形態を示すブロック図である。本実施形態のコンテンツの配信システム1は、リアルタイムエンコーダ11と、配信サーバ21と、無線通信携帯端末機器31と、電気通信回線網41とを備える。なお、本実施形態のコンテンツの配信システム1において、無線通信携帯端末機器31はノードともいう。また、本実施形態のコンテンツとは、動画像、静止画像、音声データ、GPS情報その他のテキストデータ、及びこれらの多重化データが含まれる。こうしたコンテンツデータは下記実施形態で説明するライブ映像の配信のほか、IoT(Internet of Things)機器などへの展開を想定すると、(1)IoT機器等のクライアントソフトウエアのアップデート用データ、(2)各IoT機器への制御データ又は地図情報などのグラフィックデータ等、(3)各IoT機器からの自情報データ(例えば、各IoT機器が撮影した動画や静止画データ等、車載機器のプローブデータ(位置情報、速度情報、ブレーキその他のセンサー情報、路面情報等)、GPS情報、センサー情報、テキストデータ等)がコンテンツデータとしての配信対象となり得る。以下においては、動画像をコンテンツデータの一例として本発明の実施形態を説明する。
リアルタイムエンコーダ11は、ハードウェアとして、CPU又はMPUなどの演算器と、ソフトウェアがインストールされるROMと、入出力データが一時的に保存されるRAMと、入出力データのI/Oポートとを備えるコンピュータで構成されている。リアルタイムエンコーダ11は、ソフトウェアにより実現されるエンコード機能を備え、コンテンツデータである、例えばライブ映像(動画像)を撮影するビデオカメラから、ビデオキャプチャーボードを介して映像を取り込み、後述するアダプティブ・ビットレート方式(ABR,Adaptive Bitrate,以下、ABR方式ともいう)に対応させるために、互いに異なるビットレートでエンコードする。例えば図1に示す例では、1Mbpsの高画質データと、600bpsの中画質データと、300bpsの低画質データの3種のビットレートのコンテンツデータにエンコードされる。なお、画質エンコードの種類は2種以下でも、4種以上でもよい。エンコードにあたっては、H.264/MPEG-4 AVC規格やH.265/HEVC(High Efficiency Video Coding)規格でリアルタイムエンコードされ、配信サーバ21へ送信される。また、リアルタイムエンコーダ11は、ソフトウェアによりエンコードするもの以外にも、ハードウェアとしてのエンコード回路を含むエンコンーダ装置も用いることができる。また、コンテンツデータが動画像以外の、静止画像、音声データである場合には、そのデータ容量に応じてリアルタイムエンコーダ11により複数種類のビットレートデータ(画質など)にエンコードしてもよいし、これに代えて単一種類のコンテンツデータとしてもよい。
配信サーバ21は、ハードウェアとして、CPU又はMPUなどの演算器と、ソフトウェアがインストールされるROMと、入出力データが一時的に保存されるRAMと、入出力データのI/Oポートとを備えるコンピュータで構成されている。配信サーバ21は、ソフトウェアにより実現される、リアルタイムエンコーダ11でエンコードされたコンテンツデータの配信機能と、ピアツーピア(P2P)の配信サーバ機能と、インデックステーブル(カルーセル配信されるデータ)の作成及び更新並びに送信機能と、チェインの切換え機能と、ノードの制御機能とを備える。
配信サーバ21のコンテンツデータの配信機能は、リアルタイムエンコーダ11から送信される、互いに異なるビットレートのコンテンツデータを、ビットレート毎に一又は複数の出力ポートに割り当て、当該出力ポートに対応する複数のチェインを用意するものである。そして、各ビットレートのコンテンツデータを、配信すべきチェインに最初に接続する無線通信携帯端末機器31(ノード1)に対して配信する(ABR方式)。また、配信サーバ21は、モバイル通信回線を介してコンテンツデータを配信するチェイン群と、Wi-Fi(登録商標)などの無線LANを介してコンテンツデータを配信するチェイン群とに対応する出力ポートを用意する。図1に示す例では、モバイル回線を介して配信するチェイン群が、チェイン1(高画質)、チェイン2(高画質)、チェイン3(中画質)、チェイン4(低画質)の4つを含み、無線LANを介して配信するチェイン群が、チェイン5(高画質)、チェイン6(中画質)、チェイン7(低画質)の3つを含む状態を示している。これらのチェイン数、すなわち出力ポート数は、接続される無線通信携帯端末機器31の数に応じて増減することができる。なお、例えば駅などの公衆場所に設置されたWi-Fi(登録商標)回線は通信品質も通信速度も低いため、同一のコンテンツデータを時間差を設けて配信し、パケットエラーが生じた場合は他方のコンテンツデータのパケットで補填するようにしてもよい。
配信サーバ21のピアツーピア(P2P)の配信サーバ機能は、各無線通信携帯端末機器31から配信要求(接続要求ともいう)があった場合に、モバイル回線か無線LANかの回線属性を判断し、対応するチェイン群を選択するとともに、その電気通信回線網41(モバイル回線、無線LAN)の通信帯域を検出し、検出された通信帯域に応じたビットレートのチェインを切換え制御するものである。無線通信携帯端末機器31から配信要求があった場合に、その接続回線がモバイル回線か無線LANかは、無線通信携帯端末機器31側が検出し、配信サーバ21に送信する。また、その電気通信回線網41の通信帯域は配信サーバ21が検出する。
配信サーバ21のインデックステーブルの作成及び更新並びに送信機能は、当該配信サーバ21でチェイン毎のインデックステーブルを作成及び更新し、そのチェインに接続された無線通信携帯端末機器31に当該インデックステーブルをデータカルーセル配信し、当該チェインの最後尾又は各無線通信携帯端末機器31から配信サーバへ返信させるものである。あるいはこれに代えて又はこれに加えて、配信サーバ21と各無線通信携帯端末機器31との間で、配信サーバ21にて作成したインデックステーブルを送受信してもよい。
インデックステーブルのデータ構造の一例を図2に示す。図2の上段は、配信サーバ21から2つのチェインにインデックステーブルがデータカルーセル配信される様子を示し、図2の中段は、チェイン1のインデックステーブルのデータ構造の一例を示し、図2の下段は。チェイン2のインデックステーブルのデータ構造の一例を示す。図2に示す例では、無線通信携帯端末機器31のID、IPアドレス及び通信状態を含む情報群であるインデックステーブルが、各チェイン毎に用意される。例えば、図2の中段のチェイン1のインデックステーブルは、コンテンツデータのソースノード(受信元)、ノード番号、デストノード(送信先)、クライアントID、IPアドレス、ノード情報が含まれる。ノード情報には、SIMキャリア情報、GPS信号を利用したノードの移動速度、通信遮断履歴、通信状態(通信速度又はパケットエラー)、回線属性などのノードの回線状況データが含まれる。各チェイン毎に用意されたインデックステーブルは、配信するコンテンツデータに定期的に(例えば0.5秒間隔)挿入して各ノードへ送信されるか、必要に応じて配信サーバ21から直接各ノードへ送信される。
その際に、各ノードは、受信元ノードID(IPアドレスを含む)及び送信先ノードID(IPアドレスを含む)を読み出すとともに、自機のノード情報を上書きし、送信先ノードID(IPアドレス)の無線通信携帯端末機器31及び/又は配信サーバ21へ送信する。これにより、一つのチェインを構成する各無線通信携帯端末機器31は、受信元ノードと送信先ノードのIPアドレスを定期的に把握することができ、直前ノードや直後ノードがチェインから離脱しても、インデックステーブルを参照することで新たな受信元ノードと送信先ノードのIPアドレスを把握し、即座に接続してコンテンツデータを受信し、送信することができる。また配信サーバ21は、各チェインを構成する無線通信携帯端末機器31のノード情報を定期的に把握することができ、各ノード情報に応じた適切な対処策を実行することができる。なお、各チェインの最後尾の無線通信携帯端末機器31は、インデックステーブルを配信サーバ21へ戻す。
配信サーバ21のチェインの切換え機能及びノード制御機能は、各ノードを構成する無線通信携帯端末機器31から送信される状態遷移要求により各ノードの接続先の指定などの制御を行うものである。各ノードを構成する無線通信携帯端末機器31から送信される状態遷移要求には、例えばモバイル通信回線と無線LANの回線属性変更に関する遷移要求、通信状態の変動によるABR方式のビットレートの変更要求、接続中の無線通信携帯端末機器31が配信停止要求を送信したり通信が遮断されたりすることにより、無線通信携帯端末機器31を変更するノードチェンジ要求、通信状態の低下により一時的にチェインを離脱するアイドルモード要求などが含まれる。この機能は、無線通信携帯端末機器31の移動中などに多々生じる、モバイル回線と無線LANとの切換えや、無線通信携帯端末機器31の通信状態の変動に対応するための機能である。なお、配信サーバ21は、定置型コンピュータで構成するほか、各ノードを構成する無線通信携帯端末機器31に、以下に説明する配信サーバ21の各機能を実現するソフトウェアをインストールし、無線通信携帯端末機器自体を配信サーバ21として機能させてもよい。すなわち、本発明に係る配信サーバ21には無線通信携帯端末機器31も含まれる趣旨である。この実施形態については後述する。
無線通信携帯端末機器31は、ハードウェアとして、CPU又はMPUなどの演算器と、ソフトウェアがインストールされるROMと、入出力データが一時的に保存されるRAMと、入出力データのI/Oポートとを備えるコンピュータで構成され、使用者が携帯して移動可能とされたものである。例えば、スマートフォン、ノート型又はタブレット型パーソナルコンピュータなどを用いることができる。無線通信携帯端末機器31は、ソフトウェアで実現される、ピアツーピア接続及びIPアドレス交換機能、ピアツーピアホールパンチング方式接続機能、コンテンツデータを受信した場合にパケットエラーが発生したときの再送制御機能、無線LANチェインにおける多重化されたコンテンツ(時間差を設けて配信されたコンテンツデータ)のデコード機能(特許第5159973号参照)、インデックステーブル及びコンテンツデータの受信及び中継機能、モバイル回線か無線LANかの検出機能、通信状態の検出機能、通信状態に応じたチェインの切換え要求又はノードチェンジ要求機能、コンテンツデータのバッファリング機能、後続ノードへのコンテンツの最大速転送機能、H.264/MPEG-4 AVC規格やH.265/HEVC(High Efficiency Video Coding)規格でエンコードされたコンテンツデータのデコード機能を備える。各機能の詳細は後述する。
次に、図1に示す配信システムにより実現される各種のアプリケーション層マルチキャスト配信方法を説明する。
《基本配信》
配信サーバ21が、いずれの無線通信携帯端末機器31とも接続していない状態から、モバイル通信回線及び無線LANを含む電気通信回線網41を介して、複数の無線通信携帯端末機器31からの配信要求を順次受信し、所定のコンテンツデータをピアツーピア方式でアプリケーション層マルチキャスト配信する基本手順を説明する。図3は、発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法の基本配信ルーチンを示すフローチャートである。コンテンツデータの一例としては、スポーツ中継やレーシング中継などのライブ画像が挙げられる。配信サーバ21が起動し、リアルタイムエンコーダ11によるコンテンツデータ(ストリームデータなど)のエンコードが開始すると、配信準備が完了する(ステップS1)。ここで、複数個存在する無線通信携帯端末機器31の一つであるノード1.1のアプリケーションソフトが起動し(ステップS2)、配信サーバ21へのコンテンツデータの配信要求が送信されると(ステップS3)、当該配信要求とともに、当該ノード1.1のクライアントID、IPアドレス、ノード情報が配信サーバ21に送信される。ノード情報には、SIMキャリア情報、GPS信号を利用したノードの移動速度、通信遮断履歴、通信状態、回線属性などのノードの回線状況データが含まれる。
配信サーバ21が、いずれの無線通信携帯端末機器31とも接続していない状態から、モバイル通信回線及び無線LANを含む電気通信回線網41を介して、複数の無線通信携帯端末機器31からの配信要求を順次受信し、所定のコンテンツデータをピアツーピア方式でアプリケーション層マルチキャスト配信する基本手順を説明する。図3は、発明の一実施の形態に係るアプリケーション層マルチキャスト配信方法の基本配信ルーチンを示すフローチャートである。コンテンツデータの一例としては、スポーツ中継やレーシング中継などのライブ画像が挙げられる。配信サーバ21が起動し、リアルタイムエンコーダ11によるコンテンツデータ(ストリームデータなど)のエンコードが開始すると、配信準備が完了する(ステップS1)。ここで、複数個存在する無線通信携帯端末機器31の一つであるノード1.1のアプリケーションソフトが起動し(ステップS2)、配信サーバ21へのコンテンツデータの配信要求が送信されると(ステップS3)、当該配信要求とともに、当該ノード1.1のクライアントID、IPアドレス、ノード情報が配信サーバ21に送信される。ノード情報には、SIMキャリア情報、GPS信号を利用したノードの移動速度、通信遮断履歴、通信状態、回線属性などのノードの回線状況データが含まれる。
ノード1.1から配信要求を受信した配信サーバ21は、ノードIDを含むインデックステーブルを作成し、記憶する(ステップS4~S5)。このノード1.1のノードIDは、例えば1.1である。図1の右側に記載した複数のチェイン1~7を構成するノードの1.1~1.E、2.1~2.E…がノードIDの一例を示し、例えば最初の数字がチェインIDを意味し、次の数字がそのチェインにおける先頭からの順序を意味する。例えば、ノード4.6は、チェイン4(モバイル回線の低画質コンテンツの出力ポートに割り当てられたチェイン)の6番目の無線通信携帯端末機器31を意味する。配信サーバ21で付与されたノードIDは、ノード1.1にも送信され、ノード1.1は自機のノードIDを取得する(ステップS6)。なお、ステップS5のインデックステーブルの自機ポートは、当該無線通信携帯端末機器31の入出力ポートを意味し、入力IDは、配信元(自機に対してコンテンツデータを配信する機器)の機器のIDを意味し、出力IDは配信先(自機がコンテンツデータを配信する機器)の機器のIDを意味する。
配信サーバ21は、作成したインデックステーブルをカルーセル配信するとともに(ステップS7)、コンテンツデータの配信を開始する(ステップS8)。ノード1.1は受信したコンテンツデータを自機のデータバッファにバッファリングしつつ、再生可能となるデータ量を受信したら再生を開始する(ステップS9)。なお、インデックステーブルは、配信するコンテンツデータに定期的に(例えば0.5秒間隔)挿入してカルーセル配信され(ステップS10)、インデックステーブルを受信したノード1.1は、自機の最新情報を上書きしたのち後続ノードが存在する場合は当該後続ノードへ送信し、後続ノードが存在しない場合は配信サーバ21へ戻す(ステップS11)。
ステップS11の状態から、ノード1.1とは別の無線通信携帯端末機器31であるノード1.2のアプリケーションソフトが起動し(ステップS12)、配信サーバ21へのコンテンツデータの配信要求が送信されると(ステップS13)、当該配信要求とともに、当該ノード1.2のクライアントID、IPアドレス、ノード情報が配信サーバ21に送信される。このノード情報にも、SIMキャリア情報、GPS信号を利用したノードの移動速度、通信遮断履歴、通信状態、回線属性などのノードの回線状況データが含まれる。
ノード1.2から配信要求を受信した配信サーバ21は、ノードIDを含むインデックステーブルを作成し、記憶する(ステップS14~S15)。厳密には、ステップS15に示すように、ステップS5で作成したインデックステーブルにノード1.2の情報を追加する。このノード1.2のノードIDは、例えば1.2である。配信サーバ21で付与されたノードIDはノード1.2にも送信され、ノード1.2は自機のノードIDを取得する(ステップS16)。なお、ステップS15のインデックステーブルのノード1.1の出力IDがID1.2に更新され、ノード1.2の入力IDがID1.1に設定される。これにより、ノード1.2は、ノード1.1に配信されたコンテンツデータを受信することになる。
配信サーバ21は、作成したインデックステーブルをカルーセル配信する(ステップS17)。ノード1.1は、受信したコンテンツデータを自機のデータバッファにバッファリングしつつ再生を継続しているが、受信したインデックステーブルの自機のノード1.1の出力IDが、ID1.2に更新されている。したがって、ノード1.1はこれに従い、バッファリングしてるコンテンツデータの、ノード1.2への送信を開始する(ステップS18)。ノード1.2は、ノード1.1から受信したコンテンツデータを自機のデータバッファにバッファリングしつつ、再生可能となるデータ量を受信したら再生を開始する(ステップS19)。また、インデックステーブルを受信したノード1.2は、自機の最新情報を上書きしたのち後続ノードが存在する場合は当該後続ノードへ送信し、後続ノードが存在しない場合は配信サーバ21へ戻す(ステップS20)。
ステップ20の状態から、ノード1.1及びノード1.2とは別の無線通信携帯端末機器31であるノード1.3,1.4…のアプリケーションソフトが起動し、配信サーバ21へのコンテンツデータの配信要求が送信されると、上述したノード1.2の処理と同じ処理が実行され、ノード1.2にバッファリングされているコンテンツデータを受信し、再生可能となるデータ量を受信したら再生を開始する。このようにして、一の配信サーバ21から複数の無線通信携帯端末機器31(ノード1.1~1.E)へ、モバイル通信回線及び無線LANを含む電気通信回線網41を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信することができる。
このピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、複数のノード1.1~1.Eをツリー方式で接続したりメッシュ方式で接続したりすることもできる。しかしながら、本実施形態のように複数のノードを一つのチェインにチェイン接続すると、ツリー方式やメッシュ方式で接続する場合に比べて、各ノードの監視が容易となる。すなわち、ツリー方式やメッシュ方式で接続した場合には接続経路が多く、これらの接続経路を辿って監視する演算負荷が大きい。これに対し、チェイン方式では経路が1つであるチェインを監視すればよいので、ツリー方式やメッシュ方式に比べて監視負荷が軽減される。また、ツリー方式又はメッシュ方式による接続の場合には、自機のノードが複数のノードと接続することになるため、無線通信携帯端末機器31の無線環境下における回線帯域の確保が困難になるのに対し、チェイン接続では先行ノードも後続ノードもそれぞれ一つであるため回線帯域の確保が容易になるといったメリットがある。
ちなみに、図3に示すように、配信サーバ21に複数(同図では3つ)のノード1.1,~1.Eが接続されている状態から、一つ又は複数のノードから配信停止要求がされた場合には、配信停止要求がされたノードに後続するノードはそれぞれ繰り上げて再接続され、コンテンツデータの配信は継続される。たとえば、図3において先頭のノード1.1から配信サーバ21へ配信停止要求が送信されると、配信サーバ21は、インデックステーブルのノード1.1に関する情報列を削除するとともに、これに後続するノード1.2及びノード1.3のチェイン接続をそれぞれノード1.1及びノード1.2に繰り上げる旨の情報をインデックステーブルに反映し、これを当該チェインのノードにカルーセル配信する。インデックステーブルを受信した各ノードは、自機のクライアントIDに基づいて自機の受信先ノードと配信先ノードのIPアドレスを読み出す。そして、新たな受信先ノードからは、先ほどまで受信していたコンテンツデータの最終データに続くデータの配信要求を送信し、その部分から受信する。また新たな配信先ノードに対しては、新たな配信先ノードから要求されたコンテンツデータの部分から配信を再開する。
また、ノード間におけるコンテンツデータの配信は、以下のように実行される。すなわち、各無線通信携帯端末機器31は、受信したコンテンツデータをバッファリングしておくデータバッファを備え、例えば5~30秒程度のコンテンツデータがバッファリングされる。したがって、コンテンツデータを再生中において通信速度が低下してもバッファリングされたコンテンツデータがあるため、これを吸収することができる。ただし、バッファリング容量が大き過ぎると、現実場面とのリアルタイム差が大きくなるので好ましくない。逆にバッファリング容量が小さすぎると、通信速度の低下を吸収できず画像停止や画像飛びなどの不具合が生じる。このため、適度なバッファリング容量とされている。
ここで、チェイン接続されたノードに新たなノードが接続された場合(先行ノードを1.1,新たに接続されたノードを1.2とする)、このようにバッファリングされたデータの全て、すなわち先行ノード1.1が現在受信しているデータ位置になるまで、新たに接続されたノード1.2に対して送信速度を段階的に増速して送信する。この場合に、新たに接続されたノード1.2は、受信したコンテンツデータのエラー値(受信したコンテンツデータのパケットエラー)を検出し、当該エラー値を先行ノード1.1に送信し、先行ノード1.1は、エラー値が所定のエラー閾値を超えたら、コンテンツデータの送信速度の増速を停止し、新たに接続したノード1.2のエラー値が所定のエラー閾値以下になるまで、逆に段階的に減速する。コンテンツデータの送信速度の増速は、GOP(Group of Picture)単位又はパケット単位とする。これにより、新たに接続された無線通信携帯端末機器31は、短時間で再生が可能となるだけでなく、短時間で現在受信しているデータ位置に追い付くことができる。なお、新たに接続されたノード1.2に対して送信速度を段階的に増速して送信している場合に、新たに接続されたノード1.2は、受信したコンテンツデータの通信速度を検出し、当該通信速度を先行ノード1.1に送信し、先行ノード1.1は、通信速度が所定の速度閾値未満になったら、コンテンツデータの送信速度の増速を停止し、新たに接続したノード1.2のエラー値が所定の速度閾値以上になるまで、逆に段階的に減速してもよい。
また、先行ノード1.1から新たに接続されたノード1.2にコンテンツデータを送信する場合に、先行ノード1.1がコンテンツデータの送信速度の増速を停止し、減速に切り換えた際の、ノード1.2の通信状態が、当該チェインのビットレートに応じていない場合には、配信サーバ21は、新たに接続されたノード1.2をその通信状態に応じたビットレートのチェインに切換制御する。このチェインの切換え制御は、新たに接続されたノード1.2の通信状態が良好である場合には高画質のチェインに切り換えることも、新たに接続されたノード1.2の通信状態が不良である場合には低画質のチェインに切り換えることも含まれる。そして、新たに接続されたノード1.2は、自機のデータバッファに再生可能量のコンテンツデータが蓄積された時点で、当該コンテンツデータの再生を開始する。
ちなみに、各無線通信携帯端末機器31は、先行ノードからコンテンツデータを受信した場合にパケットエラーが発生したときに再送要求を送信する再送制御機能を有する。すなわち、後続ノードは、先行ノードに対して当該パケット又は当該パケットが属するGOPデータの再送要求を送信する。先行ノードは、後続ノードからこの再送要求を受信すると、要求されたパケット又は当該パケットが属するGOPデータを後続ノードに送信する。ここで、後続ノードからの再送要求が時間的に遅れ、先行ノードに要求パケット又は要求GOPデータが残っていない場合(データバッファに次のコンテンツデータが上書きされている場合など)には、当該先行ノードのさらにその前のノードに同様の再送要求を送信する。この再送要求は、要求パケット又は要求GOPデータが残っているノードまで遡及して行われる。もし、チェインを構成する全ての先行するノードに、要求パケット又は要求GOPデータが残っていない場合には、配信サーバ21に再送要求を送信する。
また、上述したように、無線通信携帯端末機器31にパケットエラーが発生し、先行ノードに対して当該パケット又は当該パケットが属するGOPデータの再送要求を送信し、新たに当該パケット又は当該パケットが属するGOPデータを受信するように構成しても、例えばパケットエラー数が多過ぎる場合には、再送要求及びその受信に時間がかかり過ぎ、後続ノードに影響を及ぼすおそれがある。このような場合の対策として、当該チェインのノードのソーティング(並べ替え、順序の入れ替え)を実施してもよい。すなわち、データカルーセル配信されるインデックステーブルに、各無線通信携帯端末機器31は自機のパケットエラー数を書き込む。配信サーバ21は、インデックステーブルのパケットエラー数のデータを判断し、パケットエラー数が小さい順に当該チェインの先頭から接続する。すなわち、パケットエラー数が大きいノードほど最後尾に近い位置に接続する。こうすることで、後続ノードへの影響を最小限に抑制することができる。
《チェイン接続のノード数の有限化》
本実施形態では、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、複数のノード1.1~1.Eをチェイン接続するが、チェイン接続するノード数を無限にするのではなく有限とする。図4は、チェイン接続のノード数の有限化に関する、配信サーバ21における処理手順を示すフローチャートである。すなわち、配信サーバ21は、新たなノードから配信要求を受信した場合に、現在のチェインの最後尾のノードの通信状態が所定閾値以上か否かを判断し(ステップS41)、最後尾のノードの通信状態が所定の通信状態閾値以上(良好)である場合はそのチェインの最後尾にチェイン接続するが(ステップS42)、その最後尾のノードの通信状態が所定の通信状態閾値未満(不良)である場合はそのチェインには接続せず、新たなチェインの先頭、すなわち配信サーバ21の他の出力ポートに直接接続する(ステップS43)。
本実施形態では、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、複数のノード1.1~1.Eをチェイン接続するが、チェイン接続するノード数を無限にするのではなく有限とする。図4は、チェイン接続のノード数の有限化に関する、配信サーバ21における処理手順を示すフローチャートである。すなわち、配信サーバ21は、新たなノードから配信要求を受信した場合に、現在のチェインの最後尾のノードの通信状態が所定閾値以上か否かを判断し(ステップS41)、最後尾のノードの通信状態が所定の通信状態閾値以上(良好)である場合はそのチェインの最後尾にチェイン接続するが(ステップS42)、その最後尾のノードの通信状態が所定の通信状態閾値未満(不良)である場合はそのチェインには接続せず、新たなチェインの先頭、すなわち配信サーバ21の他の出力ポートに直接接続する(ステップS43)。
各チェインの最後尾のノードの通信状態を監視し、その通信状態が良好でない場合には配信サーバ21から他のチェインにより直接配信することで、直近に配信要求したノード及びこれに続くノードに対する配信品質が向上する。なお、無線通信携帯端末機器31(ノード)の通信状態は、当該無線通信携帯端末機器31が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器31が受信したデータのエラー値に基づいて、無線通信携帯端末機器31が検出し、これを配信サーバ21へ、直接及びインデックステーブルに書き込むことで送信する。またはこれに代えて、無線通信携帯端末機器31(ノード)の通信状態は、後述する波及係数に基づいて配信サーバ21が検出してもよい。波及係数については後述する。
《回線の通信帯域及び属性によるチェインの選定と配信するコンテンツデータの適正化》
本実施形態では、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、コンテンツデータの配信の適正化を実行する。図5は、回線の通信帯域及び属性によるチェインの選定と配信するコンテンツデータの適正化に関する、配信サーバ21における処理手順を示すフローチャートである。すなわち、いずれかの無線通信携帯端末機器31から配信サーバ21へ配信要求があった場合に、そのタイミングがコンテンツデータの配信中か配信停止中かに拘わらず(すなわち、既にいくつかのチェインが接続されている場合であっても)、無線通信携帯端末機器31は、その回線がモバイル回線か無線LANかの回線属性を検出して配信サーバ21に送信するとともに(ステップS51)、配信サーバ21は、その電気通信回線網41(モバイル回線、無線LAN)の通信帯域を検出する(ステップS52)。そして、配信サーバ21は、検出された回線属性に対応するチェイン群を選択するとともに、検出された通信帯域に応じたビットレートのチェインを選定し、そのチェインの最後尾に接続する(ステップS53)。図1に示す例でいえば、検出された回線属性が無線LANであり、通信帯域が大きい場合には、チェイン5が割り当てられ、検出された回線属性がモバイル回線であり、通信帯域が中程度である場合には、チェイン3が割り当てられる。
本実施形態では、ピアツーピア方式でアプリケーション層マルチキャスト配信する場合に、コンテンツデータの配信の適正化を実行する。図5は、回線の通信帯域及び属性によるチェインの選定と配信するコンテンツデータの適正化に関する、配信サーバ21における処理手順を示すフローチャートである。すなわち、いずれかの無線通信携帯端末機器31から配信サーバ21へ配信要求があった場合に、そのタイミングがコンテンツデータの配信中か配信停止中かに拘わらず(すなわち、既にいくつかのチェインが接続されている場合であっても)、無線通信携帯端末機器31は、その回線がモバイル回線か無線LANかの回線属性を検出して配信サーバ21に送信するとともに(ステップS51)、配信サーバ21は、その電気通信回線網41(モバイル回線、無線LAN)の通信帯域を検出する(ステップS52)。そして、配信サーバ21は、検出された回線属性に対応するチェイン群を選択するとともに、検出された通信帯域に応じたビットレートのチェインを選定し、そのチェインの最後尾に接続する(ステップS53)。図1に示す例でいえば、検出された回線属性が無線LANであり、通信帯域が大きい場合には、チェイン5が割り当てられ、検出された回線属性がモバイル回線であり、通信帯域が中程度である場合には、チェイン3が割り当てられる。
そして、選定したチェインの最後尾に無線通信携帯端末機器31をチェイン接続したら、当該チェインに応じたビットレートのコンテンツデータを先行する無線通信携帯端末機器31から配信する(ステップS54)。図1に示す例でいえば、検出された回線属性が無線LANであり、通信帯域が大きい場合には、チェイン5が割り当てられるので、1Mbpsの高画質のコンテンツデータが配信される。同様に、検出された回線属性がモバイル回線であり、通信帯域が中程度である場合には、チェイン3が割り当てられるので、600bpsの中画質のコンテンツデータが配信される。
本実施形態のクライアントは無線通信携帯端末機器31であるため、移動にともなって通信状態が時々刻々と変動する。このため、自機の通信状態の低下は自機のみならず後続するノードへの配信にも影響するが、本実施形態では、まず基本的に配信サーバ21から配信される回線属性と通信状態に基づいて、複数用意されたチェインから適切なチェインを選定し、そこに応じたビットレートのコンテンツデータを配信するので、無線通信携帯端末機器31における画像の一時停止や画像飛びといった再生不具合を未然に防止することができる。
《ノード監視とノード切換制御》
無線通信携帯端末機器31が配信要求を送信したときは、上述したとおり、そのときの通信状態に応じた最適なチェイン接続が実行される。しかしながら、既述したように本実施形態のクライアントは無線通信携帯端末機器31であるため、配信中にも、移動にともなって通信状態が時々刻々と変動する。このため、接続後においても無線通信携帯端末機器31の通信状態を監視し、通信状態に応じてチェイン、ひいては異なるビットレートのコンテンツデータを切換える制御を実行する。このノード監視とノード切換制御は、具体的にはインデックステーブルの更新によって実行される。図6は、ノード監視とノード切換制御に関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における処理手順を示すフローチャートである。
無線通信携帯端末機器31が配信要求を送信したときは、上述したとおり、そのときの通信状態に応じた最適なチェイン接続が実行される。しかしながら、既述したように本実施形態のクライアントは無線通信携帯端末機器31であるため、配信中にも、移動にともなって通信状態が時々刻々と変動する。このため、接続後においても無線通信携帯端末機器31の通信状態を監視し、通信状態に応じてチェイン、ひいては異なるビットレートのコンテンツデータを切換える制御を実行する。このノード監視とノード切換制御は、具体的にはインデックステーブルの更新によって実行される。図6は、ノード監視とノード切換制御に関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における処理手順を示すフローチャートである。
まず、配信サーバ21は、各チェインに接続されている各無線通信携帯端末機器31から情報を取得し、インデックステーブルを作成してこれら無線通信携帯端末機器31にカルーセル配信する(ステップS61)。各チェイン接続されている各無線通信携帯端末機器31は、それぞれ自機の通信状態を検出し(ステップS62)、当該通信状態を含めて、所定の時間間隔でカルーセル配信されてくるインデックステーブルを更新する(ステップS63)。なお、無線通信携帯端末機器31(ノード)の通信状態は、当該無線通信携帯端末機器31が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器31が受信したデータのエラー値に基づいて、無線通信携帯端末機器31が検出する。またはこれに代えて後述する波及係数を用いてもよい。次いで配信サーバ21は、カルーセル配信されて戻されたインデックステーブルを受信したら(ステップS64)、各無線通信携帯端末機器31(ノードn)の通信状態の変動を判定する(ステップS65)。具体的には通信状態が所定の通信状態閾値未満になっていないかを判定する。またはこれに代えて、通信速度を判定する。
このとき、各無線通信携帯端末機器31の通信状態が所定の通信状態閾値以上となっている場合、すなわち通信状態が良好な場合はインデックステーブルの受信元と送信先のIDは維持する。またはこれに代えて、各無線通信携帯端末機器31の通信速度が変動していない場合はインデックステーブルの受信元と送信先のIDは維持する。
これに対して、配信サーバ21が、インデックステーブルにより、通信状態が所定の通信状態閾値未満(例えば通信遮断又はこれに近い状態)となっている無線通信携帯端末機器31の存在を確認したら、当該通信状態が不良となっている無線通信携帯端末機器31をチェインから離脱させるとともに、その前後の無線通信携帯端末機器31を接続させる。このため、インデックステーブルから通信状態が不良となっている無線通信携帯端末機器31を削除するとともに、その直前の無線通信携帯端末機器31の送信先ID(IPアドレスを含む)と、その直後の無線通信携帯端末機器31の受信元のID(IPアドレスを含む)を書き換える(ステップS66)。ステップS66にて書き換えられたインデックステーブルがそのチェインにカルーセル配信されると(ステップS67)、各無線通信携帯端末機器31は、受信元のIDと送信先のIDを確認し、変更されている場合は変更後の無線通信携帯端末機器31との間でコンテンツデータを送受信する(ステップS68)。なお、無線通信携帯端末機器31が自機の通信状態の良否を検出し、通信状態が所定の通信状態閾値未満である場合には、当該無線通信携帯端末機器31が自主的に配信サーバ21へ当該チェインからの離脱要求を送信することで、通信状態に適合する他のチェインにノードチェンジしたり、後述するアイドルモードに遷移したりしてもよい。
このように、所定の時間間隔(例えば0.5秒)で各無線通信携帯端末機器31の通信状態を監視し、通信不良が生じたらその前後の無線通信携帯端末機器31の通信に悪影響を及ぼさないように、通信不良の無線通信携帯端末機器31を離脱させるとともにその前後の無線通信携帯端末機器31を接続し直すので、後続する無線通信携帯端末機器31に配信されるコンテンツデータが途絶えたり、画像の一時停止や画像飛びといった再生不具合を抑制することができる。
ステップS65において、通信速度が以前よりも遅く又は速くなっている無線通信携帯端末機器31の存在を確認したら、現在のチェインから離脱させるとともに、その通信速度に応じたチェインの最後尾に接続させてもよい。例えば、図1においてノード1.3は、モバイル回線のチェイン1(高画質)の三番目に接続されているが、通信速度が低下したら、チェイン1から離脱させ、同じモバイル回線のチェイン3(中画質)又はチェイン4(低画質)の最後尾に接続する。このようにすることで、無線通信携帯端末機器31の通信速度に応じたコンテンツデータを受信することができる。逆に、図1においてノード4.3は、モバイル回線のチェイン4(低画質)の三番目に接続されているが、通信速度が増加したら、チェイン4から離脱させ、同じモバイル回線のチェイン1若しくは2(高画質)又はチェイン3(中画質)の最後尾に接続する。このようにすることで、無線通信携帯端末機器31の通信速度に応じたコンテンツデータを受信することができる。
図7は、ノード監視とノード切換制御に関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における他の処理手順を示すフローチャートである。現時点において、配信サーバ21の一のチェインに3つのノードがチェイン接続され、コンテンツデータがピアツーピア方式でマルチキャスト配信されているものとする(ステップS71)。ここで、ノード1.1に何らかの通信不具合が生じ、これにより後続するノード1.2にコンテンツデータ及びインデックステーブルが配信されないことを当該ノード1.2が検出したら(ステップS72,具体的にはカルーセル配信間隔の0.5秒がタイムアップしても受信しなかったら)、当該ノード1.2は、配信サーバ21に対してノード1.1の状況の問い合わせ要求を送信する(ステップ73)。ノード1.2は、配信サーバ21がインデックステーブルを更新するまでの間、それまでバッファリングされているコンテンツデータを再生しながら(ステップS75)、後続するノード1.3とのセッションは維持する(ステップS76)。後続するノード1.3は、自機のデータバッファにバッファリングされているコンテンツデータを再生する(ステップS77)。
配信サーバ21は、ステップ73においてノード1.2から送信されたノード1.1の通信不良の信号を受信すると、ノード1.1へ接続応答コマンドを送信することで当該チェインに接続しているか否かを検出する。そして、ノード1.1が当該チェインに接続していない場合には、ステップS74に示すようにインデックステーブルを書き換える。すなわち、通信不良とされたノード1.1を当該チェインから離脱させるとともに、ノード1.2及びノード1.3を、それぞれノード1.1及びノード1.2にノードシフトさせる。そのため、ステップS74のインデックステーブルに示すように、各データを書き換え、これをノード1.2に送信する(ステップ78)。ノード1.2は、書き換えられたインデックステーブルにより、受信元が配信サーバ21に変更されていることを確認し、配信サーバ21からコンテンツデータを受信する。このとき、ノード1.2は、先にノード1.1から配信され自機のデータバッファにバッファリングされているコンテンツデータの最終位置を記憶しておき、受信元が配信サーバ21に切り換わった時に受信するコンテンツデータは、その最終位置に連続する位置からとする。
《アイドルモード》
本実施形態では、無線通信携帯端末機器31を使用しているので、有線回線を使用したコンテンツ配信方式に比べ、通信環境の影響から接続するノードとの通信が完全に途絶えたり、著しく回線品質が悪くなったりする場合が発生する。そこで、自ノードから後続ノードへ影響が波及する頻度が高くなるのを抑制するため、自ノードの回線状況が著しく悪い場合には、自ノードをチェインから離脱させ、後続ノードに影響を波及させないアイドルモードに設定する。図8は、アイドルモードに関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における処理手順を示すフローチャートである。
本実施形態では、無線通信携帯端末機器31を使用しているので、有線回線を使用したコンテンツ配信方式に比べ、通信環境の影響から接続するノードとの通信が完全に途絶えたり、著しく回線品質が悪くなったりする場合が発生する。そこで、自ノードから後続ノードへ影響が波及する頻度が高くなるのを抑制するため、自ノードの回線状況が著しく悪い場合には、自ノードをチェインから離脱させ、後続ノードに影響を波及させないアイドルモードに設定する。図8は、アイドルモードに関する、配信サーバ21及び無線通信携帯端末機器31(ノードn)における処理手順を示すフローチャートである。
複数の無線通信携帯端末機器31(ノード)がチェイン接続され、所定のコンテンツデータが各ノードにマルチキャスト配信されている場合において、各ノードは自機の通信状態を検出し、それをインデックステーブルに上書きして配信サーバ21に直接送信するか、後続ノードにデータカルーセル配信する。配信サーバ21は、各ノードの通信状態が所定の通信状態閾値以上か否かを判定し(ステップS81)、所定の通信状態閾値以上で通信状態に問題がなければステップS81を繰り返す。これに対して、通信状態が所定の通信状態閾値未満のノードが存在するとステップS82へ進み、当該通信状態が不良なノードを一旦、当該チェインの最後尾にノードチェンジさせる。そして、所定時間経過しても通信状態が所定の通信状態閾値以上にならない場合は、一時的に当該チェインから離脱させる(ステップS82)。チェインからの離脱は、上述したとおりインデックステーブルによる当該ノードの情報の削除と、後続するノードを順次繰り上げる情報の書き換え処理による。これにより、通信状態が不良なノードに後続するノードにコンテンツデータが配信されないといった不具合を抑制することができる。なお、ステップS82において、通信状態が不良なノードを一旦、当該チェインの最後尾にノードチェンジさせ、所定時間が経過するまでに通信状態が所定の通信状態閾値以上に回復したら、当該最後尾の接続を維持する。
一方、一時的に離脱した通信状態が不良のノードは、インデックステーブルのカルーセル配信間隔と同じく定期的に、通信状態を検出し、配信サーバ21に送信する。配信サーバ21は、当該ノードの通信状態が所定の通信状態閾値以上か否かを判定し(ステップS83)、当該ノードの通信状態が所定の通信状態閾値以上に再度復帰したら、そのチェインの最後尾にチェイン接続する(ステップS84)。なお、ステップS83において、当該ノードの通信状態が所定の通信状態閾値未満である場合はステップS83を繰り返す。なお、図8に示すアイドルモードの実施形態において、ステップS81、S82及びS85を省略し、ノードの通信状態が所定の通信状態閾値未満の場合は、直接当該チェインから離脱させてもよい。
《波及係数による通信状態の検出》
上述したとおり、本実施形態のアプリケーション層マルチキャスト配信方法によれば、チェイン接続されている無線通信携帯端末機器31のいずれかの通信状態が不良になると、後続する無線通信携帯端末機器31へのコンテンツデータの配信が不可能になりる。通信状態が不良になり受信したコンテンツデータにパケットエラーが発生すると、当該無線通信携帯端末機器31は、パケットエラーとなった当該パケット又は当該パケットが属するGOPデータの再送を、先行する無線通信携帯端末機器31又は配信サーバ21に要求する。パケットエラーが残ったまま再生するとGOPデータが成立しないので、GOPスキップと呼ばれる再生画像の飛びが発生して再生画像の品質が低下するからである。
上述したとおり、本実施形態のアプリケーション層マルチキャスト配信方法によれば、チェイン接続されている無線通信携帯端末機器31のいずれかの通信状態が不良になると、後続する無線通信携帯端末機器31へのコンテンツデータの配信が不可能になりる。通信状態が不良になり受信したコンテンツデータにパケットエラーが発生すると、当該無線通信携帯端末機器31は、パケットエラーとなった当該パケット又は当該パケットが属するGOPデータの再送を、先行する無線通信携帯端末機器31又は配信サーバ21に要求する。パケットエラーが残ったまま再生するとGOPデータが成立しないので、GOPスキップと呼ばれる再生画像の飛びが発生して再生画像の品質が低下するからである。
こうしたGOPスキップが発生すると、そのノードに後続する全てのノードにGOPスキップが発生するので、これを防止するために、上述したとおりパケットエラーが発生した無線通信携帯端末機器31は、先行ノード又は配信サーバ21に対して、当該パケット又は当該パケットが属するGOPデータの再送要求を送信し、パケットエラーを補填する。
本実施形態のアプリケーション層マルチキャスト配信方法においては、GOPスキップの監視方法として、各ノードでGOPスキップが何個発生したかをカウントし、これをそれぞれのノードのGOPスキップ数としてインデックステーブルに書き込み、当該インデックステーブルを配信サーバ21に返送する。例えば、GOP長が0.5秒、インデックステーブルのカルーセル配信間隔が0.5秒、2秒間のGOPスキップが発生した場合には、GOPスキップが発生している間は「0」を書き込み、正常なGOPデータを受信した時点で「4」(=2秒/0.5秒)を書き込む。そして、配信サーバ21は、各ノードのGOPスキップを監視する。
この場合において、本実施形態のアプリケーション層マルチキャスト配信方法では、波及係数として定義した値によりGOPスキップがチェインを構成するノードにどれだけ波及しているかを定量的に把握し、無線通信携帯端末機器31の通信状態の検出やチェインリセット及び再構築に利用する。
本実施形態に係る波及係数は、一のチェインに接続された各無線通信携帯端末機器31で発生した最大GOPスキップ数をM、当該一のチェインに接続された全ての無線通信携帯端末機器31で発生したGOPスキップ数の総数をTとしたときに、T/Mで定義される。そして、特に限定はされないが、例えば波及係数>1の場合に複数ノードへの波及が「有り」と判断し、波及係数が0又は1の場合は、複数ノードへの波及は「無し」と判断する。
1つの無線通信携帯端末機器31にて4つ(0.5秒のGOP長であれば2秒)のGOPスキップが発生した場合には、最大GOPスキップ数M=4、GOPスキップ数の総数T=4であるから、波及係数は4/4=1となる。この例では、1つの無線通信携帯端末機器31においてのみGOPスキップが発生し、他の無線通信携帯端末機器31には波及していないので、複数ノードへの波及は「無し」となる。これに対して、1つの無線通信携帯端末機器31にて1つ(0.5秒のGOP長であれば0.5秒)のGOPスキップが発生し、これに後続する3つの無線通信携帯端末機器31にもそれぞれ1つのGOPスキップが発生した場合には、最大GOPスキップ数M=1、GOPスキップ数の総数T=4であるから、波及係数は4/1=4となる。この例では、先行する1つの無線通信携帯端末機器31のGOPスキップが後続する3つの無線通信携帯端末機器31にまで波及しているので、複数ノードへの波及は「有り」となる。
上述した波及係数は、図4のステップS41,図6のステップS62,図8のステップS81,S83,S86などにおいて、無線通信携帯端末機器31の通信状態を検出する際に用いられ、配信サーバ21によって波及係数が演算され、例えば波及係数が0又は1の場合は通信状態が所定の通信状態閾値以上(良好)と判断し、波及係数が1を超えた場合は通信状態が所定の通信状態閾値未満(不良)と判断する。また、複数の無線通信携帯端末機器31がチェイン接続されている場合に、配信サーバ21が、所定の時間間隔(例えば0.5秒)で波及係数を演算し、その波及係数が所定のリセット閾値(例えば上述した1)を超えた場合に、当該チェインに接続された、少なくともGOPスキップが発生した無線通信携帯端末機器31を当該チェインから離脱させたのち(チェインリセット)、各無線通信携帯端末機器31の通信状態に応じたチェインに再接続するようにしてもよい。また、チェインの増加は配信サーバ21の負荷の増加につながることから、チェイン数をなるべく最小限にすることが望ましい。そのため、再接続した無線通信携帯端末機器31を含むチェインの波及係数が、所定のリセット閾値以下に回復した場合には、再接続した無線通信携帯端末機器31を元のチェインに再接続するようにしてもよい。
《ノードの配信サーバ化》
上述した実施形態の配信サーバ21は、定置型コンピュータで構成し、コンテンツデータは配信サーバ21からのみ配信したが、これに加えて又はこれに代えて、各ノードを構成する無線通信携帯端末機器31自体を配信サーバ21として機能させてもよい。この実施形態を説明する。図9は、発明の他の実施の形態に係るアプリケーション層マルチキャスト配信方法を実現するコンテンツの配信システム(ノードの配信サーバ化)を示すブロック図、図10は、図9のコンテンツの配信システムにおけるインデックステーブル(カルーセルデータ)のカルーセル配信を説明する図である。
上述した実施形態の配信サーバ21は、定置型コンピュータで構成し、コンテンツデータは配信サーバ21からのみ配信したが、これに加えて又はこれに代えて、各ノードを構成する無線通信携帯端末機器31自体を配信サーバ21として機能させてもよい。この実施形態を説明する。図9は、発明の他の実施の形態に係るアプリケーション層マルチキャスト配信方法を実現するコンテンツの配信システム(ノードの配信サーバ化)を示すブロック図、図10は、図9のコンテンツの配信システムにおけるインデックステーブル(カルーセルデータ)のカルーセル配信を説明する図である。
図9に示すように、本実施形態では、ノード1(無線通信携帯端末機器31)~ノードn(無線通信携帯端末機器31)がチェイン接続され、例えば各ノード1の自機が有するカメラやGPSセンサーで取得した自機情報を、現在接続されているチェインにアップロードし、後続の各ノード2~ノードnにピアツーピア方式でアプリケーション層マルチキャスト配信する。この場合、自機情報のみを当該チェインにアプリケーション層マルチキャスト配信してもよいし、メインの配信サーバ21からアプリケーション層マルチキャスト配信されているコンテンツに加える形で自機情報を配信してもよい。
図9に示す実施形態において、配信サーバ21からアプリケーション層マルチキャスト配信されているコンテンツに自機情報を加える形で配信する場合、配信サーバ21は、各ノード1~ノードnのID、IPアドレス及び通信状態を含む情報に、上述した自機が有するカメラやGPSセンサーで取得した自機情報を加え、これらの情報を含むインデックステーブルを生成し、当該インデックステーブルをコンテンツデータに定期的に含ませてデータカルーセル配信する。そして、配信サーバ21は、各チェインの最終段ノードn又は任意のノードから戻されたインデックステーブルを更新するが、このとき、図10に示すように所定時間間隔の時系列に、インデックステーブルを蓄積記録してもよい。こうすることで、例えば、各ノード1~nの自機情報がカメラで撮影した映像であった場合、各ノード1~nの時系列情報を縦に閲覧することで、各ノードの連続静止画再生(モーションJPEG等動画情報)となる。なお、各ノード1~nの自機情報の画質やフレームレート等は、インデックスデータの容量又はデータカルーセル配信の間隔により決定する。
1…コンテンツの配信システム
11…リアルタイムエンコーダ
21…配信サーバ
31…無線通信携帯端末機器
41…電気通信回線網
11…リアルタイムエンコーダ
21…配信サーバ
31…無線通信携帯端末機器
41…電気通信回線網
Claims (28)
- 一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、
当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
前記配信サーバは、前記第1のチェインの最後尾の無線通信携帯端末機器の通信状態が所定の通信状態閾値未満である場合に、次に配信要求を送信した他の無線通信携帯端末機器に対して、前記第1のチェインとは異なる第2のチェインとして前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を前記第2のチェインとしてチェイン接続し、
当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信方法。 - 前記配信サーバは、互いに異なる複数のビットレートでエンコードした複数のコンテンツデータを取得し、
前記コンテンツデータのビットレート毎に一又は複数のチェインを出力ポートに割り当て、複数のチェインを用意する請求項1に記載のアプリケーション層マルチキャスト配信方法。 - 前記複数のチェインは、前記モバイル通信回線を介して前記コンテンツデータを配信するチェイン群と、前記無線LANを介して前記コンテンツデータを配信するチェイン群とを含む請求項2に記載のアプリケーション層マルチキャスト配信方法。
- 前記配信サーバは、前記電気通信回線網の通信帯域を検出し、検出された通信帯域に応じたビットレートのチェインを切換え制御する請求項2又は3に記載のアプリケーション層マルチキャスト配信方法。
- 前記無線通信携帯端末機器は、配信要求を送信する際又は前記配信サーバ又は先行する無線通信携帯端末機器と接続中に、自機の通信状態を検出し、当該通信状態に応じたビットレートのチェインへの接続要求を前記配信サーバに送信し、
前記配信サーバは、前記接続要求を送信した無線通信携帯端末機器を、接続中のチェインから離脱させるとともに、前記通信状態に応じたビットレートのチェインの最後尾に接続する請求項2~4のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。 - 前記無線通信携帯端末機器の通信状態は、当該無線通信携帯端末機器が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器が受信したデータのエラー値に基づいて検出する請求項1~5のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
- 前記無線通信携帯端末機器の通信状態は、一のチェインに接続された各無線通信携帯端末機器で発生した最大GOPスキップ数をM、前記一のチェインに接続された全ての無線通信携帯端末機器で発生したGOPスキップ数の総数をTとしたときに、T/Mで定義する波及係数に基づいて検出する請求項1~5のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
- 前記波及係数が所定のリセット閾値を超えた場合に、前記一のチェインに接続された、少なくともGOPスキップが発生した無線通信携帯端末機器を当該チェインから離脱させたのち、当該各無線通信携帯端末機器の通信状態に応じたチェインに再接続する請求項7に記載のアプリケーション層マルチキャスト配信方法。
- 前記再接続した無線通信携帯端末機器を含むチェインの波及係数が前記所定のリセット閾値以下になった場合に、前記再接続した無線通信携帯端末機器を元のチェインに接続する請求項8に記載のアプリケーション層マルチキャスト配信方法。
- 前記無線通信携帯端末機器は、受信したコンテンツデータにパケットエラーが発生した場合に、エラーが発生したパケット又は当該パケットが属するGOPデータの再送要求を、当該エラーが発生したパケット又は当該パケットが属するGOPデータを保有する、先行する無線通信端末機器又は前記配信サーバに対して、送信し、
前記再送要求を受信した前記無線通信端末機器又は前記配信サーバは、前記再送要求を送信した無線通信携帯端末機器に対して、前記エラーが発生したパケット又は当該パケットが属するGOPデータを配信する請求項6~9のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。 - 前記配信サーバは、一のチェインに接続された無線通信携帯端末機器のパケットエラー数を所定時間間隔で取得し、
前記パケットエラー数が少ない順に、前記一のチェインに接続された無線通信携帯端末機器の順序を入れ替える請求項10に記載のアプリケーション層マルチキャスト配信方法。 - 少なくとも一の無線通信携帯端末機器が一のチェインにチェイン接続されている場合に他の無線通信携帯端末機器がチェイン接続された場合であって、当該他の無線通信携帯端末機器の直前の無線通信携帯端末機器のデータバッファに前記コンテンツデータが蓄積されているとき、
前記直前の無線通信携帯端末機器は、自機の現在の受信データ位置になるまで、前記他の無線通信携帯端末機器に対して、前記データバッファに蓄積された前記コンテンツデータを、送信速度を段階的に増速して送信し、
前記他の無線通信携帯端末機器は、前記直前の無線通信携帯端末機器から受信したコンテンツデータのエラー値又は通信速度を検出して、当該エラー値を前記直前の無線通信携帯端末機器に送信し、
前記直前の無線通信携帯端末機器は、前記他の無線通信携帯端末機器から受信した前記エラー値が所定のエラー閾値を超えたら又は前記通信速度が所定の速度閾値未満になったら、当該エラー値が前記所定のエラー閾値以下になるまで又は前記通信速度が前記所定の速度閾値以上になるまで、前記コンテンツデータの送信速度を段階的に減速する請求項1~11のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。 - 前記直前の無線通信携帯端末機器が前記コンテンツデータの送信速度を増速から減速に切り換えた際の、前記他の無線通信携帯端末機器の通信状態が、当該チェインのビットレートに応じていない場合に、
前記配信サーバは、前記他の無線通信携帯端末機器をその通信状態に応じたビットレートのチェインに切換制御する請求項12に記載のアプリケーション層マルチキャスト配信方法。 - 直後の無線通信携帯端末機器は、自機のデータバッファに再生可能量のコンテンツデータが蓄積された時点で、当該コンテンツデータの再生を開始する請求項12又は13に記載のアプリケーション層マルチキャスト配信方法。
- 前記無線通信携帯端末機器が現在のチェインを離脱して他のチェインに接続された場合に、
前記無線通信携帯端末機器は、現在のチェインにて受信を完了したコンテンツの位置を記憶し、前記他のチェインに接続した際に、当該他のチェインの直前の無線通信携帯端末機器に対して、前記受信を完了したコンテンツの位置に連続するコンテンツの送信要求をする請求項2~14のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。 - 一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、前記無線通信携帯端末機器から配信要求を受信したとき及び所定時間間隔で、当該無線通信携帯端末機器のID、IPアドレス、通信状態及び自機が有する情報取得器により取得した情報を含む情報を受信して、これらの情報を含むインデックステーブルを生成又は更新するとともに、
前記配信サーバは、配信要求を送信した無線通信携帯端末機器がチェイン接続されたチェインに対し、前記インデックステーブルを前記コンテンツデータに定期的に含ませてデータカルーセル配信し、
前記チェインを構成する各無線通信携帯端末機器は、受信したインデックステーブルを用いて又は前記配信サーバに要求することで、直前の無線通信携帯端末機器及び直後の無線通信携帯端末機器のIDの情報及びIPアドレスの情報を取得するアプリケーション層マルチキャスト配信方法。 - チェインを構成する各無線通信携帯端末機器は、受信したインデックステーブルに、現在の自機の通信状態を上書きして更新し、直後の無線通信携帯端末機器に送信し、
前記チェインを構成する無線通信携帯端末機器のうち最終の無線通信携帯端末機器は、更新したインデックステーブルを前記配信サーバに送信する請求項16に記載のアプリケーション層マルチキャスト配信方法。 - 前記配信サーバは、受信したインデックステーブルに含まれる情報を時系列で蓄積記録し、
前記無線通信携帯端末機器は、前記配信サーバに時系列で蓄積記録された情報を時系列で読み出して閲覧する請求項17に記載のアプリケーション層マルチキャスト配信方法。 - チェインを構成する各無線通信携帯端末機器は、受信したインデックステーブルに、現在の自機の通信状態を上書きして更新し、更新したインデックステーブルを前記配信サーバに送信する請求項16に記載のアプリケーション層マルチキャスト配信方法。
- チェインを構成する無線通信携帯端末機器のうちのいずれかが配信の停止要求を前記配信サーバへ送信し、前記配信サーバが当該配信の停止要求を受信した場合に、
前記配信サーバは、前記配信の停止要求を送信した無線通信携帯端末機器を消去するとともに、これに後続する無線通信携帯端末機器のチェイン接続を繰り上げる情報を前記インデックステーブルに反映し、当該更新されたインデックステーブルをデータカルーセル配信する請求項16~19のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。 - 前記配信の停止要求を送信した無線通信携帯端末機器の直前の無線通信携帯端末機器又は配信サーバは、前記データカルーセル配信したインデックステーブルから、新たに後続する無線通信携帯端末機器のIPアドレス情報を読み出し、当該IPアドレスに前記コンテンツデータを送信する請求項20に記載のアプリケーション層マルチキャスト配信方法。
- チェインを構成する無線通信携帯端末機器のうち、いずれかの無線通信携帯端末機器に後続する無線通信携帯端末機器が、直前の無線通信携帯端末機器から送信される前記コンテンツデータ又は前記インデックステーブルを受信できない場合に、
当該後続する無線通信携帯端末機器は、前記配信サーバへ前記直前の無線通信携帯端末機器の通信状態の問い合わせ要求を送信し、
前記配信サーバは、前記直前の無線通信携帯端末機器へ接続応答コマンドを送信することで前記チェインに接続しているか否かを検出し、
前記配信サーバは、前記直前の無線通信携帯端末機器が前記チェインに接続していないことを検出した場合に、前記後続する一又は複数の無線通信携帯端末機器へ、再接続すべき無線通信携帯端末機器のIPアドレスを送信し、
前記後続する一又は複数の無線通信携帯端末機器は、受信した再接続すべき無線通信携帯端末機器との間でIPアドレスを交換し、前記コンテンツデータを受信する請求項16~21のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。 - 前記無線通信携帯端末機器が、現在の直前の無線通信携帯端末機器から他の無線通信携帯端末機器に接続された場合に、
前記無線通信携帯端末機器は、現在の直前の無線通信携帯端末機器から受信を完了したコンテンツの位置を記憶し、前記他の無線通信携帯端末機器に接続した際に、当該他の無線通信携帯端末機器に対して、前記受信を完了したコンテンツの位置に連続するコンテンツの送信要求をする請求項16~22のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。 - 一の配信サーバから複数の無線通信携帯端末機器へ、モバイル通信回線及び無線LANを含む電気通信回線網を介して、所定のコンテンツデータを、ピアツーピア方式でアプリケーション層マルチキャスト配信する方法であって、
前記配信サーバは、いずれの無線通信携帯端末機器とも接続していない状態から、最初に配信要求を送信した無線通信携帯端末機器に対して前記所定のコンテンツデータを配信し、
前記配信サーバは、その後に配信要求を送信した順に前記無線通信携帯端末機器を第1のチェインとしてチェイン接続し、当該チェイン接続された無線通信携帯端末機器間において、前記ピアツーピア方式で前記所定のコンテンツデータをアプリケーション層マルチキャスト配信し、
チェイン接続されている無線通信携帯端末機器は、チェイン接続中に自機の通信状態を検出し、自機の通信状態が所定の接続閾値未満である場合に、前記配信サーバに一時的にチェインから離脱する要求を送信し、
前記配信サーバは、前記一時的にチェインから離脱する要求を送信した無線通信携帯端末機器を前記チェインから一時的に離脱させるアプリケーション層マルチキャスト配信方法。 - 前記一時的にチェインを離脱した無線通信携帯端末機器は、自機の通信状態が前記所定の接続閾値以上に回復した場合に、前記配信サーバに再び配信要求を送信し、
前記配信サーバは、前記配信要求を送信した無線通信携帯端末機器を当該無線通信携帯端末機器の通信状態に応じたチェインの最後尾に接続する請求項24に記載のアプリケーション層マルチキャスト配信方法。 - 前記配信サーバは、前記一時的にチェインから離脱する要求を送信した無線通信携帯端末機器を前記チェインから一時的に離脱させる前に、当該無線通信携帯端末機器を当該チェインの最後尾に接続する請求項24又は25に記載のアプリケーション層マルチキャスト配信方法。
- 前記無線通信携帯端末機器の通信状態は、当該無線通信携帯端末機器が受信する単位時間当たりのデータ数、及び/又は、当該無線通信携帯端末機器が受信したデータのエラー値に基づいて検出する請求項24~26のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
- 前記無線通信携帯端末機器の通信状態は、一のチェインに接続された各無線通信携帯端末機器で発生した最大GOPスキップ数をM、前記一のチェインに接続された全ての無線通信携帯端末機器で発生したGOPスキップ数の総数をTとしたときに、T/Mで定義する波及係数に基づいて検出する請求項24~26のいずれか一項に記載のアプリケーション層マルチキャスト配信方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-140666 | 2016-07-15 | ||
JP2016140666 | 2016-07-15 | ||
JP2016186718A JP6166445B1 (ja) | 2016-07-15 | 2016-09-26 | アプリケーション層マルチキャスト配信方法 |
JP2016-186718 | 2016-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018012591A1 true WO2018012591A1 (ja) | 2018-01-18 |
Family
ID=59351421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/025556 WO2018012591A1 (ja) | 2016-07-15 | 2017-07-13 | アプリケーション層マルチキャスト配信方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6166445B1 (ja) |
WO (1) | WO2018012591A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718425B (zh) * | 2018-05-31 | 2021-01-01 | 东莞市华睿电子科技有限公司 | 一种应用于频道的图片分享方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009117944A (ja) * | 2007-11-02 | 2009-05-28 | Brother Ind Ltd | ツリー型放送システム、再接続処理方法、ノード装置、ノード処理プログラム、サーバ装置、及びサーバ処理プログラム |
JP2012175684A (ja) * | 2011-02-24 | 2012-09-10 | Fujitsu Ltd | 送信制御プログラム、通信装置および送信制御方法 |
JP2012173995A (ja) * | 2011-02-22 | 2012-09-10 | Nippon Hoso Kyokai <Nhk> | 受信端末およびその制御プログラム |
JP2013258657A (ja) * | 2012-06-14 | 2013-12-26 | Nippon Hoso Kyokai <Nhk> | P2pネットワークサービスに用いる端末装置及びプログラム |
-
2016
- 2016-09-26 JP JP2016186718A patent/JP6166445B1/ja not_active Expired - Fee Related
-
2017
- 2017-07-13 WO PCT/JP2017/025556 patent/WO2018012591A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009117944A (ja) * | 2007-11-02 | 2009-05-28 | Brother Ind Ltd | ツリー型放送システム、再接続処理方法、ノード装置、ノード処理プログラム、サーバ装置、及びサーバ処理プログラム |
JP2012173995A (ja) * | 2011-02-22 | 2012-09-10 | Nippon Hoso Kyokai <Nhk> | 受信端末およびその制御プログラム |
JP2012175684A (ja) * | 2011-02-24 | 2012-09-10 | Fujitsu Ltd | 送信制御プログラム、通信装置および送信制御方法 |
JP2013258657A (ja) * | 2012-06-14 | 2013-12-26 | Nippon Hoso Kyokai <Nhk> | P2pネットワークサービスに用いる端末装置及びプログラム |
Non-Patent Citations (4)
Title |
---|
HIROYUKI KUBO ET AL.: "A Study on Overlay Multicast for Mobile Terminals", IEICE TECHNICAL REPORT, vol. 108, no. 457, 24 February 2009 (2009-02-24), pages 51 - 56, ISSN: 0913-5685 * |
KAZUYUKI SHUDO: "Application-so Multicast: Kihon to Oyo", UNIX MAGAZINE, vol. 21, no. 6, 1 October 2006 (2006-10-01), pages 34 - 43, XP003022145 * |
KUBO, HIROYUKI ET AL.: "Mobile Overlay Multicast Using Information on Physical Stability for Robust Video Streaming", 2009 IEEE 20TH INTERNATIONAL SYMPOSIUM ON PERSONAL, INDOOR AND MOBILE RADIO COMMUNICATIONS, 13 September 2009 (2009-09-13), pages 2960 - 2964, XP031660108 * |
TARO HASHIMOTO ET AL.: "An Efficient Path Reconfiguration for Adaptive Loss Recovery Multicast for Live Media Considering Relay Nodes", IEICE TECHNICAL REPORT, vol. 104, no. 689, 24 February 2005 (2005-02-24), pages 211 - 216, ISSN: 0913-5685 * |
Also Published As
Publication number | Publication date |
---|---|
JP6166445B1 (ja) | 2017-07-19 |
JP2018019388A (ja) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889543B (zh) | 视频传输的方法、根节点、子节点、p2p服务器和系统 | |
CN110248256B (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
KR100966447B1 (ko) | 데이터 스트리밍 시스템 및 방법 | |
CN103828324B (zh) | 用于自适应比特率管理的方法、设备和系统 | |
JP3658087B2 (ja) | 端末装置及び端末装置の制御方法 | |
KR102106298B1 (ko) | 추가 콘텐츠 및 관련된 클라이언트 장치 | |
US8254441B2 (en) | Video streaming based upon wireless quality | |
KR20160110472A (ko) | 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍 | |
KR20180031547A (ko) | 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치 | |
JP5207895B2 (ja) | 送信装置、受信装置、及び方法、プログラム | |
US20170142029A1 (en) | Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium | |
WO2012011490A1 (ja) | コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 | |
US20070160048A1 (en) | Method for providing data and data transmission system | |
CN101741890A (zh) | 一种实现速率控制的方法、系统和设备 | |
US20140344392A1 (en) | Content delivery system, cache server, and content delivery method | |
JP2004180092A (ja) | 情報処理装置および情報処理方法、並びにコンピュータ・プログラム | |
US7428271B2 (en) | Network device and data transmission method for efficient data transmission and reception in mobile ad hoc network environment | |
CN102333209A (zh) | 应用于视频监控系统的数据传输方法及设备 | |
KR101252947B1 (ko) | 비디오 청크 분포에 적응적인 푸쉬-풀 혼성 스트리밍 방법 및 장치 | |
JP6166445B1 (ja) | アプリケーション層マルチキャスト配信方法 | |
JP2004135239A (ja) | データ配信装置、受信装置、データ配信方法、データ配信プログラム、および該プログラムを記録した記録媒体 | |
CN103561013A (zh) | 流媒体的数据分发系统 | |
JP2009171294A (ja) | 映像配信システム、映像中継装置、及び映像中継方法 | |
KR101548501B1 (ko) | 청크 기반의 끊김 없는 스트림 송수신 장치 및 그 방법 | |
JP3323057B2 (ja) | 符号化装置、復号化装置及び伝送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17827714 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17827714 Country of ref document: EP Kind code of ref document: A1 |