WO2024014591A1 - 로컬 네트워크상에서 파일을 전송하기 위한 기술 - Google Patents

로컬 네트워크상에서 파일을 전송하기 위한 기술 Download PDF

Info

Publication number
WO2024014591A1
WO2024014591A1 PCT/KR2022/010402 KR2022010402W WO2024014591A1 WO 2024014591 A1 WO2024014591 A1 WO 2024014591A1 KR 2022010402 W KR2022010402 W KR 2022010402W WO 2024014591 A1 WO2024014591 A1 WO 2024014591A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
terminal
files
user terminals
server
Prior art date
Application number
PCT/KR2022/010402
Other languages
English (en)
French (fr)
Inventor
조지욱
Original Assignee
라쿠텐 심포니 코리아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라쿠텐 심포니 코리아 주식회사 filed Critical 라쿠텐 심포니 코리아 주식회사
Priority to PCT/KR2022/010402 priority Critical patent/WO2024014591A1/ko
Publication of WO2024014591A1 publication Critical patent/WO2024014591A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Definitions

  • This disclosure relates to technology for transferring files on a local network.
  • CDN Contents Delivery Network
  • the server that transmits data to the user terminal may be a server located relatively close to the user terminal.
  • each of the servers transmits data to multiple user terminals, excessive traffic may occur. Additionally, the server's memory may be limited to store data requested by multiple user terminals in advance.
  • the present disclosure provides a technology for improving file transfer speed and preventing excessive traffic due to file transfer when transferring files to a user terminal on a local network.
  • a device may include communication circuitry, one or more processors, and one or more memory.
  • the communication circuit may communicate with a server and one or more user terminals on a local network.
  • the one or more memories may store files transmitted to the one or more user terminals through the communication circuit.
  • the one or more processors control the communication circuit to receive information indicating a first file from a first terminal among the one or more user terminals and transmit it to the server, and to transmit information from the server to a device in which the first file is stored. It may be configured to receive route information and transmit it to the first terminal, and to transmit the first file to the first terminal through the local network in response to a request from the first terminal.
  • a method may be proposed.
  • a method includes a device communicating with a server and one or more user terminals on a local network receiving information indicating a first file from a first terminal among the one or more user terminals and transmitting the information to the server.
  • An operation wherein the device receives path information about a device storing the first file from the server and transmits it to the first terminal, and wherein the device receives, in response to a request from the first terminal, the local It may include transmitting the first file to the first terminal through a network.
  • a non-transitory computer-readable recording medium may be proposed.
  • a computer-readable recording medium can record a program for execution on a computer.
  • the one or more processors receive information indicating a first file from a first terminal among one or more user terminals on a local network and transmit it to a server, from the server.
  • the speed of transmitting files to a user terminal can be improved.
  • traffic accompanying file transfer can be reduced.
  • the problem of insufficient storage space on a server can be solved.
  • FIG. 1 is a diagram illustrating a content delivery network according to an embodiment of the present disclosure.
  • Figure 2 is a diagram illustrating the operation process of a device according to an embodiment of the present disclosure.
  • Figure 3 is a diagram illustrating the operation process of a device according to an embodiment of the present disclosure.
  • Figure 4 is a block diagram of a device according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating an operation process in which a device deletes at least some files according to an embodiment of the present disclosure.
  • Figure 6 is a diagram illustrating the operation process of a device according to an embodiment of the present disclosure.
  • Figure 7 is a diagram illustrating the operation process of a device according to an embodiment of the present disclosure.
  • Figure 8 is a diagram showing address conversion information according to an embodiment of the present disclosure.
  • Figure 9 is a flowchart showing a method according to an embodiment of the present disclosure.
  • A, B, and C As used herein, “A, B, and C,” “A, B, or C,” “A, B, and/or C,” or “at least one of A, B, and C,” “A, B , or at least one of C,” “at least one of A, B, and/or C,” “at least one selected from A, B, and C,” “at least one selected from A, B, or C,” “A Expressions such as “at least one selected from , B, and/or C” may mean each listed item or all possible combinations of the listed items.
  • “at least one of A and B” means: (1) A, (2) at least one of A, (3) B, (4) at least one of B, (5) at least one of A and B It may refer to at least one, (6) at least one of A and B, (7) at least one of B and A, (8) both A and B.
  • the expression "based on” is used to describe one or more factors affecting the decision, act of judgment, or action described in the phrase or sentence containing the expression, and the expression refers to the It does not exclude additional factors that may influence the decision, act or action of judgment.
  • a component e.g., a first component
  • another component e.g., a second component
  • the expression that a component is “connected” or “connected” to another component means that the component is It may mean being connected or connected not only directly to another component, but also through another new component (e.g., a third component).
  • a file transfer service may be provided to the user terminal 40 through an origin server (20) and an edge server (30).
  • the user terminal 40 may communicate with the origin server 20 and/or the edge server 30 through the router 10.
  • the origin server 20 may store at least some of the original files. Additionally, the origin server 20 may store information about a list of files that each edge server 30 stores in advance. That is, the origin server 20 may determine the edge server 30 among one or more edge servers 30 where the file requested from the user terminal is stored. In the present disclosure, storing a file includes caching the file. Caching can mean storing a subset of data with transient characteristics on high-speed data storage.
  • the content delivery network may include one or more edge servers.
  • One or more edge servers may be physically widely distributed and deployed in various geographical locations.
  • a file may be transmitted to the user terminal 40 through an edge server 30 that is physically or geographically close to the user terminal 40 among one or more edge servers.
  • the edge server 30 may receive files from the origin server 20 and store at least some of them in advance. Files stored in the edge server 30 may include text, graphics, scripts, various media files, software, etc.
  • the user terminal 40 may transmit information requesting transmission of a specific file to the origin server 20 through the router 10 (S101, S102).
  • the origin server 20 may transmit information indicating the edge server 30 where the file is stored to the user terminal 40 through the router 10 (S103, S104).
  • the user terminal 40 transmits information requesting transmission of the file to the edge server 30 through the router 10 (S105, S106), and retrieves the file from the edge server 30 through the router 10. can be transmitted (S107, S108).
  • the router 10 can only perform the role of relaying communication between the user terminal 40 and the origin server 20, and the user terminal 40 and the edge server 30. That is, the router 10 can relay information (e.g., request, etc.) received from one party to the other party.
  • multiple users may request file transmission to a limited number of edge servers 30 included in the content delivery network.
  • a bottleneck phenomenon in which excessive traffic is concentrated on the edge server 30 may occur.
  • the edge server 30 included in the content delivery network receives requests to transmit files from an unspecified number of users, it is difficult to determine users' tendencies or demand for files. Accordingly, the edge server 30 has a limitation in that it cannot properly store files requested by multiple users in advance, taking into account the preferences of multiple users or the demand for files.
  • FIG. 2 is a diagram illustrating the operation process of the device 100 according to an embodiment of the present disclosure. In the content described below, the operation of the device 100 may be understood as being performed by the processor 120 of the device 100.
  • a local network may refer to a network that communicatively connects electronic devices in a limited area at a relatively close distance, such as buildings such as homes, offices, and schools.
  • the local network may include Wireless Fidelity (Wi-Fi) or Local Area Network (LAN).
  • Wi-Fi Wireless Fidelity
  • LAN Local Area Network
  • a local network may be implemented by device 100.
  • the local network may be implemented by the device 100 providing a wireless network such as Wi-Fi, or may be implemented through a LAN connected to the device 100. Communication of the device 100 may be performed by a communication circuit 110, which will be described later.
  • the device 100 can connect to the server 200 through an external wide area network (WAN).
  • the device 100 can communicate with other external electronic devices in addition to the server 200 through an external wide area communication network. That is, the device 100 may be configured to be connected to one or more user terminals 400 through a local network and simultaneously connected to an external wide area communication network.
  • the server 200 may correspond to the origin server 20 described in the embodiment of FIG. 1.
  • one or more user terminals 400 may be a computer, a laptop, a portable communication terminal (such as a smartphone), a portable multimedia device, a wearable device, or a home appliance.
  • the type of one or more user terminals 400 is not limited to this.
  • One or more user terminals 400 may each include a communication circuit that communicates with the device 100, a processor, and a memory that stores instructions for the processor to perform operations.
  • device 100 may function as an access point, router, or router.
  • memory 130 of device 100 may store address translation information.
  • the address conversion information may be information for converting a network address on a local network of one or more user terminals connected to the device 100 through a local network into a network address for communicating with an external network, such as connecting to a server.
  • the device 100 configures the network address on the local network of the user terminal to connect to the server 200. It is converted into an address, and the network address before and after conversion is stored in the address conversion information, while the request can be transmitted to the server 200.
  • the device 100 may receive information indicating a transmission request for a specific file (hereinafter, the first file) from one user terminal (hereinafter, the first terminal) among the one or more user terminals 400. There is (S201).
  • Information indicating a transmission request for a specific file may include information indicating a first file.
  • information indicating a request to transmit a specific file may include the identifier of the first file.
  • the device 100 may transmit information indicating a request to transmit the first file to the server 200 (S202).
  • the device 100 may previously store specific files (A, B, C, D, and E) in the memory 130. Additionally, the server 200 may store information about files previously stored by the device 100 and one or more other edge servers. That is, the server 200 may determine the device in which the first file is stored among the device 100 and one or more edge servers.
  • the device 100 may receive path information about the device where the first file is stored from the server 200 (S203) and transmit the path information to the first terminal (S204).
  • Path information may include information indicating the device where the first file is stored. That is, the path information may include information indicating a device storing the first file among one or more edge servers or devices 100.
  • the path information may include the network address of the device storing the first file.
  • the network address may include, for example, an Internet Protocol (IP) address.
  • IP Internet Protocol
  • the path information may be information indicating the device 100. If the device 100 does not store the first file, the path information may be information indicating one or more other edge servers where the first file is stored.
  • the first terminal may transmit information indicating transmission of the first file to the device 100 (S205).
  • the first terminal may transmit information indicating direct transmission of the first file to the device 100.
  • direct transmission may mean that the device 100 transmits the first file to the first terminal without going through another device.
  • the device 100 may transmit the first file to the first terminal in response to a request (S205) received from the first terminal (S206). At this time, the device 100 may transmit the first file to the first terminal through the local network.
  • operations S204 and S205 are not performed, and the device 100 may transmit the first file to the first terminal immediately after operation S203. In this case, the device 100 may transmit the first file to the first terminal based on the path information received from the server 200.
  • the device 100 receives information indicating a transmission request for the first file from the first terminal, and receives information about the device in which the first file is stored from the server 200. Route information can be received. If the path information indicates that the first file is stored in the device 100, the device 100 may transmit the first file to the first terminal through the local network in response to a request received from the first terminal. . Through this, the device 100 can receive file transfer requests only from a limited number of one or more user terminals 400 connected through the local network. Accordingly, relatively little traffic may occur in the device 100. Additionally, the device 100 may determine the demand for a specific file from a limited number of one or more user terminals 400 connected through a local network.
  • the device 100 may consider the demand for specific files from one or more user terminals 400 and store only files appropriate for the corresponding terminals. In other words, the device 100 only needs to store files requested by a limited number of user terminals 400 or transmitted to the user terminal 400, so it can be implemented with a small memory, and the user terminal 400 is mainly You can save the files you use appropriately. In addition, since the device 100 transmits files at a close distance to the user terminal 400 through a local network, the file transmission speed can also increase.
  • FIG. 3 is a diagram illustrating the operation process of the device 100 according to an embodiment of the present disclosure.
  • the device 100 receives information indicating a request for transmission of the first file from the first terminal (S301), and transmits information indicating a request for transmission of the first file to the server 200 ( S302), path information regarding the device where the first file is stored is received from the server 200 (S303), and this can be delivered to the first terminal (S304).
  • the path information may include information indicating that the first file is stored in an edge server (300, 500, etc.) other than the device 100.
  • the server 200 generates path information indicating an edge server (300, 500, etc.) other than the device 100 only when the device 100 does not store the first file and It can be sent to (100).
  • the route information indicates an edge server 300 that is not directly connected to one or more user terminals through a local network, or an edge server that is directly connected to one or more user terminals through a local network identical or similar to the device 100. (500) can be indicated. However, the local network to which the edge server 500 is connected and the local network to which the device 100 is connected may be distinguished from each other.
  • the first terminal is sent to one of the edge servers (300, 500) through the device (100).
  • the first terminal can transmit information requesting transmission of the first file to the device 100 (S305).
  • the device 100 requests one of the corresponding edge servers 300 and 500 to transmit the first file in response to the request (S305) received from the first terminal, and transmits the first file from one of these edge servers 300 and 500.
  • a file can be received (S306, S307) and transmitted to the first terminal (S308). Through this, the first terminal can receive the first file even if the device 100 does not store the first file.
  • the path information may further include information indicating the priority of each of one or more edge servers 300 and 500 that store the first file.
  • the server 200 may determine the priority of each of the one or more edge servers 300 and 500 based on the transmission speed calculated according to a specific algorithm.
  • the server 200 may include information indicating the determined priority in the route information.
  • the device 100 selects one of the edge servers 300 and 500 based on the priorities of each of the one or more edge servers 300 and 500.
  • the first file can be received from.
  • the device 100 may sequentially request transmission of the first file from each of one or more edge servers 300 and 500 in order of high priority until reception of the first file is successful.
  • the first file can be received from an edge server that can transmit the first file.
  • the first file can be transmitted from the edge server that can transmit the first file the fastest.
  • the device 100 may store the first file received from one of the one or more edge servers 300 and 500 in the memory 130 . Through this, the first file that was not stored in the device 100 is stored in the device 100, so when transmission of the first file is requested again, the device 100 directly transmits the first file to the first terminal. I can do it for you. By transmitting the first file to the first terminal through the local network, the device 100 can transmit the file at high speed.
  • FIG. 4 is a block diagram of a device 100 according to an embodiment of the present disclosure.
  • device 100 may include communication circuitry 110, one or more processors 120, and/or one or more memories 130.
  • at least one of the components of device 100 may be omitted, or other components may be added to device 100.
  • additionally or alternatively, some components may be integrated and implemented, or may be implemented as a single or plural entity.
  • one or more processors 120 may be referred to as processor 120.
  • the expression processor 120 may mean a set of one or more processors, unless the context clearly expresses otherwise.
  • one or more memories 130 may be referred to as memory 130 .
  • the expression memory 130 may mean a set of one or more memories, unless the context clearly expresses otherwise.
  • at least some of the components inside and outside the device 100 use a bus, General Purpose Input/Output (GPIO), Serial Peripheral Interface (SPI), or Mobile Industry Processor Interface (MIPI), etc. They are connected to each other and can exchange information (data, signals, etc.).
  • GPIO General Purpose Input/Output
  • SPI Serial Peripheral Interface
  • MIPI Mobile Industry Processor Interface
  • a communication circuit 110 may communicate with the server 200 and one or more user terminals 400 on a local network.
  • the communication circuit 110 may perform wireless or wired communication between the device 100 and at least one of the user terminal 400, the server 200, and the edge servers 300 and 500.
  • the communication circuit 110 may include enhanced Mobile Broadband (eMBB), Ultra Reliable Low-Latency Communications (URLLC), Massive Machine Type Communications (MMTC), Long-Term Evolution (LTE), and LTE Advance (LTE-A).
  • eMBB enhanced Mobile Broadband
  • URLLC Ultra Reliable Low-Latency Communications
  • MMTC Massive Machine Type Communications
  • LTE Long-Term Evolution
  • LTE-A LTE Advance
  • NR New Radio
  • UMTS Universal Mobile Telecommunications System
  • GSM Global System for Mobile communications
  • CDMA Code Division Multiple Access
  • WCDMA Wideband CDMA
  • WiBro Wireless Broadband
  • WiFi Wireless Fidelity
  • Wireless communication can be performed using methods such as Bluetooth, NFC (Near Field Communication), GPS (Global Positioning System), or GNSS (Global Navigation Satellite System).
  • the communication circuit 110 provides wired communication according to a method such as Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), Recommended Standard-232 (RS-232), or Plain Old Telephone Service (POTS). It can be done.
  • device 100 may be implemented integrated with another device.
  • the communication circuit 110 may function as a connection circuit or interface connecting the device 100 and the other device.
  • the processor 120 may control at least one component of the device 100 connected to the processor 120 by running software (eg, instructions, programs, etc.). Additionally, the processor 120 may perform various operations related to the present disclosure, such as calculation, processing, data generation, and processing. Additionally, the processor 120 may load data, etc. from the memory 130 or store it in the memory 130 .
  • the processor 120 controls the communication circuit 110 to receive information indicating the first file from a first terminal among one or more user terminals 400 connected through a local network to the server 200. transmits to, receives path information about the device where the first file is stored from the server 200, transmits it to the first terminal, and, in response to a request from the first terminal, sends the first file to the first terminal through the local network. can be transmitted.
  • the memory 130 can store various information (data).
  • Information stored in the memory 130 is information acquired, processed, or used by at least one component of the device 100, and may include software (eg, commands, programs, etc.).
  • Memory 130 may include volatile and/or non-volatile memory.
  • a command or program is software stored in the memory 130, and is an operating system, application, and/or application for controlling the resources of the device 100 and various functions so that the application can utilize the resources of the device 100. It may include middleware provided to .
  • the memory 130 may store instructions that, when executed by the processor 120, cause the processor 120 to perform an operation.
  • the memory 130 may store at least a portion of files transmitted to one of the one or more user terminals 400 through the communication circuit 110.
  • the processor 120 may store at least some of the files transmitted to one of the one or more user terminals 400 through the communication circuit 110 in the memory 130 .
  • FIG. 5 is a diagram illustrating an operation process in which the device 100 deletes at least some files according to an embodiment of the present disclosure.
  • the processor 120 may determine the priority based on the number of times each file has been transmitted to one or more user terminals 400. The processor 120 may delete at least some of the files according to the determined priority. In one embodiment, the processor 120 may delete some of the files stored in the memory 130 when at least some of the files need to be deleted. For example, the processor 120 may delete one file with the smallest number of times it has been transmitted to one or more user terminals 400 or two or more files in the order of the least number of times they have been transmitted to one or more user terminals 400. For example, when the number of times files A, B, C, D, and E stored in the memory 130 are transmitted to one or more user terminals 400 are 5, 10, 15, 20, and 25 times, respectively. We can assume this.
  • the processor 120 deletes file A, which has the smallest number of times transmitted to one or more user terminals 400, from the memory 130 among the files stored in the memory 130, or Two or more files can be deleted from the memory 130 in the order of files A, B, C, D, and E according to the order of the number of times they have been transferred.
  • the processor 120 randomly assigns priority to files that have been transmitted the same number of times to one or more user terminals 400.
  • priority can be determined based on the size of the file. Specifically, according to the set criteria, a larger file may have a higher priority, or a smaller file may have a higher priority.
  • the number of times that files A, B, C, D, and E stored in the memory 130 are transmitted to one or more user terminals 400 are 5 times, 5 times, 5 times, 10 times, and 15 times, respectively.
  • the processor 120 may give files A, B, and C, which have the least number of transfers to one or more user terminals 400 among the files stored in the memory 130, higher priority than files D and E. there is.
  • the processor 120 randomly determines the priority for files A, B, and C that have been transmitted the same number of times to one or more user terminals 400, or files C, B, and A are ranked higher in order of file size. Priority can be given, or higher priority can be given to files A, B, and C in order of file size.
  • the processor 120 may delete at least some of the files according to priority based on a first in first out (FIFO) method.
  • FIFO first in first out
  • the processor 120 may delete all from the memory 130 one or more files whose number of times they have been transmitted to one or more user terminals 400 is less than a preset reference value at a time when deletion of at least some of the stored files is necessary.
  • the number of times files A, B, C, D, and E stored in the memory 130 are transmitted to one or more user terminals 400 are 5, 10, 15, 20, and 25 times, respectively. It can be assumed that the preset standard value is 20 times.
  • the processor 120 may delete from the memory 130 files A, B, and C among the files stored in the memory 130, the number of which has been transmitted to one or more user terminals 400 less than 20 times, which is a preset reference value. there is.
  • the processor 120 may store information about the number of times each file has been transmitted to one or more user terminals 400 in the memory 130 . In one embodiment, the processor 120 may update the number of times each file has been transmitted to one or more user terminals 400 each time each file is transmitted to one or more user terminals 400 . In one embodiment, the number of times each of the files has been transmitted to one or more user terminals 400 is the cumulative number of times each of the files has been transmitted to one or more user terminals 400 or the number of times each of the files has been transmitted to one or more user terminals within a preset specific period. This may be the number of times transmitted to the terminal 400.
  • the processor 120 may delete at least some of the files stored in the memory 130 based on the storage space of the memory 130. In one embodiment, if the storage space of the memory 130 is insufficient or the storage space of the memory 130 is being used in excess of a preset threshold, the processor 120 may use at least one of the files stored in the memory 130. Some of them can be deleted. Through this, available storage space of the memory 130 can be secured. In another embodiment, the processor 120 may periodically delete at least some of the files stored in the memory 130 according to a preset cycle.
  • the processor 120 may delete at least some of the files stored in the memory 130 based on the number of user terminals to which each of the files was transmitted. Specifically, the processor 120 may determine the number of user terminals to which each file has been transmitted based on information indicating the file transmission history of each of the one or more user terminals 400. In one embodiment, for each of the files stored in the memory 130, the processor 120 deletes one file with the smallest number of transmitted user terminals or two or more files in order of the smallest number of transmitted user terminals. You can. For example, it can be assumed that the number of user terminals to which files A, B, C, D, and E stored in the memory 130 are transmitted are 5, 10, 15, 20, and 25, respectively.
  • the processor 120 deletes file A, which has the smallest number of transmitted user terminals, from the memory 130 among the files stored in the memory 130, or files files in order of the smallest number of transmitted user terminals. Two or more files can be deleted from the memory 130 in the order A, B, C, D, and E.
  • the processor 120 may delete from the memory 130 all of the one or more files for which the number of user terminals transmitted is less than a preset reference value when deletion of at least some of the stored files is required.
  • the number of user terminals to which files A, B, C, D, and E stored in the memory 130 are transmitted are 5, 10, 15, 20, and 25, respectively, and the preset reference value is 15. We can assume a case.
  • the processor 120 may delete from the memory 130 files A and B, among the files stored in the memory 130, for which the number of transmitted user terminals is less than 15, which is a preset reference value. Through this, duplicate transmissions to one user terminal are counted as one time, so even if the user retransmits the file without knowing that he or she holds it or accidentally receives the file repeatedly, it is treated as being in high demand for the file and is deleted. You can prevent it from happening.
  • Address conversion information may include network addresses before and after conversion for each terminal (i.e., one or more user terminals 400) whose network address has been converted through the device 100. That is, the address conversion information may include information indicating a correspondence between the network address of one or more user terminals 400 on the local network and the network address of the device 100 on the wide area network for accessing the server 200.
  • the network for accessing the server 200 may be the Internet.
  • the network address may be an Internet Protocol (IP) address or a Media Access Control (MAC) address.
  • IP Internet Protocol
  • MAC Media Access Control
  • the address translation information may be NAT (Network Address Translation) information. However, address translation information is not limited to NAT information.
  • the address conversion information is information that converts the private IP address of one or more user terminals 400 to a public IP address of the device 100 and/or vice versa. May contain information.
  • the address conversion information may include information (e.g., conversion table) that converts the private IP address of the user terminal, 111.222.0.1, to the public IP address of the device 100, 33.44.55.66.
  • the address conversion information is information that converts the MAC address corresponding to the user terminal to the public IP address of the device 100, information that converts the MAC address corresponding to the user terminal to the MAC address of the device 100, or It may also include information that converts the private IP address of the user terminal into the MAC address of the device 100.
  • the address conversion information includes a history of network address conversion by each of the one or more user terminals 400 through the device 100 and/or a file transmission history by the device 100 to each of the one or more user terminals 400. It may include information indicating a certain history (hereinafter referred to as history information).
  • the processor 120 of the device 100 may delete at least some of the files stored in the memory 130. At this time, the processor 120 may determine a file to be deleted among the files stored in the memory 130 based on the address conversion information. In one embodiment, the processor 120 determines one or more user terminals (hereinafter referred to as second terminals) with a high frequency of network address conversion among one or more user terminals, and determines the number of times each of the files is transmitted to one or more second terminals. Based on this, you can decide which of the files to delete. Second terminals with a high frequency of network address conversion may have a high probability of requesting the same file.
  • second terminals with a high frequency of network address conversion may have a high probability of requesting the same file.
  • the local network connecting the device 100 and the user terminal 400 is a network used in a company
  • the terminal used by employees working in the company will be determined as the second terminal with a high conversion frequency of network addresses. You can.
  • a corporate network there may be a high probability that employees' second terminals will request the same files used for work.
  • the local network connecting the device 100 and the user terminal 400 is a network used in a school
  • the terminal used by students at the school may be determined as the second terminal with a high conversion frequency of network addresses.
  • a school network there may be a high probability that students' second terminals will request the same files used for schoolwork.
  • the device 100 continues to store files that have been transmitted a high number of times to the user terminal determined as the second terminal without deleting them, thereby increasing the probability that a file requested from one or more user terminals is stored in the device 100. You can. In other words, caching efficiency can be increased by the device 100 determining files to delete or store in consideration of the demand of the user terminal determined as the second terminal.
  • the processor 120 may determine, based on address conversion information, a user terminal that has converted its network address at a frequency higher than a preset first standard as one or more second terminals.
  • the processor 120 may identify or distinguish each of the one or more user terminals 400 based on the addresses on the local network of each of the one or more user terminals 400 included in the address conversion information.
  • the processor 120 may determine the frequency with which each of the one or more user terminals 400 converts its network address through the device 100, based on the history information of the address conversion information.
  • the processor 120 determines the frequency with which each of the one or more user terminals 400 converts its network address based on the number of times each of the one or more user terminals 400 converts its network address during a preset period of time.
  • the processor 120 determines the network address of each of the one or more user terminals 400 based on the number of times the network address has been converted from the time each of the one or more user terminals 400 first converted the network address to the present.
  • the frequency of conversion can be determined.
  • the processor 120 may determine, among one or more second terminals, a user terminal that has converted its network address at a frequency lower than a preset second standard as one or more third terminals, based on address conversion information. Additionally, the processor 120 may assign a lower weight to the number of times each file has been transmitted to one or more third terminals compared to the number of times each file has been transmitted to the remaining second terminals, and determine a file to be deleted.
  • the first criterion described above may indicate a lower frequency than the second criterion. For example, if the first standard indicates a network address conversion frequency of 10 or more times per month as a reference value, the second standard may indicate a network address conversion frequency of 15 or more times per month as a reference value.
  • the processor 120 may apply a weight of less than 1 to the number of times each of the files stored in the memory 130 has been transmitted to one or more third terminals.
  • a weight less than 1 may be 0, or a preset value greater than 0 and less than 1.
  • third terminals with a low degree of network address conversion may be terminals that use the device 100 relatively less frequently when accessing a network outside the local network. Since these third terminals may have a low frequency of receiving files transmitted through the device 100 in the future, there may be less demand for transmission of files mainly requested by third terminals in the future. Accordingly, by assigning a low weight to file requests by third terminals and setting a low priority to store them in advance in the device 100, the storage space of the device 100 can be utilized more efficiently.
  • the processor 120 may determine at least some of the files stored in the memory 130 to be deleted based on the number of times each of the files has been transmitted to one or more second terminals. In one embodiment, the processor 120 selects one file with the smallest number of times it has been transmitted to one or more second terminals among the files stored in the memory 130, or two or more files in order of the number of times they have been transmitted to one or more second terminals. You can delete files. In one embodiment, when there are files that have been transmitted the same number of times to one or more second terminals, the processor 120 randomly determines the priority of files that have been transmitted the same number of times to one or more second terminals and files to be deleted. can be decided. For example, the processor 120 may determine the priority based on the size of the file.
  • the processor 120 may give files A, B, and C, which have the least number of transfers to one or more second terminals, a higher priority than files D and E among the files stored in the memory 130.
  • the processor 120 randomly determines the priority for files A, B, and C that have been transmitted the same number of times to one or more second terminals, or gives files C, B, and A higher priority in the order of file size.
  • the processor 120 may delete from the memory 130 all of the one or more files whose number of transmissions to one or more second terminals is less than a preset reference value when deletion of at least some of the stored files is required. For example, the number of times that files A, B, C, D, and E stored in the memory 130 are transmitted to one or more second terminals are 5, 10, 15, 20, and 25 times, respectively, and the preset It can be assumed that the standard value is 20 times. In this case, the processor 120 may delete from the memory 130 files A, B, and C among the files stored in the memory 130 that have been transmitted to one or more second terminals less than 20 times, which is a preset reference value. Through this, files with low transmission demand can be deleted from the memory 130 to secure storage space in the device 100.
  • FIG. 7 is a diagram illustrating the operation process of the device 100 according to an embodiment of the present disclosure.
  • the device 100 may receive information indicating a transmission request for the first file from a first terminal among the one or more user terminals 400 (S701).
  • device 100 in response to a transfer request received from a first terminal, determines for itself whether the first file is stored in one or more memories 130, and determines that the first file is stored. Accordingly, the first file can be transmitted to the first terminal (S702).
  • the device 100 may transmit the first file to the first terminal without communicating with the server 200.
  • the device 100 may confirm the identifier of the first file by interpreting information or a packet indicating a transmission request for the first file received from the first terminal.
  • the device 100 may determine whether the first file is stored in the memory 130 based on the identified identifier of the first file.
  • the device 100 may additionally include software or hardware modules for interpreting information or packets indicating a transmission request for the first file received from the first terminal. Through this, when the device 100 is storing the first file, traffic generated from the server 200 can be reduced.
  • FIG. 8 is a diagram illustrating the operation process of the device 100 according to an embodiment of the present disclosure.
  • the device 100 may receive information indicating a transmission request for the first file from a first terminal among the one or more user terminals 400 (S801).
  • device 100 determines for itself whether the first file is stored in one or more memories 130 and, upon determining that the first file is not stored, sends the first file to server 200.
  • Information indicating a transmission request may be transmitted (S802), and path information regarding the device where the first file is stored may be received from the server 200 (S803).
  • the path information may include information indicating one or more edge servers 300 and 500 where the first file is stored.
  • the device 100 In response to the path information received from the server 200, the device 100 requests transmission of the first file to one or more other edge servers 300 and 500 (S804, S805), and sends the first file to one or more other edge servers 300. , 500), the first file may be received (S804, S805) and transmitted to the first terminal (S806). Through this, the operation of transmitting path information regarding the device in which the first file is stored between the device 100 and the first terminal is omitted, thereby reducing traffic occurring between the device 100 and the first terminal.
  • FIG. 9 is a flowchart showing a method according to an embodiment of the present disclosure.
  • the method 900 includes a device 100 communicating with a server 200 and one or more user terminals 400 on a local network, receiving a first file from a first terminal among the one or more user terminals 400.
  • An operation of receiving the indicated information and transmitting it to the server 200 (S910), an operation of the device 100 receiving path information about the device where the first file is stored from the server 200 and transmitting it to the first terminal ( S920) and an operation (S930) in which the device 100 transmits the first file to the first terminal through a local network in response to a request from the first terminal.
  • operation S930 is an operation in which the device 100 receives a first file from one of the one or more edge servers 300 and 500 in response to a request from the first terminal and sends the first file to the first terminal. It may include an operation to transmit.
  • the operation of the device 100 receiving a first file from one of the one or more edge servers 300, 500 includes one or more of the first files received from one of the one or more edge servers 300, 500. It may include a saving operation in the memory 130.
  • operation S930 is such that the device 100, in response to a request from the first terminal, executes one of the one or more edge servers 300 and 500 based on the priorities of each of the one or more edge servers 300 and 500. It may include an operation of receiving the first file from.
  • the method 900 includes an operation of the device 100 deleting at least some of the files stored in the memory 130 based on the number of times each of the files has been transmitted to one or more user terminals 400. It may further include.
  • an operation in which the device 100 deletes at least some of the files stored in the memory 130 based on the number of times each of the files stored in the memory 130 is transmitted to one or more user terminals 400.
  • the operation of deleting at least some of the files stored in the memory 130 based on the storage space of the one or more memories 130 may be performed when the storage space of the one or more memories is insufficient or is being used. This may include deleting at least some of the files when the storage space of the memory exceeds a preset threshold.
  • an operation in which the device 100 deletes at least some of the files stored in the memory 130 based on the number of times each of the files stored in the memory 130 is transmitted to one or more user terminals 400.
  • an operation in which the device 100 deletes at least some of the files stored in the memory 130 based on the number of times each of the files stored in the memory 130 is transmitted to one or more user terminals 400. Based on the address conversion information, determining one or more second terminals among the one or more user terminals 400 and based on the number of times each of the files stored in the memory 130 has been transferred to one or more second terminals, the memory An operation of deleting at least some of the files stored in 130 may be included.
  • the operation of determining one or more second terminals among the one or more user terminals 400 is higher than a preset first standard among the one or more user terminals based on the address conversion information. It may include an operation of determining a user terminal whose network address has been converted to one or more second terminals.
  • the operation of the device 100 deleting at least some of the files based on the number of times each of the files has been transmitted to the one or more user terminals 400 is performed based on address translation information, An operation of determining a user terminal that has converted a network address at a frequency lower than a preset second standard among two terminals as one or more third terminals, and the number of times each of the files stored in the memory 130 has been transmitted to one or more third terminals. An operation of applying a weight less than 1 may be further included.
  • the operation of deleting at least some of the files stored in the memory 130 includes an adjusted number of transmissions and The operation may include deleting at least some of the files stored in the memory 130 based on the number of times each of the files stored in the memory 130 has been transmitted to one or more second terminals.
  • the method 900 includes the device 100 deleting at least some of the files stored in the memory 130 based on the number of user terminals to which each of the files stored in the memory 130 was transmitted. Additional actions may be included.
  • Methods according to the present disclosure may be computer-implemented methods.
  • each operation of the corresponding methods is shown and described in a predetermined order, but in addition to being performed sequentially, each operation may be performed in an order that can be arbitrarily combined according to the present disclosure.
  • at least some of the operations may be performed in parallel, iteratively, or heuristically. This disclosure does not exclude making changes or modifications to the methods.
  • at least some operations may be omitted or other operations may be added.
  • Various embodiments of the present disclosure may be implemented as software recorded on a machine-readable recording medium.
  • the software may be software for implementing various embodiments of the present disclosure described above.
  • Software can be inferred from various embodiments of the present disclosure by programmers in the technical field to which this disclosure pertains.
  • software can be instructions (e.g. code or code segments) or programs that can be read by a device.
  • a device is a device that can operate according to commands called from a recording medium, and may be, for example, a computer.
  • the device may be device 100 according to embodiments of the present disclosure.
  • the device's processor may execute a called instruction and cause the device's components to perform a function corresponding to the instruction.
  • the processor may be processor 120 according to embodiments of the present disclosure.
  • a recording medium may refer to any type of recording medium in which data is stored that can be read by a device. Recording media may include, for example, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage devices, etc. In one embodiment, the recording medium may be memory 120 or 220. In one embodiment, the recording medium may be implemented in a distributed form, such as in a computer system connected to a network. Software may be distributed, stored, and executed on a computer system, etc. The recording medium may be a non-transitory recording medium.
  • a non-transitory recording medium refers to a tangible medium regardless of whether data is stored semi-permanently or temporarily, and does not include signals that are temporarily propagated.
  • the device of Supplementary Note 1 wherein the path information includes information indicating one or more edge servers where the first file is stored, and the one or more processors, in response to a request from the first terminal, It is configured to receive the first file from one of one or more edge servers and transmit the first file to the first terminal.
  • the device includes address conversion information for converting a network address on the local network of the one or more user terminals into a network address for connecting to the server. Further storing, the one or more processors determine, based on the address translation information, one or more second terminals of the one or more user terminals, and based on the number of times each of the files has been transmitted to the one or more second terminals. Thus, it is configured to delete at least some of the files.
  • Appendix 12 This is the device of Appendix 11, and the first standard indicates a lower frequency than the second standard.
  • Appendix 13 The device according to any one of Appendices 9 to 12, and the address conversion information includes an Internet Protocol (IP) address or a Media Access Control (MAC) address of each of the one or more user terminals.
  • IP Internet Protocol
  • MAC Media Access Control
  • Appendix 16 The device of any one of Appendices 1 to 15, wherein the one or more processors determine whether the first file is stored in the one or more memories, and, based on the determination that the first file is stored, , configured to transmit the first file to the first terminal.
  • Appendix 17 It is any one of the devices listed in Appendices 1 to 16 and is an access point, router, or router.
  • the device according to any one of Supplementary Notes 1 to 17, and the local network includes Wi-Fi (Wireless Fidelity) or LAN (Local Area Network).
  • Wi-Fi Wireless Fidelity
  • LAN Local Area Network
  • a non-transitory computer-readable recording medium recording a program to be executed on a computer, wherein when the program is executed by one or more processors, the one or more processors are connected to the first of one or more user terminals on a local network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시는 장치를 제안한다. 본 개시에 따른 장치는 통신 회로, 하나 이상의 프로세서, 및 하나 이상의 메모리를 포함할 수 있다. 통신 회로는 서버 및 로컬 네트워크상의 하나 이상의 사용자 단말과 통신할 수 있다. 하나 이상의 메모리는 통신 회로를 통하여 하나 이상의 사용자 단말로 전송한 파일들을 저장할 수 있다. 하나 이상의 프로세서는 통신 회로를 제어하여, 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 서버로 전송하고, 서버로부터 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 제1 단말에 전송하고, 제1 단말로부터의 요청에 응답하여, 로컬 네트워크를 통해 제1 단말에 제1 파일을 전송하도록 구성될 수 있다.

Description

로컬 네트워크상에서 파일을 전송하기 위한 기술
본 개시는 로컬 네트워크상에서 파일을 전송하기 위한 기술에 관한 것이다.
콘텐츠 전송 네트워크(CDN, Contents Delivery Network)는 콘텐츠 등에 대한 데이터를 여러 서버에 저장하고, 여러 서버들 중 한 서버로부터 사용자 단말로 해당 데이터를 전송하는 시스템을 의미한다. 이들 서버 중 사용자 단말로 데이터를 전송하는 서버는 해당 사용자 단말과 상대적으로 가까운 위치에 배치된 서버일 수 있다.
그러나 해당 서버들 각각은 다수의 사용자 단말과 데이터 전송을 수행하므로, 트래픽이 과도하게 발생할 수 있다. 또한 다수의 사용자 단말에 의해 요청되는 데이터들을 미리 저장해 두기에는 서버의 메모리가 제한적일 수 있다.
본 개시는 로컬 네트워크상의 사용자 단말에 파일을 전송함에 있어 파일 전송 속도를 개선하고 파일 전송에 따른 트래픽이 과도하게 발생하는 것을 방지하는 기술을 제공한다.
본 개시의 한 측면으로서, 장치가 제안될 수 있다. 본 개시의 한 측면에 따른 장치는, 통신 회로, 하나 이상의 프로세서, 및 하나 이상의 메모리를 포함할 수 있다. 상기 통신 회로는 서버 및 로컬 네트워크상의 하나 이상의 사용자 단말과 통신할 수 있다. 상기 하나 이상의 메모리는 상기 통신 회로를 통하여 상기 하나 이상의 사용자 단말로 전송한 파일들을 저장할 수 있다. 상기 하나 이상의 프로세서는 상기 통신 회로를 제어하여, 상기 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 상기 서버로 전송하고, 상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하고, 상기 제1 단말로부터의 요청에 응답하여, 상기 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하도록 구성될 수 있다.
본 개시의 한 측면으로서, 방법이 제안될 수 있다. 본 개시의 한 측면에 따른 방법은, 서버 및 로컬 네트워크상의 하나 이상의 사용자 단말과 통신하는 장치가, 상기 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 상기 서버로 전송하는 동작, 상기 장치가, 상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하는 동작, 및 상기 장치가, 상기 제1 단말로부터의 요청에 응답하여, 상기 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하는 동작을 포함할 수 있다.
본 개시의 한 측면으로서, 비일시적 컴퓨터 판독 가능한 기록 매체가 제안될 수 있다. 본 개시의 한 측면에 따른 컴퓨터 판독 가능한 기록 매체는, 컴퓨터 상에서 수행하기 위한 프로그램을 기록할 수 있다. 상기 프로그램은, 하나 이상의 프로세서에 의한 실행 시에, 상기 하나 이상의 프로세서가, 로컬 네트워크상의 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 서버로 전송하는 동작, 상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하는 동작, 및 상기 제1 단말로부터의 요청에 응답하여, 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하는 동작을 수행하도록 하는 실행 가능한 명령을 포함할 수 있다.
본 개시의 적어도 한 실시예에 의하면, 사용자 단말에 파일을 전송하는 속도를 개선할 수 있다.
본 개시의 적어도 한 실시예에 의하면, 파일 전송에 수반되는 트래픽을 절감할 수 있다.
본 개시의 적어도 한 실시예에 의하면, 서버의 저장 공간이 부족한 문제점을 해결할 수 있다.
도 1은 본 개시의 일 실시예에 따른 콘텐츠 전송 네트워크에 대해 도시한 도면이다.
도 2는 본 개시의 일 실시예에 따른 장치의 동작 과정을 도시한 도면이다.
도 3은 본 개시의 일 실시예에 따른 장치의 동작 과정을 도시한 도면이다.
도 4는 본 개시의 일 실시예에 따른 장치의 블록도를 나타낸 도면이다.
도 5는 본 개시의 일 실시예에 따른 장치가 적어도 일부의 파일들을 삭제하는 동작 과정을 도시한 도면이다.
도 6은 본 개시의 일 실시예에 따른 장치의 동작 과정을 도시한 도면이다.
도 7은 본 개시의 일 실시예에 따른 장치의 동작 과정을 도시한 도면이다.
도 8은 본 개시의 일 실시예에 따른 주소 변환 정보를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따른 방법을 나타낸 흐름도이다.
본 문서에 기재된 다양한 실시예들은, 본 개시의 기술적 사상을 명확히 설명하기 위한 목적으로 예시된 것이며, 이를 특정한 실시 형태로 한정하려는 것이 아니다. 본 개시의 기술적 사상은, 본 문서에 기재된 각 실시예의 다양한 변경(modifications), 균등물(equivalents), 대체물(alternatives) 및 각 실시예의 전부 또는 일부로부터 선택적으로 조합된 실시예를 포함한다. 또한 본 개시의 기술적 사상의 권리 범위는 이하에 제시되는 다양한 실시예들이나 이에 대한 구체적 설명으로 한정되지 않는다.
기술적이거나 과학적인 용어를 포함해서, 본 문서에서 사용되는 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 가질 수 있다.
본 문서에서 사용되는 "포함한다", "포함할 수 있다", "구비한다", "구비할 수 있다", "가진다", "가질 수 있다" 등과 같은 표현들은, 대상이 되는 특징(예: 기능, 동작 또는 구성요소 등)이 존재함을 의미하며, 다른 추가적인 특징의 존재를 배제하지 않는다. 즉, 이와 같은 표현들은 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.
본 문서에서 사용되는 단수형의 표현은, 문맥상 다르게 뜻하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구항에 기재된 단수형의 표현에도 마찬가지로 적용된다.
본 문서에서 사용되는 "A, B, 및 C," "A, B, 또는 C," "A, B, 및/또는 C" 또는 "A, B, 및 C 중 적어도 하나," "A, B, 또는 C 중 적어도 하나," "A, B, 및/또는 C 중 적어도 하나," "A, B, 및 C 중에서 선택된 적어도 하나," "A, B, 또는 C 중에서 선택된 적어도 하나," "A, B, 및/또는 C 중에서 선택된 적어도 하나" 등의 표현은, 각각의 나열된 항목 또는 나열된 항목들의 가능한 모든 조합들을 의미할 수 있다. 예를 들어, "A 및 B 중 적어도 하나"는, (1) A, (2) A 중 적어도 하나, (3) B, (4) B 중 적어도 하나, (5) A 중 적어도 하나 및 B 중 적어도 하나, (6) A 중 적어도 하나 및 B, (7) B 중 적어도 하나 및 A, (8) A 및 B를 모두 지칭할 수 있다.
본 문서에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되고, 이 표현은 해당 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.
본 문서에서 사용되는, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "연결되어" 있다거나 "접속되어" 있다는 표현은, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결 또는 접속되는 것뿐 아니라, 새로운 다른 구성요소(예: 제3 구성요소)를 매개로 하여 연결 또는 접속되는 것을 의미할 수 있다.
이하, 첨부된 도면들을 참조하여, 본 개시의 다양한 실시예들을 설명한다. 첨부된 도면 및 도면에 대한 설명에서, 동일하거나 실질적으로 동등한(substantially equivalent) 구성요소에는 동일한 참조부호가 부여될 수 있다. 또한, 이하 다양한 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있으나, 이는 해당 구성요소가 그 실시예에 포함되지 않는 것을 의미하지는 않는다.
도 1은 본 개시의 일 실시예에 따른 콘텐츠 전송 네트워크(CDN, Contents Delivery Network)에 대해 도시한 도면이다. 본 개시의 일 실시예에 따른 콘텐츠 전송 네트워크에서는 오리진 서버(Origin Server, 20) 및 엣지 서버(Edge Server, 30)를 통해 사용자 단말(40)에 파일 전송 서비스가 제공될 수 있다. 예시적으로, 사용자 단말(40)은 공유기(10)를 통해 오리진 서버(20) 및/또는 엣지 서버(30)와 통신할 수 있다.
오리진 서버(20)는 원본 파일들의 적어도 일부를 저장하고 있을 수 있다. 또한, 오리진 서버(20)는 엣지 서버(30) 각각이 사전에 저장하고 있는 파일들의 목록에 대한 정보를 저장하고 있을 수 있다. 즉, 오리진 서버(20)는 하나 이상의 엣지 서버(30) 중 사용자 단말로부터 요청된 파일이 저장된 엣지 서버(30)를 결정할 수 있다. 본 개시에서, 파일을 저장한다고 함은 파일을 캐싱(cache)하는 것을 포함한다. 캐싱이란 일시적인 특징이 있는 데이터 하위 집합을 고속 데이터 스토리지에 저장하는 것을 의미할 수 있다.
콘텐츠 전송 네트워크는 하나 이상의 엣지 서버를 포함할 수 있다. 하나 이상의 엣지 서버들은 지리적으로 다양한 위치에 물리적으로 넓게 분산되어 배치될 수 있다. 하나 이상의 엣지 서버 중 사용자 단말(40)에 물리적 또는 지리적으로 가까운 거리의 엣지 서버(30)를 통하여, 사용자 단말(40)에 파일이 전송될 수 있다. 엣지 서버(30)는 오리진 서버(20)로부터 파일들을 수신하여, 그 중 적어도 일부를 미리 저장하고 있을 수 있다. 엣지 서버(30)에 저장되는 파일은 텍스트, 그래픽, 스크립트, 각종 미디어 파일, 소프트웨어 등을 포함할 수 있다.
사용자 단말(40)은 공유기(10)를 통하여 오리진 서버(20)에 특정 파일의 전송을 요청하는 정보를 전송할 수 있다(S101, S102). 오리진 서버(20)는 공유기(10)를 통하여 해당 파일이 저장되어 있는 엣지 서버(30)를 지시하는 정보를 사용자 단말(40)로 전송할 수 있다(S103, S104). 사용자 단말(40)은 다시 공유기(10)를 통하여 엣지 서버(30)로 해당 파일의 전송을 요청하는 정보를 전송하고(S105, S106), 공유기(10)를 통해 엣지 서버(30)로부터 해당 파일을 전송 받을 수 있다(S107, S108). 이 과정에서, 공유기(10)는 사용자 단말(40)과 오리진 서버(20), 그리고 사용자 단말(40)과 엣지 서버(30) 간의 통신을 서로 간에 중계해 주는 역할만을 수행할 수 있다. 즉, 공유기(10)는 일방으로부터 전달받은 정보(예: 요청 등)를 다른 일방으로 전달(relay)할 수 있다.
도 1에 기초하여 설명된 위 실시예에서, 콘텐츠 전송 네트워크에 포함되는 제한된 개수의 엣지 서버(30)에 다수의 사용자가 파일 전송을 요청할 수 있다. 이러한 경우, 엣지 서버(30)에 과도한 트래픽이 집중되는 병목 현상이 발생할 수 있다. 한편, 콘텐츠 전송 네트워크에 포함되는 엣지 서버(30)는 불특정 다수의 사용자로부터 파일의 전송을 요청받기 때문에 사용자들의 성향 또는 파일에 대한 수요를 파악하기는 힘들다. 따라서, 엣지 서버(30)는 다수의 사용자의 성향 또는 파일에 대한 수요를 고려하여 다수 사용자의 요청에 따른 파일들을 미리 적절하게 저장하지 못하는 한계를 가진다.
도 2는 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다. 이하 설명되는 내용에서 장치(100)의 동작은, 장치(100)의 프로세서(120)에 의해 수행되는 것으로 이해될 수 있다.
장치(100)는 하나 이상의 사용자 단말(400)과 로컬 네트워크를 통해 통신할 수 있다. 로컬 네트워크는 가정, 사무실, 학교 등의 건물과 같은 비교적 가까운 거리의 한정된 지역의 전자기기를 통신적으로 연결하는 네트워크를 의미할 수 있다. 일 실시예에서, 로컬 네트워크는 Wi-Fi(Wireless Fidelity) 또는 LAN(Local Area Network)을 포함할 수 있다. 로컬 네트워크는 장치(100)에 의해 구현될 수 있다. 예를 들어, 로컬 네트워크는 Wi-Fi 등의 무선 네트워크를 제공하는 장치(100)에 의해서 구현되거나, 또는 장치(100)에 연결된 LAN을 통해 구현될 수 있다. 장치(100)의 통신은 후술될 통신 회로(110)에 의해 수행될 수 있다. 장치(100)는 외부의 광역 통신 네트워크(WAN, Wide Area Network)를 통해 서버(200)에 접속할 수 있다. 장치(100)는 외부의 광역 통신 네트워크를 통해, 서버(200) 이외에도 다른 외부 전자기기와 통신할 수 있다. 즉, 장치(100)는 하나 이상의 사용자 단말(400)과의 로컬 네트워크를 통해 연결되는 동시에, 외부의 광역 통신 네트워크와 연결되도록 구성될 수 있다.
여기서 서버(200)는, 도 1의 실시예에서 설명된 오리진 서버(20)에 대응될 수 있다. 한편 하나 이상의 사용자 단말(400)은 컴퓨터, 랩탑(laptop), 휴대용 통신 단말(스마트폰 등), 휴대용 멀티미디어 장치, 웨어러블 장치 또는 가전 장치일 수 있다. 단, 하나 이상의 사용자 단말(400)의 종류는 이에 한정되지 않는다. 하나 이상의 사용자 단말(400)은 각각 장치(100)와 통신하는 통신 회로, 프로세서 및 프로세서가 연산을 수행하도록 하는 명령들을 저장하는 메모리를 포함할 수 있다.
일 실시예에서, 장치(100)는 액세스 포인트, 라우터 또는 공유기의 역할을 수행할 수 있다. 일 실시예에서, 장치(100)의 메모리(130)는 주소 변환 정보를 저장할 수 있다. 주소 변환 정보는, 장치(100)와 로컬 네트워크를 통해 연결된 하나 이상의 사용자 단말의 로컬 네트워크상의 네트워크 주소를 서버에 접속하는 등 외부 네트워크와 통신을 수행하기 위한 네트워크 주소로 변환하기 위한 정보일 수 있다. 일 실시예에서, 사용자 단말이 장치(100)를 통해 서버(200)로 특정 정보를 요청하는 경우, 장치(100)는 해당 사용자 단말의 로컬 네트워크상의 네트워크 주소를 서버(200)와 접속하기 위한 네트워크 주소로 변환하고, 변환 전후의 네트워크 주소를 주소 변환 정보에 저장하는 한편, 해당 요청을 서버(200)로 전달할 수 있다.
일 실시예에서, 장치(100)는 하나 이상의 사용자 단말(400) 중 하나의 사용자 단말(이하, 제1 단말)로부터 특정 파일(이하, 제1 파일)의 전송 요청을 지시하는 정보를 수신할 수 있다(S201). 특정 파일의 전송 요청을 지시하는 정보는 제1 파일을 지시하는 정보를 포함할 수 있다. 예를 들어 특정 파일의 전송 요청을 지시하는 정보는 제1 파일의 식별자를 포함할 수 있다. 장치(100)는 서버(200)에 제1 파일의 전송 요청을 지시하는 정보를 송신할 수 있다(S202).
장치(100)는 메모리(130)에 특정 파일들(A, B, C, D, E)을 미리 저장하고 있을 수 있다. 그리고 서버(200)는 장치(100) 및 다른 하나 이상의 엣지 서버 각각이 사전에 저장하고 있는 파일들에 대한 정보를 저장하고 있을 수 있다. 즉, 서버(200)는 장치(100) 및 하나 이상의 엣지 서버 중 제1 파일이 저장된 장치를 결정할 수 있다.
장치(100)는 서버(200)로부터 제1 파일이 저장되어 있는 장치에 관한 경로 정보를 수신하고(S203), 경로 정보를 제1 단말에 전달할 수 있다(S204). 경로 정보는 제1 파일이 저장된 장치를 지시하는 정보를 포함할 수 있다. 즉, 경로 정보는 하나 이상의 엣지 서버나 장치(100) 중에서 제1 파일을 저장하고 있는 장치를 지시하는 정보를 포함할 수 있다. 예를 들어, 경로 정보는 제1 파일을 저장하고 있는 장치의 네트워크 주소를 포함할 수 있다. 네트워크 주소는, 예를 들어, IP(Internet Protocol) 주소를 포함할 수 있다. 장치(100)가 제1 파일을 저장하고 있는 경우, 경로 정보는 장치(100)를 지시하는 정보가 될 수 있다. 장치(100)가 제1 파일을 저장하고 있지 않은 경우, 경로 정보는 제1 파일이 저장된 하나 이상의 다른 엣지 서버를 지시하는 정보가 될 수 있다.
경로 정보가 제1 파일이 장치(100)에 저장되어 있다고 지시하는 경우, 제1 단말은 장치(100)에 제1 파일의 전송을 지시하는 정보를 송신할 수 있다(S205). 일 실시예에서, 제1 단말은 장치(100)에 제1 파일의 직접적인 전송을 지시하는 정보를 송신할 수 있다. 여기서 직접적인 전송이란, 장치(100)가 다른 장치를 거치지 않고 제1 파일을 제1 단말에 전송하는 것을 의미할 수 있다. 장치(100)는 제1 단말로부터 수신된 요청(S205)에 응답하여, 제1 파일을 제1 단말에 전송할 수 있다(S206). 이 때 장치(100)는 로컬 네트워크를 통해 제1 파일을 제1 단말에 전송할 수 있다. 일 실시예에서, 동작 S204 및 S205가 수행되지 않고, 동작 S203 이후에 장치(100)가 제1 단말에 제1 파일을 바로 전송할 수도 있다. 이 경우, 장치(100)는 서버(200)로부터 수신한 경로 정보에 기초하여, 제1 단말에 제1 파일을 전송할 수 있다.
도 2에 기초하여 설명된 위 실시예에서, 장치(100)는 제1 단말로부터 제1 파일의 전송 요청을 지시하는 정보를 수신하고, 서버(200)로부터 제1 파일이 저장되어 있는 장치에 관한 경로 정보를 수신할 수 있다. 장치(100)는 경로 정보가 제1 파일이 장치(100)에 저장되어 있다고 지시하는 경우, 제1 단말로부터 수신된 요청에 응답하여, 로컬 네트워크를 통해 제1 파일을 제1 단말에 전송할 수 있다. 이를 통해, 장치(100)는 로컬 네트워크를 통해 연결되는 제한된 개수의 하나 이상의 사용자 단말(400)로부터만 파일 전송을 요청받을 수 있다. 따라서, 장치(100)에는 트래픽이 비교적 적게 발생할 수 있다. 또한, 장치(100)는 로컬 네트워크를 통해 연결되는 제한된 개수의 하나 이상의 사용자 단말(400)의 특정 파일에 대한 수요를 파악할 수 있다. 장치(100)는 하나 이상의 사용자 단말(400)의 특정 파일에 대한 수요를 고려하여, 해당 단말들에게 적절한 파일들만 저장하고 있을 수 있다. 즉, 장치(100)는 제한된 개수의 사용자 단말(400)이 요청하였거나 사용자 단말(400)로 전송되었던 파일들만 저장하고 있으면 되므로, 적은 용량의 메모리로도 구현 가능하며, 사용자 단말(400)이 주로 사용하는 파일을 적절하게 저장할 수 있다. 게다가, 장치(100)는 로컬 네트워크를 통해 사용자 단말(400)과 근접한 거리에서 파일을 송신하므로, 파일 전송 속도 또한 증가할 수 있다.
도 3은 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다. 전술한 바와 같이, 장치(100)는 제1 단말로부터 제1 파일의 전송 요청을 지시하는 정보를 수신받고(S301), 서버(200)에 제1 파일의 전송 요청을 지시하는 정보를 송신하며(S302), 서버(200)로부터 제1 파일이 저장되어 있는 장치에 관한 경로 정보를 수신하고(S303), 이를 제1 단말에 전달할 수 있다(S304).
경로 정보는 제1 파일이 장치(100)가 아닌 다른 엣지 서버(300, 500 등)에 저장되어 있다고 지시하는 정보를 포함할 수 있다. 일 실시예에서, 서버(200)는 장치(100)가 제1 파일을 저장하고 있지 않은 경우에만, 장치(100)가 아닌 다른 엣지 서버(300, 500 등)를 지시하는 경로 정보를 생성하고 장치(100)로 전송할 수 있다. 경로 정보는 하나 이상의 사용자 단말과 로컬 네트워크를 통해 직접 연결되어 있지 않은 엣지 서버(300)를 지시하거나, 장치(100)와 동일 또는 유사하게 하나 이상의 사용자 단말과 로컬 네트워크를 통해 직접 연결되어 있는 엣지 서버(500)를 지시할 수 있다. 다만, 엣지 서버(500)가 연결된 로컬 네트워크와 장치(100)가 연결된 로컬 네트워크는 서로 구별될 수 있다.
경로 정보가 제1 파일이 장치(100)가 아닌 다른 엣지 서버(300, 500)에 저장되어 있다고 지시하는 경우, 제1 단말은 장치(100)를 통해 해당 엣지 서버(300, 500) 중 하나로 제1 파일의 전송을 요청할 수 있다. 즉, 제1 단말은 제1 파일의 전송을 요청하는 정보를 장치(100)에 전송할 수 있다(S305). 장치(100)는 제1 단말로부터 수신된 요청(S305)에 응답하여 제1 파일의 전송을 해당 엣지 서버(300, 500) 중 하나에 요청하고, 이들 엣지 서버(300, 500) 중 하나로부터 제1 파일을 수신하여(S306, S307) 제1 단말에 전송할 수 있다(S308). 이를 통해, 장치(100)가 제1 파일을 저장하고 있지 않은 경우에도 제1 단말이 제1 파일을 전송 받을 수 있다.
일 실시예에서, 경로 정보는 제1 파일을 저장하는 하나 이상의 엣지 서버(300, 500) 각각의 우선 순위를 지시하는 정보를 더 포함할 수 있다. 서버(200)는 특정 알고리즘에 따라 산출되는 전송 속도에 기초하여, 하나 이상의 엣지 서버(300, 500) 각각의 우선 순위를 결정할 수 있다. 서버(200)는 결정된 우선 순위를 지시하는 정보를 경로 정보에 포함시킬 수 있다.
일 실시예에서, 장치(100)는 사용자 단말(400)로부터의 요청(S305)에 따라, 하나 이상의 엣지 서버(300, 500) 각각의 우선 순위에 기초하여 해당 엣지 서버(300, 500) 중 하나로부터 제1 파일을 수신할 수 있다. 구체적으로, 장치(100)는 제1 파일의 수신이 성공할 때까지, 우선 순위가 높은 순서에 따라 순차적으로 하나 이상의 엣지 서버(300, 500) 각각에 제1 파일의 전송을 요청할 수 있다. 이를 통해, 하나 이상의 엣지 서버(300, 500) 중 일부가 제1 파일을 전송할 수 없는 상태인 경우에도, 제1 파일을 전송할 수 있는 엣지 서버로부터 제1 파일을 전송 받을 수 있다. 또한 각 엣지 서버(300, 500)의 전송 속도에 기초하여, 제1 파일을 가장 빠르게 전송할 수 있는 엣지 서버로부터 제1 파일을 전송받을 수 있다.
일 실시예에서, 장치(100)는 하나 이상의 엣지 서버(300, 500) 중 하나로부터 수신한 제1 파일을 메모리(130)에 저장할 수 있다. 이를 통해 장치(100)에 저장되어 있지 않던 제1 파일이 장치(100)에 저장됨에 따라, 이후 제1 파일의 전송이 재차 요청되는 경우 장치(100)가 직접 제1 단말로 제1 파일을 전송해 줄 수 있다. 장치(100)가 로컬 네트워크를 통해 제1 단말로 제1 파일을 전송함으로써, 빠른 속도의 파일 전송이 이루어질 수 있다.
도 4는 본 개시의 일 실시예에 따른 장치(100)의 블록도를 나타낸 도면이다. 일 실시예에서, 장치(100)는 통신 회로(110), 하나 이상의 프로세서(120) 및/또는 하나 이상의 메모리(130)를 구성요소로서 포함할 수 있다. 일 실시예에서, 장치(100)의 구성요소들 중 적어도 하나가 생략되거나, 다른 구성요소가 장치(100)에 추가될 수 있다. 일 실시예에서, 추가적으로 또는 대체적으로(alternatively), 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. 본 개시에서, 하나 이상의 프로세서(120)는 프로세서(120)라고 표현될 수 있다. 프로세서(120)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 프로세서의 집합을 의미할 수 있다. 본 개시에서, 하나 이상의 메모리(130)는 메모리(130)라고 표현될 수 있다. 메모리(130)라는 표현은, 문맥상 명백히 다르게 표현하지 않는 이상, 하나 또는 그 이상의 메모리의 집합을 의미할 수 있다. 일 실시예에서, 장치(100) 내/외부의 구성요소들 중 적어도 일부의 구성요소들은 버스, GPIO(General Purpose Input/Output), SPI(Serial Peripheral Interface) 또는 MIPI(Mobile Industry Processor Interface) 등을 통해 서로 연결되어, 정보(데이터, 신호 등)를 주고 받을 수 있다.
통신 회로(communication circuit, 110)는 서버(200) 및 로컬 네트워크상의 하나 이상의 사용자 단말(400)과 통신할 수 있다. 통신 회로(110)는 장치(100)와 사용자 단말(400), 서버(200) 및 엣지 서버(300, 500) 중 적어도 하나 간의 무선 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신 회로(110)는 eMBB(enhanced Mobile Broadband), URLLC(Ultra Reliable Low-Latency Communications), MMTC(Massive Machine Type Communications), LTE(Long-Term Evolution), LTE-A(LTE Advance), NR(New Radio), UMTS(Universal Mobile Telecommunications System), GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), WiBro(Wireless Broadband), WiFi(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication), GPS(Global Positioning System) 또는 GNSS(Global Navigation Satellite System) 등의 방식에 따른 무선 통신을 수행할 수 있다. 예를 들어, 통신 회로(110)는 USB(Universal Serial Bus), HDMI(High Definition Multimedia Interface), RS-232(Recommended Standard-232) 또는 POTS(Plain Old Telephone Service) 등의 방식에 따른 유선 통신을 수행할 수 있다. 일 실시예에서, 장치(100)는 다른 장치와 통합되어 구현될 수도 있다. 이 경우, 통신 회로(110)는 장치(100)와 해당 다른 장치를 연결하는 접속 회로 내지 인터페이스로서 기능할 수 있다.
프로세서(120)는 소프트웨어(예: 명령, 프로그램 등)를 구동하여 프로세서(120)에 연결된 장치(100)의 적어도 한 구성요소를 제어할 수 있다. 또한 프로세서(120)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(120)는 데이터 등을 메모리(130)로부터 로드하거나, 메모리(130)에 저장할 수 있다. 일 실시예에서, 프로세서(120)는 통신 회로(110)를 제어하여, 로컬 네트워크를 통해 연결된 하나 이상의 사용자 단말(400) 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 서버(200)로 전송하고, 서버(200)로부터 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 제1 단말에 전송하고, 제1 단말로부터의 요청에 응답하여, 로컬 네트워크를 통해 제1 단말에 제1 파일을 전송할 수 있다.
메모리(130)는 다양한 정보(데이터)를 저장할 수 있다. 메모리(130)에 저장되는 정보는, 장치(100)의 적어도 한 구성요소에 의해 획득되거나, 처리되거나, 사용되는 정보로서, 소프트웨어(예: 명령, 프로그램 등)를 포함할 수 있다. 메모리(130)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 본 개시에서, 명령 내지 프로그램은 메모리(130)에 저장되는 소프트웨어로서, 장치(100)의 리소스를 제어하기 위한 운영체제, 어플리케이션 및/또는 어플리케이션이 장치(100)의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다. 일 실시예에서, 메모리(130)는 프로세서(120)에 의한 실행 시 프로세서(120)가 연산을 수행하도록 하는 명령들을 저장할 수 있다. 메모리(130)는 통신 회로(110)를 통하여 하나 이상의 사용자 단말(400) 중 어느 하나로 전송한 파일들의 적어도 일부를 저장할 수 있다. 프로세서(120)는 통신 회로(110)를 통하여 하나 이상의 사용자 단말(400) 중 어느 하나로 전송한 파일들 중 적어도 일부를 메모리(130)에 저장할 수 있다.
도 5는 본 개시의 일 실시예에 따른 장치(100)가 적어도 일부의 파일들을 삭제하는 동작 과정을 도시한 도면이다.
일 실시예에서, 프로세서(120)는 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수에 기초하여 우선 순위를 결정할 수 있다. 프로세서(120)는 결정된 우선 순위에 따라, 파일들 중 적어도 일부를 삭제할 수 있다. 일 실시예에서, 프로세서(120)는 메모리(130)에 저장된 파일들 중 적어도 일부의 삭제가 필요한 시점에 저장된 파일들 중 일부를 삭제할 수 있다. 예를 들어 프로세서(120)는 하나 이상의 사용자 단말(400)로 전송된 횟수가 가장 작은 하나의 파일 또는 하나 이상의 사용자 단말(400)로 전송된 횟수가 작은 순서로 둘 이상의 파일을 삭제할 수 있다. 예를 들어, 메모리(130)에 저장된 파일 A, B, C, D, E가 하나 이상의 사용자 단말(400)로 전송된 횟수가 각각 5회, 10회, 15회, 20회, 25회인 경우를 가정해볼 수 있다. 이러한 경우, 프로세서(120)는 메모리(130)에 저장된 파일들 중 하나 이상의 사용자 단말(400)로 전송된 횟수가 가장 작은 파일 A를 메모리(130)에서 삭제하거나, 또는 하나 이상의 사용자 단말(400)로 전송된 횟수가 작은 순서에 따라 파일 A, B, C, D, E 순서로 둘 이상의 파일을 메모리(130)에서 삭제할 수 있다.
일 실시예에서, 프로세서(120)는 하나 이상의 사용자 단말(400)로 전송된 횟수가 동일한 파일들이 존재하는 경우, 하나 이상의 사용자 단말(400)로 전송된 횟수가 동일한 파일들에 대해서는 임의로 우선 순위를 결정하거나, 또는 파일의 크기에 기초하여 우선 순위를 결정할 수 있다. 구체적으로, 설정된 기준에 따라서 파일의 크기가 클수록 높은 우선 순위를 가지거나, 또는 파일의 크기가 작을수록 높은 우선 순위를 가질 수 있다. 예를 들어, 메모리(130)에 저장된 파일 A, B, C, D, E가 하나 이상의 사용자 단말(400)로 전송된 횟수가 각각 5회, 5회, 5회, 10회, 15회이고, 파일 A, B, C, D, E의 파일 크기가 각각 50Mb, 100Mb, 150Mb, 100Mb, 100Mb인 경우를 가정해볼 수 있다. 이러한 경우, 프로세서(120)는 메모리(130)에 저장된 파일들 중 하나 이상의 사용자 단말(400)로 전송된 횟수가 가장 작은 파일 A, B, C가 파일 D, E보다 높은 우선 순위를 부여할 수 있다. 프로세서(120)는 하나 이상의 사용자 단말(400)로 전송된 횟수가 동일한 파일 A, B, C에 대해서는 임의로 우선 순위를 결정하거나, 파일의 크기가 큰 순서에 따라 파일 C, B, A 순서로 높은 우선 순위를 부여하거나, 또는 파일 크기가 작은 순서에 따라 파일 A, B, C 순서로 높은 우선 순위를 부여할 수 있다. 다른 실시예에서, 프로세서(120)는 선입선출(FIFO, First In First Out) 방식에 기초한 우선 순위에 따라, 파일들 중 적어도 일부를 삭제할 수도 있다.
일 실시예에서, 프로세서(120)는 저장된 파일들 중 적어도 일부의 삭제가 필요한 시점에 하나 이상의 사용자 단말(400)로 전송된 횟수가 기 설정된 기준값 미만인 하나 이상의 파일을 메모리(130)에서 모두 삭제할 수 있다. 예를 들어, 메모리(130)에 저장된 파일 A, B, C, D, E가 하나 이상의 사용자 단말(400)로 전송된 횟수가 각각 5회, 10회, 15회, 20회, 25회이고, 기 설정된 기준값이 20회인 경우를 가정해볼 수 있다. 이러한 경우, 프로세서(120)는 메모리(130)에 저장된 파일들 중 하나 이상의 사용자 단말(400)로 전송된 횟수가 기 설정된 기준값인 20회 미만인 파일 A, B, C를 메모리(130)에서 삭제할 수 있다. 이를 통해, 수요가 높은 특정 파일의 삭제를 방지하고, 수요가 적은 파일은 우선적으로 삭제할 수 있다. 프로세서(120)는 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수에 대한 정보를 메모리(130)에 저장할 수 있다. 일 실시예에서, 프로세서(120)는 각각의 파일들이 하나 이상의 사용자 단말(400) 중 어느 하나에 전송될 때마다 해당 파일이 하나 이상의 사용자 단말(400)로 전송된 횟수를 업데이트할 수 있다. 일 실시예에서, 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수는 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 누적 횟수 또는 기 설정된 특정 기간 내에 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수일 수 있다.
일 실시예에서, 프로세서(120)는 메모리(130)의 저장 공간에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제할 수 있다. 일 실시예에서, 프로세서(120)는 메모리(130)의 저장 공간이 부족하거나, 또는 메모리(130)의 저장 공간이 기 설정된 임계치를 초과하여 사용되고 있는 경우, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제할 수 있다. 이를 통해, 메모리(130)의 가용 저장 공간을 확보할 수 있다. 다른 일 실시예에서, 프로세서(120)는 기 설정된 주기에 따라 주기적으로 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제할 수도 있다.
일 실시예에서, 프로세서(120)는 파일들 각각이 전송된 사용자 단말의 개수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제할 수 있다. 구체적으로, 프로세서(120)는 하나 이상의 사용자 단말(400) 각각의 파일 전송 이력을 지시하는 정보에 기초하여, 파일들 각각이 전송된 사용자 단말의 개수를 결정할 수 있다. 일 실시예에서, 프로세서(120)는 메모리(130)에 저장된 파일들 각각에 대해, 전송된 사용자 단말의 개수가 가장 작은 하나의 파일 또는 전송된 사용자 단말의 개수가 작은 순서로 둘 이상의 파일을 삭제할 수 있다. 예를 들어, 메모리(130)에 저장된 파일 A, B, C, D, E가 전송된 사용자 단말의 개수가 각각 5개, 10개, 15개, 20개, 25개인 경우를 가정해볼 수 있다. 이러한 경우, 프로세서(120)는 메모리(130)에 저장된 파일들 중 전송된 사용자 단말의 개수가 가장 작은 파일 A를 메모리(130)에서 삭제하거나, 또는 전송된 사용자 단말의 개수가 작은 순서에 따라 파일 A, B, C, D, E 순서로 둘 이상의 파일을 메모리(130)에서 삭제할 수 있다. 일 실시예에서, 프로세서(120)는 저장된 파일들 중 적어도 일부의 삭제가 필요한 시점에 전송된 사용자 단말의 개수가 기 설정된 기준값 미만인 하나 이상의 파일을 메모리(130)에서 모두 삭제할 수 있다. 예를 들어, 메모리(130)에 저장된 파일 A, B, C, D, E가 전송된 사용자 단말의 개수가 각각 5개, 10개, 15개, 20개, 25개이고, 기 설정된 기준값이 15개인 경우를 가정해볼 수 있다. 이러한 경우, 프로세서(120)는 메모리(130)에 저장된 파일들 중 전송된 사용자 단말의 개수가 기 설정된 기준값인 15개 미만인 파일 A, B를 메모리(130)에서 삭제할 수 있다. 이를 통해, 하나의 사용자 단말에 대한 중복된 전송이 1회로 카운트되므로, 사용자가 해당 파일을 보유한 사실을 모르고 재전송 받거나, 또는 실수로 중복해서 전송 받는 경우에도 해당 파일에 대한 수요가 높은 것으로 취급되어 삭제되지 않는 것을 방지할 수 있다.
도 6은 본 개시의 일 실시예에 따른 주소 변환 정보를 나타내는 도면이다. 주소 변환 정보는 장치(100)를 통해 네트워크 주소를 변환한 단말(즉, 하나 이상의 사용자 단말(400)) 각각의 변환 전후의 네트워크 주소를 포함할 수 있다. 즉, 주소 변환 정보는 하나 이상의 사용자 단말(400)의 로컬 네트워크상의 네트워크 주소와 서버(200)에 접속하기 위한 광역 네트워크상의 장치(100)의 네트워크 주소 간의 대응 관계를 나타내는 정보를 포함할 수 있다. 일 실시예에서, 서버(200)에 접속하기 위한 네트워크는 인터넷(internet)일 수 있다. 일 실시예에서, 네트워크 주소는 IP(Internet Protocol) 주소 또는 MAC(Media Access Control) 주소일 수 있다. 일 실시예에서, 주소 변환 정보는 NAT(Network Address Translation) 정보일 수 있다. 그러나, 주소 변환 정보는 NAT 정보에 한정되지 않는다.
일 실시예에서, 주소 변환 정보는 하나 이상의 사용자 단말(400)의 사설 IP 주소(Private IP address)를 장치(100)의 공인 IP 주소(Public IP address)로 변환하는 정보 및/또는 그 반대로 변환하는 정보를 포함할 수 있다. 예시적으로 주소 변환 정보는 111.222.0.1이라는 사용자 단말의 사설 IP 주소를 33.44.55.66이라는 장치(100)의 공인 IP 주소로 변환하는 정보(예: 변환 테이블)를 포함할 수 있다. 일 실시예에서, 주소 변환 정보는 사용자 단말에 대응되는 MAC 주소를 장치(100)의 공인 IP 주소로 변환하는 정보, 사용자 단말에 대응되는 MAC 주소를 장치(100)의 MAC 주소로 변환하는 정보 또는 사용자 단말의 사설 IP 주소를 장치(100)의 MAC 주소로 변환하는 정보를 포함할 수도 있다.
일 실시예에서, 주소 변환 정보는 하나 이상의 사용자 단말(400) 각각이 장치(100)를 통해 네트워크 주소를 변환한 이력 및/또는 장치(100)가 하나 이상의 사용자 단말(400) 각각으로 파일을 전송한 이력을 지시하는 정보(이하, 이력 정보)를 포함할 수 있다.
전술한 바와 같이, 장치(100)의 프로세서(120)는 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제할 수 있다. 이 때 프로세서(120)는 주소 변환 정보에 기초하여 메모리(130)에 저장된 파일들 중 삭제할 파일을 결정할 수 있다. 일 실시예에서, 프로세서(120)는 하나 이상의 사용자 단말 중 네트워크 주소의 변환 빈도가 높은 하나 이상의 사용자 단말(이하, 제2 단말)을 결정하고, 하나 이상의 제2 단말로 파일들 각각이 전송된 횟수에 기초하여 파일들 중 삭제할 파일을 결정할 수 있다. 네트워크 주소의 변환 빈도가 높은 제2 단말들은 동일한 파일을 요청할 확률이 높을 수 있다. 예를 들어, 장치(100)와 사용자 단말(400)을 연결하는 로컬 네트워크가 회사에서 사용되는 네트워크인 경우, 회사에서 근무하는 직원들이 사용하는 단말이 네트워크 주소의 변환 빈도가 높은 제2 단말로 결정될 수 있다. 회사 네트워크에서는 직원들의 제2 단말이 업무에 사용되는 동일한 파일을 요청할 확률이 높을 수 있다. 다른 예로, 장치(100)와 사용자 단말(400)을 연결하는 로컬 네트워크가 학교에서 사용되는 네트워크인 경우, 해당 학교의 학생들이 사용하는 단말이 네트워크 주소의 변환 빈도가 높은 제2 단말로 결정될 수 있다. 학교 네트워크에서는 학생들의 제2 단말이 학업에 사용되는 동일한 파일을 요청할 확률이 높을 수 있다. 따라서, 장치(100)가 제2 단말로 결정된 사용자 단말에 전송된 횟수가 높은 파일을 삭제하지 않고 계속 저장해 놓음으로써, 하나 이상의 사용자 단말로부터 요청된 파일이 장치(100)에 저장되어 있을 확률을 높일 수 있다. 즉, 장치(100)가 제2 단말로 결정된 사용자 단말의 수요를 고려하여 삭제 또는 저장할 파일을 결정함으로써, 캐싱 효율이 증가할 수 있다.
일 실시예에서, 프로세서(120)는 주소 변환 정보에 기초하여, 미리 설정된 제1 기준보다 높은 빈도로 네트워크 주소를 변환한 사용자 단말을 하나 이상의 제2 단말로 결정할 수 있다. 프로세서(120)는 주소 변환 정보에 포함되는 하나 이상의 사용자 단말(400) 각각의 로컬 네트워크상 주소에 기초하여 하나 이상의 사용자 단말(400) 각각을 식별 또는 구별할 수 있다. 프로세서(120)는 주소 변환 정보의 이력 정보에 기초하여, 하나 이상의 사용자 단말(400) 각각이 장치(100)를 통해 네트워크 주소를 변환한 빈도를 결정할 수 있다. 일 실시예에서, 프로세서(120)는 기 설정된 기간 동안 하나 이상의 사용자 단말(400) 각각이 네트워크 주소를 변환한 횟수에 기초하여, 하나 이상의 사용자 단말(400) 각각이 네트워크 주소를 변환한 빈도를 결정할 수 있다. 일 실시예에서, 프로세서(120)는 하나 이상의 사용자 단말(400) 각각이 처음 네트워크 주소를 변환한 시점부터 현재까지 네트워크 주소를 변환한 횟수에 기초하여, 하나 이상의 사용자 단말(400) 각각이 네트워크 주소를 변환한 빈도를 결정할 수 있다.
일 실시예에서, 프로세서(120)는 주소 변환 정보에 기초하여, 하나 이상의 제2 단말 중에서 미리 설정된 제2 기준보다 낮은 빈도로 네트워크 주소를 변환한 사용자 단말을 하나 이상의 제3 단말로 결정할 수 있다. 그리고 프로세서(120)는 파일들 각각이 하나 이상의 제3 단말로 전송된 횟수에 대해서는 나머지 제2 단말로의 전송 횟수에 비하여 낮은 가중치를 두고, 삭제할 파일을 결정할 수 있다. 일 실시예에서, 전술한 제1 기준은 제2 기준보다 낮은 빈도를 지시할 수 있다. 예를 들어 제1 기준은 한 달에 10회 이상의 네트워크 주소 변환 빈도를 기준값으로서 지시한다면, 제2 기준은 한 달에 15회 이상의 네트워크 주소 변환 빈도를 기준값으로서 지시할 수 있다. 구체적으로, 프로세서(120)는 메모리(130)에 저장된 파일들 각각이 하나 이상의 제3 단말로 전송된 횟수에 1보다 작은 가중치를 적용할 수 있다. 예를 들어 1보다 작은 가중치는, 0이거나, 0보다 크고 1보다 작은 기 설정된 값일 수 있다. 제2 단말들 중에서도 네트워크 주소 변환 정도가 낮은 제3 단말들은, 로컬 네트워크 외부의 네트워크에 접속할 때 장치(100)를 통하는 빈도가 상대적으로 낮은 단말들일 수 있다. 이러한 제3 단말들은 앞으로도 장치(100)를 통해 파일을 전송받을 빈도가 낮을 수 있으므로, 제3 단말들이 주로 요청하였던 파일들은 향후에도 전송 수요가 적을 수 있다. 따라서 제3 단말들에 의한 파일 요청에는 낮은 가중치를 두어, 장치(100)에 미리 저장해 둘 우선 순위를 낮게 책정함으로써, 장치(100)의 저장 공간을 보다 효율적으로 활용할 수 있다.
전술한 바와 같이, 프로세서(120)는 하나 이상의 제2 단말로 파일들 각각이 전송된 횟수에 기초하여 메모리(130)에 저장된 파일들 중 삭제할 적어도 일부를 결정할 수 있다. 일 실시예에서, 프로세서(120)는 메모리(130)에 저장된 파일들 중 하나 이상의 제2 단말로 전송된 횟수가 가장 작은 하나의 파일 또는 하나 이상의 제2 단말로 전송된 횟수가 작은 순서로 둘 이상의 파일을 삭제할 수 있다. 일 실시예에서, 하나 이상의 제2 단말로 전송된 횟수가 동일한 파일들이 존재하는 경우, 프로세서(120)는 하나 이상의 제2 단말로 전송된 횟수가 동일한 파일들에 대해서는 임의로 우선 순위를 결정하여 삭제할 파일을 결정할 수 있다. 예를 들어 프로세서(120)는 파일의 크기에 기초하여 해당 우선 순위를 결정할 수 있다. 예를 들어, 메모리(130)에 저장된 파일 A, B, C, D, E가 하나 이상의 제2 단말로 전송된 횟수가 각각 5회, 5회, 5회, 10회, 15회이고, 파일 A, B, C, D, E의 파일 크기가 각각 50Mb, 100Mb, 150Mb, 100Mb, 100Mb인 경우를 가정해볼 수 있다. 이러한 경우, 프로세서(120)는 메모리(130)에 저장된 파일들 중 하나 이상의 제2 단말로 전송된 횟수가 가장 작은 파일 A, B, C가 파일 D, E보다 높은 우선 순위를 부여할 수 있다. 프로세서(120)는 하나 이상의 제2 단말로 전송된 횟수가 동일한 파일 A, B, C에 대해서는 임의로 우선 순위를 결정하거나, 파일의 크기가 큰 순서에 따라 파일 C, B, A 순서로 높은 우선 순위를 부여하거나, 또는 파일 크기가 작은 순서에 따라 파일 A, B, C 순서로 높은 우선 순위를 부여할 수 있다. 일 실시예에서, 프로세서(120)는 저장된 파일들 중 적어도 일부의 삭제가 필요한 시점에 하나 이상의 제2 단말로 전송된 횟수가 기 설정된 기준값 미만인 하나 이상의 파일을 메모리(130)에서 모두 삭제할 수 있다. 예를 들어, 메모리(130)에 저장된 파일 A, B, C, D, E가 하나 이상의 제2 단말로 전송된 횟수가 각각 5회, 10회, 15회, 20회, 25회이고, 기 설정된 기준값이 20회인 경우를 가정해볼 수 있다. 이러한 경우, 프로세서(120)는 메모리(130)에 저장된 파일들 중 하나 이상의 제2 단말로 전송된 횟수가 기 설정된 기준값인 20회 미만인 파일 A, B, C를 메모리(130)에서 삭제할 수 있다. 이를 통해, 전송 수요가 낮은 파일들을 메모리(130)에서 삭제하여 장치(100)의 저장 공간을 확보할 수 있다.
도 7은 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다. 장치(100)는 하나 이상의 사용자 단말(400) 중 제1 단말로부터 제1 파일의 전송 요청을 지시하는 정보를 수신할 수 있다(S701). 일 실시예에서, 장치(100)는 제1 단말로부터 수신된 전송 요청에 응답하여, 제1 파일이 하나 이상의 메모리(130)에 저장되어 있는지 여부를 스스로 결정하고, 제1 파일이 저장되어 있다는 결정에 따라, 제1 단말에 제1 파일을 전송할 수 있다(S702). 일 실시예에서, 장치(100)는 제1 파일을 저장하고 있는 경우에는 서버(200)와 통신하는 동작 없이 제1 파일을 제1 단말에 전송할 수 있다. 일 실시예에서, 장치(100)는 제1 단말로부터 수신된 제1 파일의 전송 요청을 지시하는 정보 또는 패킷을 해석하여, 제1 파일의 식별자를 확인할 수 있다. 장치(100)는 확인된 제1 파일의 식별자에 기초하여, 메모리(130)에 제1 파일이 저장되어 있는지 여부를 결정할 수 있다. 이 경우, 장치(100)는 제1 단말로부터 수신된 제1 파일의 전송 요청을 지시하는 정보 또는 패킷을 해석하기 위한 소프트웨어 또는 하드웨어 모듈을 추가적으로 포함할 수 있다. 이를 통해, 장치(100)가 제1 파일을 저장하고 있는 경우, 서버(200)에서 발생하는 트래픽을 감소시킬 수 있다.
도 8은 본 개시의 일 실시예에 따른 장치(100)의 동작 과정을 도시한 도면이다. 장치(100)는 하나 이상의 사용자 단말(400) 중 제1 단말로부터 제1 파일의 전송 요청을 지시하는 정보를 수신할 수 있다(S801). 일 실시예에서, 장치(100)는 제1 파일이 하나 이상의 메모리(130)에 저장되어 있는지 여부를 스스로 결정하고, 제1 파일이 저장되어 있지 않다는 결정에 따라, 서버(200)에 제1 파일의 전송 요청을 지시하는 정보를 송신하고(S802), 서버(200)로부터 제1 파일이 저장되어 있는 장치에 관한 경로 정보를 수신할 수 있다(S803). 여기서, 경로 정보는 제1 파일이 저장되어 있는 하나 이상의 엣지 서버(300, 500)를 지시하는 정보를 포함할 수 있다. 장치(100)는 서버(200)로부터 수신된 경로 정보에 응답하여, 제1 파일의 전송을 하나 이상의 다른 엣지 서버(300, 500)에 요청하고(S804, S805), 하나 이상의 다른 엣지 서버(300, 500)으로부터 제1 파일을 수신하여(S804, S805), 제1 단말에 전송할 수 있다(S806). 이를 통해, 장치(100)와 제1 단말 간에 제1 파일이 저장되어 있는 장치에 관한 경로 정보의 전송 동작 등이 생략되므로, 장치(100)와 제1 단말 간에 발생하는 트래픽을 감소시킬 수 있다.
도 9는 본 개시의 일 실시예에 따른 방법을 나타낸 흐름도이다. 일 실시예에 따른 방법(900)은 서버(200) 및 로컬 네트워크상의 하나 이상의 사용자 단말(400)과 통신하는 장치(100)가, 하나 이상의 사용자 단말(400) 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 서버(200)로 전송하는 동작(S910), 장치(100)가, 서버(200)로부터 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 제1 단말에 전송하는 동작(S920) 및 장치(100)가, 제1 단말로부터의 요청에 응답하여, 로컬 네트워크를 통해 제1 단말에 제1 파일을 전송하는 동작(S930)을 포함할 수 있다.
일 실시예에서, 동작 S930은 장치(100)가 제1 단말로부터의 요청에 응답하여, 하나 이상의 엣지 서버(300, 500) 중 하나로부터 제1 파일을 수신하는 동작 및 제1 단말에 제1 파일을 전송하는 동작을 포함할 수 있다.
일 실시예에서, 장치(100)가 하나 이상의 엣지 서버(300, 500) 중 하나로부터 제1 파일을 수신하는 동작은 하나 이상의 엣지 서버(300, 500) 중 하나로부터 수신한 제1 파일을 하나 이상의 메모리(130)에 저장하는 동작을 포함할 수 있다.
일 실시예에서, 동작 S930은 장치(100)가 제1 단말로부터의 요청에 응답하여, 하나 이상의 엣지 서버(300, 500) 각각의 우선 순위에 기초하여 하나 이상의 엣지 서버(300, 500) 중 하나로부터 제1 파일을 수신하는 동작을 포함할 수 있다.
일 실시예에서, 방법(900)은, 장치(100)가 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작을 더 포함할 수 있다.
일 실시예에서, 장치(100)가 메모리(130)에 저장된 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작은 하나 이상의 메모리(130)의 저장 공간에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작을 포함할 수 있다.
일 실시예에서, 하나 이상의 메모리(130)의 저장 공간에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작은 상기 하나 이상의 메모리의 저장 공간이 부족하거나 또는 사용되고 있는 상기 하나 이상의 메모리의 저장 공간이 기 설정된 임계치를 초과하는 시점에, 상기 파일들 중 적어도 일부를 삭제하는 동작을 포함할 수 있다.
일 실시예에서, 장치(100)가 메모리(130)에 저장된 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작은 기 설정된 주기에 따라 주기적으로 상기 파일들 중 적어도 일부를 삭제하는 동작을 포함할 수 있다.
일 실시예에서, 장치(100)가 메모리(130)에 저장된 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작은 주소 변환 정보에 기초하여, 하나 이상의 사용자 단말(400) 중 하나 이상의 제2 단말을 결정하는 동작 및 메모리(130)에 저장된 파일들 각각이 하나 이상의 제2 단말로 전송된 횟수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작을 포함할 수 있다.
일 실시예에서, 주소 변환 정보에 기초하여, 하나 이상의 사용자 단말(400) 중 하나 이상의 제2 단말을 결정하는 동작은 주소 변환 정보에 기초하여, 상기 하나 이상의 사용자 단말 중 미리 설정된 제1 기준보다 높은 빈도로 네트워크 주소를 변환한 사용자 단말을 하나 이상의 제2 단말로 결정하는 동작을 포함할 수 있다.
일 실시예에서, 장치(100)가 파일들 각각이 하나 이상의 사용자 단말(400)로 전송된 횟수에 기초하여, 파일들 중 적어도 일부를 삭제하는 동작은 주소 변환 정보에 기초하여, 상기 하나 이상의 제2 단말 중 미리 설정된 제2 기준보다 낮은 빈도로 네트워크 주소를 변환한 사용자 단말을 하나 이상의 제3 단말로 결정하는 동작 및 메모리(130)에 저장된 파일들 각각이 하나 이상의 제3 단말로 전송된 횟수에 1보다 작은 가중치를 적용하는 동작을 더 포함할 수 있다. 일 실시예에 있어서, 메모리(130)에 저장된 파일들 각각이 하나 이상의 제2 단말로 전송된 횟수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작은 조정된 전송 횟수 및 메모리(130)에 저장된 파일들 각각이 하나 이상의 제2 단말로 전송된 횟수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작을 포함할 수 있다.
일 실시예에서, 방법(900)은, 장치(100)가 메모리(130)에 저장된 파일들 각각이 전송된 사용자 단말의 개수에 기초하여, 메모리(130)에 저장된 파일들 중 적어도 일부를 삭제하는 동작을 더 포함할 수 있다.
본 개시에 따른 방법들은 컴퓨터로 구현된 방법들일 수 있다. 본 개시에서, 해당 방법들의 각 동작이 소정의 순서대로 도시되고 설명되었지만, 각 동작들은 순차적으로 수행되는 것 이외에, 본 개시에 따라 임의로 조합될 수 있는 순서로 수행될 수도 있다. 일 실시예에서, 적어도 일부의 동작이 병렬적, 반복적 또는 휴리스틱하게 수행될 수 있다. 본 개시는 해당 방법들에 변화 또는 수정을 가하는 것을 제외하지 않는다. 일 실시예에서, 적어도 일부의 동작이 생략되거나, 다른 동작이 추가될 수 있다.
본 개시의 다양한 실시예들은 기기(machine)가 읽을 수 있는 기록 매체(machine-readable recording medium)에 기록된 소프트웨어로 구현될 수 있다. 소프트웨어는 상술한 본 개시의 다양한 실시예들을 구현하기 위한 소프트웨어일 수 있다. 소프트웨어는 본 개시가 속하는 기술분야의 프로그래머들에 의해 본 개시의 다양한 실시예들로부터 추론될 수 있다. 예를 들어 소프트웨어는 기기가 읽을 수 있는 명령(예: 코드 또는 코드 세그먼트) 또는 프로그램일 수 있다. 기기는 기록 매체로부터 호출된 명령어에 따라 동작이 가능한 장치로서, 예를 들어 컴퓨터일 수 있다. 일 실시예에서, 기기는 본 개시의 실시예들에 따른 장치(100)일 수 있다. 일 실시예에서, 기기의 프로세서는 호출된 명령을 실행하여, 기기의 구성요소들이 해당 명령에 해당하는 기능을 수행하게 할 수 있다. 일 실시예에서, 프로세서는 본 개시의 실시예들에 따른 프로세서(120)일 수 있다. 기록 매체는 기기에 의해 읽혀질 수 있는, 데이터가 저장되는 모든 종류의 기록 매체(recording medium)를 의미할 수 있다. 기록 매체는, 예를 들어 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 포함할 수 있다. 일 실시예에서, 기록 매체는 메모리(120, 220)일 수 있다. 일 실시예에서, 기록 매체는 네트워크로 연결된 컴퓨터 시스템 등에 분산된 형태로서 구현될 수도 있다. 소프트웨어는 컴퓨터 시스템 등에 분산되어 저장되고, 실행될 수 있다. 기록 매체는 비일시적(non-transitory) 기록 매체일 수 있다. 비일시적 기록 매체는, 데이터가 반영구적 또는 임시적으로 저장되는 것과 무관하게 실재하는 매체(tangible medium)를 의미하며, 일시적(transitory)으로 전파되는 신호(signal)를 포함하지 않는다.
이상 다양한 실시예들에 의해 본 개시의 기술적 사상이 설명되었지만, 본 개시의 기술적 사상은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 범위에서 이루어질 수 있는 다양한 치환, 변형 및 변경을 포함한다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 포함될 수 있는 것으로 이해되어야 한다. 본 개시에 따른 실시예들은 서로 조합될 수 있다. 각 실시예들은 경우의 수에 따라 다양하게 조합될 수 있으며, 조합되어 만들어진 실시예 역시 본 개시의 범위에 속한다.
이하에서는, 본 개시의 다양한 실시예에 대해서 부기한다.
[부기 1] 서버 및 로컬 네트워크상의 하나 이상의 사용자 단말과 통신하는 통신 회로; 하나 이상의 프로세서; 및 상기 통신 회로를 통하여 상기 하나 이상의 사용자 단말로 전송한 파일들을 저장하는 하나 이상의 메모리를 포함하고, 상기 하나 이상의 프로세서는, 상기 통신 회로를 제어하여, 상기 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 상기 서버로 전송하고, 상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하고, 상기 제1 단말로부터의 요청에 응답하여, 상기 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하도록 구성된, 장치.
[부기 2] 부기 1의 장치이며, 상기 경로 정보는 상기 제1 파일이 저장된 하나 이상의 엣지 서버를 지시하는 정보를 포함하고, 상기 하나 이상의 프로세서는, 상기 제1 단말로부터의 요청에 응답하여, 상기 하나 이상의 엣지 서버 중 하나로부터 상기 제1 파일을 수신하고, 상기 제1 단말에 상기 제1 파일을 전송하도록 구성된다.
[부기 3] 부기 2의 장치이며, 상기 경로 정보는, 상기 하나 이상의 엣지 서버 각각의 우선 순위를 지시하는 정보를 더 포함하고, 상기 하나 이상의 프로세서는, 상기 제1 단말로부터의 요청에 응답하여, 상기 우선 순위에 기초하여 상기 하나 이상의 엣지 서버 중 하나로부터 상기 제1 파일을 수신하도록 구성된다.
[부기 4] 부기 2 및 3 중 어느 하나의 장치이며, 상기 하나 이상의 프로세서는, 상기 하나 이상의 엣지 서버 중 하나로부터 수신한 상기 제1 파일을 상기 하나 이상의 메모리에 저장하도록 구성된다.
[부기 5] 부기 1 내지 4 중 어느 하나의 장치이며, 상기 파일들 각각이 상기 하나 이상의 사용자 단말로 전송된 횟수에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성된다.
[부기 6] 부기 5의 장치이며, 상기 하나 이상의 프로세서는, 상기 하나 이상의 메모리의 저장 공간에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성한다.
[부기 7] 부기 6의 장치이며, 상기 하나 이상의 프로세서는, 상기 하나 이상의 메모리의 저장 공간이 부족하거나 또는 사용되고 있는 상기 하나 이상의 메모리의 저장 공간이 기 설정된 임계치를 초과하는 시점에, 상기 파일들 중 적어도 일부를 삭제하도록 구성된다.
[부기 8] 부기 5 내지 7 중 어느 하나의 장치이며, 상기 하나 이상의 프로세서는, 기 설정된 주기에 따라 주기적으로 상기 파일들 중 적어도 일부를 삭제하도록 구성된다.
[부기 9] 부기 5 내지 8 중 어느 하나의 장치이며, 상기 하나 이상의 메모리는, 상기 하나 이상의 사용자 단말의 상기 로컬 네트워크상의 네트워크 주소를 상기 서버와 접속하기 위한 네트워크 주소로 변환하기 위한 주소 변환 정보를 더 저장하고, 상기 하나 이상의 프로세서는, 상기 주소 변환 정보에 기초하여, 상기 하나 이상의 사용자 단말 중 하나 이상의 제2 단말을 결정하고, 상기 파일들 각각이 상기 하나 이상의 제2 단말로 전송된 횟수에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성된다.
[부기 10] 부기 9의 장치이며, 상기 하나 이상의 프로세서는, 상기 주소 변환 정보에 기초하여, 상기 하나 이상의 사용자 단말 중 미리 설정된 제1 기준보다 높은 빈도로 네트워크 주소를 변환한 사용자 단말을 상기 하나 이상의 제2 단말로 결정하도록 구성된다.
[부기 11] 부기 10의 장치이며, 상기 하나 이상의 프로세서는, 상기 주소 변환 정보에 기초하여, 상기 하나 이상의 제2 단말 중 상기 미리 설정된 제2 기준보다 낮은 빈도로 네트워크 주소를 변환한 사용자 단말을 하나 이상의 제3 단말로 결정하고, 상기 파일들 각각이 상기 하나 이상의 제3 단말로 전송된 횟수에 1보다 작은 가중치를 적용하도록 구성된다.
[부기 12] 부기 11의 장치이며, 상기 제1 기준은 상기 제2 기준보다 낮은 빈도를 지시한다.
[부기 13] 부기 9 내지 12 중 어느 하나의 장치이며, 상기 주소 변환 정보는, 상기 하나 이상의 사용자 단말 각각의 IP(Internet Protocol) 주소 또는 MAC(Media Access Control) 주소를 포함한다.
[부기 14] 부기 9 내지 13 중 어느 하나의 장치이며, 상기 주소 변환 정보는, NAT(Network Address Translation) 정보이다.
[부기 15] 부기 1 내지 14 중 어느 하나의 장치이며, 상기 하나 이상의 프로세서는, 상기 파일들 각각이 전송된 사용자 단말의 개수에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성된다.
[부기 16] 부기 1 내지 15 중 어느 하나의 장치이며, 상기 하나 이상의 프로세서는, 상기 제1 파일이 상기 하나 이상의 메모리에 저장되어 있는지 여부를 결정하고, 상기 제1 파일이 저장되어 있다는 결정에 따라, 상기 제1 단말에 상기 제1 파일을 전송하도록 구성된다.
[부기 17] 부기 1 내지 16 중 어느 하나의 장치이며, 액세스 포인트, 라우터 또는 공유기이다.
[부기 18] 부기 1 내지 17 중 어느 하나의 장치이며, 상기 로컬 네트워크는, Wi-Fi(Wireless Fidelity) 또는 LAN(Local Area Network)을 포함한다.
[부기 19] 서버 및 로컬 네트워크상의 하나 이상의 사용자 단말과 통신하는 장치가, 상기 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 상기 서버로 전송하는 동작; 상기 장치가, 상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하는 동작; 및 상기 장치가, 상기 제1 단말로부터의 요청에 응답하여, 상기 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하는 동작을 포함하는, 방법.
[부기 20] 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 비일시적 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 프로그램은, 하나 이상의 프로세서에 의한 실행 시에, 상기 하나 이상의 프로세서가, 로컬 네트워크상의 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 서버로 전송하는 동작; 상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하는 동작; 및 상기 제1 단말로부터의 요청에 응답하여, 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하는 동작을 수행하도록 하는 실행 가능한 명령을 포함하는, 컴퓨터 판독 가능한 기록 매체.

Claims (20)

  1. 서버 및 로컬 네트워크상의 하나 이상의 사용자 단말과 통신하는 통신 회로;
    하나 이상의 프로세서; 및
    상기 통신 회로를 통하여 상기 하나 이상의 사용자 단말로 전송한 파일들을 저장하는 하나 이상의 메모리를 포함하고,
    상기 하나 이상의 프로세서는, 상기 통신 회로를 제어하여,
    상기 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 상기 서버로 전송하고,
    상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하고,
    상기 제1 단말로부터의 요청에 응답하여, 상기 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하도록 구성된, 장치.
  2. 제1항에 있어서,
    상기 경로 정보는 상기 제1 파일이 저장된 하나 이상의 엣지 서버를 지시하는 정보를 포함하고,
    상기 하나 이상의 프로세서는,
    상기 제1 단말로부터의 요청에 응답하여, 상기 하나 이상의 엣지 서버 중 하나로부터 상기 제1 파일을 수신하고,
    상기 제1 단말에 상기 제1 파일을 전송하도록 구성된, 장치.
  3. 제2항에 있어서,
    상기 경로 정보는, 상기 하나 이상의 엣지 서버 각각의 우선 순위를 지시하는 정보를 더 포함하고,
    상기 하나 이상의 프로세서는,
    상기 제1 단말로부터의 요청에 응답하여, 상기 우선 순위에 기초하여 상기 하나 이상의 엣지 서버 중 하나로부터 상기 제1 파일을 수신하도록 구성된, 장치.
  4. 제2항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 엣지 서버 중 하나로부터 수신한 상기 제1 파일을 상기 하나 이상의 메모리에 저장하도록 구성된, 장치.
  5. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 파일들 각각이 상기 하나 이상의 사용자 단말로 전송된 횟수에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성된, 장치.
  6. 제5항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 메모리의 저장 공간에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성된, 장치.
  7. 제6항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 하나 이상의 메모리의 저장 공간이 부족하거나 또는 사용되고 있는 상기 하나 이상의 메모리의 저장 공간이 기 설정된 임계치를 초과하는 시점에, 상기 파일들 중 적어도 일부를 삭제하도록 구성된, 장치.
  8. 제5항에 있어서,
    상기 하나 이상의 프로세서는,
    기 설정된 주기에 따라 주기적으로 상기 파일들 중 적어도 일부를 삭제하도록 구성된, 장치.
  9. 제5항에 있어서,
    상기 하나 이상의 메모리는, 상기 하나 이상의 사용자 단말의 상기 로컬 네트워크상의 네트워크 주소를 상기 서버와 접속하기 위한 네트워크 주소로 변환하기 위한 주소 변환 정보를 더 저장하고,
    상기 하나 이상의 프로세서는,
    상기 주소 변환 정보에 기초하여, 상기 하나 이상의 사용자 단말 중 하나 이상의 제2 단말을 결정하고,
    상기 파일들 각각이 상기 하나 이상의 제2 단말로 전송된 횟수에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성된, 장치.
  10. 제9항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 주소 변환 정보에 기초하여, 상기 하나 이상의 사용자 단말 중 미리 설정된 제1 기준보다 높은 빈도로 네트워크 주소를 변환한 사용자 단말을 상기 하나 이상의 제2 단말로 결정하도록 구성된, 장치.
  11. 제10항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 주소 변환 정보에 기초하여, 상기 하나 이상의 제2 단말 중 상기 미리 설정된 제2 기준보다 낮은 빈도로 네트워크 주소를 변환한 사용자 단말을 하나 이상의 제3 단말로 결정하고,
    상기 파일들 각각이 상기 하나 이상의 제3 단말로 전송된 횟수에 1보다 작은 가중치를 적용하도록 구성된, 장치.
  12. 제11항에 있어서,
    상기 제1 기준은 상기 제2 기준보다 낮은 빈도를 지시하는, 장치.
  13. 제9항에 있어서,
    상기 주소 변환 정보는, 상기 하나 이상의 사용자 단말 각각의 IP(Internet Protocol) 주소 또는 MAC(Media Access Control) 주소를 포함하는, 장치.
  14. 제9항에 있어서,
    상기 주소 변환 정보는, NAT(Network Address Translation) 정보인, 장치.
  15. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 파일들 각각이 전송된 사용자 단말의 개수에 기초하여, 상기 파일들 중 적어도 일부를 삭제하도록 구성된, 장치.
  16. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 제1 파일이 상기 하나 이상의 메모리에 저장되어 있는지 여부를 결정하고,
    상기 제1 파일이 저장되어 있다는 결정에 따라, 상기 제1 단말에 상기 제1 파일을 전송하도록 구성된, 장치.
  17. 제1항에 있어서,
    액세스 포인트, 라우터 또는 공유기인, 장치.
  18. 제1항에 있어서,
    상기 로컬 네트워크는, Wi-Fi(Wireless Fidelity) 또는 LAN(Local Area Network)을 포함하는, 장치.
  19. 서버 및 로컬 네트워크상의 하나 이상의 사용자 단말과 통신하는 장치가, 상기 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 상기 서버로 전송하는 동작;
    상기 장치가, 상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하는 동작; 및
    상기 장치가, 상기 제1 단말로부터의 요청에 응답하여, 상기 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하는 동작을 포함하는, 방법.
  20. 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 비일시적 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 프로그램은, 하나 이상의 프로세서에 의한 실행 시에, 상기 하나 이상의 프로세서가,
    로컬 네트워크상의 하나 이상의 사용자 단말 중 제1 단말로부터 제1 파일을 지시하는 정보를 수신하여 서버로 전송하는 동작;
    상기 서버로부터 상기 제1 파일이 저장된 장치에 관한 경로 정보를 수신하여 상기 제1 단말에 전송하는 동작; 및
    상기 제1 단말로부터의 요청에 응답하여, 로컬 네트워크를 통해 상기 제1 단말에 상기 제1 파일을 전송하는 동작을 수행하도록 하는 실행 가능한 명령을 포함하는, 컴퓨터 판독 가능한 기록 매체.
PCT/KR2022/010402 2022-07-15 2022-07-15 로컬 네트워크상에서 파일을 전송하기 위한 기술 WO2024014591A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/010402 WO2024014591A1 (ko) 2022-07-15 2022-07-15 로컬 네트워크상에서 파일을 전송하기 위한 기술

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/010402 WO2024014591A1 (ko) 2022-07-15 2022-07-15 로컬 네트워크상에서 파일을 전송하기 위한 기술

Publications (1)

Publication Number Publication Date
WO2024014591A1 true WO2024014591A1 (ko) 2024-01-18

Family

ID=89536984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/010402 WO2024014591A1 (ko) 2022-07-15 2022-07-15 로컬 네트워크상에서 파일을 전송하기 위한 기술

Country Status (1)

Country Link
WO (1) WO2024014591A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100161760A1 (en) * 2008-12-18 2010-06-24 At&T Corp. Systems and Methods for Determining the Location of a Request on a Content Delivery Network
US20120072604A1 (en) * 2009-05-29 2012-03-22 France Telecom technique for delivering content to a user
US8443056B2 (en) * 2010-01-22 2013-05-14 Netflix, Inc. Client-server signaling in content distribution networks
US8930538B2 (en) * 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
KR20150049200A (ko) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930538B2 (en) * 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US20100161760A1 (en) * 2008-12-18 2010-06-24 At&T Corp. Systems and Methods for Determining the Location of a Request on a Content Delivery Network
US20120072604A1 (en) * 2009-05-29 2012-03-22 France Telecom technique for delivering content to a user
US8443056B2 (en) * 2010-01-22 2013-05-14 Netflix, Inc. Client-server signaling in content distribution networks
KR20150049200A (ko) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체

Similar Documents

Publication Publication Date Title
US11165869B2 (en) Method and apparatus for dynamic destination address control in a computer network
CN110505244B (zh) 远程隧道访问技术网关以及服务器
WO2012050293A1 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
WO2013122418A1 (en) Method and apparatus for supporting device-to-device communications
CN112673597A (zh) 控制装置、控制方法及程序
JPWO2016104537A1 (ja) 負荷分散装置、負荷分散方法及びプログラム
WO2013176431A1 (ko) 단말을 서버에 할당하고 단말로의 효율적인 메시징을 위한 시스템 및 방법
US11595304B2 (en) Communication device, communication control system, communication control method, and communication control program
CN111654443A (zh) 一种云环境下虚机IPv6地址直接访问公网的方法
WO2024014591A1 (ko) 로컬 네트워크상에서 파일을 전송하기 위한 기술
CN112243045A (zh) 服务数据处理方法、装置、节点结构及电子设备
WO2024109262A1 (zh) 一种信息处理方法及装置、存储介质
WO2013109012A1 (en) Apparatus and method of terminal for managing service provided from server
US20050089013A1 (en) Packet transfer path control apparatus and control program therefor
CN110392416B (zh) 一种安卓系统的网络选择方法
WO2015068929A1 (ko) 컨텐츠 중심 네트워크에서 패킷 특성을 고려하는 노드의 동작 방법 및 노드
CN115176453A (zh) 报文缓存方法、内存分配器及报文转发系统
WO2014088156A1 (en) Apparatus and circuit for processing data
CN116566897A (zh) 一种寻址路由方法、装置、设备及介质
WO2011068384A2 (ko) 광대역 무선 통신 시스템에서 고정 자원 할당 방법 및 장치
US20190166225A1 (en) Server device and transfer device for content distribution system
WO2013122359A1 (ko) 네트워크 부하 저감 기능이 구비된 무선단말장치와 무선단말장치에서의 네트워크 부하 저감 방법과 기록매체
WO2015037911A1 (ko) 오픈플로우를 이용하여 사용자 단말 장치와 로컬 호스트 사이의 통신을 지원하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체
WO2021085776A1 (ko) 전자 장치 및 이의 제어 방법
WO2024147385A1 (ko) 릴레이 서버를 통한 파일의 전송

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22951246

Country of ref document: EP

Kind code of ref document: A1