Information processor

The information processing apparatus addresses the limitation of time-unaware data placement by using time-related conditions to determine storage for data, enabling efficient and dynamic data arrangement and pre-arrangement to maintain system performance.

JP2025089067APending Publication Date: 2025-06-12TOYOTA JIDOSHA KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023204033
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-01
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing data placement management techniques cannot utilize conditions related to time for determining the placement of data across multiple servers, limiting the ability to arrange or delete data based on its generation time.

Method used

An information processing apparatus that places input data in multiple storage devices based on constraint conditions including a first condition related to time, determining the storage device for data placement when the generation time of the data conforms to the specified time condition.

Benefits of technology

Enables distributed placement of data using time-related conditions, allowing for dynamic arrangement and potential pre-arrangement of data to minimize future data movement and maintain system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025089067000001_ABST
    Figure 2025089067000001_ABST
Patent Text Reader

Abstract

To perform dispersing arrangement of data by using a condition regarding a time.SOLUTION: An information processor in which input first data is arranged in at least one of a plurality of storage devices, has a control unit 110 which acquires a restriction condition including a first condition regarding a time to determine a storage device in which the first data is to be arranged, and determining a first storage device as the storage device in which the first data is to be arranged according to the restriction condition in a case where the generation time of the first data matches the first condition.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an apparatus for managing data placement.

Background Art

[0002] Techniques for dividing data and distributing it across multiple servers are known. In this regard, for example, Patent Document 1 discloses a load distribution apparatus that distributes a home return signal from a remote site to a processing server at the home site within a range not exceeding the CPU limit value based on the maximum value of the CPU usage rate and the load fluctuation rate of the processing server at the home site.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] An object of the present disclosure is to perform distributed placement of data using conditions related to time.

Means for Solving the Problems

[0005] One aspect of an embodiment of the present disclosure is an information processing apparatus that places input first data in at least one of a plurality of storage devices, the information processing apparatus obtaining a constraint condition including a first condition related to time for determining a storage device in which to place the first data, and determining a first storage device, which is the storage device to which the first data is to be placed, in accordance with the constraint condition when the generation time of the first data conforms to the first condition, the information processing apparatus having a control unit that executes the above. an information processing apparatus.

[0006] In another aspect, there are provided a method executed by the above-described apparatus, a program for causing a computer to execute the method, or a computer-readable storage medium storing the program non-temporarily.

Advantages of the Invention

[0007] According to the present disclosure, it is possible to perform distributed placement of data using conditions related to time.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Modes for Carrying Out the Invention

[0009] (Overview) It is assumed that various data are collected from a vehicle equipped with a mobile communication terminal and placed in a cloud server for use. In such a system, a device that manages data placement may divide or replicate data acquired from a vehicle and distribute and place it in a plurality of storage devices. Such a technique is referred to as sharding. A device that manages sharding can determine a storage device for placing data in consideration of predetermined constraint conditions. Examples of the predetermined constraint conditions include the hardware resources of each storage device and the geographical location of each storage device.

[0010] However, in the prior art related to sharding, although data can be arranged in a storage device in consideration of predetermined constraints, as the constraints, conditions related to time could not be utilized. That is, it was not possible to determine the placement destination of the data based on the time when the data was generated, or to execute rearrangement of the data according to the passage of time. In order to solve this problem, it is desirable that the device can arrange or delete the data according to certain constraints according to the time when predetermined data is generated.

[0011] An information processing apparatus according to an aspect of the present disclosure is an information processing apparatus that arranges input first data in at least any one of a plurality of storage devices, and acquires a constraint condition including a first condition related to time for determining a storage device in which the first data is arranged; and when the generation time of the first data conforms to the first condition, determining a first storage device that is the storage device to which the first data is to be arranged according to the constraint condition.

[0012] The first data is data to be arranged in a plurality of storage devices. Typically, the first data is data collected by a mobile communication terminal or a device installed on a road, etc., and is data input from a mobile communication terminal or a device installed on a road, etc. to the information processing apparatus according to the present disclosure.

[0013] The first condition is a condition related to the generation time of the first data. The first condition indicates conditions such as, for example, "whether the generation time of the first data is before a predetermined time" or "whether the generation time of the first data is after a predetermined time". Note that the generation time of the first data does not necessarily consist only of time information, and may include information related to the date when the first data was generated.

[0014] The first storage device is a storage device among a plurality of storage devices in which the first data is arranged.

[0015] When the generation time of the first data satisfies a predetermined condition, the control unit determines a first storage device for arranging the first data according to the acquired constraint conditions.

[0016] Thereby, the information processing apparatus according to the present disclosure can arrange the data in the storage device selected according to the constraint conditions according to the generation time of the data. That is, the information processing apparatus according to the present disclosure can perform distributed arrangement of data using the conditions related to time.

[0017] Further, when the constraint condition includes a time variable, the control unit may calculate a first constraint condition that is the constraint condition at a first time that is a specific time, and predict data arrangement based on the first constraint condition.

[0018] By including a time variable (for example, a variable into which the current time is substituted) in the constraint condition, for example, "when a certain amount of time has elapsed, move the data to another storage device" becomes possible. Thereby, for example, it becomes possible to "arrange relatively new data in a geographically close storage device and move old data to a geographically distant storage device".

[0019] At this time, by substituting a specific time (for example, a future time) into the variable, it is possible to predict how the data arrangement will change in the future.

[0020] According to such a configuration, the information processing apparatus according to the present disclosure can predict fluctuations in data arrangement among a plurality of storage devices that may occur in the future.

[0021] Further, when the constraint condition includes a variable of time, the control unit calculates a second constraint condition which is the constraint condition at a second time which is a specific future time, predicts a future arrangement which is the arrangement of the first data when the second constraint condition is satisfied, and when the amount of change in data arrangement when changing the data arrangement from the current arrangement of the first data to the future arrangement is more than a predetermined amount when the second time arrives, at the current time, within the range of the current constraint condition, the first data already arranged in any one of the plurality of storage devices may be moved in advance to another storage device among the plurality of storage devices.

[0022] Thereby, the information processing apparatus according to the present disclosure can change the data arrangement in advance in preparation for the change in data arrangement that occurs over time. For example, when a large amount of data movement occurs at a certain point in time, processing resources and network resources may be occupied, and the performance of the system may deteriorate. However, by performing data movement in advance, this can be prevented.

[0023] Further, when the constraint condition includes a condition regarding the remaining capacity of each of the plurality of storage devices, the control unit may further determine in which of the plurality of storage devices to arrange second data which is data obtained by replicating the first data based on the remaining capacity of each of the plurality of storage devices.

[0024] Thereby, the information processing apparatus according to the present disclosure can reliably store the replicated data.

[0025] Further, when determining in which of the plurality of storage devices to arrange second data which is data obtained by replicating the first data, the control unit designates the number of storage devices in which the second data is to be arranged within a predetermined range from a first number to a second number, and determines to arrange the second data in the storage devices among the plurality of storage devices whose remaining capacity is equal to or more than a predetermined amount so as to satisfy the designated number within the predetermined range.

[0026] As a result, the information processing apparatus according to the present disclosure can flexibly select a storage device for storing the replicated data.

[0027] Hereinafter, specific embodiments of the present disclosure will be described with reference to the drawings. The hardware configuration, module configuration, functional configuration, etc. described in each embodiment are not intended to limit the technical scope of the disclosure only to those, unless otherwise specified.

[0028] (First Embodiment) (Overview of Server Device Processing) An overview of the processing performed by the server device according to the embodiment will be described with reference to FIG. 1. FIG. 1 shows a diagram illustrating an overview of the processing executed by the server device 100 according to the embodiment. Here, the server device 100 is an example of the information processing apparatus according to the present disclosure. The server device 100 receives various data from a mobile communication terminal or a device installed on the road. Further, the server device 100 communicates with a plurality of storage devices and distributes (allocates) the received various data to the plurality of storage devices. It can also be said that the server device 100 is a device that manages data sharding.

[0029] First, a plurality of vehicles 10 each collect various data. Then, the plurality of vehicles 10 communicate with the server device 100 and transmit the collected various data to the server device 100. The various data may be, for example, data indicating dangerous locations on the road. The server device 100 may collect measurement data from the vehicles 10 or various devices installed on the road in order to detect driving dangerous locations such as freezing or waterlogging on the road, and arrange and manage them in a storage device.

[0030] Next, the server device 100 acquires constraint conditions that are referred to when distributing the transmitted data to a plurality of storage devices from an external device. Constraints are a set of conditions used when distributing data to multiple storage devices. Constraints may be composed of, for example, a set of "constraints" and "goals". A constraint is a condition that must be observed, such as the remaining storage capacity of a storage device. A goal is a condition desired by the user, such as "place at least two and at most five replicas of the data". The server device 100 determines the distribution of the data such that the constraints are satisfied and the goal is achieved as much as possible. In the present embodiment, the constraint conditions include conditions related to time. Here, the conditions related to time may be conditions for specifying the generation time of the input data. Further, the constraint conditions may include variables to which time is assigned, or variables to which the result of calculating time by a predetermined function is assigned. That is, the content of the constraint conditions may change according to the current time at which the process is executed.

[0031] The server device 100 determines whether the generation time of the input data conforms to the time conditions included in the acquired constraint conditions. If the generation time of the input data conforms to the acquired time conditions, the server device 100 distributes and arranges the input data to a plurality of storage devices according to the constraint conditions. That is, the server device 100 determines to which storage device to arrange the data that satisfies the time conditions according to the constraint conditions.

[0032] For example, consider the case where the time condition is the condition that "the generation time of the input data is after January 1, 2023". For the data generated on March 4, 2022, the server device 100 does not execute the arrangement to the storage device because the data does not satisfy the time condition. For example, the server device 100 may delete the data without saving it to the storage device. On the other hand, for the data generated on July 10, 2023, the server device 100 arranges the data to one of the storage devices according to the constraint conditions at the current time when the process is performed because the data satisfies the time condition. At this time, the constraint conditions may include the condition that "the remaining storage capacity of the storage device is equal to or greater than a predetermined amount".

[0033] Thus, in this embodiment, the constraint conditions include conditions related to time, and the server device 100 determines a storage device for arranging data by using the conditions related to time. With such a configuration, the server device 100 can perform distributed arrangement of data by using the conditions related to time.

[0034] <Configuration of Server Device> FIG. 2 is a diagram for explaining components included in the server device 100 according to the embodiment. In FIG. 2, the server device 100 may be an aggregate (cloud) of one or more computers.

[0035] The server device 100 according to the present embodiment includes a control unit 110, a storage unit 120, and a communication unit 130.

[0036] The control unit 110 is realized by a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) and a memory. The control unit 110 includes an acquisition unit 111, a determination unit 112, and an arrangement unit 113 as functional modules. These functional modules may be realized by executing a program by the control unit 110.

[0037] The acquisition unit 111 acquires data collected by devices installed in the vehicle 10 or on the road or the like from those devices. The acquisition unit 111 communicates with devices installed in the vehicle 10 or on the road or the like via the communication unit 130 and acquires the above data.

[0038] In addition, the acquisition unit 111 acquires constraint conditions including a first condition related to time from an external device. Here, the first condition related to time is a condition for specifying the generation time of the input data. The constraint conditions are constraint conditions related to the arrangement of the input data in the storage device. The constraint conditions may be created by, for example, an administrator of the data collection system.

[0039] The determination unit 112 determines whether the generation time of the input data conforms to the acquired first condition. For example, when the first condition is "the generation time of the data is earlier than a predetermined time", the determination unit 112 may determine whether the generation time of the input data is earlier than the time specified by the first condition. And if the generation time of the input data is earlier than the predetermined time, it may be determined that the generation time of the input data satisfies the first condition.

[0040] When the determination unit 112 determines that the generation time of the input data conforms to the first condition, the arrangement unit 113 determines the first storage device, which is the storage device where the first data is to be arranged, according to the constraint conditions. The arrangement unit 113 selects the storage device for arranging the first data from among a plurality of storage devices according to the constraint conditions acquired by the acquisition unit 111 from an external device or the like.

[0041] The storage unit 120 is a main storage device such as a RAM or a ROM, an EPROM, a hard disk drive, and an auxiliary storage device such as a removable medium. The auxiliary storage device stores an operating system (OS), various programs, various tables, etc., and by executing the programs stored therein, each function that matches the predetermined purposes of each part of the control unit 110 can be realized. However, some or all of the functions may be realized by a hardware circuit such as an ASIC or an FPGA.

[0042] The storage unit 120 stores data, etc. used or generated in the processes performed by the control unit 110. Also, the storage unit 120 stores the addresses, etc. of a plurality of storage devices including the first server. Also, the storage unit 120 may temporarily store various data received from the vehicle 10 or the like.

[0043] The communication unit 130 is composed of a communication circuit that performs wireless communication. The communication unit 130 may be, for example, a communication circuit that performs wireless communication using 4G (4th Generation), or may be a communication circuit that performs wireless communication using 5G (5th Generation). Also, the communication unit 130 may be a communication circuit that performs wireless communication using LTE (Long Term Evolution), or may be a communication circuit that performs communication by LPWA (Low Power Wide Area). Also, the communication unit 130 may be a communication circuit that performs wireless communication using Wi-Fi (registered trademark).

[0044] <Operation of the server device> Next, the specific content of the processing performed by the server device 100 will be described. FIG. 3 is a flowchart of the processing executed by the control unit 110 of the server device 100 according to the embodiment.

[0045] Before the illustrated processing is started, it is assumed that the acquisition unit 111 of the server device 100 communicates periodically with the vehicle 10 equipped with the mobile communication terminal or devices installed on the road or the like, and acquires various data from them. Alternatively, when the vehicle 10 equipped with the mobile communication terminal or devices installed on the road or the like detects a specific event, the server device 100 may receive information indicating that fact from the vehicle 10 or the like, and acquire various data from the vehicle 10 or the like. The data acquired in advance by the acquisition unit 111 is a specific example of the "first data". The first data may be input from the vehicle 10 or various devices to the server device 100 and acquired by the acquisition unit 111.

[0046] First, in step S10, the acquisition unit 111 acquires a constraint condition including a condition related to time. Here, the condition related to time is a condition (first condition) for specifying the generation time of the first data. For example, the first condition may be a condition that "the generation time of the first data acquired by the acquisition unit 111 is after a predetermined time". The constraint condition is a set of conditions used to determine a storage device (server device) for arranging the first data. The constraint condition may change in content according to the current time at which the process is performed.

[0047] Further, the constraint condition acquired by the acquisition unit 111 may include a variable related to time (hereinafter, time variable), and its content may be changed according to the current time at which the process described in FIG. 3 is executed. Note that the time variable may be a variable to which a time (such as the current time) is assigned, or a variable to which a result obtained by calculating time by a predetermined function is assigned. For example, consider a case where there is a time variable T to which the current time is assigned, and in the constraint condition, a first condition that "the generation time of the first data is after (T - 24 hours)" is defined. In this case, when the current time is 12:00 on January 1, 2023, the first condition becomes "the generation time of the first data is after 12:00 on December 31, 2022".

[0048] Subsequently, in step S11, the determination unit 112 determines whether the generation time of the input data (first data) conforms to the condition related to time (first condition). For example, the determination unit 112 may determine whether the generation time of the first data is after a predetermined time. This step results in an affirmative determination when the determination unit 112 determines that the generation time of the input data (first data) conforms to the condition related to time (first condition).

[0049] If an affirmative determination is made in this step, the process transitions to step S12.

[0050] If a negative determination is made in this step, the process ends.

[0051] When the process transitions to step S12, the placement unit 113 determines a storage device (an example of a "first storage device") for placing the first data according to the constraint conditions acquired by the acquisition unit 111.

[0052] For example, consider the case where the constraint conditions include the condition of "placing data on a predetermined number of storage devices from among the storage devices with a remaining capacity of a predetermined amount or more". In this case, the placement unit 113 may select a predetermined number of storage devices from among the storage devices with a remaining capacity of a predetermined amount or more from among the plurality of storage devices, and determine the storage device for placing the first data. Here, the predetermined number may be indicated by a range of numbers from a first number to a second number. The placement unit 113 may select a number of storage devices that satisfies the range of "equal to or more than the first number and equal to or less than the second number" from among the storage devices with a remaining capacity of a predetermined amount or more, and determine the storage device for placing the first data. 。

[0053] As shown in FIG. 4, for example, when it is specified in the constraint conditions that "the first data is to be placed on two to four storage devices with a remaining capacity of a predetermined amount or more", the placement unit 113 may determine to place the first data on three storage devices with a remaining capacity of a predetermined amount or more. Note that the remaining capacity of the storage device may be the current remaining capacity value, a statistical value (for example, a moving average of the remaining capacity values) taken from a plurality of past remaining capacity values, or an estimated value of a future remaining capacity value calculated by some algorithm.

[0054] Next, in step S13, the placement unit 113 transmits the first data to the storage device determined in step S12. When transmitting the first data to a plurality of storage devices, the placement unit 113 may divide the first data (for example, by row unit, column unit) and transmit it to each storage device, or may replicate the first data and transmit it to each storage device, or may be a combination of these.

[0055] As a result, the server device 100 can arrange the first data in the storage device according to the generation time of the data and based on the constraint conditions. Therefore, the server device 100 can perform distributed arrangement of the data using the conditions related to time.

[0056] <Example of data placement determination> Next, in the first embodiment, a specific example of how the arrangement unit 113 determines the method of arranging the first data in the storage device will be described.

[0057] For example, consider the case where traffic information is collected from a vehicle 10 equipped with a mobile communication terminal or a device installed on a road or the like and recorded in a storage device arranged for each region. In this example, assume that the prefecture where the first data was collected is Tokyo, and one storage device is installed in each of Tokyo, Osaka, and Okinawa prefectures. Also, assume that the acquisition period of the first data is from 0:00 on December 1, 2022 to 0:00 on September 15, 2023. Here, the replicated data is called a replica. In this example, a replica refers to the replicated first data. After generating a replica, arranging the data in the storage device can be instructed to the server device 100 via the constraint conditions.

[0058] First, assume that the constraint conditions including the conditions related to time are specified as "Arrange 3 replicas of the first data generated in 2023 in any storage device" and "Arrange 1 replica of the first data generated before 2022 in the nearest storage device". In this case, 3 replicas of the first data generated in 2023 are arranged in the storage devices at arbitrary locations, and 1 replica of the first data generated in 2022 is arranged in the storage device in Tokyo. For example, as a result of the calculation by the arrangement unit 113 based on the constraint conditions, 2 replicas of the first data generated in 2023 and 1 replica of the first data generated in 2022 are arranged in the storage device in Tokyo, and 1 replica of the first data generated in 2023 is arranged in the storage device in Osaka.

[0059] Next, a case will be described where a constraint condition including a condition related to time is specified as "place two replicas of the first data generated before 2022 and collected in Tokyo". However, it is assumed that the condition "one of the replicas is placed in a storage device in Tokyo and one of the storage devices outside Tokyo with a remaining capacity of 100 GB or more is placed" is further included in the constraint condition.

[0060] In this case, one of the replicas of the first data generated before 2022 is placed in a storage device in Tokyo. And one of the other replicas of the first data generated before 2022 is placed in a storage device in Osaka or Okinawa with a remaining capacity of 100 GB or more. For example, if the remaining capacity of the storage device in Okinawa is 100 GB or more, as a result of the operation of the placement unit 113 based on the constraint condition, one of the other replicas of the first data generated before 2022 is placed in the storage device in Okinawa.

[0061] Next, a case will be described where a constraint condition including a condition related to time is specified as "place one or more but less than three replicas of the first data generated before 2022 and collected in Tokyo". However, it is assumed that the condition "one of the replicas is placed in a storage device in Tokyo and at most two of the storage devices outside Tokyo with a remaining capacity of 100 GB or more are placed" is further included in the constraint condition.

[0062] In this case, one of the replicas of the first data generated before 2022 is placed in a storage device in Tokyo. And at most two of the other replicas of the first data generated before 2022 are placed in a storage device in Osaka or Okinawa with a remaining capacity of 100 GB or more. For example, as a result of the operation of the placement unit 113 based on the constraint condition, only one replica of the first data generated before 2022 is placed in a storage device in Okinawa that meets the conditions.

[0063] Finally, similarly, for the case where a constraint condition including a condition related to time is specified as "place one or more but less than three replicas of the first data generated before 2022 collected in Tokyo", an explanation will be given. However, the constraint condition further includes the condition that "one of the replicas is placed in the storage device in Tokyo, and at most two replicas are placed in the storage devices outside Tokyo with a remaining capacity of 100 GB or more". Also, the condition that "when the time zone during which the server device 100 performs the process of managing data is the daytime time zone, three replicas must be stored in one of the storage devices" is also further included in the constraint condition.

[0064] In this case, at 0:00 on September 14, 2023, the server device 100 can reduce the replicas of the first data generated before 2022 to one. However, since the server device 100 needs to ensure three replicas approximately six hours later (during the daytime time zone), at 0:00 on September 14, 2023, the server device 100 may also keep three replicas. For example, at 0:00 on September 14, 2023, one replica of the first data generated before 2022 is placed in each of the storage devices in Tokyo, Osaka, and Okinawa.

[0065] As described above, in the first embodiment, the server device 100 obtains a constraint condition including a first condition that is a condition related to time. Then, when the generation time of the first data conforms to the first condition, the server device 100 determines to place the first data in one of the plurality of storage devices according to the constraint condition. That is, the server device 100 can realize the distributed placement of data using the condition related to time.

[0066] (Second Embodiment) <Configuration of Server Device> In the first embodiment, when the generation time of the first data satisfies the first condition, the server device 100 determines a first storage device for arranging the first data according to the constraint condition, and arranges the first data in the first storage device. However, when a future time arrives, the constraint conditions to be applied may change, resulting in a significant change in the data arrangement among a plurality of storage devices at that time. For example, at a certain future time, due to the change in the data storage destination, a large amount of data copying and moving may occur, which may affect the performance of the network and the system.

[0067] To address this, the server device 100 anticipates the data arrangement at a future time in preparation for a significant change in the data arrangement among a plurality of storage devices at the future time, and it is desirable to prepare for possible changes in the data arrangement within the scope of the current constraints. The second embodiment is an embodiment in which the server device 100 anticipates the data arrangement at a future time and pre-changes the current data arrangement under the current constraint conditions so that the data transfer amount for changing the data arrangement at the future time is reduced.

[0068] FIG. 5 is a diagram for explaining the components of the server device 100A according to the second embodiment. The description of the components common to the first embodiment is omitted. The server device 100A includes a control unit 110A, a storage unit 120, and a communication unit 130. The control unit 110A includes a calculation unit 114 in addition to an acquisition unit 111, a determination unit 112, and an arrangement unit 113.

[0069] The calculation unit 114 calculates a second constraint condition that is a constraint condition at a specific future time, the second time. Then, the calculation unit 114 predicts a future arrangement that is the arrangement of the first data when following the second constraint condition. And when the amount of change in the data arrangement when changing from the current arrangement of the first data to the data arrangement at the second time is greater than a predetermined amount, within the range of the current constraint conditions, the calculation unit 114 pre-moves the first data already arranged in any of the plurality of storage devices to another storage device. That is, the calculation unit 114 pre-changes the current data arrangement to an arrangement such that the amount of change in the data arrangement at a future time does not exceed the predetermined amount. At this time, it is assumed that the calculation unit 114 determines the change in the data arrangement according to the current constraint conditions.

[0070] <Operation of the server device> Next, the process executed by the control unit 110A in the second embodiment will be described. FIG. 6 is a flowchart of the process executed by the control unit 110A of the server device 100 according to the second embodiment. The process in FIG. 6 is executed at an arbitrary timing after the process in FIG. 3 is performed and the first data is arranged in the plurality of storage devices.

[0071] First, in step S20, the calculation unit 114 determines whether the constraint condition acquired by the acquisition unit 111 includes a time variable. That is, the calculation unit 114 determines whether the constraint condition is a constraint condition that includes a value that changes according to the time to be substituted. This step results in an affirmative determination when the calculation unit 114 determines that the constraint condition acquired by the acquisition unit 111 includes a time variable.

[0072] When an affirmative determination is made in this step, the process proceeds to step S21.

[0073] When a negative determination is made in this step, the process ends.

[0074] When the process transitions to step S21, the calculation unit 114 substitutes a specific time into the constraint condition and calculates the constraint condition at the specific time. Here, the specific time may be a second time which is a future time. As determined in step S20, since the constraint condition includes a value that changes depending on the time, the calculation unit 114 calculates the constraint condition at the specific time.

[0075] Next, in step S22, the calculation unit 114 predicts the data placement based on the constraint condition at the specific time calculated in step S21. For example, the calculation unit 114 predicts the data placement that would be realized under the constraint condition required at the second time.

[0076] Next, the calculation unit 114 determines whether the amount of data change when changing from the current data placement to the data placement based on the constraint condition at the specific time predicted in step S22 is equal to or greater than a predetermined amount. The amount of data change means the total amount of data whose placement changes. That is, the amount of data change can also be said to be the amount of data transfer when changing the data placement. That is, the calculation unit 114 determines whether the amount of data transfer required to change from the current data placement to the data placement based on the constraint condition at the specific time is greater than the predetermined amount. This step results in an affirmative determination when the calculation unit 114 determines that the amount of data transfer required to change from the current data placement to the data placement based on the constraint condition at the specific time predicted in step S22 is equal to or greater than the predetermined amount. If an affirmative determination is made in this step, the process transitions to step S24.

[0077] If a negative determination is made in this step, the process ends.

[0078] If a negative determination is made in this step, the process ends.

[0079] When the process transitions to step S24, the calculation unit 114 moves at least a part of the first data within the range of the current constraint conditions so as to be in the predicted data arrangement. That is, the calculation unit 114 moves a part of the first data arranged in one or more storage devices based on the current constraint conditions to another storage device in advance within a range that does not deviate from the current constraint conditions.

[0080] In the second embodiment, the calculation unit 114 predicts the future arrangement and moves the first data in advance. However, the calculation unit 114 may execute other processes based on the prediction result. Further, the calculation unit 114 calculates the data arrangement not limited to a future time, and may calculate the data arrangement at a specific time. The calculation unit 114 may calculate the constraint conditions at the first time, which is a specific time, as the first constraint conditions, and calculate the data arrangement based on the first constraint conditions.

[0081] As described above, in the second embodiment, the server device 100 predicts the data arrangement required at a future time, and changes the data arrangement in advance within the range that satisfies the current constraint conditions so that the amount of data movement when changing the current data arrangement to the future data arrangement is reduced. As a result, when the future time arrives, the data movement that will be performed between the plurality of storage devices can be minimized as much as possible. Therefore, the server device 100 can suppress a decrease in calculation efficiency associated with the rearrangement of data.

[0082] (Other Modifications) The above embodiments are merely examples, and the present disclosure can be appropriately modified and implemented without departing from the gist thereof.

[0083] The present disclosure can also be realized by supplying a computer program that implements the functions described in the above embodiments to a computer and causing one or more processors included in the computer to read and execute the program. Such a computer program may be provided to the computer by a non-transitory computer-readable storage medium connectable to the system bus of the computer, or may be provided to the computer via a network. The non-transitory computer-readable storage medium includes, for example, any type of disk such as a magnetic disk (e.g., a floppy (registered trademark) disk, a hard disk drive (HDD), etc.), an optical disk (e.g., a CD-ROM, a DVD disk, a Blu-ray disk, etc.), a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card, a flash memory, an optical card, and any type of medium suitable for storing electronic instructions.

Explanation of Signs

[0084] 10 ··· Vehicle 100, 100A ··· Server Device 110, 110A ··· Control Unit 112 ··· Determination Unit 113 ··· Arrangement Unit 114 ··· Calculation Unit 120 ··· Storage Unit 130 ··· Communication Unit

Claims

1. An information processing apparatus that arranges input first data in at least any one of a plurality of storage devices, comprising: obtaining a constraint condition including a first condition related to time for determining a storage device in which the first data is to be arranged; determining a first storage device, which is a storage device in which the first data is to be arranged, according to the constraint condition when a generation time of the first data conforms to the first condition; a control unit that executes the above; An information processing apparatus.

2. The control unit: when the constraint condition includes a time variable, calculating a first constraint condition, which is the constraint condition at a first time that is a specific time, predicting data arrangement based on the first constraint condition; The information processing apparatus according to Claim 1.

3. The control unit: when the constraint condition includes a time variable, calculating a second constraint condition, which is the constraint condition at a second time that is a specific future time, predicting a future arrangement, which is an arrangement of the first data when conforming to the second constraint condition, when a change amount of data arrangement when changing the data arrangement from the current arrangement of the first data to the future arrangement is greater than a predetermined amount when the second time arrives, moving in advance the first data already arranged in any one of the plurality of storage devices within a range of the current constraint condition to another one of the plurality of storage devices at the current time; The information processing apparatus according to Claim 1.

4. The control unit: when the constraint condition includes a condition related to remaining capacity of each of the plurality of storage devices, further determining, based on the remaining capacity of each of the plurality of storage devices, in which one of the plurality of storage devices to arrange second data, which is data obtained by replicating the first data; The information processing apparatus according to Claim 1 or 2.

5. The control unit: when determining in which one of the plurality of storage devices to arrange second data, which is data obtained by replicating the first data, specifying the number of storage devices in which the second data is to be arranged within a predetermined range from a first number to a second number, determining to arrange the second data in the storage device among the plurality of storage devices having a remaining capacity of a predetermined amount or more so as to satisfy the specified number within the predetermined range; The information processing apparatus according to Claim 4.

Citation Information

Patent Citations

  • User terminal, server and program

    JP2005107892A

  • Data management device and method

    JP2006350470A

  • Data migration device, method and program

    JP2008015984A

  • Data center, cache server and method

    JP2008140184A

  • Data management device, data management method, and program

    JP2017062541A