This patent application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2014-066457 filed on Mar. 27, 2014, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a communication control device, a storage device, and a communication control method.
Conventionally, there is a stream data processing system for receiving data from various information sources. In the stream data processing system, an information management device uses a plurality of data storage devices and a plurality of filter processing devices, to manage, in a data position management DB, the position information (append data position information) of past stream data stored in each data storage device.
When a re-filter instruction is received from a reference client, the information management device refers to this append data position information, reads the stream data that is the target of this re-filter process from the data storage device storing the corresponding stream data, and performs the re-filter process (see, for example, Patent Document 1).
Furthermore, there is a data management system, in which, based on a certain file system movement rule, a file system movement instruction unit moves a file system matching the file system movement rule, from a first volume of a first storage device to a second volume of a second storage device, and the storage information of the file system is updated according to the movement of the file system by a file system movement unit.
The data management system includes a file system storage information management unit that sends the storage information of the file system that has been updated, and a search information management unit that updates the search information used for searching for a file based on a file search request from a client device, according to the storage information of the file system sent by the file system storage information management unit (see, for example, Patent Document 2).
Patent Document 1: Japanese Laid-Open Patent Publication No. 2008-294774
Patent Document 2: Japanese Laid-Open Patent Publication No. 2008-071035
When data generated by a terminal is stored in one of a plurality of storage devices arranged in a network, if the selection of the storage device to store the data or the storage period of the data is determined unrelated to the location of the device that uses the data or the usage frequency of the data, there may be an increase in the transfer cost when transferring the data in the usage device that uses the data stored in the storage device.
According to an aspect of the embodiments, a communication control device is connected, via a network, to a plurality of storage devices that store data generated by a generation device that generates the data, and a usage device that uses the data stored in the plurality of storage devices. The communication control device includes a processor configured to execute a process including collecting information relevant to acquisition of the data from the plurality of storage devices by the usage device, determining a storage rule for storing the data at each of the plurality of storage devices, based on the collected information relevant to the acquisition of the data, and sending the determined storage rule to the storage device corresponding to the determined storage rule.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention as claimed.
Preferred embodiments of the present invention will be explained with reference to accompanying drawings.
In
The data generation device S1 generates data in a periodic or a non-periodic manner. The generated data is sent by a predetermined communication protocol, to the storage device N1 connected via a network. The data generation device S1 is provided with, for example, a sensor or a counter for generating various kinds of measurement data. The generation cycle of the data or the size of the generated data differs depending on the data generation device. The types of data generated by the data generation device are, for example, numeric data, image data, and audio data.
The storage devices N1 through N16 store the data generated by the data generation device S1 in a storage unit in itself, or transfers this data to another storage device connected by a network, according to a storage rule defining a storage method of data described below. The storage rule is received from the communication control device C1.
The storage device N1 stores the data generated at the data generation device S1, and transfers the data to the storage device N7.
The storage devices N1 through N16 send information of the data respectively stored by themselves to the data position management device L1, and the data position management device L1 is able to manage which data is stored in which storage device.
The storage devices N1 through N16 may be, for example, devices for relaying data, which are arranged in a network such as an access network or a core network operated by a communication carrier. Furthermore, the storage devices N1 through N16 may be devices that are arranged in a data center or a company network operated by a data center business operator.
In the example of the present embodiment, the storage devices N1 through N9 are provided in an access network, the storage devices N10 through N14 are provided in a core network, and the storage devices N15 and N16 are respectively provided in a data center DC1 and a data center DC2. However, the configuration of the networks, and the number and arrangement of storage devices are not so limited.
The usage devices A11 through A19 are devices that use the data stored in the storage devices N1 through N16. For example, the usage devices A11 through A19 are respectively provided with programs of applications that use the data. In the example of the present embodiment, each usage device is provided with one application program, and therefore the applications are denoted by the same reference numerals A11 through A19 as those of the usage devices.
There are cases where the frequency and the timing of using the data by the usage devices A11 through A19 are different according to the usage device. For example, there is a case where data generated by the data generation device S1 according to a request by an application program, is used at the timing when the data is generated. Alternatively, there is a case where the data stored in a storage device is read and used at a predetermined timing.
For example, the usage devices A11 through A19 are able to send, to the communication control device C1, the usage frequency of data as information of the respective usage devices. The usage frequency is, for example, once every hour, once a day, or every time the data is generated.
The data position management device L1 receives a position registration request from the storage devices N1 through N16, when the storage devices N1 through N16 store, move, or delete the data. The position registration is for registering the storage device storing the data in the data position management device L1, and the position registration request includes identification information of the data and identification information of the storage device. The data position management device L1 manages which data is stored in which device, by receiving the position registration request and storing the identification information of the data and identification information of the storage device.
When a position search request to search for a storage device storing the target data from among the storage devices N1 through N16, is received, the data position management device L1 searches for the storage device storing the target data by the identification information of the data, and sends a position search response including the search result of the storage device to the storage device.
The communication control device C1 determines a storage rule for controlling the storing and transferring of data in the storage devices N1 through N16. The storage rule is determined by information collected from the usage devices A11 through A19. Details of the method of determining the storage rule are described below. The communication control device C1 sends the determined storage rules to the respective storage devices N1 through N16. In the example of
Note that
Furthermore, in
Furthermore, for example, the three storage devices N11, N12, and N14 may be connected to each other by individual links, as illustrated in
Next, with reference to
In
The processor 11 is, for example, a CPU (Central Processing Unit). The processor 11 loads, in the main storage device 12, an OS (Operating System) or various application programs stored in the secondary storage device 15 or the portable recording medium 19, and executes these programs.
The main storage device 12 is, for example, a RAM (Random Access Memory). In the main storage device 12, the OS or application programs stored in the secondary storage device 15 or the portable recording medium 19 are loaded and stored. In the main storage device 12, a main storage area managed by the OS is mapped, and application programs operating on the OS are executed by the processor 11.
The input device 13 is, for example, a data input device such as a keyboard and a pointing device such as a mouse. The output device 14 is an output device for outputting results of processes by the processor 11. The output device 14 is, for example, a voice output device such as a speaker, a display, or a printing device such as a printer.
The secondary storage device 15 is, for example, a non-volatile memory such as an EPROM (Erasable Programmable ROM), a SSD (Solid State Drive), or a hard disk drive. The secondary storage device 15 stores the OS or programs such as various application programs, and various kinds of data, so as to be readable by the processor 11. The secondary storage device 15 may function as a virtual memory of the main storage device 12.
The data generated by the data generation device S1 as described with reference to
The portable recording medium driving device 16 drives programs or various kinds of data recorded in the portable recording medium 19, so as to be readable from the processor 11. The portable recording medium 19 is, for example, a memory card, an optical disk, and a magnetic disk.
The network interface 17 is an interface for performing input and output of information with respect to the network. The network interface 17 is, for example, a NIC (Network Interface Card) or a wireless LAN (Local Area Network) card.
Note that
Next, with reference to
In
The determination unit 22 includes a transfer cost estimation unit 221, a storage cost estimation unit 222, and a storage rule determination unit 223. Furthermore, the transmission/reception unit 23 includes a transmission unit 231 and a reception unit 232.
Functions of the information collection unit 21, the determination unit 22, and the transmission/reception unit 23 may be implemented by causing the processor 11 to execute programs stored in the main storage device 12 described with reference to
The transmission/reception unit 23 performs, via a network, transmission/reception of data or a message packet including a control message, with the data generation device S1, the usage devices A11 through A19, the data position management device L1, and the storage devices N1 through N16, described with reference to
The information collection unit 21 collects information of the usage devices A11 through A19. The collected information is, for example, information of the usage frequency of data generated by the data generation device S1, at the usage devices A11 through A19. The usage frequency is, for example, usage intervals or usage timings of the data requested by the respective applications included in the usage devices A11 through A19. The information collection unit 21 is able to classify applications included in the usage devices A11 through A19, into categories as described below, according to the usage frequency of the requested data. In the present embodiment, the information collection unit 21 records the applications that have been classified into categories in a usage device information table described below.
The transfer cost estimation unit 221 calculates the data transfer cost in the network, based on information such as the frequency of data generated by the data generation device S1, the data volume, the usage frequency of the application, and configuration information of the respective devices in the network, by a calculation method described below. Note that the configuration information of the devices in a network is expressed by a connection topology in a network between storage devices described with reference to
The storage cost estimation unit 222 calculates the storage cost of data in the respective storage devices N1 through N16. For example, in a storage device that stores a large volume of data such as the data centers DC1 and DC2 described above with reference to
The storage rule determination unit 223 determines the storage device to be the storage destination of the data and the storage rule in the determined storage device, based on the calculation results by the transfer cost estimation unit 221 and the storage cost estimation unit 222. The storage rule defines the storage time and actions such as moving the data to another storage device, copying the data to another storage device, and deleting the data, for each of the storage devices. Details of the storage rule are described below. The storage rule determination unit 223 sends the determined storage rule as, for example, text data, to the storage devices N1 through N16 via the transmission unit 231.
Next, with reference to
In
The message processing unit 31 includes a position registration request unit 311, a position search request unit 312, and a transfer request unit 313. The data control unit 32 includes a movement processing unit 321, a copy processing unit 322, a deletion processing unit 323, and an acquisition unit 324. Furthermore, the transmission/reception unit 35 includes a transmission unit 351 and a reception unit 352.
The transmission/reception unit 35 has the same functions as those of the transmission/reception unit 23 described with reference to
The identification unit 34 analyzes the header or the body of a message packet received by the reception unit 352, and extracts the type of message packet or an identifier of a device that is the message transmission source.
Here, the type of message packet is, for example, data transmission from the data generation device S1, a data acquisition request from the usage devices A11 through A19, data transfer from another storage device, or a data transfer request to another storage device. Furthermore, the type may be a response to a position registration request, or a response to a position search request from the data position management device L1.
When the type of the message is transmission of data generated by the data generation device S1, the identification unit 34 searches for a storage rule received from the communication control device C1 based on the identifier of the extracted data generation device, and confirms whether the data generation device is of a storage target.
The message processing unit 31 generates various request messages and sends the generated request messages to another storage device or the data position management device L1 via the transmission unit 351. Furthermore, the message processing unit 31 receives response messages or transfer data in response to the sent request messages, from another storage device or the data position management device L1 via the reception unit 352.
When the position registration request unit 311 stores, moves, or deletes the data in the device itself, the position registration request unit 311 sends, to the data position management device L1, a position registration request message including the identifier of the data generation device, the generation time and range of the stored data, and the identifier of the storage device itself. The position registration request unit 311 receives a position registration response message as a response, from the data position management device L1.
When a data acquisition request is received from the usage devices A11 through A19, the position search request unit 312 sends, to the data position management device L1, a position search request message requesting to search for a storage device that is a storage destination, with respect to data that is not stored in itself. The position search request unit 312 receives a position search response message including the search results from the data position management device L1.
The transfer request unit 313 requests another storage device to transfer data that is not stored in the storage device itself. When the requested data is transferred from another storage device, the transfer request unit 313 sends the transferred data to a usage device that is the data acquisition request source, via the transmission unit 231.
The management unit 33 instructs the data control unit 32 to operate on the storage data, based on a storage rule sent from the communication control device C1. The operation of the storage data is, for example, to transfer (move) the data, copy the data, delete the data, and acquire the data.
The movement processing unit 321 transfers the storage data via the transmission unit 231, based on a transfer request from another storage device, according to the storage rule. The copy processing unit 322 copies the stored data at a predetermined timing and sends the copied data to another storage device, according to the storage rule. The deletion processing unit 323 deletes the stored data at a predetermined timing, according to the storage rule. Furthermore, the acquisition unit 324 acquires the data generated by the data generation device S1, according to the storage rule.
Next, with reference to
The information of the data items in the configuration information table may be, for example, periodically collected from the network and updated, or may be collected when creating the storage rule.
In
The link cost is the link cost when two nodes are used for data communication. For example, the first line of the table indicates that the link cost from the transmission source node to the destination node is 1. The link cost may be expressed as the cost of communication between nodes based on the line speed or the line usage fee between nodes. For example, when the line speed of the link is 10 Mbps, and the line usage fee per month is 100,000 yen, the link cost may be set as 0.001 as the line cost unit price, obtained by converting the fee into the cost per 1 bps. In the present embodiment, as a matter of simplification, all of the costs of nodes between storage devices illustrated in
The configuration information table of
In the network topology illustrated in
Note that the present embodiment indicates a configuration in which the storage devices are connected to each other; however, the configuration may be a network topology in which network devices such as switches and routers are provided in the communication paths. In this case, the configuration information table of
Next, with reference to
In
The maximum storage capacity indicates the data capacity that each storage device is able to store. The maximum storage capacity is determined by, for example, the storage capacity of the secondary storage device 15 described with reference to
The type is classified into three types of “upper”, “lower”, and “DC (data center)”, according to the purpose of the storage device or the arrangement position in the network. For example, when the storage device is arranged in a lower-level network such as an access network described with reference to
The storage cost unit is the cost per unit amount when storing the data in the storage device. Generally, the storage cost per unit amount of a storage device having a high storage capacity is low, and the storage cost per unit amount of a storage device having a low storage capacity is high. The storage cost differs according to the type of storage device. For example, a storage device using a hard disk has a lower storage cost than that of a storage device using a flash memory. In
Next, with reference to
In
The generation device identifier is an identifier for identifying a device such as a sensor for generating data. The generation device identifier may be, for example, one identifier assigned to each of the generation devices, or an identifier associated with each of a plurality of data generation programs that are executed by the generation device. Furthermore, an identifier may be assigned to each sensor, when a plurality of sensors are provided in the generation device.
The generation device identifier may be set for each data item that is the control target to be generated and stored or transferred, etc. For example, when a single generation device includes a temperature sensor and a humidity sensor, generation device identifiers may be respectively set for a temperature sensor and a humidity sensor. In the present embodiment, a description is given of a case where there is only one generation device (S1); however, when there are a plurality of sensors for generating data, data items may be input for each sensor in the generation device information table.
The connection destination storage device is a communication device identifier of the storage device to which the generation device is directly connected. For example, in
The generation data size is the size per data item generated by the generation device. The generation data size may be the size of the generated data item per se, or, for example, a packet size including the header of a packet communicated in a network. Furthermore, the generation data sizes may be a fixed size. Even when the size of the generated data item changes every time, for example, the size may the average length of data items generated within a predetermined period.
The generation cycle is the cycle at which the generation device generates data. The generation cycle may be a fixed cycle. Even when the cycle of generating the data differs every time, for example, the cycle may be an average cycle of generating a predetermined number of data items.
Next, with reference to
In
The collection of the information of the usage devices, the creation of the usage device information table, and the classification of the applications into categories are executed by, for example, the information collection unit 21 described with reference to
The application identifier is an identifier of an application that uses the data generated by the generation device. An application is a program that uses the data and that operates in the usage device. For example, when there are a plurality of applications in a usage device, and each of the applications uses the data generated by the generation device, the usage device information table may include a plurality of application identifiers for a single usage device.
Furthermore, when there is only one application in a single usage device, the identifier of the usage device may be used as the application identifier. In the embodiment illustrated in
The connection destination storage device expresses the identifier of the storage device to which the usage device in which the application operates is directly connected via the network.
The generation device identifier of the usage target data is the identifier of the generation device that generates the data that is used by the application.
The time range of acquiring data is the temporal range during which the application requests the connection destination storage device to acquire data, which expresses, for example, the data acquisition time period. For example, the application A11 requests the storage device N1 to acquire only the newest data item at the time point of making the acquisition request, among the data items generated by the data generation device S1 and stored in the storage device N1. Furthermore, the application A13 requests the storage device N1 to acquire data that has been generated within a day from the time point of making the acquisition request, among the data items generated by the data generation device S1 and stored in the storage device N1. That is to say, the data items from one day ago from the time point of making the acquisition request to the newest data item are the targets of the request.
The acquisition cycle is the cycle at which the application requests the connection destination storage device to acquire data. When a request to acquire data is made at the same cycle every time, a fixed value is used as a fixed cycle. When the cycle of requesting to acquire data changes, for example, an average value of cycles at which a predetermined number of data items are acquired, may be used. For example, the application A11 has an acquisition cycle of one minute, and the application A12 has an acquisition cycle of two minutes.
The category is the category into which the applications are classified according to the data item of the time range of acquiring data (acquisition period). In the present embodiment, for example, the categories are determined by the following standard.
First category: The time range of acquiring data is only the newest data.
Second category: The time range of acquiring data is within one day.
Third category: The time range of acquiring data is more than one day.
According to this method of determining the categories, the applications A11 and A12 belong to the first category, the applications A13 through A17 belong to the second category, and the applications A18 and A19 belong to the third category.
The communication control device C1 records the categories into which the applications are classified, in the usage device information table, together with the information collected from the usage devices. The usage device information table may be stored in the main storage device 12 or the secondary storage device 15 illustrated in
The above applications are classified into categories according to the frequency of acquiring data, requested by each of the applications. For example, an application that is categorized into the first category, is categorized as an application that is assumed to acquire the data generated by the generation device by low delay. Furthermore, an application that is categorized into the third category, is categorized as an application having low demand with respect to the delay of the data and that places more importance on the cost of storing the data rather than the time taken for data transfer. Furthermore, an application that is categorized into the second category, is categorized as an application that places importance on the balance of the transfer cost, to be an intermediate value between that of the first category and the third category. This case is described as an embodiment that handles the delay in the data as the transfer cost and the storage cost, and therefore, an application that is categorized into the second category, is categorized as an application that places importance on the balance of the delay of data and the storage cost, to be intermediate values between that of the first category and the third category.
Note that the standard for classifying the applications into the categories is not limited to the above standard. For example, by the above standard, the applications are categorized into three categories according to the time range of acquiring data; however, the applications may be classified into two or four or more categories. Furthermore, the applications may be classified into categories based on a data item other than the time range of acquiring data. When determining the storage device that is the storage destination described below, the storage destination is determined by calculating the storage destination for each category.
Furthermore, in the present embodiment, the applications are classified by assigning one category to each application. However, for example, when one application requests different time ranges of acquiring data, the application may be categorized into plural categories for each of the different time ranges of acquiring data, and may be registered in the usage device information table accordingly.
Next, with reference to
In
By the transfer/storage cost coefficient table, by setting the weight of the transfer cost and storage cost in advance, even when the cost of the communication network or the storage cost is different, it is possible to estimate the cost according to the system environment.
The transfer/storage cost coefficient table may be stored in the main storage device 12 or the secondary storage device 15 described with reference to
Next, with reference to
The first step includes determining the storage device for storing the data to be used by an application of the first category described with reference to
In the first step, there is no need to calculate the storage cost and the transfer cost for determining the storage rule, and therefore the storage rule may be quickly determined, such that the calculation load of determining the storage rule in the second step described below is reduced.
The transfer time of the data is the shortest when the number of hops of network paths is zero, when storing the data in the connection destination storage device described with reference to
As described with reference to
In the first step, the storage time at the storage device is the data generation cycle at the generation device. However, in the second step described below, when the storage rule is determined such that a longer storage time is set for the same data, the storage time in the storage rule of the storage device is set to be a longer storage time.
Note that in the present embodiment, in order to reduce the delay at the time of acquiring data, the storage device nearest to the application is determined as the storage device; however, the connection destination storage device described with reference to
Next, a description is given of a method of determining the storage rule by the second step, of determining the storage device to be the storage destination and the storage time, based on information of applications of the second category and the third category, excluding the applications for which the storage devices have been determined in the first step.
In the second step, assuming that all of the storage devices are candidates of the storage destination, the storage cost and transfer cost is calculated for each storage device, and both the storage cost and transfer cost are considered in determining the storage device of the lowest cost as the storage destination.
In
First, the storage cost is calculated. The storage cost is proportionate to the amount of data stored in the storage device, the storage time, and the unit price of the storage cost. The storage time is assumed to be the longest acquisition cycle among those of the applications in the second category using the data stored in the storage device. Note that in the second step, the information of the application of the third category is used only for determining the storage destination. The determination of the storage time based on the applications in the third category is made in the third step described below. The following is an example of calculation of the storage cost in the storage device N10.
The above calculation is made by assuming that the storage time is the acquisition cycle (one minute) described with reference to
Next, the transfer cost for transferring the data is calculated. The transfer cost is calculated by obtaining the total cost of the movement cost for moving the data from a storage device to the next storage device, and the acquisition cost for each application to acquire the data stored in the storage device.
The movement cost from the storage device N1 to the storage device N7 (movement path cost=1), and from the storage device N7 to the storage device N10 (movement path cost=1), indicated by the dashed line arrow in
The movement path cost is the cost that arises between storage devices that are connected in the network.
Note that in
That is to say, if the storage device determined in the second step stores the same data as that stored by the storage device already determined as the storage destination in the first step, the movement source of the data may be any of the storage devices determined as the storage destinations in the first step. Furthermore, the storage device having the lowest system cost including the acquisition cost described below, may be determined as the storage destination.
Next, the acquisition costs indicated by the solid line arrows in
By the above formula, the acquisition costs of applications A13, A16, A17 are calculated as follows.
acquisition cost={(60×24 minutes÷1 minute×800 bits)÷86400 seconds}×1≈3.81
Furthermore, the acquisition cost of application A18 is calculated as follows.
acquisition cost={(60×24 minutes÷1 minute×800 bits)÷604800 seconds}×(1×2)≈3.81
Furthermore, the acquisition cost of application A19 is calculated as follows.
acquisition cost={(60×24 minutes÷1 minute×800 bits)÷604800 seconds}×(1×3)≈5.71
Meanwhile, the applications A14, A15 are directly connected to the storage device N10, and therefore the acquisition path cost is zero, and no acquisition costs arise.
Note that in all of the applications A13 through A19, the newest data is included in the time range of acquiring data, and therefore when a data acquisition request is made, the acquisition of the newest data is requested in the respective time ranges. Here, when there is no newest data in the storage device for which the acquisition request is made, the storage device for which the acquisition request is made sends a request for the transfer of data to another storage device storing the newest data. In
According to the above, in the second step, the cost of the overall system in a case where the storage device 10 is the storage destination, is calculated as follows.
By the above calculation, the system cost is calculated in a case where the data is stored in the storage device N10; however, the system cost in cases where the data is stored in other storage devices may be sequentially calculated, and the storage rule of the data may be determined to have the lowest system cost among all combinations.
Next, with reference to
In
First, the storage cost at the storage device N7 is the same as the storage cost at the storage device N10, and is calculated as follows.
storage cost=storage data amount×storage cost unit price=11520000
Next, the movement cost includes a new movement cost for the movement from the storage device N1 to the storage device N7, in addition to the movement from the storage device N1 to the storage device N10 described in the first example. The new movement cost is calculated as follows.
(data size÷data generation cycle)×movement path cost=(800 bits÷60 seconds)×1≈13.3
The movement cost (26.7) from the storage device N1 to the storage device N10 is added to the above as follows, and the movement cost is obtained.
13.3+26.7=40.0
The acquisition cost of the application A13 (13.3) becomes zero in this example, which is a different point from the first example. The acquisition costs for the other applications are the same.
Therefore, the system cost is obtained as follows.
system cost=40.0+(13.3+13.3+3.81+5.71)+2×11520000×10−6≈99.2
Comparing the system cost of the first example described with reference to
Furthermore, in the present embodiment, the calculation is made for an example where the number of storage devices is one or two; however, also in cases where a larger number of storage devices are the storage destinations, the same method may be used to determine the storage rule by which the system cost is lowest.
Furthermore, by determining the storage device selected with priority in the first step, the number of applications that are calculation targets in the second step is reduced, such that the calculation load needed for determining the storage rule is reduced.
Furthermore, by changing the weight of the transfer cost of the network and the storage cost of data in the storage device, it is possible to calculate a storage rule that matches the system.
Next, a description is given of a method of determining the storage rule by the third step, of determining the storage device to be the storage destination and the storage time, based on information of applications of the third category.
The data generated by the generation device is stored in the storage device according to the storage rule determined according to the method by which the system cost is lowest by the second step. However, for example, when the data needs to be stored for a long period of time, and all of the storage devices are determined as storage targets, in a storage device having a small storage capacity, the data may exceed the data capacity according to the variation in the amount of data generated. Thus, in the third step, the storage rule is determined such that the storage destination is limited to the storage device N15 and the storage device N16 which are arranged in the DC1 or the DC2 described with reference to
In the third step, the storage time of the storage device is determined based on the application having the longest acquisition cycle among the applications in the third category.
In
The storage time of the storage device N15 is determined to be one week, which is the longest acquisition cycle between those of the applications A18 and A19 of the third category described with reference to
Note that it is determined, in the storage rule of the storage device N10 determined in the second step, to perform an action of moving or copying data to the storage device N15, after the storage time of the storage device N10 passes. In this case, the storage time (one week) in the storage device N15 becomes six days, which is obtained by subtracting the storage time (one day) of the storage device N10 from that of the storage device N15.
The following calculation example describes a case where there is no delay in the data transfer by the storage device N10.
First, the storage cost is calculated by the following formula, similar to the second step.
Next, the transfer cost including the movement cost and the acquisition cost is calculated by the following formula. In the third step, the movement cost is calculated based on the movement from the storage device N10 to the storage device N15 indicated by the dashed line arrow in
Furthermore, the acquisition cost is calculated for the application A18 and the application A19, which are applications of the third category. In
acquisition cost=acquisition traffic from storage device×acquisition path cost={(60×24×7 minutes÷1 minute×800 bits)÷604800 seconds}×3=40
By the above calculation, the cost of the overall system in the case where the storage device N15 is the storage destination in the first example of the third step, is calculated as follows, similar to the second step.
In
The storage costs of both the storage device N15 and the storage device N16 are the same as those of the first example of the third step, and therefore descriptions thereof are omitted.
The transfer cost of the data is obtained by adding, to the movement cost from the storage device N10 to the storage device N15 calculated in the first example of the third step, the movement cost from the storage device N10 to the storage device N16, in which the number of hops is three which is one more hop by going through the storage device N14. The movement cost from the storage device N10 to the storage device N16 is calculated by the following formula.
movement cost=(800 bits÷60 seconds)×3=40.0
Note that the acquisition cost becomes zero, because the application A18 and the application A19 are respectively directly connected to the storage device N15 and the storage device N16 that are the acquisition destinations. Therefore, the system cost is calculated as follows.
system cost=(26.7+40)+8064000×10−6≈82.8
Comparing the system cost of the first example of the third step described with reference to
Furthermore, in the present embodiment, the calculation is made for an example where the number of storage devices is one or two storage devices arranged in the data center; however, also in cases where a larger number of storage devices are the storage destinations, the same method may be used to determine the storage rule by which the system cost is lowest.
Note that when the storage devices determined by the first step and the second step are the same as the storage device determined by the third step, the storage time is to be set to the storage time of the third step.
Next, with reference to
In
First, the data generation device S1 sends the generated data to the transfer destination storage device N1 (1).
The storage device N1 immediately copies the data received from the data generation device S1, to the storage device N2 (2). Here, copying means to maintain the original data in a stored state, but to transfer the same data to another storage device.
The storage device N1 stores the data received from the data generation device S1 for one minute which is the storage time, and then moves this data to the storage device N10 (3). Here, moving means to delete the original data and transfer the data.
The storage device N2 stores the stored data for a storage time of one minute, and then deletes the data (4).
The storage device N10 stores the stored data for a storage time of 1439 minutes, and then moves the data to the storage device N15 that is the transfer destination storage device (5).
The storage device N15 stores the stored data for a storage time of 8640 minutes, and then deletes the data (6).
The transfer source storage device is the storage device that is storing the data or a generation device that generates the data first. The storage rule is determined by the communication control device C1 and then sent to the transfer source storage device. That is to say, the transfer source storage device is the device that executes that storage rule that is sent.
The storage time is the time of storing the data at the storage device. When the storage time is long, the storage cost becomes high, and therefore in the present embodiment, the storage time needed for matching the acquisition cycle of the usage device, is set.
In
Furthermore, by leaving a blank space for the storage time of the storage device, or by inputting a particular symbol, a setting may be made to not define a storage time, that is to say, a setting may be made not to delete the data stored in the storage device.
The action is the action made with respect to the data in the storage device. In
The transfer destination storage device is the storage device to which data is transferred. In
Note that in the present embodiment, an example is given of a case where only the data generation device S1 is present as the generation device as the system configuration; however, when there are a plurality of generation devices, a storage rule table may be created for each of the generation devices.
The storage rule table described with reference to
Next, with reference to
In
The information collection unit 21 collects usage device information of all of the usage devices using the data generated at the respective generation devices, via the transmission/reception unit 23, and creates the usage device information table described with reference to
The information collection unit 21 classifies the applications into categories based on the data item of “time range of acquiring data” of the application in each usage device in the collected usage device information, and records the result in the usage device information table (step S3).
Note that steps S2 and S3 may be executed before the loop process of step S1 is started, and the usage device information table may be created in advance.
The determination unit 22 executes the first step (step S4), executes the second step (step S5), and executes the third step (step S6), and creates the storage rule table described with reference to
The transmission unit 231 sends the generated storage rule to the storage device via the network (step S8). The transmission may be performed by broadcasting the storage rules to all of the target storage devices, or may be performed by multi-casting by specifying the network address of a particular storage device.
Note that with reference to
However, it is possible to create a usage device information table by inputting information of the usage device from the input device of the communication control device 2, or by reading the information from the secondary storage device 15 or a portable recording medium.
Furthermore, the same may be applied to a configuration information table, the generation device information table, and the transfer/storage cost coefficient table; that is, it is possible to create a usage device information table by inputting information of the usage device from the input device of the communication control device 2, or by reading the information from the secondary storage device 15 or a portable recording medium.
In
With respect to all applications that have been classified into the first category in step S3, the connection destination storage device is extracted from the usage device information table (step S42), and all of the extracted connection destination storage devices are determined as storage destinations of the first step (step S43). The data generation cycle of the generation device referred to in step S41 is determined as the first storage time in the storage destinations of the first step determined in step S43 (step S44), and the operation of the first step (step S4) ends.
In
The application may be extracted (step S51) from the usage device information table, or information may be collected from the usage device via the network at the timing of extracting the application.
The storage rule determination unit 223 repeats the calculation of the cost at steps S54 through S57 when it is assumed that the combinations of all storage devices are the storage destinations (step S53). Note that as for the combinations of storage devices, the calculation target may be a single storage destination to a combination of a predetermined number of storage devices. For example, when there are two storage destinations, two storage devices are selected from among all of the storage devices and are assumed to be the storage destinations, and the calculations of steps S54 through S57 are repeated.
Furthermore, for example, the calculations of steps S54 through S57 may be performed by setting the storage devices, which are present along the shortest path in the network from the generation device to the usage device, as the selection targets of storage destinations.
Next, the data movement cost is calculated (step S54), the data acquisition cost is calculated (step S55) and the data storage cost is calculated (step S56). Details of the calculation of the data movement cost (step S54), the calculation of the data acquisition cost (step S55), and the calculation of the data storage cost (step S56), are described with reference to
Next, the storage rule determination unit 223 calculates the total cost of the system from the data movement cost, data acquisition cost, and data storage cost calculated in steps S54 through s56, and the transfer/storage cost coefficient described with reference to
In
First, among the storage devices that are the first storage destinations determined in the first step, the storage device, which has the shortest path in the network to the storage device that is the second storage destination assumed to be the target of the data movement cost calculation, is extracted as the storage device of movement source or copy source (step S542).
Next, based on the size of the data generated at the generation device and the generation cycle of the data, the transfer traffic amount associated with the movement of data is calculated (step S543). The data movement cost is calculated, from the calculated transfer traffic amount and the path cost from the first storage device to the second storage device extracted in step S54. The movement costs that are repeatedly calculated in step S541 are added (step S544), and the calculation of the data movement cost (step S54) ends.
In
Among the storage devices that are assumed to be the second storage destinations determined in step S53 of
The transfer traffic amount associated with the acquisition of data is calculated from the second storage time determined in step S52, the time range of acquiring data by the application, the acquisition cycle, and the data size (step S554).
The transfer cost estimation unit 221 calculates the data acquisition cost, from the calculated transfer traffic amount, and the path cost from the storage device assumed to be the second storage destination to the connection destination storage device of the application. The transfer cost estimation unit 221 adds together all of the data acquisition costs calculated at the time point when the calculation loop of step S551 ends, calculates the total sum of data acquisition costs of all of the extracted applications (step S555), and ends the calculation of the data acquisition cost (step S55).
In
The storage cost estimation unit 222 calculates the storage data amount stored in the storage device, from the second storage time determined in step S52 of
The storage cost estimation unit 222 calculates the data storage cost from the storage data amount calculated in step S562 and the storage cost unit price in the storage device that is the storage destination. The storage cost estimation unit 222 adds together all of the data storage costs calculated in the calculation loop of step S561, and calculates the total sum of the data storage costs in all of the storage devices assumed to be the second storage destinations (step S563), and ends the calculation of the data storage cost (step S56).
In
The storage rule determination unit 223 refers to the time range of acquiring data in the application information table, for all of the applications classified into the third category, and determines the and the longest time range of acquiring data as the third storage time (step S62).
The storage rule determination unit 223 repeatedly performs the calculations of steps S64 through S67, assuming that the combinations of all storage devices whose type is “DC” may be the third storage destinations.
Next, the data movement cost is calculated (step S64), the data acquisition cost is calculated (step S65) and the data storage cost is calculated (step S66). Details of the calculation of the data movement cost (step S64), the calculation of the data acquisition cost (step S65), and the calculation of the data storage cost (step S66), are described with reference to
Next, the storage rule determination unit 223 calculates the total cost of the system from the data movement cost, data acquisition cost, and data storage cost calculated in steps S64 through S66, and the transfer/storage cost coefficient described with reference to
In
First, among the storage devices that are the second storage destinations determined in the second step, the storage device, which has the shortest path in the network to the storage device that is the third storage destination assumed to be the target of the data movement cost calculation, is extracted as the storage device of movement source or copy source (step S642).
Next, based on the size of the data generated at the generation device and the generation cycle of the data, the transfer traffic amount associated with the movement of data is calculated (step S643). The data movement cost is calculated, from the calculated transfer traffic amount and the path cost from the second storage device to the third storage device extracted in step S64. The movement costs that are repeatedly calculated in step S641 are added (step S644), and the calculation of the data movement cost (step S64) ends.
In
Among the storage devices that are assumed to be the third storage destinations determined in step S63 of
The transfer traffic amount associated with the acquisition of data is calculated from the third storage time determined in step S62, the time range of acquiring data by the application, the acquisition cycle, and the data size (step S654).
The transfer cost estimation unit 221 calculates the data acquisition cost, from the calculated transfer traffic amount, and the path cost from the storage device assumed to be the third storage destination to the connection destination storage device of the application. The transfer cost estimation unit 221 adds together all of the data acquisition costs calculated at the time point when the calculation loop of step S651 ends, calculates the total sum of data acquisition costs of all of the extracted applications (step S655), and ends the calculation of the data acquisition cost (step S65).
In
The storage cost estimation unit 222 calculates the storage data amount stored in the storage device, from the third storage time determined in step S62 of
The storage cost estimation unit 222 calculates the data storage cost from the storage data amount calculated in step S662 and the storage cost unit price in the storage device that is the storage destination. The storage cost estimation unit 222 adds together all of the data storage costs calculated in the calculation loop of step S661, calculates the total sum of the data storage costs in all of the storage devices assumed to be the third storage destinations (step S663), and ends the calculation of the data storage cost (step S66).
The above describes details of the operations of determining the storage rule in the communication control device C1, with reference to
As described above, according to the present embodiment, by the above method, it is possible to determine the storage rule such that the transfer cost is low, based on the frequency of acquiring data at the usage device, or the position of the usage device in the network.
That is to say, by determining the storage device to be the storage destination and the storage time by the above method, it is possible to determine the optimum storage rule by which the delay time in the data transfer is improved and the storage cost is reduced.
According to an aspect of the embodiments, it is possible to determine the storage rule such that the transfer cost is low, based on the frequency of acquiring data at the usage device.
The present invention is not limited to the specific embodiments described herein, and variations and modifications may be made without departing from the scope of the present invention.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2014-066457 | Mar 2014 | JP | national |