Distributed storage device application method and system
By using a distributed storage device application method, data is directly determined and transmitted to the nearest edge storage device based on user location and data importance, solving the high cost problem in existing CDN methods and achieving fast and economical data transmission.
Patent Information
- Application Number
- CN202510909592.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-07-03
- Filing Date
- 2025-07-02
- Publication Date
- 2026-01-06
AI Technical Summary
Existing content delivery network (CDN) methods require separate local domain name servers (DNS) and load balancers, resulting in high costs and an inability to quickly determine the storage device closest to the user's terminal and send data without going through the DNS request processing process.
By using a distributed storage device application method, data requests are received from user terminals, the nearest edge storage device is determined based on the user's location, and the data is stored or forwarded in that device. Log information is used to calculate the importance score of the data to determine the storage and transmission strategy, avoiding direct access to core storage devices.
This enables the rapid determination and transmission of data to the storage device closest to the user terminal without going through the DNS request process, thus reducing system costs and improving data transmission efficiency.
Smart Images

Figure CN121284046A_ABST
Abstract
Description
Technical Field
[0001] A method for applying a distributed storage device is disclosed. Specifically, this disclosure relates to a method for rapidly providing data to a user for downloading data using a distributed storage device, and a system to which the method is applied. Background Technology
[0002] To enable users to quickly receive data requested through their terminals, a Content Delivery Network (CDN) approach is currently employed. A CDN is a method of pre-storing content in strategically located data centers for rapid distribution to users. As mentioned above, the current approach maximizes content delivery speed by leveraging CDNs to minimize the physical distance between the user terminal and the content storage device.
[0003] Figure 1 This is an exemplary implementation of a Content Delivery Network (CDN). When user 11 sends a Domain Name Server (DNS) request, the local DNS server 12 forwards the DNS request to the load balancer 13, which then forwards the address associated with the optimal edge server 14 corresponding to user 11's location to user 11 via the local DNS server 12.
[0004] Next, user 11 sends a Hypertext Transfer Protocol (HTTP) request to edge server 14 corresponding to the address sent by load balancer 13. Edge server 14, through interaction with load balancer 13, receives the data requested by user 11 from origin server 15 via the optimal path and delivers it to user 11. At this point, the data received from origin server 15 will be permanently cached in edge server 14.
[0005] The above-mentioned content delivery network (CDN) implementation method requires separate local domain name servers (DNS) and load balancers to process user domain name server (DNS) requests, as well as cache storage devices, which leads to high costs.
[0006] Therefore, a more economical method for edge content delivery is needed, which means improving upon existing methods that simplify data delivery by reducing the physical distance between user terminals and data storage servers. Summary of the Invention
[0007] The technical problem to be achieved by some embodiments of this disclosure is to provide a method for processing user data download requests without going through a domain name server (DNS) request process.
[0008] Another technical challenge that some embodiments of this disclosure aim to achieve is to provide a method for determining the storage device closest to the user terminal without requiring a DNS server request process.
[0009] Another technical challenge that some embodiments of this disclosure aim to achieve is to provide a method for determining object data that needs to be sent to an edge storage device covering a specific area from data stored in the original storage device.
[0010] Another technical challenge that some embodiments of this disclosure aim to achieve is to provide a method for sending specific data to an edge storage device covering a region with a high frequency of use of the specific data, based on the respective importance of the specific data to multiple regions.
[0011] The technical issues disclosed herein are not limited to those mentioned above, and those skilled in the art will be able to further understand other technical issues not mentioned through the following description.
[0012] To address the aforementioned technical challenges, a distributed storage device application method according to one embodiment of this disclosure may include: a step of receiving a transmission request for specific data related to a core storage device from a user terminal; a step of determining a first edge storage device for providing the specific data based on the location of the user terminal; and a step of transmitting a first request to the first edge storage device for transmitting the specific data from the first edge storage device to the user terminal, if the specific data is stored in the determined first edge storage device.
[0013] In some embodiments, the step of determining the first edge storage device may include: determining the edge storage device located closest to the user terminal among a plurality of edge storage devices as the first edge storage device.
[0014] In some embodiments, the method may further include the step of transmitting a second request to the core storage device for transmitting the specific data from the core storage device to the user terminal when the specific data is not present in the first edge storage device.
[0015] In some embodiments, the method may further include: a step of targeting a second edge storage device located at a second proximity to the user terminal if the specific data is not present in the first edge storage device; and a step of transmitting a third request to the second edge storage device for transmitting the specific data from the second edge storage device to the user terminal if the specific data is stored in the identified second edge storage device.
[0016] In some embodiments, the method may further include, prior to the step of receiving the transmission request for specific data: a step of calculating an importance score for the specific data; and a step of storing the specific data in the first edge storage device as a response to determining that the calculated importance score is above a threshold value.
[0017] In some embodiments, the step of calculating the importance score of a specific data may include: calculating using at least one of the following: the number of times the specific data has been downloaded by multiple user terminals located in the area covered by the first edge storage device, the total number of downloads of the specific data, the number of downloads of the specific data per unit time, and whether the specific data has been updated.
[0018] To address the aforementioned technical challenges, a distributed storage device application method according to another embodiment of this disclosure may include: a step of acquiring log information related to first data; a step of calculating an importance score related to the first data in a first edge storage device based on the acquired log information; and a step of transmitting a request to the core storage device to transfer the first data stored in the core storage device to the first edge storage device if the calculated importance score is above a benchmark value.
[0019] In some embodiments, the log information related to the first data may include at least one of the following: the number of times the first data was downloaded by multiple user terminals located in the area covered by the first edge storage device, the total number of downloads of the first data, the number of downloads of the first data per unit time, and whether the first data was updated.
[0020] In some embodiments, the information related to whether the first data has been updated may be information related to whether there are any update records for the first data within a reference time.
[0021] In some embodiments, the step of sending a request to the core storage device to transfer the first data stored in the core storage device to the first edge storage device may include: in the case that the first data cannot be stored in the first edge storage device due to insufficient capacity, sending a request to the first edge storage device related to deleting second data with an insufficient importance score from the data present in the first edge storage device from the first edge storage device.
[0022] In some embodiments, the step of sending a request to the core storage device for transferring the specific data stored in the core storage device to the first edge storage device may include: if the first data cannot be stored in the first edge storage device, sending a request to the core storage device related to sending the first data to a second edge storage device, which is geographically closest to the first edge storage device.
[0023] To address the aforementioned technical challenges, a distributed storage device application system according to another embodiment of this disclosure may include: one or more processors; and a memory for storing computer programs running on the one or more processors. The computer program may include instructions for causing the computer to perform the following steps: receiving a request from a user terminal to send specific data related to a core storage device; determining a first edge storage device for providing the specific data based on the location of the user terminal; and, if the specific data is stored in the determined first edge storage device, transmitting a first request to the first edge storage device for transmitting the specific data from the first edge storage device to the user terminal.
[0024] In some embodiments, the step of determining the first edge storage device may include: determining the edge storage device located closest to the user terminal among a plurality of edge storage devices as the first edge storage device.
[0025] In some embodiments, the computer program may further include instructions for causing the processor to perform the following steps: in the absence of the specific data in the first edge storage device, transmitting a second request to the core storage device for transmitting the specific data from the core storage device to the user terminal.
[0026] In some embodiments, the computer program may further include instructions for causing the processor to perform the following steps: when the first data is not present in the first edge storage device, to a second edge storage device located in a second proximity to the user terminal; and when the specific data is stored in the identified second edge storage device, to transmit a third request to the second edge storage device for transmitting the specific data from the second edge storage device to the user terminal.
[0027] To address the aforementioned technical challenges, a distributed storage device application system according to another embodiment of this disclosure may include: one or more processors; and a memory for storing computer programs running on the one or more processors. The computer program may further include instructions for causing the processor to perform the following steps: acquiring log information related to first data; calculating an importance score related to the first data in a first edge storage device based on the acquired log information; and, if the calculated importance score is above a benchmark value, sending a request to the core storage device to transfer the first data stored in the core storage device to the first edge storage device.
[0028] In some embodiments, the log information related to the first data may include at least one of the following: the number of times the first data was downloaded by multiple user terminals located in the area covered by the first edge storage device, the total number of downloads of the first data, the number of downloads of the first data per unit time, and whether the first data was updated.
[0029] In some embodiments, the step of sending a request to the core storage device to transfer the first data stored in the core storage device to the first edge storage device may include: in the case that the first data cannot be stored in the first edge storage device due to insufficient capacity, sending a request to the first edge storage device related to deleting second data with an insufficient importance score from the data present in the first edge storage device from the first edge storage device. Attached Figure Description
[0030] Figure 1 This is an exemplary schematic diagram illustrating a content delivery network (CDN) application method used to explain the problems of the prior art.
[0031] Figure 2 An exemplary environment for a distributed storage device application system applicable to one embodiment of the present disclosure has been illustrated.
[0032] Figure 3 This is a sequence diagram of a distributed storage device application method according to another embodiment of the present disclosure.
[0033] Figure 4 This is a schematic diagram used to exemplify steps for processing a user's specific data download request, which may be performed in some embodiments of this disclosure.
[0034] Figure 5 This is a sequence diagram of a distributed storage device application method according to yet another embodiment of the present disclosure.
[0035] Figure 6 This is a schematic diagram used to exemplify the step of sending a portion of data stored in a core storage device to an edge storage device, which may be performed in some embodiments of this disclosure.
[0036] Figure 7 This is a schematic diagram used to exemplify the importance scores associated with various data in various edge storage devices, which can be implemented in some embodiments of this disclosure.
[0037] Figure 8 This is a hardware configuration diagram of a computing system according to yet another embodiment of the present disclosure. Detailed Implementation
[0038] The preferred embodiments of this disclosure will now be described in detail with reference to the accompanying drawings. The advantages and features of the present invention, and the methods for achieving them, will become even clearer through the subsequent detailed descriptions of the embodiments with reference to the accompanying drawings. However, the technical concept of the present invention is not limited to the following embodiments, but can be implemented in many different forms. The following embodiments are merely for the purpose of more completely introducing the technical concept of the present invention and to more completely explaining the scope of the present invention to those skilled in the art. The technical concept of the present invention should only be defined within the scope of the claims.
[0039] In the course of describing this disclosure, detailed descriptions of related well-known structures or functions will be omitted when it is determined that such detailed descriptions may obscure the gist of the invention.
[0040] Unless otherwise defined, the meanings of the terms (including technical and scientific terms) used in the following embodiments may be the same as those commonly understood by one of ordinary skill in the art to which this disclosure pertains, and may change depending on the intent or precedent of a person skilled in the art and the emergence of new technologies. The terminology used in this disclosure is for illustrative purposes only and is not intended to limit the scope of this disclosure.
[0041] Unless explicitly specified in the context, the singular expressions used in the following embodiments also include the concept of plural. Furthermore, unless explicitly specified in the context, the plural expressions also include the concept of singular.
[0042] Furthermore, the terms such as first, second, A, B, (a), and (b) used in the following embodiments are only used to distinguish one constituent element from other constituent elements, and the nature, order, or sequence of the corresponding constituent elements are not limited by the terms.
[0043] Before describing various embodiments of this disclosure, the terminology used in the following embodiments will be clarified.
[0044] In some of the following embodiments, "core storage" may refer to a storage device system that stores original data.
[0045] In some of the following embodiments, "edge storage" may refer to a storage device system that stores a portion of the data stored in the core storage device and exists in a different geographical location from the core storage device.
[0046] In other embodiments, "edge storage device" may also refer to a storage device system that is different from the core storage device and exists within a predefined distance in the user terminal.
[0047] Next, some embodiments of this disclosure will be described with reference to the accompanying drawings.
[0048] Figure 2 An exemplary environment for a distributed storage device application system 100 applicable according to one embodiment of the present disclosure has been illustrated.
[0049] In some embodiments of this disclosure, the distributed storage device application system 100 may include a Software Defined Network (SDN) controller. The SDN controller may be composed of different systems or may be included within... Figure 2 The storage device system illustrated herein is a software-defined network (SDN) controller for one of the core storage device 200, the first edge storage device 400, or the second edge storage device 500, but is not limited to any one embodiment.
[0050] Figure 2The user terminal 300 shown in the figure can be such as a laptop, desktop computer, laptop, smartphone, and tablet, but is not limited to these, and can include all types of devices with computing capabilities and a Media Access Control Address (MAC Address).
[0051] also, Figure 2 The various components illustrated can refer to software or hardware such as a Field Programmable Gate Array (FPGA) or Application-Specific Integrated Circuit (ASIC). However, components are not limited to software or hardware; they can also be configured into addressable storage media or configured to run more than one program. The functionality provided in a component can be implemented through more subdivided components, or by integrating multiple components into a single component for performing a specific function.
[0052] In some embodiments, the distributed storage device application system 100 can communicate with other components via a network. The network can be implemented using various types of wired / wireless networks, such as Local Area Network (LAN), Wide Area Network (WAN), mobile radio communication network, and Wireless Broadband Internet (Wibro).
[0053] Furthermore, for details regarding the composition of the aforementioned distributed storage device application system 100 and user terminal 300, please refer to the subsequent description. Figure 8 The hardware configuration in the document refers to the distributed storage device application system 100 and the user terminal 300, which may have the following features: Figure 8 The hardware configuration will be described below. Furthermore, the technical concepts grasped through some embodiments of this disclosure described below can be applied to the above-described distributed storage device application system 100 even without separate description.
[0054] Next, we will... Figure 1 The actions that each component shown in the diagram can perform are explained.
[0055] According to one embodiment of the present disclosure, a distributed storage device application system 100 can receive a request from a user terminal 300 to send specific data related to a core storage device 200.
[0056] According to another embodiment of this disclosure, a distributed storage device application system 100 can determine the edge storage device used to provide the specific data based on the location of the user terminal 300.
[0057] In some embodiments of this disclosure, the distributed storage device application system 100 can receive location information of the user terminal 300 from the user terminal 300 and determine the first edge storage device 400 located at the location closest to the user terminal 300 as the edge storage device for providing the specific data. The location information may include Global Positioning System (GPS) coordinates. Furthermore, location information may include cell identifiers and access point identifiers, and the distributed storage device application system 100 can use one or more of these identifiers to determine the location of the user terminal 300. Therefore, the distributed storage device application system 100 can store a location table mapping cell identifiers / access point identifiers to locations.
[0058] In one embodiment of this disclosure, the distributed storage device application system 100 can store location range information covered by each edge storage device. This location range information may include, for example, one or more cell identifiers, one or more access point identifiers, and Global Positioning System (GPS) coordinate ranges. According to another embodiment of this disclosure, the distributed storage device application system 100 can, when the specific data is stored in a first edge storage device 400 determined to be used to provide the specific data, send a first request to the first edge storage device 400 to transmit the specific data from the first edge storage device 400 to the user terminal 300.
[0059] In some embodiments of this disclosure, the distributed storage device application system 100 may send a second request to the core storage device 200 to transmit the specific data from the core storage device 200 to the user terminal 300 if it is determined that the specific data does not exist in the first edge storage device 400.
[0060] In other embodiments of this disclosure, the distributed storage device application system 100 may, upon identifying that the specific data does not exist in the first edge storage device 400 but exists in the second edge storage device 500 located in a second proximity to the user terminal 300, send a third request to the second edge storage device 500 to transmit the specific data from the second edge storage device 500 to the user terminal 300.
[0061] In some other embodiments of this disclosure, the distributed storage device application system 100 may determine whether specific data exists in the first edge storage device 400 based on a list associated with data stored in the first edge storage device 400 of the distributed storage device application system 100 in advance.
[0062] In some other embodiments of this disclosure, the distributed storage device application system 100 may send a query associated with the specific data to the first edge storage device 400, and determine whether the specific data exists in the first edge storage device 400 based on the information sent by the first edge storage device 400 as a response to the query.
[0063] According to yet another embodiment of this disclosure, a distributed storage device application system 100 can obtain log information related to the first data.
[0064] In some embodiments of this disclosure, the log information related to the first data may include information related to the number of times the first data is downloaded by multiple user terminals 300 located in the area covered by the first edge storage device 400, the number of times the first data is downloaded by multiple user terminals 300 located in the area covered by the second edge storage device 500, the total number of downloads of the first data, the number of downloads of the first data per unit time, and whether the first data has been updated.
[0065] According to another embodiment of this disclosure, the distributed storage device application system 100 can calculate the importance score related to the first data in the first edge storage device 400 based on the obtained log information related to the first data.
[0066] In some embodiments of this disclosure, the importance score related to the first data in the first edge storage device 400 can be calculated based on information contained in the log information related to the first data, such as the number of times the first data was downloaded by multiple user terminals 300 located in the area covered by the first edge storage device 400, the total number of downloads of the first data, the number of downloads of the first data per unit time, and whether the first data was updated. This will be explained in detail later.
[0067] According to yet another embodiment of this disclosure, a distributed storage device application system 100 may send a request to a core storage device 200 to transfer the first data stored in the core storage device 200 to the first edge storage device 400 if the calculated importance score related to the first data in the first edge storage device 400 is above a benchmark value.
[0068] In some embodiments of this disclosure, the distributed storage device application system 100 may send a request to the first edge storage device 400 to delete second data with an importance score below a benchmark value from the data existing in the first edge storage device 400 if the first data cannot be stored in the first edge storage device 400 due to insufficient capacity.
[0069] See the above content. Figure 2 The configuration and operation of the distributed storage device application system 100, as well as exemplary environments in which the distributed storage device application system 100 can be applied, have been described. The distributed storage device application system 100 and the core storage device 200 can be understood as operating according to a server-client model. However, in some embodiments, the system can also be configured in a client-stand-alone manner without requiring a server. In the case described above, the actions performed by the distributed storage device application system 100 can also be understood as being performed in the core storage device 200.
[0070] Furthermore, in some embodiments of this disclosure, at least one of the core storage device 200, the first edge storage device 400, and the second edge storage device 500 may be a storage device system of a different model than the remaining two storage device systems. For example, the core storage device 200 may be a Ceph architecture storage device system, while conversely, the first edge storage device 400 and the second edge storage device 500 may be MiniIO architecture storage device systems.
[0071] For example, core storage device 200 can be a Rustre architecture storage system, while conversely, first edge storage device 400 and second edge storage device 500 can be Ceph architecture storage systems.
[0072] For example, the core storage device 200 can be a Ceph architecture storage system, the first edge storage device 400 can be a MiniIO architecture storage system, and the second edge storage device 500 can be a Rustre architecture storage system.
[0073] In some embodiments of this disclosure, the same as in the embodiments described above, in Figure 2 When the storage device systems shown in the figure are different models of storage device systems, the distributed storage device application system 100 can interact with the core storage device 200, the first edge storage device 400 and the second edge storage device 500 respectively using different application programming interfaces (APIs).
[0074] Next, please refer to Figures 3 to 4 A distributed storage device application method according to another embodiment of this disclosure will be described. The distributed storage device application method according to this embodiment can be executed by more than one computing system. Furthermore, the distributed storage device application method according to this embodiment may also have a portion of the actions executed by a first computing device and the remaining actions executed by a second computing device. For example, a portion of the actions of the distributed storage device application method according to this embodiment may be executed by a local (on-premise) physical server, while the remaining actions may be executed by a cloud compute instance. As another example, a portion of the actions of the distributed storage device application method according to this embodiment may be executed by a distributed storage device application system 100, while the remaining actions may be executed by a core storage device 200. Hereafter, when the executing entity of each action is omitted, it can be understood that the executing entity is the computing system.
[0075] In step S100, the distributed storage device application system 100 can receive a request from the user terminal 300 to send specific data related to the core storage device 200.
[0076] In some embodiments related to step S100, the distributed storage device application system 100 may receive from the user terminal 300 a request to send specific data to either the first edge storage device 400 or the second edge storage device 500.
[0077] In some other embodiments related to step S100, the distributed storage device application system 100 may receive a request to send specific data to which the distributed storage device application system 100 is directed.
[0078] In step S200, the distributed storage device application system 100 can determine the edge storage device for providing the specific data based on the location of the user terminal 300. In some embodiments, the distributed storage device application system 100 can identify the location of the user terminal 300 and determine the edge storage device closest to the identified location of the user terminal 300 as the edge storage device for providing the specific data. For example, see... Figure 4 The distributed storage device application system 100 can determine the edge storage device 47 in Busan, which is located in the geographical location closest to the user terminal 300 of the Ulsan Metropolitan City user 42, as the edge storage device for providing the first data 43 requested by the user terminal 300 of the Ulsan Metropolitan City user 42.
[0079] For example, see Figure 4 The distributed storage device application system 100 can determine the second edge storage device 45, which is located at the geographical location furthest from the user terminal 300 of the user 41 in Gyeonggi Province, as the edge storage device for providing the second data 40 requested by the user terminal 300 of the user 41 in Gyeonggi Province.
[0080] In step S300, the distributed storage device application system 100 can determine whether the specific data exists in the first edge storage device 400, which was determined in step S200 to be the edge storage device for providing the specific data. In some embodiments, the distributed storage device application system 100 can determine whether the specific data exists in the first edge storage device 400 based on the currently stored data list of the first edge storage device 400.
[0081] In step S400-1, the distributed storage device application system 100, upon determining that the specific data is stored in the first edge storage device 400, may send a first request to the first edge storage device 400 to transmit the specific data from the first edge storage device 400 to the user terminal 300. After the first request is transmitted to the first edge storage device 400, the specific data stored in the first edge storage device 400 can be transmitted to the user terminal 300.
[0082] For example, see Figure 4The distributed storage device application system 100 can send a request to the Seoul edge storage device 46 to send the second data 40 to the user terminal 300 of the user 41 in Gyeonggi Province, if the second data 40 corresponding to the data transmission request sent by the user terminal 300 of the user 41 in Seongnam, Gyeonggi Province exists in the edge storage device 46 located geographically closest to the user terminal 300 in Seongnam, Gyeonggi Province. In this scenario, the second data 40 stored in the Seoul edge storage device 46 can be transmitted to the user terminal 300 of the user 41 in Seongnam, Gyeonggi Province.
[0083] In step S400-2, the distributed storage device application system 100 can determine whether the specific data exists in the second edge storage device 500 located at a second closest position to the user terminal 300, if the specific data does not exist in the first edge storage device 400 located closest to the user terminal 300. In some embodiments, the distributed storage device application system 100 can determine whether the specific data exists in the second edge storage device 500 based on the currently stored data list of the second edge storage device 500.
[0084] In step S500-1, the distributed storage device application system 100 may, if the specific data exists in the second edge storage device 500, send a third request to the second edge storage device 500 to transfer the specific data from the second edge storage device 500 to the user terminal 300. After the third request is sent to the second edge storage device 500, the specific data stored in the second edge storage device 500 can be transferred to the user terminal 300.
[0085] In step S500-2, the distributed storage device application system 100 may, based on the determination that neither the first edge storage device 400 nor the second edge storage device 500 stores the specific data, send a second request to the core storage device 200 to transmit the specific data from the core storage device 200 to the user terminal 300. After the second request is transmitted to the core storage device 200, the specific data stored in the core storage device 200 can be transmitted to the user terminal 300.
[0086] See Figure 4For example, the distributed storage device application system 100 may identify that the first data 43 corresponding to the data request sent by the user terminal 300 of the Ulsan Metropolitan City user 42 does not exist in the edge storage device 47 in Busan, which is geographically closest to the user terminal 300 of the Ulsan Metropolitan City user 42, but exists in the storage device system second closest to the user terminal 300 of the Ulsan Metropolitan City user 42, namely the edge storage device 46 in Seoul, and send a request to the edge storage device 46 in Seoul for sending the first data 43 from the edge storage device 46 in Seoul to the user terminal 300 of the Ulsan Metropolitan City user 42.
[0087] For example, if it is determined that the first data 43 corresponding to the data request sent by the user terminal 300 of Ulsan Metropolitan City user 42 does not exist in the edge storage device 47 in Busan, which is geographically closest to the user terminal 300 of Ulsan Metropolitan City user 42, nor in the edge storage device 46 in Seoul, a request for sending the first data 43 from the first core storage device 44 to the user terminal 300 of Ulsan Metropolitan City user 42 can be sent to the first core storage device 44. The first core storage device 44 may also be a core storage device located closer to the user terminal 300 of Ulsan Metropolitan City user 42 than the second core storage device 45.
[0088] In other embodiments related to steps S400-2 and S500-2, see [reference]. Figure 4 If it is determined that the edge storage device 47 in Busan, the edge storage device 46 in Seoul, and the first core storage device 44 do not store the first data 43 corresponding to the data request sent by the user terminal 300 of the Ulsan Metropolitan City user 42, a request can be sent to the second core storage device 45 to send the first data 43 from the second core storage device 45 to the user terminal 300 of the Ulsan Metropolitan City user 42. In the above embodiment, if it is determined that the first data 43 is also absent in the second core storage device 45, the distributed storage device application system 100 can send information related to the absence of the first data 43 to the user terminal 300 of the Ulsan Metropolitan City user 42.
[0089] In this embodiment, an edge storage device that can transmit data at the fastest speed can be determined based on the location of the user terminal 300, and the specific data requested for download can be quickly provided to the user terminal through the determined edge storage device. Furthermore, in this embodiment, data can be quickly transmitted to the user terminal 300 without going through the DNS request processing process.
[0090] See the above content. Figures 3 to 4 A method for applying a distributed storage device according to another embodiment of this disclosure has been described. The embodiments described above should be understood in all respects as exemplary and not limiting.
[0091] Next, please refer to Figures 5 to 6 A distributed storage device application method according to yet another embodiment of this disclosure will be described. The distributed storage device application method according to this embodiment can be executed by one or more computing systems. Furthermore, the distributed storage device application method according to this embodiment may also have a portion of the actions executed by a first computing device and the remaining actions executed by a second computing device. For example, a portion of the actions of the distributed storage device application method according to this embodiment can be executed by a local (on-premise) physical server, while the remaining actions can be executed by a cloud compute instance. As another example, a portion of the actions of the distributed storage device application method according to this embodiment can be executed by a distributed storage device application system 100, while the remaining actions can be executed by a core storage device 200. Hereafter, without specifying the executing entity for each action, it can be understood that the executing entity is the computing system.
[0092] exist Figure 5 In step S600 illustrated, the distributed storage device application system 100 can obtain log information related to the first data.
[0093] In some embodiments related to step S600, the log information related to the first data may include one or more of the following: the number of times the first data has been downloaded by multiple user terminals 300 located in an area covered by a specific edge storage device, the total number of downloads of the first data, the number of downloads of the first data per unit time, and whether the first data has been updated.
[0094] For example, the number of downloads of the first data per unit time may refer to the number of requests received within 30 days related to multiple user terminals 300 requesting the sending of the first data.
[0095] For example, the information related to whether the first data has been updated could refer to information related to whether there is an update history of the first data within the past 30 days.
[0096] In step S700, the distributed storage device application system 100 can calculate the first importance score related to the first data in the first edge storage device 400 based on the log information related to the first data.
[0097] by Figure 6For example, the distributed storage device application system 100 can calculate the importance score related to the third data 62 in the edge storage device 46 in Seoul based on the number of times the third data 62 is downloaded by multiple user terminals 300 in the area covered by the edge storage device 46 in Seoul, the total number of downloads of the third data 62, the number of downloads of the third data 62 per unit time, and whether the third data 62 is updated.
[0098] In some embodiments, the distributed storage device application system 100 may calculate the importance score associated with the third data 62 in the edge storage device 46 in Seoul according to the following formula.
[0099]
[0100] Where α can be the number of times multiple user terminals in the area covered by the edge storage device 46 in Seoul download the third data 62, β can be the total number of downloads of the third data 62, γ can be the number of downloads of the third data 62 per unit time, and δ can be the Boolean value indicating whether the third data 62 is updated.
[0101] The weighted values obtained by multiplying the variables included in the formula of the above embodiment are exemplary. Those skilled in the art should understand that structural changes can be made as needed.
[0102] In step S800, the distributed storage device application system 100 can determine whether the first importance score related to the first data in the first edge storage device 400 is above a benchmark value.
[0103] In step S900, the distributed storage device application system 100 may send a request to the core storage device 200 to transfer the first data stored in the core storage device 200 to the first edge storage device 400 if the first importance score is above a benchmark value.
[0104] In some embodiments related to step S900, see [reference] Figure 6 as well as Figure 7 The distributed storage device application system 100 can send a request to the core storage device, namely the first core storage device 44, which stores the fifth data 63, to transmit the fifth data 63 to the edge storage device 47 in Busan if the importance score 63-2 related to the fifth data 63 is above the baseline value.
[0105] In other embodiments related to step S900, see [link to relevant documentation]. Figure 6 as well as Figure 7The distributed storage device application system 100 can send a request to the core storage device containing the third data 62, namely the second core storage device 45, to transfer the third data 62 to the edge storage device 46 in Seoul if the importance score 62-1 related to the third data 62 in the edge storage device 46 is above the baseline value.
[0106] In step S1000, the distributed storage device application system 100 can determine whether the first edge storage device 400 can store the first data based on the remaining capacity information of the first edge storage device 400.
[0107] In some embodiments related to step S1000, the distributed storage device application system 100 is a system that receives and stores information related to the remaining capacity of the core storage device 200, the first edge storage device 400, and the second edge storage device 500 from each storage device system at each unit time. In the aforementioned embodiments, the distributed storage device application system 100 can determine whether there is space in the first edge storage device 400 available for storing the first data, based on the pre-stored remaining capacity information of the first edge storage device 400.
[0108] In some other embodiments related to step S1000, the distributed storage device application system 100 can determine whether the first edge storage device 400 can store the first data by receiving information from the first edge storage device 400 or the core storage device 200 that there is no storage space in the first edge storage device 400 that can store the first data.
[0109] In step S1100, the distributed storage device application system 100 may send a request to the first edge storage device 400 to delete second data with an importance score below a benchmark value from the data existing in the first edge storage device 400 if there is no storage space available to store the first data in the first edge storage device 400. This allows the deletion of second data with an importance score below the benchmark value from the first edge storage device 400, thereby ensuring storage space available to store the first data. In some embodiments, the benchmark value may be determined based on the importance score of the first data. That is, the benchmark value is not statically fixed, but can be dynamically determined based on the importance score of the first data to be transmitted. The distributed storage device application system 100 may determine the benchmark value as "first score" if the importance score of the first data is "first score," and in the case described above, data with an importance score below the first score can be deleted from the first edge storage device 400. For example, the distributed storage device application system 100 can determine the baseline value as a "second score" by subtracting a predetermined value from the "first score" when the importance score of the first data is a "first score". In the case described above, data that does not have a second score can be deleted from the first edge storage device 400.
[0110] See Figure 6 as well as Figure 7 For example, if there is no space in the Seoul edge storage device 46 to store the third data 62 sent from the second core storage device 45, the distributed storage device application system 100 may send a request to the Seoul edge storage device 46 to delete the fourth data 61 that has an importance score that is below the baseline value from the data existing in the Seoul edge storage device 46.
[0111] In addition, Seoul's edge storage device 46, in response to receiving the request, performs the action of deleting the fourth data 61.
[0112] Furthermore, even if there is no space in the Seoul edge storage device 46 to store the third data 62 sent from the second core storage device 45, the distributed storage device application system 100 can send a request to the second core storage device 45 related to sending the third data 62 to the edge storage device 47 in Busan, which is the closest edge storage device to the Seoul edge storage device 46.
[0113] In step S1200, the distributed storage device 100 may send a request to the core storage device 200 to send the first data to the first edge storage device 400 in the space where the first data has been stored by deleting the second data.
[0114] In this embodiment, specific data that users in a particular region are estimated to frequently download can be predicted using importance scores and pre-stored in the edge storage device. This improves the cache hit rate of the edge storage device. Furthermore, data with importance scores below a benchmark value can be deleted from the edge storage device, thereby effectively managing the storage space of the edge storage device, which has a smaller capacity compared to the core storage device.
[0115] Figure 8 This is a hardware configuration diagram of a computing system according to some embodiments of the present disclosure. Figure 8 The computing system 1000 may include one or more processors 1100, a system bus 1600, a communication interface 1200, a memory 1400 for loading a computer program 1500 executed by the processor 1100, and a storage device 1300 for storing the computer program 1500.
[0116] Processor 1100 controls the overall operation of the various components of computing system 1000. Processor 1100 can perform operations related to at least one application or program for performing methods / operations according to various embodiments of the present disclosure. Memory 1400 stores various data, commands, and / or information. Memory 1400 can load more than one computer program 1500 from storage device 1300 for performing methods / operations according to various embodiments of the present disclosure. Storage device 1300 can non-temporarily store more than one computer program 1500.
[0117] Computer program 1500 may include one or more instructions that implement the methods / actions according to various embodiments of the present disclosure. When computer program 1500 is loaded into memory 1400, processor 1100 may execute the methods / actions according to various embodiments of the present disclosure by executing the one or more instructions.
[0118] For example, Figure 8 The computing system 1000 in the middle can be referred to Figure 1 The distributed storage device application system 100 is described below.
[0119] For example, Figure 8 The computing system 1000 in the middle can be referred to Figure 1The core storage device 200 is described below.
[0120] For example, Figure 8 The computing system 1000 in the middle can be referred to Figure 1 User terminal 300 is described below.
[0121] At this time, refer to Figure 8 The computing system 1000 described herein can be constructed using one or more physical servers contained within a server farm, based on cloud technologies such as virtual machines. In the case described above, Figure 8 At least some of the components shown in the diagram, such as processor 1100, memory 1400, and storage device 1300, can be virtual hardware, and the communication interface 1200 can also be composed of virtualized network elements such as a virtual switch.
[0122] In some embodiments of this disclosure, computer program 1500 may include instructions to cause processor 1100 to perform the following steps: receiving a request to send specific data related to a core storage device from a user terminal; receiving the Global Positioning System (GPS) coordinates of the user terminal; determining a first edge storage device for providing the specific data based on the location of the user terminal; determining a first edge storage device corresponding to the location of the user terminal as the edge storage device for providing the specific data based on location range information pre-stored in memory 1400 or storage device 1300 covering various edge storage devices; and, if the specific data is stored in the determined first edge storage device, transmitting a first request to the first edge storage device for transmitting the specific data from the first edge storage device to the user terminal.
[0123] In other embodiments of this disclosure, computer program 1500 may include instructions that cause processor 1100 to perform the following steps: receiving from distributed storage device application system 100 a request related to sending specific data to user terminal 300; and sending a portion of pre-stored data to a specific edge storage device.
[0124] In some other embodiments of this disclosure, computer program 1500 may include instructions that cause processor 1100 to perform the following steps: sending a request to a particular computing system relating to the request to send particular data; and sending information relating to the location of computing system 1000 to the particular computing system.
[0125] The actions are illustrated in a specific order in the accompanying diagrams, but this should not be construed as meaning that these actions must be performed sequentially in the illustrated order or that all illustrated actions must be performed to obtain the desired result. In certain situations, multitasking or parallel processing may be more advantageous.
[0126] The embodiments of this disclosure have been described above with reference to the accompanying drawings. However, those skilled in the art to which this disclosure pertains should understand that the invention can be implemented in other specific forms without altering its technical concept or essential features. Therefore, the embodiments described above should be understood in all respects as exemplary rather than limiting. The scope of protection of this invention should be interpreted in accordance with the appended claims, and all technical concepts within the same scope should be interpreted as being included within the scope of the claims defined by this disclosure.
Claims
1. A distributed storage device application method, as a method executed by a software defined network (SDN), comprising: a step of receiving a transmission request of specific data related to a core storage device from a user terminal; a step of determining a first edge storage device for providing the specific data based on a location of the user terminal; and a step of transmitting a first request for transmitting the specific data from the first edge storage device to the user terminal to the first edge storage device in a case where the specific data is stored in the determined first edge storage device.
2. The distributed storage device application method according to claim 1, wherein: the step of determining the first edge storage device includes: a step of determining an edge storage device located closest to the location of the user terminal among a plurality of edge storage devices as the first edge storage device. further comprising:
3. The distributed storage device application method of claim 1, wherein, a step of transmitting a second request for transmitting the specific data from the core storage device to the user terminal to the core storage device in a case where the specific data is not present in the first edge storage device. further comprising:
4. The distributed storage device application method of claim 1, wherein, a step of identifying a second edge storage device located second closest to the location of the user terminal in a case where the specific data is not present in the first edge storage device; and a step of transmitting a third request for transmitting the specific data from the second edge storage device to the user terminal to the second edge storage device in a case where the specific data is stored in the identified second edge storage device.
5. The distributed storage device application method according to claim 1, further comprising: a step of calculating an importance score of the specific data before the step of receiving the transmission request of the specific data; and a step of storing the specific data to the first edge storage device in response to the calculated importance score being equal to or greater than a threshold value.
6. The distributed storage device application method according to claim 5, wherein: the step of calculating the importance score of the specific data includes: a step of calculating using at least one of information related to a number of times the specific data is downloaded by a plurality of user terminals located in an area covered by the first edge storage device, a total number of times the specific data is downloaded, a number of times the specific data is downloaded per unit time, and whether the specific data is updated.
7. A distributed storage device application method, as a method executed by a software defined network (SDN), comprising: a step of acquiring log information related to first data; a step of calculating an importance score of the first data in a first edge storage device based on the acquired log information; and a step of transmitting a request for transmitting the first data stored in a core storage device to the first edge storage device to the core storage device in a case where the calculated importance score is equal to or greater than a reference value. 8. The distributed storage device application method according to claim 7, wherein: the log information related to the first data includes at least one of information related to the number of times the first data is downloaded from a plurality of user terminals located in an area covered by the first edge storage device, the total number of times the first data is downloaded, the number of times the first data is downloaded per unit time, and whether the first data is updated.
9. The distributed storage device application method according to claim 8, wherein: the information related to whether the first data is updated, is information related to whether there is a record of an update to the first data within a reference time.
10. The distributed storage device application method according to claim 7, wherein: the step of transmitting a request to the core storage device for transmission of the first data stored in the core storage device to the first edge storage device includes: the step of transmitting a request to the first edge storage device for deletion of second data having an importance score less than a reference value from the first edge storage device among data present in the first edge storage device in a case where the first data cannot be stored in the first edge storage device due to insufficient capacity of the first edge storage device.
11. The distributed storage device application method according to claim 7, wherein: the step of transmitting a request to the core storage device for transmission of the first data stored in the core storage device to the first edge storage device includes: the step of transmitting a request to the core storage device for transmission of the first data to a second edge storage device that is an edge storage device geographically closest to the first edge storage device in a case where the first data cannot be stored in the first edge storage device.
12. A distributed storage device application system comprising: one or more processors; and a memory that stores a computer program executed by the one or more processors; the computer program including instructions that cause the processors to execute the steps of: receiving a transmission request for specific data related to a core storage device from a user terminal; determining a first edge storage device for providing the specific data based on the location of the user terminal; and transmitting a first request to the first edge storage device for transmission of the specific data from the first edge storage device to the user terminal in a case where the specific data is stored in the determined first edge storage device.
13. The distributed storage device application system according to claim 12, wherein: the step of determining the first edge storage device includes: the step of determining, among a plurality of edge storage devices, an edge storage device located closest to the location of the user terminal as the first edge storage device.
14. The distributed storage device application system according to claim 12, wherein: the computer program further includes instructions that cause the processors to execute the steps of: transmitting, to the core storage device, a second request for transmitting the specific data from the core storage device to the user terminal, in a case where the specific data is not present in the first edge storage device.
15. The distributed storage device application system according to claim 12, wherein: the computer program further includes instructions that cause the processor to perform the steps of: in a case where the specific data is not present in the first edge storage device, a step of identifying a second edge storage device located in a position second close to the user terminal; and in a case where the specific data is present in the identified second edge storage device, transmitting, to the second edge storage device, a third request for transmitting the specific data from the second edge storage device to the user terminal.
16. The distributed storage device application system according to claim 12, wherein: the computer program further includes instructions that cause the processor to perform the steps of: before the step of receiving the transmission request of the specific data, performing: a step of calculating an importance score of the specific data; and in response to determining that the calculated importance score is equal to or greater than a threshold value, a step of storing the specific data to the first edge storage device.
17. A distributed storage device application system, comprising: one or more processors; and a memory that stores a computer program executed by the one or more processors; the computer program further includes instructions that cause the processor to perform the steps of: a step of acquiring log information related to first data; a step of calculating, based on the acquired log information, an importance score of the first data in a first edge storage device; and in a case where the calculated importance score is equal to or greater than a reference value, a step of transmitting, to the core storage device, a request for transmitting the first data stored in the core storage device to the first edge storage device.
18. The distributed storage device application system according to claim 17, wherein: the log information related to the first data, includes at least one of information related to the number of times the first data is downloaded by a plurality of user terminals located in an area covered by the first edge storage device, the total number of times the first data is downloaded, the number of times the first data is downloaded per unit time, and whether the first data is updated.
19. The distributed storage device application system according to claim 17, wherein: the step of transmitting, to the core storage device, a request for transmitting the first data stored in the core storage device to the first edge storage device, includes: In a case where the first data cannot be stored in the first edge storage device because of insufficient capacity of the first edge storage device, the step of transmitting, to the first edge storage device, a request related to deletion from the first edge storage device of second data having an importance score less than a reference value among data present in the first edge storage device.
20. The distributed storage device application system of claim 17, wherein: The step of transmitting, to the core storage device, a request for transferring the first data stored in the core storage device to the first edge storage device includes: In a case where the first data cannot be stored in the first edge storage device, the step of transmitting, to the core storage device, a request related to transmission of the first data to an edge storage device that is geographically closest to the first edge storage device, i.e., a second edge storage device.