Processing device, program, and processing method

The system synchronizes content distribution across user terminals by adjusting transmission times based on group membership and using edge servers, addressing hardware limitations and reducing costs and loads, thus enhancing synchronization efficiency.

JP2025104636AActive Publication Date: 2025-07-10OKI ELECTRIC INDUSTRY CO LTD

Patent Information

Application Number
JP2023222576
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-28
Publication Date
2025-07-10
Estimated Expiration
2043-12-28

AI Technical Summary

Technical Problem

Existing content distribution systems face challenges in synchronizing content across user terminals due to hardware limitations, such as limited buffer capacity and high communication processing loads, especially when dealing with remotely located user equipment (UEs), leading to increased costs and complexity.

Method used

A system utilizing a content acquisition unit, transmission unit, and delay control unit to synchronize content distribution among user terminals by adjusting transmission times based on a reference time and group membership, without requiring extensive buffering at the user terminals, and using edge servers for latency reduction.

Benefits of technology

This approach facilitates easier synchronization of content distribution across multiple user terminals, reducing implementation costs and loads on both servers and user equipment, while maintaining synchronization even with varying network conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025104636000001_ABST
    Figure 2025104636000001_ABST
Patent Text Reader

Abstract

To more easily implement synchronization of reproduction timing of a content in a plurality of user terminals.SOLUTION: A processing device comprises: a content acquisition section which acquires a content to be distributed to a plurality of user terminals from a server; a content transmission section for transmitting the content to a first user terminal, which is a user terminal including the processing device in a distribution path of the content from the server, in the plurality of user terminals; an adjustment time acquisition section for acquiring an adjustment time of distribution of the content to the first user terminal, the adjustment time being calculated on the basis of a reference time set to a first group to which the first user terminal belongs; and a delay control section which delays the transmission of the content to the first user terminal by the content transmission section so as to synchronize the distributions of the content to the first user terminal and one or more user terminals belonging to the first group, on the basis of the adjustment time.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a processing device, a program, and a processing method.

Background Art

[0002] Conventionally, content distribution has been synchronized among a plurality of user terminals. For example, the MMT (MPEG Media Transport) method is used as a technique for synchronizing the distribution of content such as videos.

[0003] Patent Document 1 below discloses transmitting video packets from a video transmission device to a user terminal using the MMT method. Patent Document 1 discloses synchronizing video distribution by buffering video packets at the user terminal according to the time of a timestamp for instructing the time to display the video, which is transmitted based on the MMT method.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, since there are hardware limitations in user terminals, there is a problem that the buffer capacity is limited.

[0006] Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to provide a technique capable of more easily realizing synchronization of content distribution among a plurality of user terminals.

Means for Solving the Problems

[0007] In order to solve the above problems, according to one aspect of the present invention, there is provided a processing device including: a content acquisition unit that acquires content distributed from a server to a plurality of user terminals; a content transmission unit that transmits the content acquired by the content acquisition unit to a first user terminal, which is a user terminal included in the content distribution path from the server among the plurality of user terminals; an adjustment time acquisition unit that acquires an adjustment time for distributing the content to the first user terminal, the adjustment time being calculated based on a reference time set for a first group to which the first user terminal belongs in one or more groups to which each of the plurality of user terminals belongs; and a delay control unit that delays the transmission of the content to the first user terminal by the content transmission unit so that the distribution of the content to the first user terminal and one or more of the user terminals belonging to the first group is synchronized based on the adjustment time.

[0008] Further, according to the present disclosure, there is provided a program for causing a computer to function as: a content acquisition unit that acquires content distributed from a server to a plurality of user terminals; a content transmission unit that transmits the content acquired by the content acquisition unit to a first user terminal, which is a user terminal included in the content distribution path from the server among the plurality of user terminals; an adjustment time acquisition unit that acquires an adjustment time for distributing the content to the first user terminal, the adjustment time being calculated based on a reference time set for a first group to which the first user terminal belongs in one or more groups to which each of the plurality of user terminals belongs; and a delay control unit that delays the transmission of the content to the first user terminal by the content transmission unit so that the distribution of the content to the first user terminal and one or more of the user terminals belonging to the first group is synchronized based on the adjustment time.

[0009] Also, according to the present disclosure, a processing method of a processing device, the processing method includes: obtaining content distributed from a server to a plurality of user terminals; among the plurality of user terminals, transmitting the obtained content to a first user terminal which is a user terminal in which the processing device is included in a distribution path of the content from the server; obtaining an adjustment time of the distribution of the content to the first user terminal, which is calculated based on a reference time set for a first group to which the first user terminal belongs, in one or more groups to which each of the plurality of user terminals belongs; and delaying the transmission of the content to the first user terminal in the step of transmitting the content so that the distribution of the content to the first user terminal and one or more of the user terminals belonging to the first group is synchronized. A processing method is provided.

Advantages of the Invention

[0010] As described above, according to the present invention, it is possible to more easily achieve synchronization of content distribution among a plurality of user terminals.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

Embodiments for Carrying Out the Invention

[0012] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant description is omitted.

[0013] Also, in this specification and the drawings, a plurality of components having substantially the same functional configuration may be distinguished by attaching different alphabets after the same reference numeral. However, when it is not necessary to particularly distinguish each of a plurality of components having substantially the same functional configuration, only the same reference numeral is attached to each of the plurality of components.

[0014] <<0. Prior Art>> First, as a prior art, a technique for synchronizing the distribution of content among a plurality of user terminals using the MMT (MPEG Media Transport) method will be described. Synchronization of distribution means making the timing of reproducing content coincide among a plurality of user terminals. Thereby, simultaneous viewing of the distribution by each user can be realized. Here, an example in the case where the content is a video will be described. However, the content may be an image, audio, or the like.

[0015] The server that distributes content sends video packets to a user terminal (User Equipment: UE) in the MMT format. The system for realizing content distribution includes one master UE and multiple slave UEs as UEs. Each UE operates as a master UE or a slave UE based on the settings.

[0016] Generally, in the MMT format, a PTS (Presentation Time Stamp), which indicates the time when a video signal and an audio signal are presented at the UE, is set using UTC (Coordinated Universal Time). Here, Patent Document 1 describes that the server sets the transmission time of a video packet to the PTS and transmits the video packet including the PTS to each UE.

[0017] Each UE decodes the received video packet. Further, each UE calculates the difference between the time when the video becomes playable and the PTS as its own PTS offset. Then, the master UE collects the respective PTS offsets from each slave UE.

[0018] The master UE sets the maximum value of the collected multiple PTS offsets as a common offset. Then, the master UE transmits the value of the common offset to the slave UEs.

[0019] Each UE (master UE and slave UE) buffers the video packet by the difference between the common offset and its own PTS offset, and then presents the video to the user. As a result, the video distribution is synchronized in each UE.

[0020] Here, an example of the server delivering a video to one master UE and three slave UEs will be described. In the following, each of the three slave UEs in the example described here will also be referred to as "UE(1)", "UE(2)", and "UE(3)". First, assume that at 1:02:03 Coordinated Universal Time (hereinafter referred to as "01:02:03". Note that in the following, the time of Coordinated Universal Time may be described in the same format.), the server delivered video packets to each UE.

[0021] In such a case, "01:02:03" is set for the PTS of the video packet. Here, assume that the playable time of the master UE is "01:02:03". Also, assume that the reception time of UE(1) is "01:02:04" and the playable time is "01:02:06". Also, assume that the reception time of UE(2) is "01:02:05" and the playable time is "01:02:10". Also, assume that the reception time of UE(3) is "01:02:07" and the playable time is "01:02:09". In such a case, the master UE calculates "0 seconds", UE(1) calculates "3 seconds", UE(2) calculates "7 seconds", and UE(3) calculates "6 seconds" as its own PTS offset. Also, the maximum value of each PTS offset, which is "7 seconds", is set as the common offset.

[0022] Based on the difference between the common offset set as described above and its own PTS offset, the master UE buffers the video packets for "7 seconds", UE(1) for "4 seconds", UE(2) for "0 seconds" (i.e., does not buffer), and UE(3) for "1 second" and presents them to the user. That is, all UEs will present the video at time "01:02:10".

[0023] However, in the technology of Patent Document 1, the communication processing load on the UE, especially the master UE, is high. Also, the load increases as the number of UEs increases.

[0024] Also, in the technology of Patent Document 1, for content synchronization, each UE needs to store data in a buffer on the memory from decoding to playback, so a buffer capacity corresponding to the time delay of video playback is required. In particular, when some of the UEs are remotely located, the value of the common offset becomes large, and thus the time delay for video playback also becomes large. That is, in such a case, it is necessary for the UE to have a larger buffer capacity. However, since the UE has hardware constraints, there is a problem that the buffer capacity is limited.

[0025] Furthermore, in addition to the function of processing the normal MMT protocol, the server needs to implement a function of setting the transmission time to PTS. Also, each UE needs to implement functions such as calculating the PTS offset and buffering video packets. Due to these factors, the development of the server and UE incurs high costs.

[0026] Therefore, in one embodiment of the present invention, a technique is proposed that does not implement the MMT protocol and synchronizes video delivery without the UE performing buffering.

[0027] <<1. Premise Technology>> Subsequently, the premise technology of the present invention will be described. A service provider may contract with a CDN (Content Delivery Network) provider to provide content delivery via the Internet. A service provider is a provider of any service. A CDN provider is a provider that distributes content using an ISP (Internet Service Provider). An ISP is a provider that provides a service for connecting to the Internet using a line of a telecommunications carrier. A telecommunications carrier is a provider that provides a telecommunications service such as a fixed telephone or a mobile phone.

[0028] CDN providers typically install origin servers in data centers and deliver content from the origin servers to users. The origin server is the server that serves as the source when delivering content via the CDN. By using edge servers distributed across the network as cache servers for delivery, CDN providers can prevent unnecessary content traffic from flowing into the Internet backbone where ISPs interconnect. At the same time, by delivering content from edge servers close to the users, it is possible to reduce latency.

[0029] One embodiment of the present invention relates to the delivery of content via the edge server described above. In particular, in the embodiment of the present invention, the CDN is a MEC-CDN extended by MEC (Multi-access Edge Computing). MEC is a technology that deploys edge servers on a mobile communication network and delivers various data from the edge servers to users. By delivering data from an edge server geographically close to the user, the network load can be reduced and the latency can be decreased compared to the case of delivering data from a server deployed on the cloud, for example.

[0030] The network constituting the system provided by the CDN provider consists of a mobile communication network and the Internet, and the MEC-CDN consists of conventional CDN nodes and mobile edge CDN nodes. In one embodiment of the present invention, a zoo operator who operates a zoo is the service provider, and an example of streaming video (which may include audio) as content will be described.

[0031] <<2. First Embodiment>> <2-1. Overview> First, with reference to FIG. 1, a system for realizing content distribution according to the first embodiment of the present invention will be described. FIG. 1 is a diagram showing an example of the configuration of the system 1 according to the present embodiment. The system 1 is a system related to content distribution. As shown in FIG. 1, the system 1 according to the present embodiment is composed of a mobile communication network 2 and the Internet 3. An AMR (Autonomous Mobile Robot) 100 and a UE 110 are connected to the mobile communication network 2.

[0032] The mobile communication network 2 is a network operated by a communication carrier. Communication by, for example, 5G (5th Generation Mobile Communication System) or B5G (Beyond 5G) may be realized by the mobile communication network 2.

[0033] The mobile communication network 2 includes a CN (Core Network) 4 and a RAN (Radio Access Network) 5. Various devices that operate the CN 4 are housed in communication station buildings distributed throughout the country. These communication station buildings distributed throughout the country are connected by a transport layer, and its overlay network is herein referred to as a communication carrier network.

[0034] The CN 4 is a network that houses the RAN 5. That is, the CN 4 bears the backbone of the RAN 5. The CN 4 plays various roles related to communication by the UE 110 connected to the RAN 5, such as authentication, location management, and policy control of the UE 110.

[0035] CN4 includes a central DC (CDC: Center Data Center) 41, regional DCs (RDC: Regional Data Center) 42 (42-1 to 42-3), and edge DCs (EDC: Edge Data Center) 43 (43U, 43D-1 to 43D-5). The central DC 41, regional DCs 42, and edge DCs 43 are three-tier data centers that constitute an MEC-CDN. A plurality of regional DCs 42 are connected under one central DC 41, and a plurality of edge DCs 43 are connected to the regional DCs 42. Then, the upper-level data center and the lower-level data center are connected by a network. The lower-level data center serves as a cache of the upper-level data center. These data centers are geographically dispersed.

[0036] Servers are installed in each of the plurality of data centers. Hereinafter, when servers having the same function are installed in each data center, codes including alphabets may be attached to distinguish in which tier of the data center they are installed. Specifically, the central DC 41 may be associated with "C", the regional DC 42 with "R", and the edge DC 43 with "E", respectively. For example, the data relay server 420 installed in both the central DC 41 and the regional DC 42-1 may be distinguished as "data relay server 420C" and "data relay server 420R". Further, when the same function is included in each configuration, distinction may be made by attaching a hyphen and a number. For example, the data relay server 420 installed in both the edge DC 43-1 and the edge DC 43-3 may be distinguished as "data relay server 420E-1" and "data relay server 420E-2".

[0037] As shown in FIG. 1, the central DC41 includes a data relay server 420C. The regional DC42-1 includes a data relay server 420R. Also, the edge DC43U includes an upload server 410 as an edge server. Further, the edge DC43D-1 to 43D-5 include a data relay server 420E as an edge server. Note that the edge DC43 that includes the upload server 410 and does not include the data relay server 420 may be labeled with a symbol including "U". Also, the edge DC43 that includes the data relay server 420 and does not include the upload server 410 may be labeled with a symbol including "D". Also, when the edge DC43 that includes the data relay server 420 and does not include the upload server 410 is not particularly distinguished, it is also referred to as "edge DC43D".

[0038] Details of the upload server 410 and the data relay server 420 will be described later. The edge DC43 (specifically, each of the servers installed in the edge DC43) is connected to the network provided by the base station 51 described later, which covers a geographical range corresponding to (i.e., close to) the location of the edge DC43. For example, the upload server 410 installed in the edge DC43U is connected to the network provided by the base station 51-1.

[0039] RAN5 is a radio network that provides wireless communication. RAN5 may be a radio network of a mobile communication system such as 5G (5th Generation) or B5G (Beyond 5th Generation). Alternatively, RAN5 may be a radio network compliant with a wireless communication standard such as Wi-Fi (registered trademark) or Bluetooth. RAN5 includes base stations 51 (51-1 to 51-9).

[0040] The AMR (Autonomous Mobile Robot) 100 (100-1 and 100-2) is an autonomous mobile robot. An autonomous mobile robot is a robot that detects its own position or travel route using mounted sensors and travels accordingly. Therefore, there is no need to install a guiding device for guiding the moving direction within the range where the autonomous mobile robot moves.

[0041] The AMR 100 autonomously travels within the zoo while recording and storing videos. For example, the AMR 100 may capture the scenes of shows and events such as feeding in the zoo. The videos captured by the AMR 100 are distributed as content to the users of the UE 110.

[0042] The UE 110 is a terminal operated by a user. The UE 110 may be any processing device such as a smartphone or a PC (Personal Computer). The UE 110 receives the distribution of the video, which is the content, from the upload server 410 via the data relay server 420 through the network provided by the nearest base station 51.

[0043] Each UE 110 belongs to a group respectively. In the system 1, one or more groups can be set. The distribution of videos to the UE 110s belonging to the same group is synchronized. That is, the users of the UE 110s belonging to the same group can watch the distribution simultaneously (or almost simultaneously).

[0044] The upload server 410 is a server to which the videos captured by the AMR 100 are uploaded. The upload server 410 functions as the origin server according to this embodiment. That is, the videos stored in the upload server 410 are distributed as content to each UE 110.

[0045] The upload server 410 is connected to an edge DC 43U that is connected to a base station 51-1 that provides a network to which the AMR 100 is connected. Although FIG. 1 shows an example in which one upload server 410 is installed in the system 1, two or more upload servers 410 may be installed. For example, the upload server 410 may be installed in an edge DC 43 other than the edge DC 43U.

[0046] The data relay server 420 is a server that is arranged on the delivery path of video data from the upload server 410 to the UE 110 and relays the video data between the upload server 410 and the UE 110, and is an example of a processing device. For example, a plurality of data relay servers 420 may exist on the delivery path of video data between the upload server 410 and the UE 110. That is, the video data relayed from the upload server 410 to the data relay server 420 may be sequentially relayed to other data relay servers 420.

[0047] Among the data relay servers 420 included in the video delivery path to each UE 110, the data relay server 420E closest to the UE 110 to which the video is delivered on the delivery path buffers the video data and transmits it to the UE 110 so that the delivery is synchronized with other UEs 110 to which the same video is delivered. Hereinafter, the data relay server 420E closest to the UE 110 on the video data delivery path to the UE 110 is also referred to as the "nearest data relay server 420E" of the UE 110. Also, the edge DC 43 connected to the base station 51 that provides the network to which the UE 110 or the AMR 100 is connected is also referred to as the "nearest edge DC 43" of the UE 110 or the AMR 100. Details of the buffering by the data relay server 420 will be described later.

[0048] The data relay server 420 can be installed in each of the central DC 41, the regional DC 42, and the edge DC 43. However, the data relay server 420 does not have to be installed in all data centers. For example, as shown in FIG. 1, the data relay server 420 does not have to be installed in the edge DC 43U. The UE 110-1 with the edge DC 43U as the nearest edge DC 43 receives video distribution from the upload server 410 without passing through the data relay server 420.

[0049] The upload server 410, the data relay server 420E, and the UE 110 are equipped with data transfer modules MD (MD410, MD420-1, MD110-1, etc.). The data transfer module MD is a module that transmits at least one of a reception log representing the reception time when each device receives data and a transmission log representing the transmission time when the data is transmitted to a higher-level server. For example, the data transfer module MD may transmit at least one of the reception time or the transmission time of video data (more specifically, video packets constituting the video data) that is the data of the video distributed by the upload server 410 to a higher-level server.

[0050] Furthermore, the CN 4 includes a carrier NW (network) management server 430. The carrier NW management server 430 is a server that manages the communication paths between the data centers. For example, the carrier NW management server 430 may identify one or more data relay servers 420 included in the shortest communication path from the edge DC 43 where the upload server 410 is installed to the nearest edge DC 43 of each UE 110, and identify the IP address of each of the one or more data relay servers 420.

[0051] Also, the CN 4 includes a router 60. The router 60 is a communication device that connects the mobile communication network 2 and the Internet 3 and transfers data between the mobile communication network 2 and the Internet 3.

[0052] Next, various servers operated by service providers or CDN providers and installed on the Internet 3 will be described. As shown in FIG. 1, the Internet 3 includes a service server 310, an authentication server 320, a data collection server 330, and a synchronized viewing control server 340.

[0053] The service server 310 is a portal server that is operated by a service provider and provides a distribution service for delivering videos as content to users. The service server 310 manages various information related to videos. For example, the service server 310 may manage information about the upload server 410 that stores videos, video names (content names), and the like.

[0054] In addition, the service server 310 provides various screens such as a login screen and a content page including a list of viewable videos to the UE 110. The user can view a desired video selected from the list included in the content page displayed on the UE 110.

[0055] The authentication server 320 is a server that is operated by a service provider and executes user login processing in the distribution service. More specifically, the authentication server 320 receives login information including a user ID (Identification) and a password entered by the user on the login screen displayed on the UE 110 from the service server 310. Then, the authentication server 320 performs user authentication based on whether the received login information matches the login information stored in the database.

[0056] The data collection server 330 is a server that is operated by a CDN provider and collects received logs and transmission logs transmitted by the data transfer module MD. In addition, the data collection server 330 calculates the delay time of data transmission from the upload server 410 to each UE 110 based on the times indicated by the received logs and transmission logs.

[0057] The synchronous viewing control server 340 is a server that controls the buffering of video data by the data relay server 420 so that the distribution of videos of the UE 110 that plays the same video, which is operated by the CDN operator, is synchronized. The synchronous viewing control server 340 may calculate the time for buffering video data in the data relay server 420 based on the delay time calculated by the data collection server 330. The method for controlling buffering by the synchronous viewing control server 340 will be described in detail later.

[0058] <2-2. Configuration example> Next, a configuration example of each device according to this embodiment will be described.

[0059] <2-2-1. Configuration example of UE 110> First, a configuration example of the UE 110 will be described. FIG. 2 is a block diagram showing an example of the configuration of the UE 110 according to this embodiment. As shown in FIG. 2, the UE 110 includes a control unit 111, a communication unit 112, a storage unit 113, and an operation display unit 115.

[0060] (Control unit 111) The control unit 111 functions as an arithmetic processing device and a control device, and controls the overall operation within the UE 110 according to various programs. The control unit 111 is realized by an electronic circuit such as a CPU (Central Processing Unit) or a microprocessor, for example. Note that the control unit 111 may include a ROM (Read Only Memory) that stores programs and arithmetic parameters to be used, and a RAM (Random Access Memory) that temporarily stores parameters that change as appropriate.

[0061] (Communication unit 112) The communication unit 112 is a communication module for transmitting and receiving data to and from other devices. The communication unit 112 performs communication compliant with any wired or wireless communication standard. The communication unit 112 communicates with each device via the network provided by the base station 51. The communication unit 112 receives, for example, video data of a video captured by the AMR100 from a server installed in the nearest edge DC43. The communication unit 112 may receive video data distributed by the upload server 410 via the nearest data relay server 420E. Also, the communication unit 112 may receive information from the service server 310 for displaying various screens related to the distribution service on the operation display unit 115. Further, the communication unit 112 may transmit the information input to the operation display unit 115 to the service server 310.

[0062] (Data transfer module MD110) Also, the communication unit 112 has a data transfer module MD110. The data transfer module MD110 is a module that transmits a reception log indicating the reception time to the data collection server 330 when receiving data transmitted by the upload server 410. Hereinafter, the reception log transmitted by such a UE110 is also referred to as a "UE reception log". The data transfer module MD110 may be implemented, for example, by being installed as a plugin in the UE110.

[0063] (Storage unit 113) The storage unit 113 is a device that stores information. The storage unit 113 is composed of an arbitrary storage medium such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a flash memory. The storage unit 113 stores information for the operation of the UE110.

[0064] (Reception log management unit 114) Also, the storage unit 113 has a reception log management unit 114. The reception log management unit 114 manages the reception log of data. The data transfer module MD110 may transmit the UE reception log extracted from the reception log managed by the reception log management unit 114 to the data collection server 330.

[0065] (Operation display unit 115) Based on the data received by the communication unit 112, the operation display unit 115 functions as a display unit for displaying various screens. For example, based on the data received by the communication unit 112 from the service server 310, the operation display unit 115 displays various screens related to the distribution service. Also, the operation display unit 115 displays the video distributed from the upload server 410 as content. Furthermore, the operation display unit 115 functions as an operation unit for accepting input of login information (user ID and password) for the video distribution service and selection of the video to be distributed.

[0066] For example, the function as a display unit can be realized by a liquid crystal display (LCD) or an OLED (Organic Light Emitting Diode) device. Also, the function as an operation unit can be realized by, for example, a touch panel. Note that the function as a display unit and the function as an operation unit may be configured separately.

[0067] <2-2-2. Configuration example of various servers installed in the data center> Next, a configuration example of various servers installed in the data center will be described with reference to FIG. 3. FIG. 3 is a block diagram showing an example of the configuration of various servers installed in the data center according to the present embodiment.

[0068] - Configuration example of the upload server 410 First, a configuration example of the upload server 410 will be described. An example of the configuration of the upload server 410 is shown in the upper part of FIG. 3. The upload server 410 includes a control unit 411, a communication unit 412, and a storage unit 413.

[0069] (Control unit 411) The control unit 411 functions as an arithmetic processing unit and a control unit, and controls the overall operation within the upload server 410 according to various programs. The control unit 411 is realized by an electronic circuit such as a CPU or a microprocessor, for example. Note that the control unit 411 may include a ROM that stores programs and arithmetic parameters to be used, and a RAM that temporarily stores parameters that change as appropriate.

[0070] (Communication unit 412) The communication unit 412 is a communication module for transmitting and receiving data to and from other devices. The communication unit 412 performs communication compliant with any wired or wireless communication standard. As an example, the communication unit 412 receives video data of the video captured by the AMR100. In addition, the communication unit 412 relays the video data to the data relay server 420 of the relay destination according to the relay destination information managed by the video data storage unit 414 described later, thereby distributing the video to each UE110.

[0071] (Data transfer module MD410) In addition, the communication unit 412 has a data transfer module MD410. The data transfer module MD410 is a module that transmits a transmission log indicating the transmission time to the data collection server 330 when the communication unit 412 transmits data. Hereinafter, the transmission log transmitted by such an upload server 410 is also referred to as an "upload server transmission log".

[0072] (Storage unit 413) The storage unit 413 is a device that stores information. The storage unit 413 is composed of an arbitrary storage medium such as an HDD, an SSD, or a flash memory. The storage unit 413 stores information for the operation of the upload server 410. In addition, the storage unit 413 has a video data storage unit 414, a relay destination management unit 415, and a transmission / reception log management unit 416.

[0073] (Video data storage unit 414) The video data storage unit 414 stores the video data uploaded from the AMR 100 received by the communication unit 412. The video data storage unit 414 may store, for example, by associating the video data uploaded from the AMR 100 with a content name. The content name may be assigned to each video by the service provider at the time of upload. However, the timing when the content name is assigned is not particularly limited, and for example, it may be assigned by the service provider when the content information is stored in the service server 310.

[0074] (Relay destination management unit 415) The relay destination management unit 415 manages the relay destination information of the video data distributed from the communication unit 412 to each UE 110. The relay destination information may include, for example, the IP address of the data relay server 420 which is the relay destination of each video data stored in the video data storage unit 414.

[0075] The relay destination information managed by the relay destination management unit 415 is received from the synchronous viewing control server 340 by the communication unit 412.

[0076] (Transmission / reception log management unit 416) The transmission / reception log management unit 416 manages the transmission log of data. The data transfer module MD410 may transmit the upload server transmission log extracted from the transmission log managed by the transmission / reception log management unit 416 to the data collection server 330.

[0077] - Configuration example of data relay server 420 Next, a configuration example of the data relay server 420 will be described. In the lower part of FIG. 3, a configuration example of the data relay server 420 is shown. The data relay server 420 includes a control unit 421, a communication unit 422, and a storage unit 423.

[0078] (Control unit 421) The control unit 421 functions as an arithmetic processing unit and a control unit, and controls the overall operations within the data relay server 420 according to various programs. The control unit 421 is realized by an electronic circuit such as a CPU or a microprocessor, for example. Note that the control unit 421 may include a ROM that stores programs and arithmetic parameters to be used, and a RAM that temporarily stores parameters that change as appropriate.

[0079] In particular, the control unit 421 of the data relay server 420E installed at the edge DC 43D functions as a delay control unit that delays the transmission of video data by the communication unit 422 described later. The control unit 421 delays the transmission of video data by the communication unit 422 based on the adjustment time managed by the adjustment time management unit 424 described later.

[0080] (Communication unit 422) The communication unit 422 is a communication module for transmitting and receiving data to and from other devices. The communication unit 422 performs communication compliant with any wired or wireless communication standard. The communication unit 422 relays the video data distributed from the upload server 410 to the UE 110. For example, the communication unit 422 functions as a content acquisition unit that receives the video data of the video distributed from the upload server 410. Then, the communication unit 422 transmits the video data to a relay destination according to the relay destination information managed by the relay destination management unit 425 described later. For example, the communication unit 422 may receive the video data from the upload server 410 or another data relay server 420 and transmit the video data to another data relay server 420.

[0081] In addition, the communication unit 422 of the data relay server 420E installed at the edge DC43D functions as a content transmission unit that transmits video data distributed from the upload server 410 to a plurality of UEs 110 to the UEs 110. More specifically, the data relay server 420E installed at the edge DC43D transmits video data from the communication unit 422 to the UE 110 that designates itself as the nearest data relay server 420E among the plurality of UEs 110. Such a UE 110 is a first user terminal with respect to the data relay server 420E. The UE 110, which is the first user terminal, belongs to the first group among one or more configured groups.

[0082] Here, according to the control of the control unit 421, the communication unit 422 transmits the video data temporarily stored in the buffer unit 427, which will be described later, to the UE 110, which is the first user terminal, when the adjustment time has elapsed. Although the details of the adjustment time will be described later, this synchronizes the distribution to the UE 110, which is the first user terminal, with other UEs 110 belonging to the first group that receive the distribution of the same video.

[0083] In addition, the communication unit 422 functions as an adjustment time acquisition unit that receives the adjustment time stored in the adjustment time management unit 424 from the synchronized viewing control server 340.

[0084] (Data Transfer Module MD420) In addition, the communication unit 422 has a data transfer module MD420. However, as described above, not all data relay servers 420 need to include the data transfer module MD420. More specifically, it is sufficient if the data relay server 420E installed at the edge DC43D includes the data transfer module MD420.

[0085] The data transfer module MD420 is a module that transmits a reception log indicating the reception time to the data collection server 330 when the communication unit 422 receives data. Hereinafter, the reception log transmitted by such a data relay server 420 is also referred to as the "data relay server reception log". Also, when the communication unit 422 transmits data, a transmission log indicating the transmission time is transmitted to the data collection server 330. Hereinafter, the transmission log transmitted by such a data relay server 420 is also referred to as the "data relay server transmission log".

[0086] (Memory unit 423) The memory unit 423 is a device that stores information. The memory unit 423 is composed of an arbitrary storage medium such as an HDD, an SSD, or a flash memory. The memory unit 423 stores information for the operation of the data relay server 420. Also, the memory unit 423 has an adjustment time management unit 424, a relay destination management unit 425, a transmission / reception log management unit 426, and a buffer unit 427.

[0087] (Adjustment time management unit 424) The adjustment time management unit 424 manages the adjustment time indicating the time to delay the transmission of video data from the communication unit 422 to the UE110. The adjustment time management unit 424 manages the adjustment time for each UE110 where the data relay server 420 having the adjustment time management unit 424 that receives the video distribution is the nearest data relay server 420.

[0088] (Relay destination management unit 425) The relay destination management unit 425 manages the relay destination information of the video data distributed from the communication unit 422 to each UE110. The relay destination information may include, for example, the IP address of the data relay server 420 that is the relay destination of each video data received from another data relay server 420 or the upload server 410.

[0089] The relay destination information managed by the relay destination management unit 425 is received by the communication unit 422 from the synchronous viewing control server 340.

[0090] (Transmission / reception log management unit 426) The transmission / reception log management unit 426 manages the transmission logs of data. The data transfer module MD420 may transmit the data relay server reception log and the data relay server transmission log extracted from the transmission / reception logs managed by the transmission / reception log management unit 426 to the data collection server 330.

[0091] (Buffer unit 427) The buffer unit 427 stores the video data received by the communication unit 422. The video data stored in the buffer unit 427 is delayed by the adjustment time according to the control by the control unit 421 and transmitted to the UE 110.

[0092] <2-2-3. Configuration example of various servers included in the Internet 3> Next, a configuration example of various servers included in the Internet 3 will be described with reference to FIGS. 4 and 5. FIGS. 4 and 5 are block diagrams showing an example of the configuration of various servers included in the Internet 3 according to the present embodiment.

[0093] - Configuration example of the service server 310 First, a configuration example of the service server 310 will be described. An example of the configuration of the service server 310 is shown in the upper part of FIG. 4. The service server 310 includes a control unit 311, a communication unit 312, and a storage unit 313.

[0094] (Control unit 311) The control unit 311 functions as an arithmetic processing device and a control device, and controls the overall operations within the service server 310 according to various programs. The control unit 311 is realized by an electronic circuit such as a CPU or a microprocessor, for example. Note that the control unit 311 may include a ROM that stores programs and arithmetic parameters to be used, and a RAM that temporarily stores parameters that change as appropriate.

[0095] (Communication unit 312) The communication unit 312 is a communication module for transmitting and receiving data to and from other devices. The communication unit 312 performs communication compliant with any wired or wireless communication standard. As an example, the communication unit 312 receives information regarding a video distribution service from each UE 110. For example, the communication unit 312 receives the user's login information and the selection information of the video that the user wishes to distribute. Also, the communication unit 312 transmits the user's login information to the authentication server 320. Then, the communication unit 312 receives from the authentication server 320 information as to whether or not the login information matches the login information of a pre-registered user.

[0096] (Memory unit 313) The memory unit 313 is a device for storing information. The memory unit 313 is constituted by any storage medium such as an HDD, an SSD, or a flash memory. The memory unit 313 stores information for the operation of the service server 310. Also, the memory unit 313 has a content information management unit 314.

[0097] (Content information management unit 314) The content information management unit 314 manages content information which is information about videos that a user can view as content. For example, the content information includes a content name, an identification name of the upload server 410 where the content is stored, and a URL (Uniform Resource Locator) of the content.

[0098] - Configuration example of the data collection server 330 Subsequently, a configuration example of the data collection server 330 will be described. A configuration example of the data collection server 330 is shown in the lower part of FIG. 4. The data collection server 330 includes a control unit 331, a communication unit 333, and a memory unit 334.

[0099] (Control unit 331) The control unit 331 functions as an arithmetic processing unit and a control device, and controls the overall operations within the data collection server 330 according to various programs. The control unit 331 is realized by an electronic circuit such as a CPU or a microprocessor, for example. Note that the control unit 331 may include a ROM that stores programs and arithmetic parameters to be used, and a RAM that temporarily stores parameters that change as appropriate.

[0100] (Delay time calculation unit 332) Furthermore, the control unit 331 has a delay time calculation unit 332. The delay time calculation unit 332 calculates the transmission delay time (hereinafter, also simply referred to as "delay time") of the data transmitted from the upload server 410 to each UE 110 from the transmission logs and reception logs collected from each device. Details of the calculation of the delay time will be described later.

[0101] (Communication unit 333) The communication unit 333 is a communication module for transmitting and receiving data to and from other devices. The communication unit 333 performs communication compliant with any wired or wireless communication standard. The communication unit 333 acquires transmission and reception logs from each device. For example, the communication unit 333 acquires UE reception logs from each UE 110. Also, the communication unit 333 acquires an upload server transmission log from the upload server 410. Also, the communication unit 333 acquires a data relay server reception log and a data relay server transmission log from the data relay server 420.

[0102] (Storage unit 334) The storage unit 334 is a device that stores information. The storage unit 334 is composed of an arbitrary storage medium such as an HDD, an SSD, or a flash memory. The storage unit 334 stores information for the operation of the data collection server 330. Also, the storage unit 334 has a transmission / reception data management unit 335.

[0103] (Transmission / reception data management unit 335) The transmission / reception data management unit 335 stores the transmission logs and reception logs received by the communication unit 333 from each device. The delay time calculation unit 332 extracts the transmission logs and reception logs regarding the same data from among the transmission logs and reception logs stored in the transmission / reception data management unit 335, and calculates the delay time.

[0104] - Configuration example of the synchronous viewing control server 340 First, a configuration example of the synchronous viewing control server 340 will be described. FIG. 5 shows a configuration example of the synchronous viewing control server 340. The synchronous viewing control server 340 includes a control unit 341, a communication unit 343, and a storage unit 344.

[0105] (Control unit 341) The control unit 341 functions as an arithmetic processing device and a control device, and controls the overall operations within the synchronous viewing control server 340 according to various programs. The control unit 341 is realized by, for example, an electronic circuit such as a CPU or a microprocessor. Note that the control unit 341 may include a ROM that stores programs and arithmetic parameters to be used, and a RAM that temporarily stores parameters that change as appropriate.

[0106] (Adjustment time calculation unit 342) Also, the control unit 341 has an adjustment time calculation unit 342. The adjustment time calculation unit 342 calculates the adjustment time for each UE110 based on the delay time from the upload server 410 to each UE110 that the communication unit 343 has acquired from the data collection server 330. Details of the calculation of the adjustment time will be described later.

[0107] (Communication unit 343) The communication unit 343 is a communication module for transmitting and receiving data to and from other devices. The communication unit 343 performs communication compliant with any wired or wireless communication standard. For example, the communication unit 343 receives the delay time from the data collection server 330 from the upload server 410 to each UE110. Also, the communication unit 343 transmits the adjustment time for each UE110 to the nearest data relay server 420 of the UE110 for which the adjustment time has been calculated.

[0108] (Memory unit 344) The memory unit 344 is a device that stores information. The memory unit 344 is composed of any storage medium such as an HDD, an SSD, or a flash memory. The memory unit 344 stores information for the operation of the synchronous viewing control server 340. Further, the memory unit 344 includes a UE-EDC management unit 345, a group management unit 346, a user management unit 347, and a data relay server management unit 348.

[0109] (UE-EDC management unit 345) The UE-EDC management unit 345 stores the correspondence between each UE 110 and the nearest data relay server 420 to the UE 110.

[0110] (Group management unit 346) The group management unit 346 stores information regarding the group to which each UE 110 belongs. The group management unit 346 manages by belonging the UEs 110 for which video distribution is synchronized to the same group.

[0111] (User management unit 347) The user management unit 347 manages information about the users of each UE 110. For example, the user management unit 347 may manage the user ID of each user, the identification number of the group to which each user belongs, the IP address and port number of each UE 110, and the like.

[0112] (Data relay server management unit 348) The data relay server management unit 348 manages the distribution path of video data from the upload server 410 to each data relay server 420E. More specifically, the data relay server management unit 348 may manage the IP addresses of the data relay servers 420 included in the distribution path of video data from the upload server 410 to each data relay server 420E.

[0113] <2-3. Operation example> Next, an operation example of the system 1 according to the first embodiment of the present invention will be described.

[0114] Figure 6 is a flowchart showing an example of the operation flow of the system 1 according to the first embodiment of the present invention. As shown in Figure 6, the operation of the system 1 according to the first embodiment of the present invention includes the following steps: (S1) transmitting video data from the AMR 100, (S2) user login processing, (S3) setting up video data relay, (S4) measuring the delay time, (S5) calculating the group delay amount, (S6) setting the adjustment time, and (S7) relaying the video data.

[0115] Hereinafter, each of these steps will be described with reference to Figures 7 to 18.

[0116] (S1) Transmitting video data from the AMR 100 Figure 7 is a sequence diagram showing an example of the operation flow in step S1 of the flowchart shown in Figure 6 by the system 1. First, the AMR 100 establishes a session with the network provided by the base station 51. Then, the AMR 100 requests the DNS (Domain Name System) server to perform name resolution with the FQDN (Fully Qualified Domain Name) of the upload server 410 as an argument (step S101). The DNS server is a name resolution server that responds to the name resolution request received from the client. Although not shown in Figure 1, the DNS server is installed in the CN4. The AMR 100 requests name resolution from the nearest DNS server (local DNS server) in the CN4. Note that the FQDN of the upload server 410 may be obtained, for example, by the FQDN specified by the CDN operator being input by the service provider.

[0117] The DNS server that has received the name resolution request from the AMR 100 performs name resolution of the FQDN of the upload server 410 and responds with the IP address corresponding to the FQDN (step S102).

[0118] The AMR100 uploads the video data to the upload server 410 by sending the video data taken to the IP address obtained from the DNS server (step S103). Here, the content name of the video data is sent together with the video data. The AMR100 may send the previously taken video data, or may upload the video being taken in real time.

[0119] When the communication unit 412 of the upload server 410 receives the video data, the control unit 411 stores the video data in the video data storage unit 414 in association with the content name. When the storage of the video data in the video data storage unit 414 is completed, the control unit 411 sends "OK" indicating that the storage of the video data has been successful from the communication unit 412 to the AMR100 (step S104).

[0120] Subsequently, the control unit 411 controls the communication unit 412 to notify the service server 310 of the content name of the video data and the URL indicating the storage location of the content (step S105).

[0121] When the communication unit 312 of the service server 310 receives the content name and the URL, the control unit 311 stores the content information including the identification name of the upload server 410, the content name, and the URL where the video data is stored in the content information management unit 314. When the storage of the video data in the content information management unit 314 is completed, the control unit 311 sends "OK" indicating that the storage of the content information has been successful from the communication unit 312 to the upload server 410 (step S106).

[0122] (S2) User login process FIG. 8 is a sequence diagram showing an example of the operation flow in step S2 of the flowchart shown in FIG. 6 by the system 1.

[0123] First, the user inputs login information on the login screen of the distribution service displayed on UE110. The communication unit 112 of UE110 makes a login request to the service server 310 by transmitting the input login information (step S201).

[0124] The control unit 311 of the service server 310 controls the communication unit 312 to request user authentication from the authentication server 320 with the login information received by the communication unit 312 as an argument (step S202).

[0125] The authentication server 320 executes user authentication by checking whether login information matching the login information received from the service server 310 is stored in the login information database (step S203). Here, it is assumed that login information matching the login information is stored, that is, user authentication is successful.

[0126] When the user authentication is successful, the authentication server 320 transmits "OK" indicating that the user authentication is successful to the service server 310 (step S204).

[0127] When the communication unit 312 of the service server 310 receives "OK" from the authentication server 320, the control unit 311 generates content page information for displaying a content page showing a list of content that the user can view (i.e., content that can be distributed to UE110) based on the information stored in the content information management unit 314. The content page may be, for example, a page including a list of content names. The content page information includes the content name and the content URL. Then, the control unit 311 controls the communication unit 312 to transmit the content page information to UE110 (step S205).

[0128] The operation display unit 115 of the UE 110 displays a content page based on the content page information received by the communication unit 112 from the service server 310. Then, the operation display unit 115 receives an input of selection of content desired to be viewed by the user from a list of viewable content displayed on the content page. The control unit 111 acquires the content URL of the selected content from the content page information (step S206). The control unit 111 of the UE 110 notifies the acquired content URL to the service server 310 (step S207).

[0129] The control unit 311 of the service server 310 controls the communication unit 312 to transmit the content URL received by the communication unit 312, the user ID of the user of the UE 110 which is the transmission source of the content URL, the IP address and port number of the UE 110 to the synchronous viewing control server 340 (step S208).

[0130] When the communication unit 343 of the synchronous viewing control server 340 receives the above information, the control unit 341 identifies the IP address of the local DNS server of the UE 110 and the IP address of the nearest data relay server 420E, and updates the UE-EDC correspondence table stored in the UE-EDC management unit 345 (step S209). Note that each IP address may be identified by a server (not shown) managed by a CDN operator at the timing when the user's authentication is successful. The synchronous viewing control server 340 can acquire each IP address from such a server.

[0131] FIG. 9 is a diagram showing an example of information stored in the synchronous viewing control server 340. An example of the UE-EDC correspondence table managed by the UE-EDC management unit 345 is shown in the upper part of FIG. 9. The UE-EDC correspondence table 3451 managed by the UE-EDC management unit 345 includes the IP address of the local DNS server of each UE 110 and the IP address of the nearest data relay server 420E. For example, the UE-EDC correspondence table 3451 indicates that the IP address of the local DNS server of the UE 110 used by a user with a user ID of "10027" is "200.100.100.1", and the IP address of the nearest data relay server 420E is "200.100.200.10".

[0132] The control unit 341 of the synchronous viewing control server 340 extracts the FQDN of the upload server 410 and the path name of the content from the content URL. Then, the control unit 341 determines whether a group of users who receive the distribution of the content selected by the user already exists. For example, the control unit 341 may execute the determination by referring to the group management table managed by the group management unit 346.

[0133] An example of the group management table managed by the group management unit 346 is shown in the middle part of FIG. 9. As shown in FIG. 9, the group management table 3461 includes a group ID for identifying a group, the FQDN of the upload server 410, and the path name of the content. For example, the group management table 3461 indicates that the group with a group ID of "001" is a group to which the UE 110 that receives the video data stored in " / path1 / content1" of the upload server 410 with an FQDN of "uploader1.zoo.co.jp" as content belongs.

[0134] When the combination of the FQDN of the upload server 410 and the content path name extracted from the content URL acquired from the service server 310 is not included in the group management table 3461, the control unit 341 updates the group management table 3461 (step S210). Specifically, the control unit 311 stores in the group management table 3461 by associating a newly generated group ID with the combination of the FQDN of the upload server 410 and the content path name. When the above combination is already included in the group management table 3461, the process of step S210 is skipped.

[0135] Furthermore, the control unit 341 associates the user from whom the communication unit 343 acquired various information from the service server 310 in step S208 with the group corresponding to the content selected by the user. More specifically, the control unit 341 associates the group corresponding to the content URL acquired in step S208 with the user (that is, the UE110) and updates the user management table managed by the user management unit 347 (step S211). By such processing, it is possible to make the UE110s receiving the distribution of the same video belong to the same group.

[0136] An example of the user management table managed by the user management unit 347 is shown in the lower part of FIG. 9. As shown in FIG. 9, the user management table 3471 includes a user ID, the group to which the user of the user ID belongs (that is, the group to which the UE110 used by the user belongs), the IP address of the UE110, and the port number. For example, in step S208, it is assumed that a content URL including the user ID "10027", the IP address "410.10.10.1" and the port number "100" of the UE110, and "uploader1.zoo.co.jp / path1 / content1 / " is acquired. In this case, the control unit 341 refers to the group management table 3461 to identify "Group 1" corresponding to the content URL, and stores it in association with the above user ID, the IP address and the port number of the UE110 as shown in the second row of the user management table 3471.

[0137] When the update of each management table is completed, the control unit 341 controls the communication unit 343 to send "OK" indicating that the update of the management table is completed to the upload server 410 (step S212). The control unit 411 of the upload server 410 controls the communication unit 412 to send "OK" indicating that the selection of the content has been accepted to the UE 110 (step S213).

[0138] The system 1 executes the process of step S2 for all users who log in to the service server 310 and select the content to be viewed.

[0139] (S3) Relay setting of video data FIG. 10 is a sequence diagram showing an example of the operation flow in step S3 of the flowchart shown in FIG. 6 by the system 1.

[0140] First, the control unit 341 of the synchronous viewing control server 340 extracts the group ID corresponding to the UE 110 for each UE 110 belonging to the group, that is, for which information is stored in the user management table 3471. Then, the control unit 341 refers to the group management table 3461 and extracts the FQDN of the upload server 410 corresponding to the extracted group ID, thereby obtaining the FQDN of the upload server 410 corresponding to each UE 110 (S301).

[0141] The control unit 341 controls the communication unit 343 to request the DNS server (not shown in FIG. 1) to perform name resolution of the obtained FQDN of each upload server 410 (step S302). The DNS server is included in CN4.

[0142] The DNS server that has received the name resolution request from the synchronous viewing control server 340 performs name resolution of the FQDN of the upload server 410 and responds with the IP address corresponding to the FQDN (step S303).

[0143] The control unit 341 of the simultaneous viewing control server 340 refers to the UE-EDC correspondence table 3451 and extracts the IP address of the nearest data relay server 420E for each UE 110 (step S304).

[0144] The control unit 341 of the simultaneous viewing control server 340 requests the carrier NW management server 430 for the communication path between the upload server 410 and the data relay server 420E (step S305). Here, for each UE 110, the control unit 341 uses the IP address of the upload server 410 corresponding to the group to which the UE 110 belongs, which is obtained from the DNS server, and the IP address of the nearest data relay server 420E for the UE 110 extracted from the UE-EDC correspondence table 3451 as arguments. Note that when the combination of the upload server 410 and the data relay server 420E corresponding to each UE 110 overlaps, the control unit 341 may request the communication path for the overlapping combination at least once.

[0145] In response to the received path request, the carrier NW management server 430 identifies the communication path between each upload server 410 and the data relay server 420E, and transmits the identified communication path to the simultaneous viewing control server 340 (step S306). More specifically, the carrier NW management server 430 transmits, as the communication path, a list of the IP addresses of the data centers that are between the upload server 410 and the data relay server 420E and can communicate with each other.

[0146] Subsequently, the control unit 341 of the simultaneous viewing control server 340 controls the communication unit 343 and requests the communication unit 343 to set the received communication path as the distribution path for each video data to each server. More specifically, the control unit 341 controls the communication unit 343 to transmit a path setting request to each server so as to set the relay destination of the data from each server in the communication path as the relay destination of the distributed video data.

[0147] First, for each distribution path, the control unit 341 makes a relay destination setting request to the upload server 410, using as an argument the IP address of the data relay server 420 that relays the video data of the upload server 410 in the distribution path from the upload server 410 to the UE 110 (step S307). However, when the data relay servers 420 that are relay destinations of the video data distributed to the UEs 110 belonging to the same group overlap, the control unit 341 may make at least one relay destination setting request using as an argument the IP address of the overlapping data relay server 420 that is the relay destination.

[0148] When the control unit 411 of the upload server 410 makes a relay destination setting in response to the relay destination setting request received by the communication unit 412, it transmits "OK" indicating that the relay destination setting has been successful from the communication unit 412 to the synchronous viewing control server 340 (step S308).

[0149] Subsequently, for each distribution path, the control unit 341 of the synchronous viewing control server 340 makes a relay destination setting request to each data relay server 420 (420a to 420n) included in the distribution path from the upload server 410 to the UE 110, using as an argument the IP address of the data relay server 420 or the UE 110 that is the relay destination of the video data of each data relay server 420 (420a to 420n) (steps S309a to n). Here, a to n are integers, and a to n are set according to the distribution path. Here, when the data relay servers 420 that are relay destinations of the video data distributed to the UEs 110 belonging to the same group overlap, the control unit 341 may make at least one relay destination setting request using as an argument the IP address of the overlapping data relay server 420 that is the relay destination.

[0150] When the control unit 421 of each data relay server 420 (420a to 420n) makes a relay destination setting in response to the relay destination setting request received by the communication unit 422, it transmits "OK" indicating that the relay destination setting has been successful from the communication unit 422 to the synchronous viewing control server 340 (steps S310a to n).

[0151] The control unit 341 of the simultaneous viewing control server 340 updates the data relay server route management table stored in the data relay server management unit 348 (step S311). FIG. 11 shows an example of the data relay server route management table stored in the data relay server management unit 348. The data relay server route management table 3481 stores the distribution routes to each UE 110 of the destination for each upload server 410. For example, in FIG. 11, it is shown that the IP addresses of each data relay server 420 and UE 110 included in the distribution route from the upload server 410 to a certain UE 110 are "X.X.X.X", "Y.Y.Y.Y",...

[0152] (S4) Measurement of delay time FIG. 12 is a diagram showing an example of the data flow in step S4 of the flowchart shown in FIG. 6 by the system 1. FIG. 13 is a sequence diagram showing an example of the operation flow in step S4 of the flowchart shown in FIG. 6 by the system 1.

[0153] In step S4, the delay time of data transmission is measured for each UE 110. As an example, as shown in FIG. 12, the delay time for UE 110-2 is measured based on the transmission and reception logs collected by the data collection server 330 from the upload server 410, the data relay server 420E-1, and UE 110-2.

[0154] Here, the process of step S4 is performed after the distribution of video data according to the distribution route set up to step S3 is started.

[0155] When the data transfer module MD410 of the upload server 410 receives video data from the communication unit 412, it transmits an upload server transmission log to the data collection server 330 (step S401). The upload server transmission log indicates the transmission time of the communication unit 412 for the video packets constituting the video data. Note that the video packets transmitted to the UE 110 closest to a certain data relay server 420E are an example of the first data for the data relay server 420E. Note that the video packets transmitted to the UE 110 not closest to a certain data relay server 420E are an example of the second data for the data relay server 420E.

[0156] More specifically, the data transfer module MD410 may transmit an upload server transmission log at a predetermined interval according to the sequence number of the video packets constituting the video data. The predetermined interval may be, for example, 1000 packets. For example, the data transfer module MD410 may transmit an upload server transmission log for video packets whose lower three digits of the sequence number are "001".

[0157] When the delay time calculation unit 332 of the data collection server 330 receives an upload server transmission log from the communication unit 333, it stores the upload server transmission log in the transmission / reception data management unit 335 (step S402). Note that the time indicated by the upload server transmission log is an example of the first time.

[0158] Subsequently, when the data transfer modules MD420 (MD420-a to MD420-n) of the data relay servers 420E (420E-a to 420E-n) closest to each UE 110 to which the video data is distributed receive the video data by the communication unit 422, they transmit a data relay server reception log to the data collection server 330. Also, when the video data is transmitted from the communication unit 422, the data transfer module MD420 of each data relay server 420E transmits a data relay server transmission log to the data collection server 330 (steps S403a to n).

[0159] More specifically, when video packets corresponding to the upload server transmission logs transmitted in step S401 are transmitted and received, the data transfer module MD420 transmits the data relay server reception logs and the data relay server transmission logs. The data transfer module MD420 transmits the data relay server reception logs and the data relay server transmission logs for the video packets corresponding to the upload server transmission logs by referring to the sequence numbers. For example, the data transfer module MD420 may transmit the data relay server reception logs and the data relay server transmission logs for the video packets whose lower three digits of the sequence number are "001" when the data transfer module MD410 transmits the upload server transmission logs. Note that the time represented by the data relay server reception log is an example of the third time. Also, the time represented by the data relay server transmission log is an example of the second time.

[0160] When the communication unit 333 of the data collection server 330 receives the data relay server reception logs and the data relay server transmission logs from each data relay server 420E, the delay time calculation unit 332 of the data collection server 330 stores the data relay server reception logs and the data relay server transmission logs in the transmission / reception data management unit 335 (steps S404a to n).

[0161] Subsequently, when the data transfer module MD110 (MD110-a to MD110-m) of each UE110 (110-a to 110E-m) to which video data is delivered receives the video data from the communication unit 112, it transmits the UE reception log to the data collection server 330 (steps S405a to m). Note that a to m are integers, and a to m are set according to the distribution path. Specifically, the data transfer module MD110 transmits the UE reception log when a video packet corresponding to the upload server transmission log transmitted in step S401 is transmitted and received. The data transfer module MD110 transmits the UE reception log for the video packet corresponding to the upload server transmission log by referring to the sequence number. For example, the data transfer module MD110 may transmit the UE reception log for a video packet whose last three digits of the sequence number are "001" when the data transfer module MD410 transmits the upload server transmission log. Note that the time represented by the UE reception log is an example of the fourth time.

[0162] When the delay time calculation unit 332 of the data collection server 330 receives the UE reception log from each UE110 via the communication unit 333, it stores the UE reception log in the transmission / reception data management unit 335 (steps S406a to m).

[0163] Subsequently, the delay time calculation unit 332 calculates the delay time of the video data for each UE110. Note that the delay time of the UE110 closest to the data relay server 420E is the first transmission delay time with respect to the data relay server 420E. Also, the delay time of the UE110 not closest to the data relay server 420E is the second transmission delay time with respect to the data relay server 420E. A specific method for calculating the delay time will be described with reference to FIG. 14. FIG. 14 is a diagram for explaining a method for calculating the delay time of video data for each UE110.

[0164] First, the delay time calculation unit 332 extracts the upload server transmission log, data relay server reception log, data relay server transmission log, and UE reception log for the same video packet stored in the transmission / reception data management unit 335. Here, as shown in FIG. 14, assume that the upload server transmission log, data relay server reception log, data relay server transmission log, and UE reception log represent the transmission time T1, reception time T2, transmission time T3, and reception time T4, respectively.

[0165] The delay time calculation unit 332 calculates, as the DC - to - DC transmission time ν, which is the transmission time from the upload server 410 to the data relay server 420E, the time from the transmission time T1 to the reception time T2 from the extracted transmission / reception logs.

[0166] Also, the delay time calculation unit 332 calculates, as the EDC - to - UE transmission time μ, which is the transmission time from the data relay server 420E to the UE 110, the time from the transmission time T3 to the reception time T4.

[0167] Then, the delay time calculation unit 332 calculates, as the delay time for the UE 110, the time obtained by adding the DC - to - DC transmission time ν corresponding to the UE 110 and the EDC - to - UE transmission time μ. The delay time calculation unit 332 stores in the transmission / reception data management unit 335 the IP address and port number of the upload server 410 serving as the distribution source for each UE 110, the time represented by the UE reception log, the IP address and port number of the UE 110, and the delay time (step S407).

[0168] Here, an example has been described in which the delay time is calculated based on video packets of a video distributed as content. However, the data used for calculating the delay time is not limited to this. More specifically, as long as it is a packet transmitted from the upload server 410 via the data relay server 420E to the UE 110 on the same communication path as the distribution path of the video distributed as content, packets other than video packets may be used. For example, the delay time may be calculated based on the packets constituting the ping transmitted as preprocessing before the start of video distribution. Also, the delay time may be calculated based on the video packets of the CM (Commercial Message) video distributed to each UE 110 before the distribution of the video that is the content.

[0169] (S5) Calculation of group delay amount FIG. 15 is a sequence diagram showing an example of the operation flow in step S5 of the flowchart shown in FIG. 6 by the system 1.

[0170] In step S5, the synchronization viewing control server 340 calculates the group delay amount used to synchronize the distribution of content to the UEs 110 belonging to the same group.

[0171] First, the adjustment time calculation unit 342 of the synchronization viewing control server 340 controls the communication unit 343 to send a request for a plurality of most recent delay times for each UE 110 belonging to each group to the data collection server 330 (step S501).

[0172] When the control unit 331 of the data collection server 330 receives a request for the delay time by the communication unit 333, it extracts a plurality of most recently calculated delay times for each UE 110 of each group stored in the transmission / reception data management unit 335. Then, the control unit 331 controls the communication unit 333 to transmit a list of the delay times for each extracted UE 110 to the synchronization viewing control server 340 (step S502).

[0173] The adjustment time calculation unit 342 of the simultaneous viewing control server 340 calculates the average value and jitter of the delay times included in the list based on the list of delay times for each UE received by the communication unit 343. Further, the adjustment time calculation unit 342 calculates the sum value obtained by adding the average value of the delay times of each UE 110 and the jitter. Then, for each group, the adjustment time calculation unit 342 sets the maximum sum value among the sum values of the above for the UEs 110 belonging to the group as the group delay amount (step S503). The group delay amount is the reference time for synchronizing the distribution of videos among the UEs 110 belonging to the same group.

[0174] (S6) Setting of adjustment time FIG. 16 is a diagram showing an example of the data flow in step S6 of the flowchart shown in FIG. 6 by the system 1. FIG. 17 is a sequence diagram showing an example of the operation flow in step S6 of the flowchart shown in FIG. 6 by the system 1.

[0175] In step S6, as shown in FIG. 16, for each nearest data relay server 420E (420E-1, 420E-2, 420E-4, and 420E-5) to each UE 110 to which video data is distributed, the adjustment time for the UE 110 that is the transmission destination of the video data is set. For example, the adjustment time for UE 110-2 is set in the data relay server 420E-1.

[0176] First, the adjustment time calculation unit 342 of the simultaneous viewing control server 340 calculates the adjustment time for each UE 110 belonging to each group (step S601). The adjustment time may be calculated by subtracting the delay time of the UE 110 from the group delay amount of the group to which the UE 110 belongs. More specifically, the adjustment time is set as the adjustment time Δ from the reception time T2 to the transmission time T3 in FIG. 14.

[0177] The control unit 341 refers to the data relay server route management table 3481 stored in the data relay server management unit 348 to obtain the IP address of the nearest data relay server 420E for each UE 110. Then, the control unit 341 uses each of the obtained IP addresses of the data relay servers 420E (420-a to 420-n) as the destination to send a setting request for the adjustment time of the corresponding UE 110 (steps S602a to n). The setting request for the adjustment time of the corresponding UE 110 includes the adjustment time calculated in step S601.

[0178] When the communication unit 422 of each data relay server 420E receives a setting request for the adjustment time, the control unit 421 of the data relay server 420E controls the storage of the adjustment time of each UE 110, for which it is the nearest data relay server 420E, in the adjustment time management unit 424. Note that the UE 110 for which the data relay server 420E is the nearest is the first user terminal for the data relay server 420E. Then, when the storage of the adjustment time is completed, the control unit 421 controls the communication unit 422 to send "OK", indicating that the setting of the adjustment time has been successful, to the synchronization viewing control server 340 (steps 603a to n).

[0179] (S7) Relay of video data FIG. 18 is a sequence diagram showing an example of the operation flow in step S7 of the flowchart shown in FIG. 6 by the system 1.

[0180] First, the control unit 411 of the upload server 410 controls the communication unit 412 to send video data to the data relay server 420-a that relays the video data according to the relay destination setting (step S701). The communication unit 412 may send the video data using a protocol such as RTP (Real-time Transport Protocol) or secure RTP, or other real-time video distribution protocols.

[0181] When the control unit 421 of the data relay server 420-a receives video data, it controls the communication unit 422 to transmit the video data to the data relay server 420-b that relays the video data according to the relay destination setting (step S702-a).

[0182] Subsequently, each data relay server 420 (420-b to 420-p) included in the distribution path of the video data receives the video data from the data relay server 420 of the relay source, and controls the communication unit 422 to transmit the video data to each data relay server 420 that relays the video data according to the relay destination setting (steps S702-b to p). More specifically, the video data is relayed to the data relay server 420E. Here, a, b to p are integers, and a to p are set according to the distribution path.

[0183] When the communication unit 422 of the nearest data relay server 420E of the UE110 receives a video from the data relay server 420-p, the control unit 421 controls to delay the transmission of the video data by temporarily storing the video data in the buffer unit 427 (step S703).

[0184] Then, after the video data is received by the communication unit 422, when the adjustment time corresponding to the UE110 managed by the adjustment time management unit 424 has elapsed, the control unit 421 controls the communication unit 422 to transmit the video data stored in the buffer unit 427 to the UE110 (step S704). Generally, since the server can have a larger buffer than the user terminal, even when the adjustment time is large, it can be easily implemented to cause the relay server 420 to perform such control.

[0185] The control unit 111 of UE110 performs decoding processing on the video data received by the communication unit 112 and controls the operation display unit 115 to display the video (step S705). By executing the processes of steps S701 to S705 for each UE110, the distribution of the video to the UE110 belonging to the same group is synchronized. Specifically, the video is played back on each UE110 at the timing when the time corresponding to the group delay amount has elapsed since the time when the upload server 410 distributed the video. Here, when there are a plurality of UE110 closest to the same data relay server 420E, the control unit 421 of the data relay server 420E controls the communication unit 422 to transmit the video data after delaying it by the corresponding adjustment time for each of the plurality of UE110. Thereby, even when the plurality of UE110 belong to different groups, the control unit 421 of the data relay server 420E can transmit different contents after delaying them respectively.

[0186] The above has described each step of the flowchart in FIG. 6. Among the steps described so far, steps S4 to S7 can be repeated. The processes of steps S4 to S7 may be executed at a predetermined interval. For example, based on the transmission and reception logs transmitted from each data transfer module MD to the data collection server 330 at a predetermined interval, the adjustment time may be calculated by the synchronization viewing control server 340 at a predetermined interval. Then, the calculated adjustment time may be transmitted from the synchronization viewing control server 340 to the data relay server 420E at a predetermined interval. The predetermined interval may be represented by, for example, the number of packets. When steps S4 to S7 are repeated, transmission and reception logs may be transmitted from the upload server 410, the data relay server 420E, and the data transfer module MD of the UE110 to the data collection server 330 according to the transmission and reception of the video data transmitted in step S7. That is, the processes of step S7 and step S4 can be executed in parallel.

[0187] By repeating the processes of steps S4 to S7, even if the state of each network changes and the delay time for each UE110 changes, the dynamic adjustment time is changed, so that the synchronization of video delivery can be maintained. For example, a network failure may occur in a part of the mobile communication network 2, resulting in a detour of the delivery path. In this case, a UE110 with a large delay time may occur among the plurality of UE110 belonging to the group. Here, by dynamically changing the adjustment time, the synchronization of video delivery can be maintained. Further, when the network is restored, it is assumed that the delivery path returns to the path before the occurrence of the network failure, and the delay time of the UE110 returns to the time before the occurrence of the network failure. Even in such a case, by dynamically changing the adjustment time, the synchronization of video delivery can still be maintained.

[0188] <2-4. Summary> According to the configuration described above, since the data collection server 330 measures the delay time of each UE110, the UE110 does not need to collect the delay time. Therefore, compared with the conventional content synchronization method using the MMT method, the implementation of the upload server 410 and the UE110, which are the content delivery sources, becomes easier, and the loads on the upload server 410 and the UE110 are reduced.

[0189] In addition, by using the buffer of the data relay server 420E for delay adjustment, even when a UE110 with a large delay time, which is located farther from other UE110 in the group, belongs to the group, compared with the case where the UE110 has a buffer, the synchronization of video delivery can be realized.

[0190] Furthermore, according to the configuration according to the present embodiment, the upload server 410 and the UE110 do not require the implementation of a special protocol and can use software for the generally used RTP protocol, so that the synchronization of video delivery can be realized at low cost.

[0191] Also, according to the configuration according to the present embodiment, by setting a group for each video, even when there are a plurality of videos to be distributed, the distribution of the UE 110 receiving the distribution of the same video is synchronized. Further, according to the configuration according to the present embodiment, even when the nearest data relay server 420E is different, it is possible to synchronize the distribution of the UE 110 belonging to the same group.

[0192] <<3. Second Embodiment>> <3-1. Overview> Next, a second embodiment of the present invention will be described. In the second embodiment of the present invention, the method for calculating the delay time is different from that in the first embodiment. Here, among the configurations of the system according to the second embodiment of the present invention, the configurations different from those of the system 1 according to the first embodiment of the present invention will be mainly described, and the detailed description of the configurations the same as those of the system 1 according to the first embodiment of the present invention will be omitted.

[0193] First, a configuration example of the system 11 according to the second embodiment of the present invention will be described. FIG. 19 is a diagram showing an example of the configuration of the system 11 according to the present embodiment. The system 11 includes a mobile communication network 12 and the Internet 13. The mobile communication network 12 includes a CN 14. The Internet 13 has an AN (Autonomous Network) data collection server 350 in addition to the Internet 3 according to the first embodiment. Further, the Internet 13 has a data collection server 3301 and a synchronized viewing control server 3401 instead of the data collection server 330 and the synchronized viewing control server 340 according to the first embodiment. The data collection server 3301 calculates the delay time for the UE 110 by a method different from that of the data collection server 330. Further, the synchronized viewing control server 3401 calculates the group delay time and the adjustment time for each UE 110 by a method different from that of the synchronized viewing control server 340.

[0194] Further, the CN 14 has an AN (Autonomous Network) controller 440 in addition to the CN 4 according to the first embodiment.

[0195] CN14 according to the second embodiment of the present invention is an autonomous network that autonomously recovers from failures according to the control by the AN controller 440. The AN controller 440 is a device that constantly monitors the network within the CN4. The AN controller 440 autonomously recovers from failures that occur within the CN4. Further, when a failure occurs within the CN4, the AN controller 440 manages the communication path so as to avoid the failure and detour until the failure is recovered. Also, when no failure has occurred, the AN controller 440 controls the communication within the CN4 so as to transmit each data through a communication path with a shorter transmission time based on the measurement result of the transmission time between each data center.

[0196] The AN data collection server 350 is a server that collects the transmission time between each data center by the AN controller 440.

[0197] <3-2. Configuration example> Subsequently, a configuration example of each device according to this embodiment will be described.

[0198] - Configuration example of the data collection server 3301 FIG. 20 is a block diagram showing an example of the configuration of the data collection server 3301 and the synchronous viewing control server 3401. As shown in the upper part of FIG. 20, the data collection server 3301 includes a control unit 3311 instead of the control unit 331 of the data collection server 330 according to the first embodiment. The control unit 3311 is different from the control unit 331 in that it has a delay time calculation unit 3321. The delay time calculation unit 3321 calculates the delay time for the UE110 by a method different from that of the delay time calculation unit 332. The method for calculating the delay time will be described later.

[0199] - Configuration example of the synchronous viewing control server 3401 As shown in the lower part of FIG. 20, the synchronous viewing control server 3401 includes a control unit 3411 instead of the control unit 341 of the synchronous viewing control server 340 according to the first embodiment. The control unit 3411 is different from the control unit 341 in that it has an adjustment time calculation unit 3421. The adjustment time calculation unit 3421 calculates the group delay time of each group and the adjustment time for each UE110 by a method different from that of the adjustment time calculation unit 342. The calculation methods of the group delay time and the adjustment time for each UE110 will be described later.

[0200] -Configuration example of the data collection server 350 for AN FIG. 21 is a block diagram showing an example of the configuration of the data collection server 350 for AN. The data collection server 350 for AN includes a control unit 351, a communication unit 352, and a storage unit 353.

[0201] (Control unit 351) The control unit 351 functions as an arithmetic processing device and a control device, and controls the overall operation within the data collection server 350 for AN according to various programs. The control unit 351 is realized by an electronic circuit such as a CPU or a microprocessor, for example. Note that the control unit 351 may include a ROM that stores programs and arithmetic parameters to be used, and a RAM that temporarily stores parameters that change as appropriate.

[0202] (Communication unit 352) The communication unit 352 is a communication module for transmitting and receiving data to and from other devices. The communication unit 352 performs communication compliant with any wired or wireless communication standard. The communication unit 352 collects the transmission time between each data center from the AN controller 440.

[0203] (Storage unit 353) The storage unit 353 is a device that stores information. The storage unit 353 is configured by an arbitrary storage medium such as an HDD, an SSD, or a flash memory. The storage unit 353 stores information for the operation of the data collection server 350 for AN. Further, the storage unit 353 has a transmission time storage unit 354.

[0204] (Transmission time storage unit 354) The transmission time storage unit 354 stores the transmission time between each data center received by the communication unit 352.

[0205] <3-2. Operation example> Next, an operation example according to the second embodiment will be described. In the second embodiment, operations are executed according to the flowchart shown in FIG. 6. Here, in steps S1 to S3 and S7, processes similar to those described in the operation example of the first embodiment in detail may be executed. Therefore, the details of steps S4 to S6 will be described below.

[0206] (S4) Measurement of delay time FIG. 22 is a diagram showing an example of the data flow in step S4 of the flowchart shown in FIG. 6 by the system 11. FIG. 23 is a sequence diagram showing an example of the operation flow in step S4 of the flowchart shown in FIG. 6 by the system 11.

[0207] In step S4 by the system 11, for each UE 110, the delay time of data is measured. In this embodiment, as shown in FIG. 22, for example, the delay time for UE 110-2 is calculated based on the transmission and reception logs collected by the data collection server 3301 from the data relay server 420E-1 and UE 110-2, and the transmission time between each data center provided by the AN controller 440 to the AN data collection server 350.

[0208] First, the AN controller 440 transmits the transmission time between each data center to the AN data collection server 350 (step S1401). More specifically, the AN controller 440 measures the transmission time from the edge DC 43U where each upload server 410 is installed to the edge DC 43D where each data relay server 420E is installed. Note that the AN controller 440 transmits the IP address of the data center corresponding to the transmission time to the AN data collection server 350 together with the transmission time.

[0209] The control unit 351 of the AN data collection server 350 controls the transmission / reception data management unit 335 to store the transmission time between each data center received by the communication unit 352 (step S1402).

[0210] Subsequently, when video data is transmitted from the communication unit 422, the data transfer modules MD420 (MD420-a to MD420-n) of the nearest data relay servers 420E (420E-a to 420E-n) of each UE110 to which the video data is distributed transmit a data relay server transmission log to the data collection server 3301 (steps S1403a to n). Here, unlike steps S403-a to n in the first embodiment described with reference to FIG. 13, the data relay server 420 does not necessarily transmit a data relay server reception log.

[0211] When the delay time calculation unit 3321 of the data collection server 3301 receives a data relay server transmission log from each data relay server 420E through the communication unit 333, it stores the data relay server transmission log in the transmission / reception data management unit 335 (steps S1404a to n).

[0212] Since the processing of steps S1405-a to m and steps S1406-a to m executed subsequently is the same as the processing of steps S405-a to m and steps S406-a to m in the first embodiment described with reference to FIG. 13, the description thereof is omitted.

[0213] Subsequently, the delay time calculation unit 3321 calculates the delay time of the video data for the UE110. Here, the delay time calculation unit 3321 extracts the data relay server transmission log and the UE reception log for the same video packet stored in the transmission / reception data management unit 335. Then, the delay time calculation unit 3321 calculates the time from the time indicated by the data relay server transmission log to the time indicated by the UE reception log as the delay time for the UE110. Note that the delay time for the UE110 according to the second embodiment coincides with the EDC-UE inter-transmission time μ shown in FIG. 14.

[0214] Then, the delay time calculation unit 3321 stores, in the transmission / reception data management unit 335, for each UE 110, the IP address and port number of the upload server 410 serving as the distribution source, the time represented by the UE reception log, the IP address and port number of the UE 110, and the delay time (step S1407).

[0215] (S5) Calculation of group delay amount FIG. 24 is a sequence diagram showing an example of the operation flow in step S5 of the flowchart shown in FIG. 6 by the system 11.

[0216] The processes of step S1501 and step S1502 are the same as the processes of step S501 and step S502 in the first embodiment described with reference to FIG. 13, and thus the description thereof is omitted.

[0217] Subsequently, the adjustment time calculation unit 3421 of the synchronous viewing control server 3401 according to the second embodiment of the present invention controls the communication unit 343 to request the AN data collection server 350 for the transmission time between each data center. More specifically, the communication unit 343 requests the transmission time from the edge DC43U where the upload server 410 for which content distribution is requested is installed to the edge DC43D where the nearest data relay server 420E for the UE 110 to which the content is distributed is arranged (step S1503). Hereinafter, the transmission time from the edge DC43U where the upload server 410 for which content distribution to the UE 110 is requested is installed to the edge DC43D where the nearest data relay server 420E for the UE 110 is arranged is also referred to as the "transmission time between DCs corresponding to the UE 110".

[0218] The control unit 351 of the AN data collection server 350 extracts the transmission time stored in the transmission time storage unit 354 based on the transmission time request received by the communication unit 352, and controls the communication unit 352 to transmit it to the synchronous viewing control server 340 (step S1504).

[0219] The adjustment time calculation unit 3421 of the simultaneous viewing control server 3401 calculates the average value and jitter of the delay times included in the list based on the list of delay times for each UE110 received by the communication unit 343. Further, the adjustment time calculation unit 3421 calculates, for each UE110, a total value obtained by adding the average value and jitter of the delay time of the UE110, and the inter-DC transmission time corresponding to the UE110.

[0220] Then, for each group, the adjustment time calculation unit 3421 sets, as the group delay amount, the maximum total value among the total values of the UEs 110 belonging to the group (step S1505). The group delay amount is a reference time for synchronizing the distribution of videos among the UEs 110 belonging to the same group.

[0221] (S6) Setting of adjustment time The process of step S6 according to the second embodiment is executed according to the sequence diagram shown in FIG. 17. However, the method of calculating the adjustment time in step S601 is different from that of the first embodiment.

[0222] In the second embodiment, in step S601, the simultaneous viewing control server 3402 of the simultaneous viewing control server 3401 calculates, for each UE110 belonging to each group, a value obtained by subtracting, from the group delay amount of the group to which the UE110 belongs, the sum of the delay time of the UE110 and the inter-DC transmission time corresponding to the UE110, as the adjustment time. Subsequently, the processes after step S602 are executed based on the calculated adjustment time.

[0223] As described above, the mobile communication network 2 according to the second embodiment of the present invention has been described. The mobile communication network 2 calculates the adjustment time for the UE110 using the inter-DC transmission time measured by the AN controller 440. Since the adjustment time can be calculated by taking advantage of the measurement by the AN controller 440, when the AN 440 is installed, it is possible to more easily synchronize the reproduction timings of contents in a plurality of user terminals.

[0224] <<4. Example of hardware configuration>> Next, a hardware configuration example of the AMR100, UE110, service server 310, authentication server 320, data collection server 330, data collection server 3301, simultaneous viewing control server 340, simultaneous viewing control server 3401, AN data collection server 350, upload server 410, data relay server 420, carrier NW management server 430, and AN controller 440 according to the first and second embodiments of the present invention will be described.

[0225] Hereinafter, as a hardware configuration example of the AMR100, UE110, service server 310, authentication server 320, data collection server 330, data collection server 3301, simultaneous viewing control server 340, simultaneous viewing control server 3401, AN data collection server 350, upload server 410, data relay server 420, carrier NW management server 430, and AN controller 440 according to the embodiment of the present invention, a hardware configuration example of a processing device 900 will be described. Note that the hardware configuration example of the processing device 900 described below is merely an example of the hardware configuration of the AMR100, UE110, service server 310, authentication server 320, data collection server 330, data collection server 3301, simultaneous viewing control server 340, simultaneous viewing control server 3401, AN data collection server 350, upload server 410, data relay server 420, carrier NW management server 430, and AN controller 440. Therefore, the hardware configuration of the AMR100, UE110, service server 310, authentication server 320, data collection server 330, data collection server 3301, simultaneous viewing control server 340, simultaneous viewing control server 3401, AN data collection server 350, upload server 410, data relay server 420, carrier NW management server 430, and AN controller 440 may have unnecessary configurations deleted from the hardware configuration of the processing device 900 described below, or new configurations may be added.

[0226] FIG. 25 is a diagram showing the hardware configuration of a processing device 900 as an example of each device according to an embodiment of the present invention. The processing device 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a host bus 904, a bridge 905, an external bus 906, an interface 907, an input device 908, an output device 909, a storage device 910, and a communication device 911.

[0227] The CPU 901 functions as an arithmetic processing unit and a control unit, and controls the overall operations within the processing device 900 according to various programs. Also, the CPU 901 may be a microprocessor. The ROM 902 stores programs, arithmetic parameters, etc. used by the CPU 901. The RAM 903 temporarily stores programs used in the execution of the CPU 901 and parameters that appropriately change during the execution. These are mutually connected by a host bus 904 composed of a CPU bus or the like.

[0228] The host bus 904 is connected to an external bus 906 such as a PCI (Peripheral Component Interconnect / Interface) bus via the bridge 905. Note that it is not necessarily required to separately configure the host bus 904, the bridge 905, and the external bus 906, and these functions may be implemented in one bus.

[0229] The input device 908 includes input means such as a mouse, a keyboard, a touch panel, buttons, a microphone, switches, and levers for a user to input information, and an input control circuit that generates an input signal based on the input by the user and outputs it to the CPU 901. The user who operates the processing device 900 can input various data to the processing device 900 or instruct processing operations by operating this input device 908.

[0230] The output device 909 includes, for example, display devices such as a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD) device, an OLED (Organic Light Emitting Diode) device, a lamp, and audio output devices such as a speaker.

[0231] The storage device 910 is a device for storing data. The storage device 910 may include a storage medium, a recording device for recording data on the storage medium, a reading device for reading data from the storage medium, a deleting device for deleting data recorded on the storage medium, and the like. The storage device 910 is configured by, for example, an HDD (Hard Disk Drive). This storage device 910 drives a hard disk and stores programs and various data executed by the CPU 901.

[0232] The communication device 911 is a communication interface configured by, for example, a communication device for connecting to a network. Also, the communication device 911 may support either wireless communication or wired communication.

[0233] <<5. Supplementary Note>> As described above, the preferred embodiments of the present invention have been described in detail with reference to the accompanying drawings, but the present invention is not limited to such examples. It is obvious that those having ordinary knowledge in the technical field to which the present invention pertains can conceive of various modification examples or correction examples within the scope of the technical idea described in the claims, and it is naturally understood that these also belong to the technical scope of the present invention.

[0234] For example, in the above embodiment, it is assumed that the upload server 410 and the data relay server 420 are installed in the edge DC 43, but the present invention is not limited to such examples. For example, the upload server 410 or the data relay server 420 may be installed in the central DC 41 or the regional DC 42.

[0235] In the above embodiment, an example in which the mobile communication network 2 or the mobile communication network 12 is included in the system 1 and the system 11 has been described. However, the network to which the UE 110 is connected and which is included in the present invention is not limited to a mobile communication network. For example, the network to which the UE 110 is connected may be a fixed network connected to the Internet, an overseas fixed network connected to the Internet via a submarine cable, or the like.

[0236] In the above embodiment, an example in which all the UEs 110 receiving the distribution of the same video belong to the same group has been described. However, a plurality of groups may be set for the same video.

Explanation of Signs

[0237] 1, 11 System 100 AMR 110 UE 2, 12 Mobile communication network 3, 13 Internet 310 Service server 320 Authentication server 330 Data collection server 340 Synchronized viewing control server 350 Data collection server for AN 4, 14 CN 41 Central DC 42 Regional DC 43 Edge DC 410 Upload server 420 Data relay server 430 Carrier NW management server 440 AN controller 5 RAN 51 Base station 60 Router MD Data transfer module

Claims

1. A processing device, comprising: a content acquisition unit configured to acquire content distributed from a server to a plurality of user terminals; a content transmission unit configured to transmit the content acquired by the content acquisition unit to a first user terminal, which is a user terminal among the plurality of user terminals and in which the processing device is included in a distribution path of the content from the server; an adjustment time acquisition unit configured to acquire an adjustment time for distributing the content to the first user terminal, the adjustment time being calculated based on a reference time set for a first group to which the first user terminal belongs, in one or more groups to which each of the plurality of user terminals belongs; a delay control unit configured to delay transmission of the content to the first user terminal by the content transmission unit so that distribution of the content to the first user terminal and one or more of the user terminals belonging to the first group is synchronized based on the adjustment time; The processing device.

2. The server and the processing device are respectively arranged in different edge data centers (EDCs) that constitute a MEC-CDN (Multi-access Edge Computing - enabled Content Delivery Network) including a mobile communication network. The processing device according to claim 1.

3. The content acquisition unit acquires first data distributed through the distribution path from the server; The content transmission unit transmits the first data to the first user terminal; The adjustment time is a time obtained by subtracting a first transmission delay time, which is a transmission delay time of the content to the first user terminal calculated based on a first time when the first data is transmitted by the content transmission unit, from the reference time. The processing device according to claim 1.

4. The first transmission delay time is a time obtained by adding together a time from a second time when the first data is transmitted by the server to a third time when the first data is acquired by the content acquisition unit, and a time from the first time to a fourth time when the first data is distributed to the first user terminal. The processing device according to claim 3.

5. The server and the processing device are respectively arranged in different edge DCs that constitute a MEC-CDN. ​ ​ The MEC-CDN is an AN (Autonomous Network), The first transmission delay time is the sum of the transmission time between the data centers where the server and the processing device are respectively installed, which is obtained from a controller that controls the communication path in the AN, and the time from the first time to the fourth time when the first data is delivered to the first user terminal. The processing device according to claim 3.

6. The reference time is set based on a plurality of transmission delay times including the first transmission delay time and, for each of the one or more user terminals, a second transmission delay time that is the transmission delay time of the content to the user terminal, which is calculated based on second data transmitted at the same time as the first data. The processing device according to claim 4 or 5.

7. The reference time is the maximum value among the values obtained by adding the average of the plurality of transmission delay times and the jitter calculated from the plurality of transmission delay times for the first user terminal belonging to the first group and the one or more user terminals. The processing device according to claim 6.

8. The delay time is calculated by modules included in the user terminal, the server, and the processing device based on at least one of the transmission time and the reception time of the first data being transmitted to a higher-level server. The processing device according to claim 3.

9. The adjustment time acquisition unit acquires the adjustment time at a predetermined interval. The processing device according to claim 1.

10. The delay control unit delays and transmits different contents to each of a plurality of the first user terminals belonging to different groups. The processing device according to claim 1.

11. A computer, A content acquisition unit that acquires content distributed from a server to a plurality of user terminals, A content transmission unit that transmits the content acquired by the content acquisition unit to a first user terminal, which is a user terminal including the computer in the distribution path of the content from the server among the plurality of user terminals. An adjustment time acquisition unit that acquires an adjustment time for delivering the content to the first user terminal, the adjustment time being calculated based on a reference time set for a first group to which the first user terminal belongs, in one or more groups to which each of the plurality of user terminals belongs; A delay control unit that delays the transmission of the content to the first user terminal by the content transmission unit so that the delivery of the content to the first user terminal and one or more of the user terminals belonging to the first group is synchronized based on the adjustment time; A program for causing the above functions to function.

12. A processing method of a processing device, The processing method includes: acquiring content distributed from a server to a plurality of user terminals; transmitting the acquired content to a first user terminal, which is a user terminal including the processing device in a content distribution path from the server among the plurality of user terminals; acquiring an adjustment time for delivering the content to the first user terminal, the adjustment time being calculated based on a reference time set for a first group to which the first user terminal belongs, in one or more groups to which each of the plurality of user terminals belongs; delaying the transmission of the content to the first user terminal in the step of transmitting the content so that the delivery of the content to the first user terminal and one or more of the user terminals belonging to the first group is synchronized based on the adjustment time; A processing method having the above steps.

Citation Information

Patent Citations

  • Network system, network apparatus, and distribution method

    JP2013066088A

  • Content distribution server, content distribution system, and content distribution program

    JP2014212506A

  • Reception terminal and program

    JP2018074480A

Cited By

  • Control device, control method, program, content distribution system, and content distribution method

    JP2026043187A

  • Control device, control method, program, content distribution system, and content distribution method

    JP7790499B1