KR102156313B1 - Cloud file download apparatus and method - Google Patents
Cloud file download apparatus and method Download PDFInfo
- Publication number
- KR102156313B1 KR102156313B1 KR1020180124879A KR20180124879A KR102156313B1 KR 102156313 B1 KR102156313 B1 KR 102156313B1 KR 1020180124879 A KR1020180124879 A KR 1020180124879A KR 20180124879 A KR20180124879 A KR 20180124879A KR 102156313 B1 KR102156313 B1 KR 102156313B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- cloud
- size
- download
- sessions
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 네트워크 상의 클라우드 스토리지에 설치된 미디어 또는 애플리케이션 등의 클라우드 파일의 다운로드 속도를 최적화 하여 해당 클라우드 파일의 실행 시 실행 속도를 향상하기 위한 클라우드 파일 다운로드 장치 및 방법에 관한 것으로, 본 발명의 일 측면에 따른 클라우드 파일 다운로드 방법은, 사용자 단말의 OS(Operating System)를 통해 VFS(Virtual File System) 기반 클라우드 스토리지에 설치된 애플리케이션의 실행 요청 시, 상기 사용자 단말에서 수행하는 방법으로서, (a) VFS로부터 클라우드 파일에 대한 가변 사이즈의 파일 조각을 요청받는 단계; 및 (b) 상기 요청받은 가변 사이즈의 파일 조각 대신 해당 클라우드 파일에 대해 기 설정된 고정 사이즈의 파일 블록의 다운로드를 클라우드 스토리지에 요청하여 다운로드 받기 위한 단계;를 포함할 수 있고, 상기 단계 (b)는 (b-1) 가용할 세션의 수를 복수개로 설정하기 위한 단계; (b-2) 상기 설정된 복수개의 세션에 복수개의 고정 사이즈의 파일 블록을 각각 할당하기 위한 단계; 및 (b-3) 상기 할당된 복수개의 세션을 통해 상기 할당된 복수개의 고정 사이즈의 파일 블록을 각각 다운로드 받기 위한 단계를 포함할 수 있다.The present invention relates to a cloud file download device and method for improving the execution speed when executing the cloud file by optimizing the download speed of cloud files such as media or applications installed in a cloud storage on a network, and an aspect of the present invention The cloud file download method according to the method is a method performed by the user terminal when an application installed in a Virtual File System (VFS)-based cloud storage is requested through an OS (Operating System) of the user terminal, and (a) a cloud file from VFS Receiving a request for a file fragment having a variable size for And (b) requesting and downloading a file block of a fixed size preset for the cloud file instead of the requested variable sized file fragment, from the cloud storage, wherein step (b) (b-1) setting the number of sessions to be available to a plurality; (b-2) allocating a plurality of fixed-size file blocks to the set plurality of sessions, respectively; And (b-3) downloading each of the allocated plurality of fixed sized file blocks through the allocated plurality of sessions.
Description
본 발명은 사용자 단말에서 네트워크 상의 클라우드 스토리지(Cloud Storage)에 저장된 미디어 또는 애플리케이션 등의 파일(이하, 클라우드 파일이라 약칭함)을 다운로드 하기 위한 기술에 관한 것으로, 보다 상세하게는 네트워크 상의 클라우드 스토리지 영역을 외장 메모리로 인식할 수 있는 사용자 단말에서 클라우드 파일의 다운로드 속도를 향상시키기 위한 장치 및 방법에 관한 것이다.The present invention relates to a technology for downloading files such as media or applications (hereinafter, abbreviated as cloud files) stored in a cloud storage on a network from a user terminal, and more specifically, a cloud storage area on a network. It relates to an apparatus and method for improving the download speed of a cloud file in a user terminal that can be recognized as an external memory.
가상 파일 시스템(Virtual File System: VFS)은 실제 파일 시스템 위의 추상 계층이다. VFS의 목적은 클라이언트 응용 프로그램(또는 애플리케이션이라 칭함)이 여러 파일 시스템에 같은 방법으로 접근할 수 있게 하는 것이다. 이를테면 VFS를 사용하면 클라이언트 응용 프로그램은 로컬인 기억 장치 및 네트워크 상의 기억 장치(또는 클라우드 스토리지라 칭함)에 직접적으로 접근할 수 있기 때문에 로컬과 네트워크의 차이를 느끼지 못한다. 또한, 마이크로소프트 윈도, 맥 오에스, 유닉스 등과 같은 운영 체제(Operating System: OS)의 차이를 넘어 파일 시스템의 차이를 느끼는 일 없이 접근할 수 있다.Virtual File System (VFS) is an abstract layer above the actual file system. The purpose of VFS is to allow client applications (or applications) to access multiple file systems in the same way. For example, with VFS, the client application does not feel the difference between local and network because it can directly access local storage devices and storage devices on the network (or cloud storage). In addition, it can be accessed without feeling the difference in the file system beyond the difference in the operating system (OS) such as Microsoft Windows, Mac OS, and Unix.
VFS는 커널과 실제 파일 시스템과의 인터페이스나 규격을 정의하고 있다. 그러므로 그 규격에 따라 간단히 새로운 파일 시스템을 커널에 추가할 수 있다. 파일 시스템은 새로운 공개 버전과의 호환성을 위해 수정하거나 다시 컴파일 해야 할 수도 있다. 아니면 운영 체제에서 규격 변경에 대해 하위 호환 모드로 동작한다면 각 파일 시스템은 새로운 버전의 운영 체제에서도 그대로 사용할 수 있다.VFS defines the interface or specification between the kernel and the actual file system. Therefore, you can simply add a new file system to the kernel according to the specification. The file system may need to be modified or recompiled for compatibility with new public versions. Or, if the operating system operates in backward compatibility mode for standard changes, each file system can be used in the new version of the operating system.
그러나, 기존에는 클라우드 서비스를 가상 파일 시스템화 하여 외장 메모리 영역으로 제공하는 스마트폰 단말기에서 클라우드 영역에 저장된 미디어, 애플리케이션 등의 파일(즉, 클라우드 파일)의 실행을 요청하면 해당 클라우드 파일이 4Kbytes~1024Kbytes의 가변 조각 파일로 다운로드 되어 실행되므로, 단말의 VFS 영역에서는 빈번하게 작은 단위로 해당 클라우드 파일의 파일 조각을 요청하게 되고, 이로 인해 SD 카드와 같은 물리적인 외장 저장 장치에 미디어 파일이 저장된 것에 비해 실행 속도가 크게 느려지는 현상이 발생하는 문제점이 있었다.However, in the past, when a smartphone terminal that provides a cloud service as a virtual file system and provides it as an external memory area requests execution of files such as media and applications stored in the cloud area (i.e., cloud files), the corresponding cloud file is 4Kbytes to 1024Kbytes. Since it is downloaded and executed as a variable fragment file, the VFS area of the terminal frequently requests the file fragment of the cloud file in small units, which results in execution speed compared to storing media files in a physical external storage device such as an SD card. There was a problem in that the phenomenon of significantly slowing down occurs.
본 발명은 전술한 종래의 문제점을 해결하기 위한 것으로, 그 목적은 네트워크 상의 클라우드 스토리지에 설치된 미디어 또는 애플리케이션 등의 파일(즉, 클라우드 파일)의 다운로드 속도를 최적화 하여 해당 클라우드 파일의 실행 시 실행 속도를 향상하기 위한, 클라우드 파일 다운로드 장치 및 방법을 제공하는 것이다.The present invention is to solve the above-described conventional problem, the purpose of which is to optimize the download speed of files (i.e., cloud files) such as media or applications installed in the cloud storage on the network to increase the execution speed when executing the cloud file. To improve, to provide a cloud file download device and method.
전술한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 클라우드 파일 다운로드 장치는, 사용자 단말의 OS(Operating System)를 통해 VFS(Virtual File System) 기반 클라우드 파일의 가속 실행을 위해, 상기 사용자 단말에 포함되는 클라우드 파일 다운로드 장치로서, VFS로부터 클라우드 파일에 대한 가변 사이즈의 파일 조각을 요청받기 위한 파일조각요청수신부; 및 상기 요청받은 가변 사이즈의 파일 조각 대신 해당 클라우드 파일에 대해 기 설정된 고정 사이즈의 파일 블록의 다운로드를 클라우드 스토리지에 요청하여 다운로드 받기 위한 다운로드부;를 포함할 수 있고, 상기 다운로드부는 가용할 세션의 수를 복수개로 설정하기 위한 세션 정의부; 상기 설정된 복수개의 세션에 복수개의 고정 사이즈의 파일 블록을 각각 할당하기 위한 세션 할당부; 및 상기 할당된 복수개의 세션을 통해 상기 할당된 복수개의 고정 사이즈의 파일 블록을 각각 다운로드 받기 위한 다운로드 수행부를 포함할 수 있으며, 상기 세션 할당부는 상기 설정된 복수개의 세션(중 빈 곳)에 상기 복수개의 고정 사이즈의 파일 블록을 각각 상기 요청받은 파일 조각의 순서에 따라 순차적으로 할당할 수 있고, 상기 할당된 복수개의 고정 사이즈의 파일 블록은 서로 다른 클라우드 파일의 파일 블록을 포함할 수 있다. In order to achieve the above object, the cloud file download apparatus according to an aspect of the present invention is included in the user terminal for accelerating execution of a VFS (Virtual File System)-based cloud file through an operating system (OS) of the user terminal. A cloud file download device comprising: a file fragment request receiver for receiving a request for a file fragment of a variable size for a cloud file from a VFS; And a download unit for requesting and downloading a file block of a fixed size preset for the cloud file instead of the requested variable sized file fragment from the cloud storage, wherein the download unit is the number of sessions to be available. A session defining unit for setting a plurality of values; A session allocator for allocating a plurality of fixed sized file blocks to the set plurality of sessions; And a download performing unit for downloading each of the allocated plurality of fixed sized file blocks through the allocated plurality of sessions, and the session allocating unit may include the plurality of Each of the fixed sized file blocks may be sequentially allocated according to the order of the requested file fragments, and the allocated plurality of fixed sized file blocks may include file blocks of different cloud files.
전술한 목적을 달성하기 위하여 본 발명의 다른 측면에 따른 클라우드 파일 다운로드 방법은, 사용자 단말의 OS(Operating System)를 통해 VFS(Virtual File System) 기반 클라우드 스토리지에 설치된 애플리케이션의 실행 요청 시, 상기 사용자 단말에서 수행하는 방법으로서, (a) VFS로부터 클라우드 파일에 대한 가변 사이즈의 파일 조각을 요청받는 단계; 및 (b) 상기 요청받은 가변 사이즈의 파일 조각 대신 해당 클라우드 파일에 대해 기 설정된 고정 사이즈의 파일 블록의 다운로드를 클라우드 스토리지에 요청하여 다운로드 받기 위한 단계;를 포함할 수 있고, 상기 단계 (b)는 (b-1) 가용할 세션의 수를 복수개로 설정하기 위한 단계; (b-2) 상기 설정된 복수개의 세션에 복수개의 고정 사이즈의 파일 블록을 각각 할당하기 위한 단계; 및 (b-3) 상기 할당된 복수개의 세션을 통해 상기 할당된 복수개의 고정 사이즈의 파일 블록을 각각 다운로드 받기 위한 단계를 포함할 수 있으며, 상기 단계 (b-2)는 상기 설정된 복수개의 세션(중 빈 곳)에 상기 복수개의 고정 사이즈의 파일 블록을 각각 상기 요청받은 파일 조각의 순서에 따라 순차적으로 할당할 수 있고, 상기 할당된 복수개의 고정 사이즈의 파일 블록은 서로 다른 클라우드 파일의 파일 블록을 포함할 수 있다. In order to achieve the above object, the cloud file download method according to another aspect of the present invention is, when a request for execution of an application installed in a Virtual File System (VFS)-based cloud storage through an OS (Operating System) of the user terminal is requested, the user terminal As a method of performing in, (a) receiving a request for a file fragment of a variable size for a cloud file from VFS; And (b) requesting and downloading a file block of a fixed size preset for the cloud file instead of the requested variable sized file fragment, from the cloud storage, wherein step (b) (b-1) setting the number of sessions to be available to a plurality; (b-2) allocating a plurality of fixed-size file blocks to the set plurality of sessions, respectively; And (b-3) downloading each of the allocated plurality of fixed-size file blocks through the allocated plurality of sessions, and the step (b-2) includes the set plurality of sessions ( The plurality of fixed-size file blocks may be sequentially allocated to each of the plurality of fixed-size file blocks according to the order of the requested file pieces, and the allocated plurality of fixed-sized file blocks are file blocks of different cloud files. Can include.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 상기 클라우드 파일 다운로드 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공될 수 있다.In order to achieve the above object, according to another aspect of the present invention, a computer-readable recording medium in which a program for executing the cloud file download method on a computer is recorded may be provided.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 상기 클라우드 파일 다운로드 방법을 하드웨어와 결합하여 실행시키기 위하여 매체에 저장된 애플리케이션이 제공될 수 있다.In order to achieve the above object, according to another aspect of the present invention, an application stored in a medium may be provided in order to execute the cloud file download method in combination with hardware.
전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 상기 클라우드 파일 다운로드 방법을 컴퓨터에서 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램이 제공될 수 있다.In order to achieve the above object, according to another aspect of the present invention, a computer program stored in a medium may be provided in order to execute the cloud file downloading method on a computer.
이상에서 설명한 바와 같이 본 발명의 다양한 측면에 따르면, 사용자 단말에서 네트워크 상의 클라우드 스토리지에 설치된 클라우드 파일의 실행 시 클라우드 스토리지로부터 다운로드 받는 파일의 조각 사이즈를 특정 블록(고정 사이즈)으로 고정하여 복수개의 세션을 통해 다운로드 받음으로써, 기존 대비 네트워크 다운로드로 인한 클라우드 파일의 실행 시간의 지연을 최소화하여 네트워크 상의 클라우드 스토리지에 설치된 클라우드 파일의 실행 시 실행 속도를 향상할 수 있다.As described above, according to various aspects of the present invention, when a cloud file installed in the cloud storage on the network is executed by the user terminal, the size of the fragment of the file downloaded from the cloud storage is fixed to a specific block (fixed size) to allow multiple sessions By downloading through the network, it is possible to improve the execution speed when executing the cloud file installed in the cloud storage on the network by minimizing the delay in execution time of the cloud file due to network download compared to the existing one.
도 1은 본 발명이 적용되는 통신 시스템의 구성도,
도 2는 본 발명의 실시예에 따른 사용자 단말의 구성도,
도 3은 본 발명의 실시예에 따른 클라우드 파일 다운로드 장치의 구성도,
도 4는 본 발명의 예시적인 실시예에 따른 클라우드 파일 다운로드 장치의 다운로드부의 구성도,
도 5-6은 본 발명의 예시적인 실시예에 따른 다운로드부의 동작 예를 설명하기 위한 도면,
도 7은 본 발명의 예시적인 실시예에 따른 클라우드 파일 다운로드 방법의 흐름도,
도 8는 사용자 단말의 애플리케이션을 클라우드 스토리지로 이동한 일 예를 설명하기 위한 도면이다.1 is a configuration diagram of a communication system to which the present invention is applied,
2 is a configuration diagram of a user terminal according to an embodiment of the present invention;
3 is a configuration diagram of a cloud file download device according to an embodiment of the present invention;
4 is a configuration diagram of a download unit of a cloud file download device according to an exemplary embodiment of the present invention;
5-6 are diagrams for explaining an operation example of a download unit according to an exemplary embodiment of the present invention;
7 is a flow chart of a cloud file download method according to an exemplary embodiment of the present invention;
8 is a diagram for describing an example in which an application of a user terminal is moved to a cloud storage.
이하, 첨부도면을 참조하여 본 발명의 실시예에 대해 구체적으로 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 한다. 또한, 본 발명의 실시예에 대한 설명 시 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In adding reference numerals to elements of each drawing, the same elements are to have the same numerals as possible even if they are indicated on different drawings. In addition, when it is determined that a detailed description of a known configuration or function related to an embodiment of the present invention may obscure the subject matter of the present invention, a detailed description thereof will be omitted.
도 1은 본 발명이 적용되는 통신 시스템의 구성도로, 동 도면에 도시된 바와 같이, 통신망(1), 사용자 단말(2), 및 클라우드 스토리지(3)를 포함할 수 있다.1 is a block diagram of a communication system to which the present invention is applied, and as shown in the drawing, a
통신망(1)은 사용자 단말(2)과 클라우드 스토리지(3) 간을 유선, 무선 및/또는 인터넷 등으로 연결하여 통신할 수 있도록 하는 단독 또는 복합의 어떤 망이어도 좋다.The
사용자 단말(2)은 적어도 클라우드 스토리지(3)와 통신할 수 있는 모바일 단말 장치로, 예를 들어 음성 통신, 영상 통신, 데이터 통신, 및 인터넷 통신 등이 가능한 이동통신 단말기, PDA, 스마트 폰, 테블릿 PC 등 중 하나일 수 있다.The
클라우드 스토리지(3)는 통신망(또는 네트워크라 칭함)(1) 상의 저장장치로 사용자 단말(2)이 통신망(1)을 통해 언제 어디서든 접속할 수 있는 저장장치이다.The
본 발명의 실시예에서 사용자 단말(2)은 도 8에 도시된 바와 같이 애플리케이션이 인터널온리(Internalonly)의 옵션으로 컴파일 되지 않은 경우, 사용자 단말(2)의 내부 메모리(Internal Memory)에 있는 APK(Android application Package) 파일에서 SO파일을 추출하고 ASEC로 암호화하여 외장 메모리 영역으로 이동이 가능한데, 이 경우 외장 메모리 영역을 네트워크(1) 상의 클라우드 스토리지(3)로 할당하는 경우 해당 ASEC 파일은 클라우드 스토리지(3)에 저장되고, 사용자 단말(2)은 클라우드 스토리지(3)에 저장(설치)된 해당 애플리케이션(즉, 클라우드 파일)을 다운로드하여 실행한다. In the embodiment of the present invention, the
본 발명에서는 기존의 사용자 단말에서 SMB 또는 NFS 프로토콜(Protocol)을 이용하여 클라우드 스토리지에서 파일 다운로드를 요청하는 경우를 대상으로 클라우드 파일(애플리케이션)의 실행 속도를 다음과 같이 분석하였다.In the present invention, the execution speed of a cloud file (application) was analyzed as follows for a case of requesting a file download from a cloud storage using an SMB or NFS protocol from an existing user terminal.
기존의 사용자 단말에서 VFS는 SMB 또는 NFS 프로토콜에 따라 파일의 조각을 4Kbytes~1024Kbytes 단위로 가변적으로 요청하여 다운로드 하는데, 예컨대, 도 8와 같이 클라우드 스토리지(3) 영역으로 실행파일이 이동하게 된 클라우드 파일(애플리케이션)을 실행하게 되면, 안드로이드 기반 기존 사용자 단말의 VFS 영역에서는 빈번하게 작은 단위로 ASEC의 파일의 조각을 요청하게 되고, 클라우드 파일(애플리케이션)에 따라서, SD 카드와 같은 물리적인 외장 저장 장치에 ASEC 파일이 저장된 것에 비해 실행 속도가 크게 느려지는 현상이 발생하게 된다.In the existing user terminal, VFS variably requests and downloads a file fragment in units of 4Kbytes to 1024Kbytes according to the SMB or NFS protocol.For example, a cloud file in which the executable file is moved to the
하기 표 1은 10개의 안드로이드 애플리케이션을 사용자 단말의 내부 메모리로부터 클라우드 스토리지 영역에 이동하였을 경우와 SD메모리 카드에 이동한 경우의 속도 지연을 측정한 결과이다. 측정의 공정성을 위해 동일한 단말을 LTE 네트워크(N/W)에 연결하여 위치를 동일하게 이동하여 측정하였다. 하기 표 1에 따르면 애플리케이션별로 편차가 존재하지만 클라우드 스토리지 영역에 이동하였을 경우가 SD카드로 이동한 경우와 비교하여 현저히 실행속도가 느려지는 것을 확인할 수가 있다.Table 1 below shows the results of measuring the speed delay when 10 Android applications are moved from the internal memory of the user terminal to the cloud storage area and when they are moved to the SD memory card. For fairness of measurement, the same terminal was connected to the LTE network (N/W) and the location was moved equally to measure. According to Table 1 below, although there are variations for each application, it can be seen that the execution speed is significantly slowed when the cloud storage area is moved compared to the SD card.
크기(M)Size (M)
하기 표 2는 10개의 안드로이드 애플리케이션이 클라우드 스토리지 영역에 이동한 경우 SD메모리에 이동했을 경우에 비교하여 얼마나 느려지는 지를 비교한 것이다. 표 2에 따르면 애플리케이션의 전체 크기와 비례하여, 애플리케이션이 실행되면서 리눅스 VFS에서 요청하여 1회 다운로드 되는 평균 크기가 작을수록 실행 지연도가 높아지는 것을 확인할 수가 있다.Table 2 below compares how much slower 10 Android applications are when they are moved to the cloud storage area compared to when they are moved to SD memory. According to Table 2, in proportion to the total size of the application, it can be seen that the smaller the average size requested and downloaded once from the Linux VFS while the application is running, the higher the execution delay.
크기(M)Size (M)
따라서, 본 발명의 실시예에서는 전술한 분석 내용을 기초로 안드로이드(또는 다른 OA) 기반 단말기에서 애플리케이션의 실행 정보를 포함한 APK 파일을 클라우드 스토리지로 이동하여 빠르게 실행할 수 있는 장치 및 방법을 제공하도록 한다. Accordingly, in an embodiment of the present invention, based on the above-described analysis content, an Android (or other OA)-based terminal provides a device and method capable of moving an APK file including execution information of an application to a cloud storage and executing it quickly.
도 2는 본 발명의 실시예에 따른 사용자 단말의 구성도로, 도 1의 사용자 단말(2)의 세부 구성도이고, 동 도면에 도시된 바와 같이, OS(Operating System)(21), VFS(Virtual File System)(22), 클라우드파일시스템(23), 및 클라우드파일캐시(24)를 포함할 수 있다.2 is a configuration diagram of a user terminal according to an embodiment of the present invention, a detailed configuration diagram of the
OS(21)는 사용자 단말(2)에 설치된 운영 체제로 본 실시예에서는 안드로이드 기반 OS를 일 예로 사용할 수 있다.The OS 21 is an operating system installed in the
VFS(22)는 커널과 실제 파일 시스템과의 인터페이스나 규격을 정의하고서 OS(21)와 클라우드파일시스템(23) 간의 통신을 매개하기 위한 것으로. 전술한 VFS의 기능과 동일하므로 자세한 설명은 생략한다. The VFS 22 is for mediating communication between the
클라우드파일시스템(23)은 사용자 단말(2)에서 네트워크(1) 상의 클라우드 스토리지(3)에 설치된 클라우드 파일(애플리케이션)의 실행 시 VFS(22)로부터 요청된 가변 사이즈의 파일 조각을 고정 사이즈의 특정 블록으로 고정하여 복수개의 세션을 통해 클라우드 스토리지(3)로부터 다운로드 받아 해당 클라우드 파일(애플리케이션)의 실행 속도를 가속하기 위한 것이다.When executing a cloud file (application) installed in the
클라우드파일캐시(24)는 클라우드파일시스템(23)의 내부 캐시 영역(캐시 저장 영역)을 나타내는 것으로, 예를 들어, 클라우드파일시스템(23)이 클라우드 스토리지(3)로부터 다운로드 받은 고정 사이즈의 파일 블록을 내부 캐시 영역(24)에 캐시 파일로 저장할 수 있다.The
도 3은 본 발명의 예시적인 실시예에 따른 클라우드 파일 다운로드 장치의 구성도로, 도 2의 클라우드 파일 시스템(23)의 세부 구성의 일 예를 나타낸 것이고, 동 도면에 도시된 바와 같이, 파일조각요청수신부(231), 캐시조회부(232), 다운로드부(233), 캐시저장부(234), 및 파일조각제공부(235)를 포함할 수 있다.3 is a configuration diagram of a cloud file download device according to an exemplary embodiment of the present invention, showing an example of a detailed configuration of the
파일조각요청수신부(231)는 사용자 단말(2)의 OS(Operating System)(21)를 통해 네트워크(1) 상의 클라우드 스토리지(3)에 설치된 클라우드 파일(애플리케이션)의 실행 시 VFS(22)로부터 해당 클라우드 파일에 대한 가변 사이즈의 파일 조각을 요청받기 위한 것으로, 예를 들어, 파일조각요청수신부(231)는 POSIX(Portable Operating System Interface)를 기초로 OS(21)가 VFS(22)에 해당 파일 접근 요청 시 VFS(22)로부터 SMB(Server Message Block) 프로토콜 또는 NFS(Network File System) 프로토콜에 따라 가변 사이즈의 파일 조각을 요청받을 수 있다. 본 실시예에서 가변 사이즈의 파일 조각은 4Kbytes~1024Kbytes의 크기일 수 있다. The file fragment
캐시조회부(232)는 파일조각요청수신부(231)를 통해 요청받은 해당 클라우드 파일의 파일 조각에 대응하는 캐시 파일이 내부 캐시 영역으로서의 클라우드파일캐시(24)에 존재하는지 여부를 조회하기 위한 것이다.The
다운로드부(233)는 캐시조회부(232)의 캐시 조회 결과 해당 캐시 파일이 존재하지 않을 경우 VFS(22)로부터 조각 파일 단위로 요청된 해당 클라우드 파일을 클라우드 스토리지(3)로부터 다운로드 하기 위한 것으로, 특히 VFS(22)로부터 조각 파일 단위로 요청된 해당 클라우드 파일에 대해 기 설정된 고정 사이즈의 파일 블록 단위로 다운로드 할 수 있도록 한다.The
본 실시예에서 기 설정된 고정 사이즈의 파일 블록의 크기는 전술한 가변 사이즈의 파일 조각의 크기 이상으로, 예를 들어, 1024Kbytes의 크기로 설정될 수 있다. In the present embodiment, the size of the preset fixed-size file block may be set to be larger than the size of the aforementioned variable-size file fragment, for example, 1024 Kbytes.
캐시저장부(234)는 다운로드부(233)를 통해 클라우드 스토리지(3)로부터 다운로드 받은 고정 사이즈의 파일 블록을 내부 캐시 영역으로서의 클라우드파일캐시(24)에 저장하기 위한 것이다.The
파일조각제공부(235)는 캐시저장부(234)에 저장된 캐시 파일을 기초로 VFS(22)로부터 요청받은 파일 조각을 해당 OS(21)로 제공하기 위한 것으로, 일 예로 캐시조회부(232)의 캐시 조회 결과 캐시 저장 영역(24)에 해당 캐시 파일이 존재하면 그 존재하는 캐시 파일을 기초로 해당 파일 조각을 해당 OS(21)로 제공하고, 다른 예로 캐시조회부(232)의 캐시 조회 결과 캐시 저장 영역(24)에 해당 캐시 파일이 존재하지 않으면 전술한 바와 같이 다운로드하여 저장된 고정 사이즈의 파일 블록의 캐시 파일을 기초로 해당 파일 조각을 해당 OS(21)로 제공할 수 있다.The file
국내의 일반적인 LTE 이동 통신 환경에서 하나의 파일을 다운로드 받을 때, TCP내 실제 데이터를 윈도우(Windows) 크기는 작은 크기로 시작되어 직전 전송 속도의 딜레이(Delay)가 적을수록 점차 크게 변경된다. 즉, 통신상 스루-풋(Through-put)과 딜레이에 특별히 이상이 발생하지 않는다는 전제에서 다운로드 받는 파일의 사이즈가 클 수록 하나의 전송 프레임(Frame)에 큰 데이터를 보내게 되어 전송 속도가 빠르게 된다. 다음의 표 3은 실재 3CA LTE 환경에서 측정한 파일 사이즈별 다운로드 속도이다. 동일한 서버에서 동일한 클라이언트로 다운받는 기준으로 속도를 측정하였다.When a file is downloaded in a general LTE mobile communication environment in Korea, the actual data in TCP starts with a small window size, and gradually changes as the delay of the previous transmission speed decreases. In other words, under the premise that no abnormality occurs in the communication through-put and delay, the larger the size of the downloaded file, the faster the transmission speed as the larger data is sent in one transmission frame. . Table 3 below shows download speeds for each file size measured in an actual 3CA LTE environment. The speed was measured based on downloading from the same server to the same client.
표 3에서와 같이 실제 파일 다운로드 가능한 최고 속도는 100Mbyte 사이즈를 한번에 다운로드 받는 40MBPS이지만, 100Mbyte를 하나의 블록으로 정의할 경우 파일 시스템은 하나의 동작을 하기 위해서 파일에 접근하고 파일 블록이 응답 오기 전까지 최소 20초간의 다운로드 (대기) 시간이 발생한다. 따라서 본 발명의 실시예에서는 사용자 대기 시간을 최소화하면서 다운로드 속도를 최대화할 수 있도록 하기 위하여 작은 블록을 동시에 다운로드 받는 멀티 세션 다운로드 방식을 제안한다.As shown in Table 3, the maximum speed that can be downloaded for an actual file is 40MBPS for downloading 100Mbyte size at a time, but when 100Mbyte is defined as one block, the file system accesses the file for one operation, and the minimum before the file block is answered. A download (waiting) time of 20 seconds occurs. Accordingly, in an embodiment of the present invention, in order to maximize the download speed while minimizing user waiting time, a multi-session download method in which small blocks are simultaneously downloaded is proposed.
즉, 본 실시예에서는 복수개의 고정 사이즈의 블록 단위의 파일을 복수개의 세션을 통해 동시에 다운로드 받는 멀티세션 다운로드 방식을 구현하고자 하는데, 멀티세션 다운로드의 효과는 스루-풋(Through-Put)이 일정한 유선망에서 테스트한 결과 다음의 표 4와 같다.That is, in this embodiment, a multi-session download method in which a plurality of fixed-size block-unit files are simultaneously downloaded through a plurality of sessions is implemented, but the effect of the multi-session download is a wired network with a constant through-put. The test results are shown in Table 4 below.
표 4에서와 같이 30Mbyte 크기의 파일을 다운로드 받을 때, 하나의 파일을 다운로드 받는 것보다 여러개의 고정 블록으로 쪼개어 멀티 세션으로 다운 받는 경우 최적의 다운로드 속도 제공이 가능하다. As shown in Table 4, when downloading a 30Mbyte file, it is possible to provide the optimal download speed when downloading a single file by splitting it into several fixed blocks and downloading it as a multi-session rather than downloading a single file.
이에 따라, 본 발명의 실시예에서는 클라우드 파일시스템(23)에서 사용하는 고정 사이즈의 블록 단위 다운로드 속도를 최적화하기 위하여, 멀티 세션의 수를 미리 정의하고 VFS(추상화 파일시스템)(22)에서 요청하는 가변 파일 조각 대신 기 설정된 고정 사이즈의 블록을 해당 세션에 할당하고 다운로드 받는 방식으로 다운로드 속도를 최적화할 수 있다. 이하, 보다 상세히 설명한다.Accordingly, in the embodiment of the present invention, in order to optimize the download speed of fixed-size blocks used in the
도 4는 본 발명의 예시적인 실시예에 따른 클라우드 파일 다운로드 장치의 다운로드부의 구성도로, 도 3의 다운로드부(233)의 세부 구성의 일 예를 나타낸 것이고, 동 도면에 도시된 바와 같이, 세션 정의부(2331), 세션 할당부(2333), 및 다운로드 수행부(2335)를 포함할 수 있다.FIG. 4 is a configuration diagram of a download unit of a cloud file download device according to an exemplary embodiment of the present invention, showing an example of a detailed configuration of the
세션 정의부(2331)는 가용할 멀티 세션의 수를 미리 정의하기 위한 것으로, 예를 들어, 기지국 무선 신호 강도 및 하나의 기지국에 동시 접속 사용자 수에 따른 스루-풋(Through-put) 변화 등을 기초로 가용할 세션의 수를 복수개로 설정할 수 있다. The
세션 할당부(2333)는 세션 정의부(2331)를 통해 설정된 복수개의 세션에 복수개의 고정 사이즈의 파일 블록을 각각 할당하기 위한 것으로, 예를 들어, 설정된 복수개의 세션 중 빈 곳에 상기 세션 수 이하의 복수개의 고정 사이즈의 파일 블록을 각각 상기 요청받은 파일 조각의 순서에 따라 순차적으로 할당할 수 있다.The
세션 할당부(2333)는 일 예로 1개의 파일 다운로드 시 최대 N개의 세션 중 최초에 n개(n은 N 이하의 수)의 세션을 할당하여 이용하다가 이후 블록 요청 시에는 할당하는 세션의 개수를 순차적으로 늘려(예를 들어, n개에 특정배율을 곱하거나 특정수를 더한 개수만큼 또는 이후 요청되는 블록의 개수만큼 순차적으로 늘려) 사용할 수 있다. For example, the
다운로드 수행부(2335)는 세션 할당부(2333)를 통해 할당된 복수개의 세션을 통해 대응하여 할당된 복수개의 고정 사이즈의 파일 블록을 각각 다운로드 받기 위한 것으로, 일 예로 도 5에 도시된 바와 같이 9개의 멀티 (다운로드) 세션을 정의하고 해당하는 9개의 멀티 세션을 통해 1개의 클라우드 파일에 대한 복수개의 고정 (사이즈) 파일 블록을 다운로드 하도록 하거나, 다른 예로 도 6에 도시된 바와 같이 멀티 세션의 수를 9개로 정의하고 해당하는 9개의 멀티 세션을 통해 서로 다른 복수개(도 6에서는 2개)의 클라우드 파일에 대한 복수개의 고정 (사이즈) 파일 블록을 다운로드 하도록 할 수 있다. 본 실시예에서 각각의 세션은 큐(Queue) 방식으로 다운로드 처리될 수 있다.The
도 5-6은 본 발명의 예시적인 실시예에 따른 다운로드부(233)의 동작 예를 설명하기 위한 도면으로, 도 5는 최대 9개의 멀티 다운로드 세션으로 정의한 경우 1개의 단일 클라우드 파일을 다운로드 하는 최대 속도를 제공하기 위한 방법의 일 예를 설명하기 위한 도면이고, 도 6은 최대 9개의 멀티 다운로드 세션으로 정의한 경우 서로 다른 여러 개의 클라우드 파일을 다운로드 하는 최대 속도를 제공하기 위한 방법의 일 예를 설명하기 위한 도면이다.5-6 are diagrams for explaining an operation example of the
도 5를 참조하면, 본 발명의 예시적인 실시예에 따른 다운로드부(233)는 최초 블록 요청 시는 1개 세션을 사용하고, 이후 세션을 늘여서 다운로드 받다가 최대 9개 세션의 사용을 모두 유지할 수 있다. 즉, 요청 블록을 다운로드 받는 중이어도 추가 블록 억세스(Access) 요청이 오면 최대 9개 세션을 모두 이용하여 블록을 다운로드 받을 수 있다.Referring to FIG. 5, the
도 6을 참조하면, 본 발명의 예시적인 실시예에 따른 다운로드부(233)는 1MB의 고정 블록 및 최대 9개의 세션 적용을 전제하는 경우, 이전 클라우드 파일에 대해 다운로드 중이라도 새로운 클라우드 파일 다운로드 요청에 대해서 예를 들어 1개 세션 - 2개 세션 - 4개 세션을 순차 할당하고, 최대 9개의 세션을 2개의 클라우드 파일에 대해서 유지하는 방식으로 적용할 수 있다. 즉, 서로 다른 여러 개의 클라우드 파일에 대해서 각기 세션을 제공할 수 있다. 6, the
본 발명의 실시예에 따르면, 요청 파일 블록이 9개보다 적은 경우 남는 세션은 제일 먼저 요청 온 파일 다운로드에 제공하고, 요청 파일 블록이 9개일 경우 9개의 세션에 각기 하나씩 할당하여 다운로드 하며, 요청 파일 블록이 9개가 넘어 가는 경우 요청 순서에 따라 세션을 할당하여 다운로드 할 수 있다.According to an embodiment of the present invention, when there are fewer than 9 requested file blocks, the remaining sessions are provided for downloading the requested-on file first, and when there are 9 requested file blocks, each of the 9 sessions is allocated and downloaded. If there are more than 9 blocks, sessions can be allocated and downloaded according to the order of requests.
본 발명의 예시적인 실시예에 따르면 다운로드부(233)는 예를 들어 도 5,6과 같은 멀티 세션 파일 다운로드 알고리즘을 적용하여 최적의 다운로도 속도 구현이 가능하다.According to an exemplary embodiment of the present invention, the
도 7은 본 발명의 예시적인 실시예에 따른 클라우드 파일 다운로드 방법의 흐름도로, 도 1~4의 장치에 적용되므로 해당 장치의 동작과 병행하여 설명한다.7 is a flowchart of a method for downloading a cloud file according to an exemplary embodiment of the present invention, and since it is applied to the devices of FIGS. 1 to 4, it will be described in parallel with the operation of the corresponding device.
먼저, 사용자 단말(2)의 OS(Operating System)(21)를 통해 네트워크(1) 상의 클라우드 스토리지(3)에 설치된 클라우드 파일(애플리케이션)에 대해 최초 접근 요청 시, OS(21)는 POSIX(Portable Operating System Interface)를 통해 VFS(22)에 해당 파일 접근을 요청하면(S711), VFS(22)는 SMB(Server Message Block) 프로토콜 또는 NFS(Network File System) 프로토콜에 따라 4Kbytes~1024Kbytes의 가변 사이즈의 파일 조각을 클라우드 파일 시스템(23)에 요청한다(S712).First, when the first access request to a cloud file (application) installed in the
이어, 클라우드 파일 시스템(23)은 단계 S412에서 요청받은 해당 애플리케이션의 파일 조각에 대응하는 캐시 파일이 내부 캐시 영역으로서의 클라우드파일캐시(24)에 존재하는지 여부를 조회하여(S713) 최초 파일 접근 시 해당 캐시 파일이 존재하지 않으면(S714), VFS(22)로부터 4Kbytes~1024Kbytes의 가변 조각 파일 단위로 요청된 해당 클라우드 파일(애플리케이션)에 대해 무조건 1024Kbytes의 고정 사이즈의 파일 블록 단위로 고정하여 정의된 복수개의 세션(즉, 멀티 세션) 중 하나에 할당하여 다운로드를 수행하되, 최초 접근 요청에 이어 해당 클라우드 파일(애플리케이션)에 대해 N-1번째 까지 접근 요청이 순차적으로 발생하는 경우 전술한 단계 S711~S714를 반복하여 해당 캐시 파일이 존재하지 않을 경우 복수개의 고정 파일 블록을 정의된 복수개의 세션(즉, 멀티 세션)에 각각 순차적으로 할당하여 다운로드 하도록 클라우드 스토리지(3)에 요청한다(S716~S717).Then, the
이어, 클라우드 파일 시스템(23)은 단계 S717의 다운로드 요청에 대한 응답으로 클라우드 스토리지(3)로부터 1024Kbytes의 고정 사이즈의 파일 블록이 복수개의 세션을 통해 각각 다운로드 되면(S718) 클라우드 파일 캐시(24)에 캐시 파일로 저장하고(S719), 단계 S712에서 VFS(22)로부터 요청받은 파일 조각을 해당 OS(21)로 제공하여 다운로드 받은 영역을 반환한다(S720).Then, the
그 다음 추가적으로 해당 클라우드 파일(애플리케이션)에 대해 N번째 접근 요청이 있는 경우, OS(21)는 POSIX(Portable Operating System Interface)를 통해 VFS(22)에 해당 파일 접근을 요청하고(S731), VFS(22)는 SMB(Server Message Block) 프로토콜 또는 NFS(Network File System) 프로토콜에 따라 4Kbytes~1024Kbytes의 가변 사이즈의 파일 조각을 클라우드 파일 시스템(23)에 요청한다(S732).Then, when there is an Nth access request for the cloud file (application) additionally, the
이어, 사용자 단말(2)의 클라우드 파일 시스템(23)은 단계 S732에서 요청받은 해당 클라우드 파일(애플리케이션)의 파일 조각에 대응하는 캐시 파일이 내부 캐시 영역으로서의 클라우드파일캐시(24)에 존재하는지 여부를 조회하여(S733~S734), 해당 캐시 파일이 존재하면 단계 S732에서 VFS(22)로부터 추가 요청받은 파일 조각을 해당 OS(21)로 제공하여 해당 캐시 영역을 반환하고(S735), 해당 캐시 파일이 존재하지 않으면(S736) 클라우드 스토리지(3)로부터 추가로 1024Kbytes의 고정 사이즈의 파일 블록을 정의된 복수개의 세션 중 비어 있는 세션에 순차 할당하여(S738) 다운로드 하여(S739~S740) 클라우드 파일 캐시(24)에 캐시 파일로 저장하고(S741), 단계 S732에서 VFS(22)로부터 추가 요청받은 파일 조각을 해당 OS(21)로 제공하여 다운로드 받은 영역을 반환한다(S742).Subsequently, the
전술한 본 발명의 실시예에 따라 표 2에서 SD카드 대비 속도 지연이 심한 애플리케이션 B(App. B)에 대해 다운로드 되는 사이즈를 무조건 1024Kbytes로 고정하고 멀티 세션을 통해 다운로드 하도록 하여 해당 애플리케이션 B를 실행하는 시뮬레이션을 수행한 결과, 해당 시뮬레이션에서는 1024Kbytes로 단위로 고정하고 멀티 세션을 통해 다운로드 실행할 경우 기존 대비 약 30~40%의 실행 속도 개선이 가능한 것으로 분석되었다.According to the above-described embodiment of the present invention, in Table 2, the downloaded size for the application B (App.B) having a high speed delay compared to the SD card is unconditionally fixed to 1024 Kbytes and downloaded through multi-session to execute the application B. As a result of performing the simulation, it was analyzed that the execution speed of about 30-40% can be improved compared to the previous case when the simulation is fixed at 1024Kbytes and downloaded through multi-session.
한편, 전술한 클라우드 파일 다운로드 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 구현할 수 있다.Meanwhile, according to the cloud file download method described above, a computer-readable recording medium recording a program for executing the method on a computer can be implemented.
또 한편, 전술한 클라우드 파일 다운로드 방법에 따르면 해당 방법을 하드웨어와 결합하여 실행시키기 위하여 매체에 저장된 애플리케이션을 구현할 수 있다.On the other hand, according to the cloud file download method described above, an application stored in a medium may be implemented in order to execute the method in combination with hardware.
또 한편, 전술한 클라우드 파일 다운로드 방법을 컴퓨터에서 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램을 구현할 수 있다.On the other hand, a computer program stored in a medium may be implemented in order to execute the above-described cloud file download method on a computer.
예를 들어, 전술한 바와 같이 본 발명의 실시예에 따른 클라우드 파일 다운로드 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 기록 매체 또는 이러한 기록 매체에 저장된 애플리케이션으로 구현될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록 매체는 본 발명의 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.For example, as described above, the cloud file download method according to an embodiment of the present invention may be implemented as a computer-readable recording medium including program instructions for performing operations implemented by various computers or an application stored in such a recording medium. I can. The computer-readable recording medium may include program instructions, local data files, local data structures, and the like alone or in combination. The recording medium may be specially designed and configured for the embodiment of the present invention, or may be known and usable to a person skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like. Hardware devices specifically configured to store and execute the same program instructions are included. Examples of the program instructions may include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.
1: 통신망(또는 네트워크라 칭함)
2: 사용자 단말
3: 클라우드 스토리지
21: OS(Operating System)
22: VFS(Virtual File System)
23: 클라우드 파일 시스템
24: 클라우드 파일 캐시
231: 파일 조각 요청 수신부
232: 캐시 조회부
233: 다운로드부
234: 캐시 저장부
235: 파일 조각 제공부
2331: 세션 정의부
2333: 세션 할당부
2335: 다운로드 수행부1: communication network (or network)
2: user terminal
3: cloud storage
21: OS (Operating System)
22: Virtual File System (VFS)
23: cloud file system
24: Cloud file cache
231: file fragment request receiver
232: cache lookup unit
233: download section
234: cache storage unit
235: file fragment providing unit
2331: session definition unit
2333: session allocation unit
2335: download executive
Claims (15)
VFS로부터 클라우드 파일에 대한 가변 사이즈의 파일 조각을 요청받기 위한 파일조각요청수신부; 및
상기 요청받은 가변 사이즈의 파일 조각 대신 해당 클라우드 파일에 대해 기 설정된 고정 사이즈의 파일 블록의 다운로드를 클라우드 스토리지에 요청하여 다운로드 받기 위한 다운로드부;를 포함하고,
상기 다운로드부는 가용할 세션의 수를 복수개로 설정하기 위한 세션 정의부; 상기 설정된 복수개의 세션에 복수개의 고정 사이즈의 파일 블록을 각각 할당하기 위한 세션 할당부; 및 상기 할당된 복수개의 세션을 통해 상기 할당된 복수개의 고정 사이즈의 파일 블록을 각각 다운로드 받기 위한 다운로드 수행부를 포함하며,
상기 세션 할당부는 1개의 클라우드 파일의 다운로드 시 최대 N개의 세션 중 최초에 n개(n은 N 이하의 수)의 세션을 할당하여 이용하다가 이후 블록 요청 시에 할당하는 세션의 개수를 n개 이상으로 순차적으로 늘려 사용하는 것을 특징으로 하는 클라우드 파일 다운로드 장치.A cloud file download device included in the user terminal for accelerating execution of a VFS (Virtual File System) based cloud file through an OS (Operating System) of the user terminal,
A file fragment request receiver for receiving a request for a file fragment of a variable size for a cloud file from the VFS; And
Including; a download unit for downloading by requesting the cloud storage to download a file block of a fixed size preset for the cloud file instead of the requested variable size file fragment,
The download unit includes a session defining unit for setting the number of available sessions to a plurality; A session allocator for allocating a plurality of fixed sized file blocks to the set plurality of sessions; And a download performing unit for downloading each of the allocated plurality of fixed sized file blocks through the allocated plurality of sessions,
The session allocator initially allocates and uses n sessions (n is a number of N or less) among maximum N sessions when one cloud file is downloaded, and then increases the number of sessions allocated when a block is requested later to n or more. A cloud file download device, characterized in that sequentially increasing and using.
상기 세션 할당부는 상기 설정된 복수개의 세션에 상기 복수개의 고정 사이즈의 파일 블록을 각각 상기 요청받은 파일 조각의 순서에 따라 순차적으로 할당하는 것을 특징으로 하는 클라우드 파일 다운로드 장치.The method of claim 1,
The session allocator sequentially allocates the plurality of fixed sized file blocks to the set plurality of sessions according to the order of the requested file fragments.
상기 할당된 복수개의 고정 사이즈의 파일 블록은 서로 다른 클라우드 파일의 파일 블록을 포함하는 것을 특징으로 하는 클라우드 파일 다운로드 장치.The method of claim 1,
The cloud file download apparatus, characterized in that the allocated plurality of fixed-size file blocks include file blocks of different cloud files.
상기 파일조각요청수신부는 SMB(Server Message Block) 프로토콜 또는 NFS(Network File System) 프로토콜에 따라 가변 사이즈의 파일 조각을 요청받는 것을 특징으로 하는 클라우드 파일 다운로드 장치.The method of claim 1,
The file fragment request receiver receives a request for a file fragment of a variable size according to a Server Message Block (SMB) protocol or a Network File System (NFS) protocol.
상기 파일조각요청수신부는 POSIX(Portable Operating System Interface)를 기초로 OS가 VFS에 해당 파일 접근 요청 시 VFS로부터 가변 사이즈의 파일 조각을 요청받는 것을 특징으로 하는 클라우드 파일 다운로드 장치.The method of claim 1,
The file fragment request receiving unit receives a request for a variable sized file fragment from the VFS when the OS requests access to the corresponding file from the VFS based on POSIX (Portable Operating System Interface).
상기 기 설정된 고정 사이즈의 파일 블록의 크기는 상기 가변 사이즈의 파일 조각의 크기 이상인 것을 특징으로 하는 클라우드 파일 다운로드 장치.The method of claim 1,
The cloud file download device, characterized in that the size of the preset fixed-size file block is greater than or equal to the size of the variable-size file fragment.
(a) VFS로부터 클라우드 파일에 대한 가변 사이즈의 파일 조각을 요청받는 단계; 및
(b) 상기 요청받은 가변 사이즈의 파일 조각 대신 해당 클라우드 파일에 대해 기 설정된 고정 사이즈의 파일 블록의 다운로드를 클라우드 스토리지에 요청하여 다운로드 받기 위한 단계;를 포함하고,
상기 단계 (b)는,
(b-1) 가용할 세션의 수를 복수개로 설정하기 위한 단계;
(b-2) 상기 설정된 복수개의 세션에 복수개의 고정 사이즈의 파일 블록을 각각 할당하기 위한 단계; 및
(b-3) 상기 할당된 복수개의 세션을 통해 상기 할당된 복수개의 고정 사이즈의 파일 블록을 각각 다운로드 받기 위한 단계를 포함하며,
상기 단계 (b-2)는 1개의 클라우드 파일의 다운로드 시 최대 N개의 세션 중 최초에 n개(n은 N 이하의 수)의 세션을 할당하여 이용하다가 이후 블록 요청 시에 할당하는 세션의 개수를 n개 이상으로 순차적으로 늘려 사용하는 것을 특징으로 하는 클라우드 파일 다운로드 방법.As a method performed by the user terminal when an application installed in a VFS (Virtual File System) based cloud storage is requested to be executed through an OS (Operating System) of the user terminal,
(a) receiving a request for a file fragment of a variable size for a cloud file from VFS; And
(b) requesting and downloading a file block of a fixed size preset for the cloud file instead of the requested variable sized file fragment from the cloud storage;
The step (b),
(b-1) setting the number of sessions to be available to a plurality;
(b-2) allocating a plurality of fixed-size file blocks to the set plurality of sessions, respectively; And
(b-3) including the step of downloading each of the allocated plurality of fixed sized file blocks through the allocated plurality of sessions,
In step (b-2), when one cloud file is downloaded, n sessions (n is a number of N or less) are initially allocated and used, and then the number of sessions allocated when a block is requested is determined. Cloud file download method, characterized in that the use of sequentially increasing n or more.
상기 단계 (b-2)는 상기 설정된 복수개의 세션에 상기 복수개의 고정 사이즈의 파일 블록을 각각 상기 요청받은 파일 조각의 순서에 따라 순차적으로 할당하는 것을 특징으로 하는 클라우드 파일 다운로드 방법.The method of claim 7,
In the step (b-2), the plurality of fixed-size file blocks are sequentially allocated to the set plurality of sessions according to the order of the requested file fragments.
상기 할당된 복수개의 고정 사이즈의 파일 블록은 서로 다른 클라우드 파일의 파일 블록을 포함하는 것을 특징으로 하는 클라우드 파일 다운로드 방법.The method of claim 7,
The cloud file downloading method, characterized in that the allocated plurality of fixed-size file blocks include file blocks of different cloud files.
상기 단계 (a)는 SMB(Server Message Block) 프로토콜 또는 NFS(Network File System) 프로토콜에 따라 가변 사이즈의 파일 조각을 요청받는 것을 특징으로 하는 클라우드 파일 다운로드 방법.The method of claim 7,
The step (a) is a cloud file download method, characterized in that receiving a request for a file fragment of a variable size according to the SMB (Server Message Block) protocol or NFS (Network File System) protocol.
상기 단계 (a)는 POSIX(Portable Operating System Interface)를 기초로 OS가 VFS에 해당 파일 접근 요청 시 VFS로부터 가변 사이즈의 파일 조각을 요청받는 것을 특징으로 하는 클라우드 파일 다운로드 방법.The method of claim 7,
The step (a) is a cloud file download method, characterized in that, based on a POSIX (Portable Operating System Interface), when an OS requests a VFS to access a corresponding file, a file fragment of a variable size is requested from the VFS.
상기 고정 사이즈의 파일 블록의 크기는 상기 가변 사이즈의 파일 조각의 크기 이상으로 설정된 것을 특징으로 하는 클라우드 파일 다운로드 방법.The method of claim 7,
The cloud file downloading method, characterized in that the size of the fixed-size file block is set to be greater than or equal to the size of the variable-size file fragment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180124879A KR102156313B1 (en) | 2018-10-19 | 2018-10-19 | Cloud file download apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180124879A KR102156313B1 (en) | 2018-10-19 | 2018-10-19 | Cloud file download apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200046187A KR20200046187A (en) | 2020-05-07 |
KR102156313B1 true KR102156313B1 (en) | 2020-09-15 |
Family
ID=70733590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180124879A KR102156313B1 (en) | 2018-10-19 | 2018-10-19 | Cloud file download apparatus and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102156313B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100582375B1 (en) * | 2004-11-30 | 2006-05-22 | 주식회사 팬택 | Method for downloading contents partition |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101089509B1 (en) * | 2009-10-15 | 2011-12-05 | 주식회사 클루넷 | Cloud computing network system and file distrubuting method of the same |
KR20130064292A (en) | 2011-12-08 | 2013-06-18 | 한국전자통신연구원 | Cloud service system and method for smart phone |
KR101848981B1 (en) * | 2015-11-06 | 2018-04-13 | 주식회사 엘지유플러스 | Apparatus and Method for executing Application installed in Cloud Storage |
-
2018
- 2018-10-19 KR KR1020180124879A patent/KR102156313B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100582375B1 (en) * | 2004-11-30 | 2006-05-22 | 주식회사 팬택 | Method for downloading contents partition |
Also Published As
Publication number | Publication date |
---|---|
KR20200046187A (en) | 2020-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102201676B1 (en) | Method and server for controlling the relocation of MEC applications | |
CN107547746B (en) | Resource allocation method and related product | |
US9998531B2 (en) | Computer-based, balanced provisioning and optimization of data transfer resources for products and services | |
US7370174B2 (en) | Method, system, and program for addressing pages of memory by an I/O device | |
JP6754734B2 (en) | Resource management device in RAN slice and resource management method in RAN slice | |
US20120331144A1 (en) | Native Cloud Computing via Network Segmentation | |
US11223576B2 (en) | Providing and using a distributed forwarding service | |
CN110837479B (en) | Data processing method, related equipment and computer storage medium | |
CN113228593A (en) | Database integrated external certificateless scratch pad | |
KR101848981B1 (en) | Apparatus and Method for executing Application installed in Cloud Storage | |
US20200175387A1 (en) | Hierarchical dynamic deployment of ai model | |
US11818576B2 (en) | Systems and methods for low latency cloud computing for mobile applications | |
US20160077881A1 (en) | Managing a workload in an environment | |
CN106657182B (en) | Cloud file processing method and device | |
US10237233B2 (en) | Allocating identifiers with minimal fragmentation | |
US9213711B2 (en) | Hardware contiguous memory region tracking | |
KR102156313B1 (en) | Cloud file download apparatus and method | |
US9690711B2 (en) | Scheduler training for multi-module byte caching | |
US11132230B2 (en) | Managing quality of service in a network file share environment | |
KR20150082781A (en) | Method and user terminal for controlling routing dynamically | |
US20230319118A1 (en) | Method for network-side and client side activation of the edge servers in 5g media streaming architecture | |
CN108628551B (en) | Data processing method and device | |
US11310860B2 (en) | Dynamic quality of service (QOS) based channel in wireless network | |
KR101973293B1 (en) | Apparatus and Method for executing Application installed in Cloud Storage | |
US11740978B2 (en) | Edged cloud application backup |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |