Data distribution system
By dividing the data into multiple shards and distributing it using different communication lines, the additional communication cost problem caused by large traffic in the prior art is solved, and the effect of reducing the overall communication cost of the data distribution system is achieved.
Patent Information
- Application Number
- JP2023170695
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-29
- Publication Date
- 2025-04-10
AI Technical Summary
Prior Art In data distribution systems, large traffic volumes may lead to additional communication costs, especially under a cost structure with multiple communication thresholds, communications exceeding the threshold will incur additional costs.
By dividing the data into multiple shards and distributing them using different communication lines, specifically including generating shard data in the source device, distributing different shard data to each terminal device using the first communication line, and collecting and recovering the data by the terminal device.
By reducing the amount of communication between the source device and the terminal device, additional communication costs are avoided and the overall communication costs of the data distribution system are reduced.
Smart Images

Figure 2025060146000001_ABST
Abstract
Description
[Technical field]
[0001] The technology disclosed in this specification relates to a technology for distributing distribution data to a plurality of terminals. [Background technology]
[0002] Patent Document 1 discloses a distribution control system including a sensor computer and a terminal group. In this distribution control system, a parent terminal included in the terminal group transmits an information request to the sensor computer in response to receiving instruction information from another terminal included in the terminal group. When the sensor computer receives the information request from the parent terminal, it transmits response information to the parent terminal in response to the information. The parent terminal then transmits the response information to the other terminal that is the source of the instruction information. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2002-189864 A Summary of the Invention [Problem to be solved by the invention]
[0004] Generally, the greater the communication volume, the higher the communication cost. In particular, a fee system is envisaged in which several thresholds are set for the communication volume with respect to the relationship between the communication volume and the communication cost, and additional communication costs are incurred when the thresholds are exceeded. In this fee system, the occurrence of additional communication costs can be suppressed by setting the communication volume so as not to exceed the above thresholds. However, in the technology of Patent Document 1, when the communication volume between the sensor computer and the parent terminal becomes relatively large, the above thresholds may be exceeded, and additional communication costs may be incurred.
[0005] This specification provides a technique that can reduce the communication costs of a data distribution system. [Means for solving the problem]
[0006] In a first aspect of the present technology, a data distribution system may include a plurality of terminal devices and a distribution source device that stores distribution data to be distributed to each of the plurality of terminal devices. The distribution source device may include a generation unit that divides the distribution data to generate a plurality of divided data, and a first distribution unit that distributes the plurality of divided data to the plurality of terminal devices via a first communication line, the first distribution unit being configured to distribute different divided data to each of the plurality of terminal devices. A specific terminal device among the plurality of terminal devices may include a receiving unit that receives a specific divided data among the plurality of divided data from the distribution source device via the first communication line, a collecting unit that collects remaining divided data other than the specific divided data among the plurality of divided data from remaining terminal devices other than the specific terminal device among the plurality of terminal devices via a second communication line different from the first communication line, and a restoring unit that restores the distribution data from the specific divided data received from the distribution source device and the remaining divided data collected from the remaining terminal devices.
[0007] For example, a configuration in which the source device distributes the distribution data itself to each terminal device, and a configuration in which the source device distributes the distribution data to one terminal device, which then transmits the distribution data to other terminal devices are assumed. In contrast to these configurations, in the above configuration, divided data, rather than the distribution data itself, is distributed to each terminal device. Compared to a configuration in which the distribution data itself is distributed, the amount of communication between the source device and each terminal device via the first communication line can be reduced. By reducing the amount of communication on the first communication circuit, it is possible to prevent additional communication costs from occurring on the first communication circuit. As a result, the communication costs of the data distribution system can be reduced.
[0008] In a second aspect, in the first aspect, the source device may further include a first calculation unit that calculates a plurality of pieces of data amount information indicating the data amount of each of the plurality of divided data based on a plurality of pieces of terminal information indicating the respective states of the plurality of terminal devices. With this configuration, the source device can appropriately generate the divided data based on the respective states of the plurality of terminal devices.
[0009] In a third aspect, in the second aspect, the source device may further include a second distribution unit that distributes restoration information based on the plurality of pieces of data amount information to the plurality of terminal devices via the first communication line, and the restoration unit may restore the delivery data using the restoration information received from the source device. With this configuration, a specific terminal device can appropriately restore the delivery data using the restoration information based on the plurality of pieces of data amount information.
[0010] In a fourth aspect, in the second aspect, the source device may further include a first transmission unit that transmits restoration information based on the plurality of pieces of data amount information to the specific terminal device via the first communication line, and the specific terminal device may further include a third distribution unit that distributes the restoration information to the remaining terminal devices via the second communication line when the restoration information is received from the source device, and the remaining terminal devices may restore the distribution data using the restoration information received from the specific terminal device. With this configuration, the remaining terminal devices can restore the distribution data using the restoration information transferred from the specific terminal device. In addition, the remaining terminal devices can receive the restoration information without using the first communication circuit, so that the communication cost of the data distribution system can be further reduced.
[0011] In a fifth aspect, in the third or fourth aspect, the restoration information may include specific data amount information indicating the data amount of the specific divided data, and position information indicating a start position of the specific divided data in the distribution data. With this configuration, the distribution data can be accurately restored using the position information.
[0012] In a sixth aspect, in the third or fourth aspect, the specific divided data is data composed of M1 (M1 is an integer greater than or equal to 1 and less than M) blocks randomly determined from the distribution data divided into M (M is an integer greater than or equal to 2) blocks, and the restoration information may include information indicating the M1 blocks constituting the specific divided data. With this configuration, the contents of the divided data transmitted to each terminal device are randomly determined, thereby improving security.
[0013] In the seventh aspect, in the first aspect, the specific terminal device further includes a second calculation unit that calculates a plurality of pieces of data amount information indicating the data amount of each of the plurality of split data based on a plurality of pieces of terminal information indicating the respective states of the plurality of terminal devices, and a fourth distribution unit that distributes split information based on the plurality of pieces of data amount information to the remaining terminal devices via the second communication line, the remaining terminal devices that have received the split information transmit a split data request including the split information to the source device via the first communication line, and a second transmission unit that transmits the specific split data request including the split information to the source device via the first communication line, and the generation unit may generate the specific split data using the split information included in the specific split data request when the specific split data request is received from the specific terminal device, and may generate the split data using the split information included in the split data request when the split data request is received from the remaining terminal devices. This configuration also reduces the communication cost of the data distribution system.
[0014] In an eighth aspect, in the seventh aspect, the division information may include specific data amount information indicating the data amount of the specific divided data, and location information indicating a start position of the specific divided data in the distribution data. With this configuration, the distribution source device can appropriately generate the divided data by using the specific data amount information and the location information.
[0015] In a ninth aspect, in any one of the first to eighth aspects, the receiving unit may receive the specific divided data at a timing when the load of the specific terminal device is low. With this configuration, for example, reception of the specific divided data at a timing when the load of the specific terminal device is high due to the user using the specific terminal device is suppressed. In other words, the divided data is received when the user uses the specific terminal device, and the user's use of the specific terminal device is not hindered.
[0016] In a tenth aspect, in any one of the first to ninth aspects, the receiving unit may receive the specific divided data at a timing when the load of at least one of the first communication line and the second communication line is low. With this configuration, it is possible to prevent the communication load of at least one of the first communication line and the second communication line from becoming excessively high. [Brief description of the drawings]
[0017] [Figure 1] FIG. 1 is a configuration diagram of a distribution system according to first to fifth embodiments. [Diagram 2] FIG. 4 is a sequence diagram of the first and second embodiments. [Diagram 3] 1 shows an example of division information and division of OS update data according to a first embodiment. [Figure 4] 13 shows an example of division information and division of OS update data according to a second embodiment. [Diagram 5] FIG. 13 is a sequence diagram of a third embodiment. [Figure 6] FIG. 13 is a configuration diagram of a distribution system according to a sixth embodiment. [Figure 7] FIG. 23 is a sequence diagram of the sixth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] (First embodiment) (Configuration of data distribution system 2; Figure 1) 1, the data distribution system 2 includes a terminal management server 10 and four terminals 100A to 100D. The terminal management server 10 and the terminals 100A to 100D are configured to be able to communicate with each other via the Internet 6. The terminals 100A to 100D are also configured to be able to communicate with each other locally (i.e., not via the Internet 6), for example, via a Local Area Network (LAN), communication according to the Wi-Fi (registered trademark) system, communication according to the Bluetooth (registered trademark) system, or the like. The terminals 100A to 100D are, for example, work terminals used in the same store.
[0019] In this embodiment, it is assumed that the terminal management server 10 distributes update data for the OS program of the managed terminal (hereinafter, referred to as "OS update data") to each managed terminal. In particular, in this embodiment, in order to reduce the communication cost of the OS update data, the OS update data is divided into multiple divided data and distributed to each managed terminal 100A to 100D. Details will be described below.
[0020] (Configuration of terminal management server 10) The terminal management server 10 manages a plurality of terminals including the terminals 100A to 100D. The terminal management server 10 is installed on the Internet 6. In a modified example, the terminal management server 10 does not have to be installed on the Internet 6, and may be installed, for example, on a LAN to which the terminals 100A to 100D belong. The terminal management server 10 includes a communication interface 16 and a control unit 30. Hereinafter, the interface will be referred to as "I / F". The units 16 and 30 are connected to a bus line. The communication I / F 16 is connected to the Internet 6.
[0021] The control unit 30 includes a CPU 32 and a memory 34. The CPU 32 executes various processes according to a program 36 stored in the memory 34. The memory 34 further stores OS update data, terminal information of each of the terminals to be managed (terminals 100A to 100D in this embodiment), and division information. The terminal information of each of the terminals 100A to 100D includes information such as the amount of data that the terminal can communicate, the amount of available storage, and the remaining battery power. The division information is information for dividing the OS update data (and restoring the divided data in each terminal), and is generated based on the terminal information. Details of the division information will be described later.
[0022] (Configuration of terminal 100A) The terminal 100A is a portable terminal device such as a mobile phone, a smartphone, a PDA, a tablet PC, etc. The terminal 100A includes an operation unit 112, a display unit 114, an LTE I / F 116, a local I / F 118, and a control unit 130. Each unit 112 to 130 is connected to a bus line.
[0023] The operation unit 112 is an I / F for inputting various information to the terminal 100A, and includes, for example, a touch screen, buttons, etc. The display unit 114 is a display for displaying various information. The LTE I / F 116 is an I / F for executing communication (i.e., mobile communication) according to the LTE system, and is connected to the Internet 6. Note that, in a modified example, instead of the LTE I / F 116, a cellular I / F for executing cellular communication according to the cellular system, a mobile communication I / F for executing mobile communication (e.g., 3G, 4G, 5G) of a system different from the LTE system, etc. may be provided. The local I / F 118 is an I / F for executing local communication (i.e., communication not via the Internet 6) between each of the terminals 100B to 100D.
[0024] Generally, for LTE communications, some thresholds are set for the amount of communication in a given period, and a fee system is adopted in which additional communication costs are incurred if the amount of communication in the given period exceeds the threshold. In contrast, communication via the local I / F 118 is local communication, and generally, additional communication costs are not incurred even if the amount of communication increases. Therefore, by reducing the amount of communication via the communication I / F 16 or the LTE I / F 116, it is possible to reduce communication costs.
[0025] In this embodiment, the terminal 100A receives update data (more specifically, divided data obtained by dividing the update data, which will be described in detail later) from the terminal management server 10 via the LTE I / F 116, which may incur additional communication costs. Here, for example, a situation is assumed in which the terminal 100A belongs to a LAN, and the LAN is connected to the Internet 6. In such a situation, multiple terminals including the terminal 100A are simultaneously connected to the LAN, which may affect the LAN (for example, communication may become thin). In this case, an event may occur in which the OS update data cannot be properly received from the terminal management server 10, or other devices connected to the LAN cannot properly communicate. In such a situation (for example, a situation in which the available LAN line is old, a situation in which the number of devices that can be connected to the LAN line is limited, etc.), it is assumed that LTE is used instead of LAN for communication with the terminal management server 10.
[0026] The control unit 130 includes a CPU 132 and a memory 134. The CPU 132 executes various processes in accordance with an OS program 136 stored in the memory 134. The memory 134 further stores terminal information.
[0027] (Configuration of terminals 100B to 100D) The configurations of the terminals 100B to 100D are similar to that of the terminal 100A, except that the terminal information stored therein is different.
[0028] (Processing performed between each device; Figure 2) Next, referring to FIG. 2, the process executed between the devices of the first and second embodiments will be described. In the following, for ease of understanding, the process executed by the CPU (e.g., 32, 132) of each device (e.g., the terminal management server 10, the terminals 100A to 100D) will be described as the subject of the process, rather than the CPU. In addition, in the sequence diagram of FIG. 2, communication via the Internet 6 (i.e., communication via the communication I / F 16 of the terminal management server 10 and the LTE I / F 116 of each terminal 100A to 100D) is indicated by a thin arrow. In addition, communication not via the Internet 6 (i.e., communication via the local I / F 118 of each terminal 100A to 100D) is indicated by a thick arrow. The same applies to the sequence diagrams of FIG. 3 and subsequent figures.
[0029] 2, the terminal management server 10 has already registered each of the terminals 100A-100D as a terminal to be managed. Then, each of the terminals 100A-100D, which are terminals to be managed, periodically transmits its own terminal information to the terminal management server 10. Specifically, the terminal 100A transmits its terminal information to the terminal management server 10 at T10 via the LTE I / F 16 and the Internet 6 in response to the arrival of a predetermined timing. Similarly, each of the terminals 100B-100D transmits its own terminal information to the terminal management server 10 at T12-T16, respectively.
[0030] When the terminal management server 10 receives the terminal information from each of the terminals 100A to 100D (T10 to T16), it stores the information in T18. When the terminal management server 10 receives the terminal information when the terminal information has already been stored, the terminal management server 10 stores the received terminal information instead of the stored terminal information (i.e., updates the terminal information).
[0031] Thereafter, for example, update data (i.e., OS update data) for the OS program 136 of each of the terminals 100A-100D is made public by the vendor of the OS program 136 of each of the terminals 100A-100D. In this case, the terminal management server 10 receives the OS update data from a server (not shown) installed by the above vendor, and stores the OS update data in the memory 34 in T20. In this case, the terminal management server 10 generates division information in T22 based on the OS update data already stored in T20 and the terminal information already stored in T18. Then, in T24, the terminal management server 10 divides the OS update data in accordance with the generated division information to generate four pieces of divided data A-D.
[0032] (Division information and division data; Fig. 3) Here, the division information and the divided data will be described with reference to Fig. 3. For simplicity of explanation, an example in which the OS update data is 1 GB will be described.
[0033] First, the terminal management server 10 determines the size of the divided data to be distributed to each of the terminals 100A to 100D based on the terminal information already stored in the terminal management server 10. For example, the larger the amount of data that can be communicated is, the larger the size of the divided data to be allocated to the terminal. Here, the "amount of data that can be communicated" means the amount of data within a range that does not incur additional costs. Specifically, the "amount of data that can be communicated" in this embodiment means the difference between the threshold value of the amount of communication and the amount of communication used by each of the terminals 100A to 100D within a predetermined period. Also, for example, the larger the amount of available storage, the larger the size of the divided data to be allocated. Also, for example, the larger the remaining battery level, the larger the size of the divided data to be allocated. As shown in FIG. 3, the division information includes information indicating the start position of the divided data to be distributed to each of the terminals 100A to 100D in the OS update data and the size of the divided data to be distributed to each of the terminals 100A to 100D. For example, as shown in Fig. 3, the divided data to be distributed to terminal 100A includes a start position "a" and a size "0.3 GB." For example, the start position "a" indicates the beginning of the OS update data.
[0034] As shown in FIG. 3, in this embodiment, four pieces of divided data A to D are generated. Terminal 100A is assigned divided data A which is the first 30 percent of the OS update data (i.e., 0.3 GB from the beginning of the OS update data). Terminal 100B is assigned divided data B which is the next 30 percent of the OS update data (i.e., the next 0.3 GB of the OS update data). Terminal 100C is assigned divided data C which is the next 20 percent of the OS update data (i.e., the next 0.2 GB of the OS update data). Terminal 100D is assigned divided data D which is the last 20 percent of the OS update data (i.e., the last 0.2 GB of the OS update data). In this way, the division information and divided data A to D are appropriately generated at T22 and T24 in FIG. 2.
[0035] Returning to the description of the sequence diagram of FIG. 2, the terminal management server 10 transmits the division information generated in T22 to each of the terminals 100A-100D in T26 via the communication I / F 16 and the Internet 6. In this manner, the division information can be distributed to each of the terminals 100A-100D. In this embodiment, the same division information is distributed to each of the terminals 100A-100D. In a modified example, different information may be distributed to each of the terminals 100A-100D. For example, the terminal management server 10 may transmit only information corresponding to the terminal to which the division information is to be transmitted, from among the generated division information, to each of the terminals 100A-100D.
[0036] At T30, the terminal 100A transmits a divided data request to the terminal management server 10 via the LTE I / F 116 and the Internet 6. The divided data request is a signal requesting the terminal management server 10 to transmit the divided data (i.e., divided data A) assigned to the terminal 100A indicated by the already-received division information.
[0037] When the terminal management server 10 receives a divided data request from the terminal 100A via the communication I / F 16 and the Internet 6 in T30, the terminal management server 10 transmits the divided data A to the terminal 100A via the communication I / F 16 and the Internet 6 in T31. As a result, the divided data A is stored in the terminal 100A.
[0038] The processes of T32 and T33 are similar to those of T30 and T31, except that terminal 100B is the subject of the processes and the divided data transmitted to terminal 100B is divided data B. The processes of T34 and T35 are similar to those of T30 and T31, except that terminal 100C is the subject of the processes and the divided data transmitted to terminal 100C is divided data C. The processes of T36 and T37 are similar to those of T30 and T31, except that terminal 100D is the subject of the processes and the divided data transmitted to terminal 100D is divided data D. In this way, each of terminals 100A to 100D stores divided data A to D, respectively.
[0039] When terminal 100A stores divided data A in T31, it transmits a divided data request to other terminals 100B-100D in LAN4 via LAN I / F 118 and LAN4. As described above, terminal 100A has already received the division information (see T26), and the division information describes other terminals 100B-100D to which the divided data should be delivered (see FIG. 3). Therefore, terminal 100A can recognize other terminals 100B-100D to which it should transmit a divided data request. The divided data request is a signal requesting transmission of divided data B-D stored by other terminals 100B-100D, respectively.
[0040] After storing divided data B at T33, terminal 100B receives a divided data request from terminal 100A and transmits divided data B to terminal 100A at T42. The remaining terminals 100C and 100D also transmit divided data C and D to terminal 100A at T44 and T46 in response to the divided data request from terminal 100A.
[0041] When terminal 100A receives divided data B to D from each of terminals 100B to 100D (T42 to T46), it determines that it has collected divided data from all of the other terminals 100B to 100D described in the division information. In this case, terminal 100A uses the division information at T50 to restore the OS update data from divided data A received from terminal management server 10 (see T31) and divided data B to D collected from each of terminals 100B to 100D. In this way, terminal 100A can obtain the OS update data and update OS program 136.
[0042] Each of the terminals 100B-100D can also execute the same processes as those of T40-T46 to collect divided data from other terminals and use the divided information to appropriately restore the OS update data. In this way, each of the terminals 100A-100D can update the OS program 136.
[0043] Here, a first comparative example is assumed in which each of the terminals 100A-100D receives the OS update data without dividing it from the terminal management server 10 via the communication I / F 16 and the Internet 6. In this comparative example, the total amount of communication between the terminal management server 10 and each of the terminals 100A-100D is the amount of data for four pieces of OS update data (for example, 4 GB in this embodiment). Also, assume a second comparative example in which terminal 100A receives OS update data from terminal management server 10 via communication I / F 16 and the Internet 6 without dividing the data. In this comparative example, when terminal 100A receives OS update data from terminal management server 10, it distributes the update data to the remaining terminals 100B-100D via LAN I / F 118. The total amount of communication between terminal management server 10 and each of terminals 100A-100D at this time is the amount of data for one piece of OS update data (for example, 1 GB in this embodiment).
[0044] For example, assume that the threshold is set to 1 GB in the fee system for LTE communications. In this case, in the first and second comparative examples, the communication volume exceeds the threshold due to reception of OS update data, and additional communication costs are incurred. In contrast, in the configuration of this embodiment, the communication volume of each of the terminals 100A to 100D does not exceed the threshold "1 GB", and no additional communication costs are incurred. As a result, the communication costs of the data distribution system 2 can be reduced.
[0045] (Correspondence) The terminal management server 10 and the terminals 100A to 100D are examples of a "source device" and a "multiple terminal devices", respectively. The terminal 100A is an example of a "specific terminal device". The communication line used in communication via the communication I / F 16 or the LTE I / F 116 and the communication line used in communication via the local I / F 118 are examples of a "first communication line" and a "second communication line", respectively. The OS update data and the divided data A to D are examples of "distribution data" and a "multiple pieces of divided data", respectively. In particular, the divided data A and the divided data B to D are examples of "specific divided data" and "remaining divided data". The divided information is an example of "restoration information". Information indicating the data amount of each divided data included in the divided information is an example of "multiple pieces of data amount information". The character string "a" and the like included in the divided information is an example of "location information".
[0046] The process of T22 in FIG. 2 is an example of a process executed by a "first calculation unit" of the "source device". The process of T24 in FIG. 2 is an example of a process executed by a "generation unit" of the "source device". The process of T26 in FIG. 2 is an example of a process executed by a "second distribution unit" of the "source device". The processes of T31, T33, T35, and T37 in FIG. 2 are examples of a process executed by a "first distribution unit" of the "source device".
[0047] The process of T31 in Fig. 2 is an example of a process executed by a "receiving unit" of a "specific terminal device." The processes of T40 to T46 in Fig. 2 are an example of a process executed by a "collection unit" of a "specific terminal device." The process of T50 in Fig. 2 is an example of a process executed by a "restoration unit" of a "specific terminal device."
[0048] (Second Example) Next, a second embodiment will be described. In the second embodiment, the configuration of the division information and the division data is different from that in the first embodiment. The division information and the division data in the second embodiment will be described with reference to FIG.
[0049] In the second embodiment, the terminal management server 10 generates the division information and each divided data as follows. First, the terminal management server 10 divides the OS update data into a plurality of blocks, for example, in units of blocks that can be communicated in one packet of communication via the communication I / F 16. In this embodiment, a situation in which the OS update data is divided into 100 blocks is described as an example. Furthermore, the terminal management server 10 determines the size of the divided data to be distributed to each of the terminals 100A to 100D based on the terminal information already stored in the terminal management server 10. Then, the terminal management server 10 randomly determines the blocks to be distributed to each of the terminals 100A to 100D based on the determined size of the divided data. As shown in FIG. 4, the division information includes information indicating the blocks to be distributed to each of the terminals 100A to 100D. For example, in the example of FIG. 4, there are 30 blocks to be distributed to the terminal 100A, and the division information includes information {1, 5, 8, 9, . . .} indicating the 30 blocks. The data consisting of the 30 blocks corresponds to the divided data A. Similarly, divided data B is composed of 30 blocks, divided data C is composed of 20 blocks, and divided data D is composed of 20 blocks. In this manner, the division information and divided data A to D are generated. Since each divided data A to D is randomly assigned a number of blocks among the blocks into which the OS update data is divided, security can be improved in a situation in which the OS update data is distributed to each of the terminals 100A to 100D. The 100 blocks into which the OS update data is divided are an example of "M blocks". The 30 blocks of blocks 1, 5, 8, 9, ... are an example of "M1 blocks". The information "{1, 5, 8, 9, ...}" included in the division information is an example of "information indicating M1 blocks". The number of blocks assigned to each of the terminals 100A to 100D is an example of "data amount information".
[0050] (Third embodiment; Figure 5) Next, a third embodiment will be described with reference to Fig. 5. The third embodiment differs from the first embodiment in the method of distributing the division information to the terminals 100B-100D. The processes of T10-T24 in Fig. 5 are similar to the processes of T10-T24 in Fig. 3. In a modified example, the terminal management server 10 may generate the division information at T22 according to the method of the second embodiment (see Fig. 4).
[0051] In T26, the terminal management server 10 transmits the division information already generated in T22 to the terminal 100A via the communication I / F 16 and the Internet 6.
[0052] When the terminal 100A receives the division information from the terminal management server 10 at T26, the terminal 100A transmits the division information to each of the terminals 100B to 100D via the local I / F 118 at T28. Therefore, each of the terminals 100B to 100D can restore the OS update data by using the division information. In addition, in the third embodiment, the terminal management server 10 transmits the division information only to the terminal 100A, rather than to all of the terminals 100A to 100D. Therefore, the terminals 100B to 100D do not receive the division information via a communication means that may incur additional communication costs (i.e., communication via the communication I / F 16, the LTE I / F 116, and the Internet 6), but receive the division information via a communication means that does not incur additional communication costs (i.e., communication via the local I / F 118). As a result, the communication costs of the data distribution system 2 can be reduced compared to the first embodiment. The process of T26 in FIG. 5 is an example of a process executed by the "first transmission unit" of the "distribution source device". The process of T128 in FIG. 5 is an example of a process executed by the "third distribution unit" of the "specific terminal device."
[0053] (Fourth Example) Next, a fourth embodiment will be described. In the fourth embodiment, the timing at which each of the terminals 100A-100D transmits a divided data request to the terminal management server 10 may differ from that in the first embodiment. Specifically, in the fourth embodiment, instead of the timing T30 in Fig. 2 in the first embodiment (i.e., the timing at which the division information is received), each of the terminals 100A-100D transmits a divided data request to the terminal management server 10 at a timing when the load on each of the terminals 100A-100D is low.
[0054] To realize such a configuration, the terminal 100A of the fourth embodiment further stores the terminal usage status. The terminal usage status includes, for example, information indicating the time periods during which the terminals 100A to 100D are less busy. Specifically, each of the terminals 100A to 100D accumulates and stores the operating time periods of the terminal. The terminal 100A receives information indicating the operating time periods of the terminal from each of the other terminals 100B to 100D. Then, the terminal 100A calculates the time periods during which the terminals 100A to 100D are less busy based on the information such as the operating time. These time periods may differ for each terminal. Then, the terminal 100A identifies the time periods during which the terminals 100A to 100D are less busy, which are common to the terminals 100A to 100D, based on the time periods during which the terminals 100A to 100D are less busy. The terminal 100A distributes the identified information indicating the time periods during which the terminals 100B to 100D are less busy to the terminals 100B to 100D. Then, each of the terminals 100A-100D transmits a divided data request to the terminal management server 10 during a time period when the identified usage time is low, and receives the divided data from the terminal management server 10 (T30-T37 in FIG. 2). In this way, each of the terminals 100A-100D receives divided data in a situation where it is highly likely that the terminals will not be used, and therefore it is possible to prevent an incident in which the divided data is received when the user uses the terminal, preventing the user from using the terminal. In a modified example, each of the terminals 100A-100D may store the terminal usage status. In this case, each of the terminals 100A-100D may transmit a divided data request to the terminal management server 10 during a different time period.
[0055] (Fifth Example) Next, a fifth embodiment will be described. In the fifth embodiment, the timing at which each of the terminals 100A-100D transmits a divided data request to the terminal management server 10 may differ from that in the first embodiment. Specifically, in the fifth embodiment, instead of the timing T30 in Fig. 2 in the first embodiment, the divided data request is transmitted to the terminal management server 10 at a timing when the communication load on the communication line used for communication between each of the terminals 100A-100D is low.
[0056] In order to realize such a configuration, the terminal 100A of the fifth embodiment further stores a communication usage status. The communication usage status includes, for example, a time period when the load on the local I / F 118 of the terminal 100A is low, log information of communication via the local I / F 118 that has been previously performed, and the like. In addition, the communication usage status is received from each of the terminals 100B to 100D, a time period when the load on the local I / F 118 of the terminal is low, log information of communication via the local I / F 118 that has been previously performed in the terminal, and the like. Then, the terminal 100A identifies a time period when the communication load of the communication line used for communication between each of the terminals 100A to 100D is low, based on this information. The terminal 100A distributes information indicating the identified time period when the communication load is low to each of the terminals 100B to 100D. Then, each of the terminals 100A-100D transmits a divided data request to the terminal management server 10 during a time period when the communication load is low, and receives the divided data from the terminal management server 10 (T30-T37 in FIG. 2). In this way, the divided data is received when the communication load on the communication line used for communication between the terminals 100A-100D is low, so that it is possible to prevent the communication load on the communication line from becoming excessively high. In a modified example, each of the terminals 100A-100D may store its communication usage status. In this case, each of the terminals 100A-100D may transmit a divided data request to the terminal management server 10 during a different time period.
[0057] (Sixth Example) Next, a sixth embodiment will be described. The sixth embodiment differs from the first embodiment in that a data management server 50 is used instead of the terminal management server 10. That is, as shown in Fig. 6, the data management server 50 of the sixth embodiment does not store terminal information and division information. Then, one terminal (terminal 100A in this embodiment) of the terminals 100A to 100D generates division information based on the terminal information of each of the terminals 100A to 100D.
[0058] (Processing performed between devices; Figure 7) With reference to FIG. 7, the process executed between the devices of the sixth embodiment will be described. In the initial state of FIG. 7, the terminal 100A has already registered the other terminals 100B-100D as terminals to be managed. Then, the terminals 100B-100D, which are terminals to be managed, periodically transmit their own terminal information to the terminal 100A. Specifically, the terminal 100B transmits its terminal information to the terminal 100A via the local I / F 118 in T212 in response to the arrival of a predetermined timing. Similarly, the terminals 100C and 100D transmit their own terminal information to the terminal 100A in T214 and T216, respectively. Then, the terminal 100A stores its own terminal information and the terminal information of the terminals 100B-100D that have already been received in the memory 134 in T218.
[0059] The process of T220 is the same as the process of T20 in Fig. 2. When the data management server 50 stores the OS update data in T220, in T221 it transmits a notification indicating that the OS update data has been stored to the terminal 100A via the communication I / F 16 and the Internet 6. Note that the data management server 50 pre-stores information to transmit the notification to the terminal 100A of the four terminals 100A to 100D. In a modified example, the notification may be transmitted to each of the terminals 100A to 100D.
[0060] When the terminal 100A receives a notification from the data management server 50 in T221, it generates division information based on the terminal information already stored in T218. The specific process of generating the division information is similar to that of the first embodiment (see FIG. 3) except that the processing is performed by the terminal 100A. The process of T226 is similar to the process of T128 in FIG. 5. In a modified example, the terminal 100A may generate the division information according to the method of the second embodiment (see FIG. 4).
[0061] At T230, terminal 100A transmits a divided data request to data management server 50 via LTE I / F 116 and the Internet 6. The divided data request is a signal requesting data management server 50 to generate and transmit divided data (i.e., divided data A) to be allocated to terminal 100A indicated by the received division information. The divided data request includes at least information indicating the portion of the division information allocated to terminal 100A (i.e., "terminal 100A, a, 0.3 GB") (see FIG. 3).
[0062] When the data management server 50 receives a divided data request from the terminal 100A via the communication I / F 16 and the Internet 6 in T230, the data management server 50 generates divided data A in accordance with the information included in the divided data request in T231. Then, in T232, the data management server 50 transmits the divided data A to the terminal 100A via the communication I / F 16 and the Internet 6. As a result, the divided data A is stored in the terminal 100A.
[0063] The processes of T233 to T235 are similar to those of T230 to T232, except that terminal 100B is the subject of the processes and the divided data transmitted to terminal 100B is divided data B. The processes of T236 to T238 are similar to those of T230 to T232, except that terminal 100C is the subject of the processes and the divided data transmitted to terminal 100C is divided data C. The processes of T239 to T241 are similar to those of T230 to T232, except that terminal 100D is the subject of the processes and the divided data transmitted to terminal 100D is divided data D.
[0064] In this way, each of the terminals 100A to 100D stores the divided data A to D, respectively. The subsequent processes are the same as those of T40 to T50 in FIG. 2. With this configuration, the communication cost of the data distribution system 2 can be reduced, as in the first embodiment. In particular, compared to the first embodiment, the data management server 50 does not transmit division information to each of the terminals 100A to 100D, so the amount of communication between the data management server 50 and each of the terminals 100A to 100D can be reduced. Therefore, the communication cost of the data distribution system 2 can be further reduced. The process of T222 in FIG. 7 is an example of a process executed by the "second calculation unit" of the "specific terminal device". The process of T226 in FIG. 7 is an example of a process executed by the "fourth distribution unit" of the "specific terminal device". The process of T230 in FIG. 7 is an example of a process executed by the "second transmission unit" of the "specific terminal device".
[0065] Although specific examples of the technology disclosed in this specification have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and variations of the specific examples exemplified above. Modifications of the above embodiments are listed below.
[0066] (Variation 1) The data to be distributed from the terminal management server 10 (or the data management server 50) to each terminal does not have to be OS update data. The data to be distributed from the terminal management server 10 (or the data management server 50) to each terminal may be, for example, master data or a product database. In this variation, the master data or the like is an example of "distribution data."
[0067] (Variation 2) The processes of T30 to T37 in Fig. 2 may be omitted. In this variation, when the terminal management server 10 generates divided data A to D at T24 in Fig. 2, it may transmit the division information and the divided data corresponding to the destination terminal to each of the terminals 100A to 100D at T26. Furthermore, the terminal 100A may omit the process of T40. In this variation, when each of the terminals 100B to 100D receives divided data from the terminal management server 10, it may transmit the received divided data to the terminal 100A without receiving a request from the terminal 100A.
[0068] (Variation 3) In the fifth embodiment described above, the divided data request is sent to the terminal management server 10 at a timing when the communication load on the communication line used for communication between each of the terminals 100A-100D is low. Alternatively, in a variation, the divided data request may be sent to the terminal management server 10 at a timing when the communication load on the communication line used for communication between the terminal management server 10 and each of the terminals 100A-100D is low. In another variation, the divided data request may be sent to the terminal management server 10 at a timing when both the communication load on the communication line used for communication between each of the terminals 100A-100D and the communication load on the communication line used for communication between the terminal management server 10 and each of the terminals 100A-100D are low.
[0069] (Variation 4) In the above embodiment, the processing of each step in Figures 2, 5, and 7 is realized by software (e.g., program 36, OS program 136), but at least one of these processes may be realized by hardware such as a logic circuit.
[0070] The technical elements described in this specification or drawings have technical utility either alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies illustrated in this specification or drawings can achieve multiple objectives simultaneously, and achieving one of these objectives is itself technically useful. [Explanation of symbols]
[0071] 2: data distribution system, 6: Internet, 10: terminal management server, 16: communication I / F, 30, 130: control unit, 32, 132: CPU, 34, 134: memory, 36: program, 50: data management server, 100A to 100D: terminal, 112: operation unit, 114: display unit, 16: LTE I / F, 118: local I / F, 136: OS program
Claims
1. A plurality of terminal devices; a source device that stores distribution data to be distributed to each of the plurality of terminal devices; A data distribution system comprising: The source device includes: A generation unit that divides the distribution data to generate a plurality of divided data pieces; a first distribution unit that distributes the plurality of divided data to the plurality of terminal devices via a first communication line, the first distribution unit distributing different divided data to each of the plurality of terminal devices; Equipped with A specific terminal device among the plurality of terminal devices is a receiving unit that receives a specific piece of divided data from the distribution source device via the first communication line; a collection unit that collects, from the remaining terminal devices other than the specific terminal device among the plurality of divided data, the remaining divided data other than the specific terminal device, via a second communication line different from the first communication line; a restoration unit that restores the distribution data from the specific divided data received from the distribution source device and the remaining divided data collected from the remaining terminal devices; A data distribution system comprising:
2. The data distribution system according to claim 1, wherein the source device further comprises a first calculation unit that calculates a plurality of pieces of data amount information indicating the data amount of each of the plurality of divided data based on a plurality of pieces of terminal information indicating the respective states of the plurality of terminal devices.
3. the source device further comprises a second distribution unit that distributes restoration information based on the plurality of pieces of data amount information to the plurality of terminal devices via the first communication line; The data distribution system according to claim 2 , wherein the restoration unit restores the distribution data by using the restoration information received from the source device.
4. the source device further includes a first transmission unit configured to transmit restoration information based on the plurality of pieces of data amount information to the specific terminal device via the first communication line; The data distribution system of claim 2, wherein the specific terminal device further comprises a third distribution unit that distributes the restoration information to the remaining terminal devices via the second communication line when the restoration information is received from the source device, and the remaining terminal devices restore the distribution data using the restoration information received from the specific terminal device.
5. 5. The data distribution system according to claim 3, wherein the restoration information includes specific data amount information indicating a data amount of the specific divided data, and position information indicating a start position of the specific divided data in the distribution data.
6. the specific divided data is data consisting of M1 blocks (the M is an integer equal to or greater than 1 and less than the M) randomly determined from the distribution data divided into M blocks (the M is an integer equal to or greater than 2), 5. The data distribution system according to claim 3, wherein the restoration information includes information indicating the M1 blocks constituting the specific data block.
7. The specific terminal device further includes: a second calculation unit that calculates a plurality of pieces of data amount information indicating a data amount of each of the plurality of divided data based on a plurality of pieces of terminal information indicating a state of each of the plurality of terminal devices; a fourth distribution unit that distributes split information based on the plurality of pieces of data amount information to the remaining terminal device via the second communication line, the remaining terminal device receiving the split information transmitting a split data request including the split information to the distribution source device via the first communication line; a second transmission unit that transmits a specific divided data request including the division information to the source device via the first communication line; Equipped with The data distribution system of claim 1, wherein when the specific split data request is received from the specific terminal device, the generation unit generates the specific split data using the split information included in the specific split data request, and when the split data request is received from the remaining terminal devices, the generation unit generates the split data using the split information included in the split data request.
8. 8. The data distribution system according to claim 7, wherein the division information includes specific data amount information indicating a data amount of the specific divided data, and position information indicating a start position of the specific divided data in the distribution data.
9. The data distribution system according to claim 1 , wherein the receiving unit receives the specific divided data at a timing when a load on the specific terminal device is low.
10. The data distribution system according to claim 1 , wherein the receiving unit receives the specific divided data at a timing when a load on at least one of the first communication line and the second communication line is low.
Citation Information
Patent Citations
Content delivery system, program, and content delivery method
JP2005038273A
Data distribution method and data distributing system
JP2009009297A
Receiving terminal, retransmission server, and receiving program
JP2020170887A
Download device, download system, and server
JP2022147666A
Digital content delivery system, digital content delivery method, program for executing the method, computer-readable recording medium storing thereon the program, and server and client for it
WO2003105421A1