KR101973353B1 - Apparatus and Method for executing Application installed in Cloud Storage - Google Patents

Apparatus and Method for executing Application installed in Cloud Storage Download PDF

Info

Publication number
KR101973353B1
KR101973353B1 KR1020190027502A KR20190027502A KR101973353B1 KR 101973353 B1 KR101973353 B1 KR 101973353B1 KR 1020190027502 A KR1020190027502 A KR 1020190027502A KR 20190027502 A KR20190027502 A KR 20190027502A KR 101973353 B1 KR101973353 B1 KR 101973353B1
Authority
KR
South Korea
Prior art keywords
file
size
block
fragment
file fragment
Prior art date
Application number
KR1020190027502A
Other languages
Korean (ko)
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 KR1020190027502A priority Critical patent/KR101973353B1/en
Application granted granted Critical
Publication of KR101973353B1 publication Critical patent/KR101973353B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

The present invention relates to a method for accelerating the execution of an application installed in cloud storage for increasing the execution speed of an application installed in cloud storage on a network by minimizing a delay of application execution time due to network download. The method performed by a user terminal for accelerating the execution of an application installed in a virtual file system (VFS) based cloud storage through an operating system (OS) of the user terminal comprises: a step (a) of receiving a request of a file fragment for a specific application from the VFS; a step (b) of determining, as a block size, either a first reference size or a second reference size larger than the first reference size, by using size information or file fragment position information of the file fragment; a step (c) of requesting a file block of the block size to the cloud storage and storing the file block in an internal area; a step (d) of providing the file fragment to a corresponding OS based on the stored file block; and a step (e) of inquiring whether a cache file corresponding to the file fragment exists in the internal cache area. Therefore, by minimizing the delay of application execution time due to the network download compared to the existing one, it is possible to increase the execution speed of the application installed in the cloud storage on the network.

Description

클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치 및 방법{Apparatus and Method for executing Application installed in Cloud Storage}[0001] The present invention relates to an apparatus and method for accelerating an application installed in a cloud storage,

본 발명은 사용자 단말에서 네트워크 상의 클라우드 스토리지(Cloud Storage)에 설치된 애플리케이션을 실행하기 위한 기술에 관한 것으로, 보다 상세하게는 네트워크 상의 클라우드 스토리지 영역을 외장 메모리로 인식할 수 있도록 개발된 사용자 단말에서 클라우드 스토리지로 이동 설치된 애플리케이션의 실행 속도를 가속시키기 위한 기술에 관한 것이다.The present invention relates to a technology for executing an application installed in a cloud storage on a network in a user terminal, and more particularly, to a technology for managing a cloud storage To a technique for accelerating the execution speed of an installed application.

가상 파일 시스템(Virtual File System: VFS)은 실제 파일 시스템 위의 추상 계층이다. VFS의 목적은 클라이언트 응용 프로그램(또는 애플리케이션이라 칭함)이 여러 파일 시스템에 같은 방법으로 접근할 수 있게 하는 것이다. 이를테면 VFS를 사용하면 클라이언트 응용 프로그램은 로컬인 기억 장치 및 네트워크 상의 기억 장치(또는 클라우드 스토리지라 칭함)에 직접적으로 접근할 수 있기 때문에 로컬과 네트워크의 차이를 느끼지 못한다. 또한, 마이크로소프트 윈도, 맥 오에스, 유닉스 등과 같은 운영 체제(Operating System: OS)의 차이를 넘어 파일 시스템의 차이를 느끼는 일 없이 접근할 수 있다.The Virtual File System (VFS) is an abstraction layer on the physical file system. The purpose of a VFS is to allow a client application (or application) to access multiple file systems in the same way. For example, using VFS, client applications can directly access local storage and storage on the network (or cloud storage), so they do not feel the difference between local and network. In addition, it can be accessed without feeling the difference of operating system (OS) such as Microsoft Windows, Mac OS, Unix, etc., and difference of file system.

VFS는 커널과 실제 파일 시스템과의 인터페이스나 규격을 정의하고 있다. 그러므로 그 규격에 따라 간단히 새로운 파일 시스템을 커널에 추가할 수 있다. 파일 시스템은 새로운 공개 버전과의 호환성을 위해 수정하거나 다시 컴파일해야 할 수도 있다. 아니면 운영 체제에서 규격 변경에 대해 하위 호환 모드로 동작한다면 각 파일 시스템은 새로운 버전의 운영 체제에서도 그대로 사용할 수 있다.VFS defines the interfaces and specifications of the kernel and the actual file system. Therefore, you can simply add a new file system to the kernel according to that specification. The file system may need to be modified or recompiled for compatibility with new open versions. Or, if the operating system is operating in backward compatibility mode for the specification changes, each file system can be used in the new version of the operating system.

SMB(server message block)는 윈도즈 95나 윈도즈 NT 등 윈도 환경에 사용되는 파일/인쇄기 공유 프로토콜로, 윈도의 통신망 설정으로서 TCP/IP 또는 NetBEUI(Net BIOS extended user interface)를 통신망 어댑터로 묶어 사용할 수 있다. 이는 네트웨어 클라이언트와 함께 널리 사용되고 있는데, 원래는 MS-Networks나 LAN 관리자 등 NetBEUI 환경에서 사용되었다. NetBEUI의 패킷은 통신망 식별자를 가지고 있지 않기 때문에 라우터를 거쳐야만 접속될 수 있는데, SMB를 기초로 응용한다면 라우터를 뛰어넘어 연결할 수 있게 하는 프로토콜이 있다. 이것을 CIFS(Common Internet File System)라고 한다. SMB(CIFS)의 장점은 표준 클라이언트 환경으로 된 윈도가 처음부터 구비된 데다, 네트워크 파일 시스템(NFS) 클라이언트나 IPr/IPd 등 유닉스 표준 응용을 사용한 경우보다 SMB를 사용한 쪽이 운용상 쉽고 간편하다는 점이다.SMB (server message block) is a file / printer sharing protocol used in Windows environment such as Windows 95 or Windows NT. TCP / IP or NetBEUI (Net BIOS extended user interface) . It is widely used with NetWare clients, originally used in NetBEUI environments such as MS-Networks or LAN Manager. Because NetBEUI packets do not have a network identifier, they can only be accessed through routers. If you are using SMB as a base, there is a protocol that allows you to connect beyond routers. This is called Common Internet File System (CIFS). The advantage of SMB (CIFS) is that it is easier and easier to operate SMB than when using Windows as a standard client environment and using Unix standard applications such as Network File System (NFS) client or IPr / IPd to be.

NFS(Network File System)은 1984년에 썬 마이크로시스템즈가 개발한 프로토콜이다. 클라이언트 컴퓨터의 사용자가 네트워크 상의 파일을 직접 연결된 스토리지에 접근하는 방식과 비슷한 방식으로 접근하도록 도와 준다. 다른 수많은 프로토콜과 마찬가지로 ONC RPC 시스템을 기반으로 한다. 네트워크 파일 시스템은 RFC에 정의된 오픈 표준이므로 누구나 구현할 수 있다.Network File System (NFS) is a protocol developed by Sun Microsystems in 1984. Helps a user on a client computer access files on the network in a similar way to accessing directly attached storage. Like many other protocols, it is based on the ONC RPC system. The network file system is an open standard defined in the RFC, so anyone can implement it.

기존에는 클라우드 서비스를 가상 파일 시스템화 하여 외장 메모리 영역으로 제공하는 스마트폰 단말기에서 클라우드 영역에 이동 설치된 응용 애플리케이션의 실행을 요청하면 해당 애플리케이션이 4Kbytes ~ 1024Kbytes의 가변 조각 파일로 다운로드 되어 실행되므로, 단말기의 VFS 영역에서는 빈번하게 작은 단위로 해당 애플리케이션의 파일 조각을 요청하게 되고, 이로 인해 애플리케이션에 따라 SD메모리 카드와 같은 물리적 외장 저장 장치에 애플리케이션 파일이 저장된 것에 비해 실행 속도가 크게 느려지는 현상이 발생하는 문제점이 있었다.Conventionally, when a smartphone terminal that provides a cloud service as a virtual file system to an external memory area is requested to execute an application installed in the cloud area, the application is downloaded and executed as a variable fragment file of 4 Kbytes to 1024 Kbytes, The application frequently requests a file fragment of a corresponding application in a small area. This causes a problem that the execution speed of the application is significantly slower than that of an application file stored in a physical external storage device such as an SD memory card there was.

이에 대한 문제점을 해결하고자 사용자 단말기에서 네트워크 상의 클라우드 스토리지에 설치된 애플리케이션의 실행 시 클라우드 스토리지로부터 다운로드 받는 애플리케이션의 파일 조각 사이즈를 고정 사이즈의 파일 블록으로 고정하여 다운로드 받아 실행 속도를 향상할 수 있었다.In order to solve this problem, the file fragment size of the application downloaded from the cloud storage when the application installed in the cloud storage on the network is fixed in the user terminal is fixed as a fixed size file block, and the execution speed can be improved.

하지만, 고정 사이즈의 파일 블록으로 다운로드 받음으로 발생하는 불필요한 부분의 다운로드와 다운로드 횟수에 따른 구동 시간 증가의 문제점이 존재하여 실행 속도 향상을 위한 방법이 필요하다.However, there is a problem in downloading unnecessary part caused by downloading as a fixed size file block and increase in driving time depending on the number of downloads, and a method for improving the execution speed is needed.

공개특허공보 제10-2013-0064292호(2013.06.18 공개)Open Patent Publication No. 10-2013-0064292 (published on June 18, 2013)

본 발명은 전술한 종래의 문제점을 해결하기 위한 것으로, 그 목적은 네트워크 다운로드로 인한 애플리케이션 실행 시간의 지연 및 불필요한 영역의 다운로드를 최소화하여 네트워크 상의 클라우드 스토리지에 설치된 애플리케이션의 실행 시 실행 속도를 향상하기 위한, 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems and it is an object of the present invention to minimize the delay of application execution time due to network downloading and the downloading of unnecessary area to improve the execution speed upon execution of applications installed in the cloud storage on the network , And an apparatus and method for accelerating execution of an application installed in a cloud storage.

즉, 사용자 단말에서 네트워크 상의 클라우드 스토리지에 설치된 애플리케이션의 실행 시 클라우드 스토리지로부터 다운로드 받는 애플리케이션 파일의 조각 사이즈를 특정 사이즈로 고정하여 다운로드 받아 해당 애플리케이션의 실행 속도를 향상하기 위한 것이다.That is, the user terminal downloads the application file downloaded from the cloud storage when the application installed in the cloud storage on the network is fixed to a specific size and downloads the application file to improve the execution speed of the application.

전술한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 사용자 단말의 OS(Operation System)를 통해 VFS(Virtual File System) 기반 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위해, 상기 사용자 단말에 포함되는 장치는 상기 VFS로부터 특정 애플리케이션에 대한 파일 조각을 요청받는 파일 조각 요청 수신부; 상기 파일 조각의 사이즈정보 또는 파일조각위치정보를 사용하여 제1 기준사이즈 또는 상기 제1 기준사이즈보다 큰 제2 기준사이즈 중 어느 하나를 블록사이즈로 결정하는 사이즈 결정부; 상기 블록사이즈의 파일 블록을 상기 클라우드 스토리지에 요청하여 내부 영역에 저장하는 파일 저장부; 저장된 상기 파일 블록을 기초로 상기 파일 조각을 해당 OS로 제공하는 파일 조각 제공부; 및 상기 내부 캐시 영역에 상기 파일 조각에 해당하는 캐시 파일이 존재하는지 여부를 조회하는 캐시 조회부;를 포함하여 구성된다.In order to accomplish the above object, in order to accelerate an application installed in a VFS (Virtual File System) -based cloud storage through an operating system (OS) of a user terminal according to an aspect of the present invention, A file fragment request receiving unit for receiving a file fragment for a specific application from the VFS; A size determining unit that determines either a first reference size or a second reference size that is larger than the first reference size as a block size by using the size information of the file fragment or the file fragment position information; A file storage unit for requesting a file block of the block size to the cloud storage and storing the file block in an internal area; A file fragment providing unit for providing the file fragment to a corresponding OS based on the stored file block; And a cache inquiry unit for inquiring whether or not a cache file corresponding to the file fragment exists in the internal cache area.

전술한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 사용자 단말의 OS(Operation System)를 통해 VFS(Virtual File System) 기반 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위해, 상기 사용자 단말에서 수행하는 방법은 (a) 상기 VFS로부터 특정 애플리케이션에 대한 파일 조각을 요청받는 단계; (b) 상기 파일 조각의 사이즈정보 또는 파일조각위치정보를 사용하여 제1 기준사이즈 또는 상기 제1 기준사이즈보다 큰 제2 기준사이즈 중 어느 하나를 블록사이즈로 결정하는 단계; (c) 상기 블록사이즈의 파일 블록을 상기 클라우드 스토리지에 요청하여 내부 영역에 저장하는 단계; (d) 저장된 상기 파일 블록을 기초로 상기 파일 조각을 해당 OS로 제공하는 단계; 및 (e) 상기 내부 캐시 영역에 상기 파일 조각에 해당하는 캐시 파일이 존재하는지 여부를 조회하는 단계;를 포함하는 이뤄진다.In order to achieve the above object, a method performed by the user terminal for accelerating an application installed in a VFS (Virtual File System) -based cloud storage through an operating system (OS) of a user terminal according to an aspect of the present invention includes: (a) receiving a file fragment for a specific application from the VFS; (b) determining, as a block size, either a first reference size or a second reference size larger than the first reference size, using the size information or the file fragment position information of the file fragment; (c) requesting the file block of the block size to the cloud storage and storing the file block in the internal area; (d) providing the file fragments to a corresponding OS based on the stored file blocks; And (e) inquiring whether or not a cache file corresponding to the file fragment exists in the internal cache area.

이상에서 설명한 바와 같이 본 발명의 다양한 측면에 따르면, 사용자 단말에서 네트워크 상의 클라우드 스토리지에 설치된 애플리케이션의 실행 시 클라우드 스토리지로부터 다운로드 받는 애플리케이션 파일의 조각 사이즈를 파일 조각 사이즈 또는 클라우드 스토리지 상 파일 조각 위치정보를 고려하여 특정 블록의 사이즈를 고정하여 다운로드 받음으로써, 기존 대비 네트워크 다운로드로 인한 애플리케이션 실행 시간의 지연을 최소화하여 네트워크 상의 클라우드 스토리지에 설치된 애플리케이션의 실행 시 실행 속도를 향상할 수 있다.As described above, according to various aspects of the present invention, when a user terminal downloads a fragment size of an application file downloaded from a cloud storage when executing an application installed in a cloud storage on a network, the fragment size of the application file or the cloud storage image file fragment location information is considered By fixing the size of a specific block and downloading it, it is possible to minimize the delay in application execution time due to the network download compared to the existing one, thereby improving the execution speed when an application installed in the cloud storage on the network is executed.

도 1은 본 발명이 적용되는 통신 시스템의 구성도,
도 2는 본 발명의 실시예에 따른 사용자 단말의 구성도,
도 3은 본 발명의 실시예에 따른 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 장치의 구성도,
도 4는 본 발명의 제1실시예에 따른 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법의 흐름도,
도 5는 본 발명의 제2실시예에 따른 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법의 흐름도,
도 6은 본 발명의 실시예에 따른 파일 조각과 파일 블록의 관계도의 예시.
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 an apparatus for accelerating an application installed in a cloud storage according to an embodiment of the present invention;
4 is a flowchart of a method for accelerating an application installed in a cloud storage according to the first embodiment of the present invention;
5 is a flowchart of a method for accelerating an application installed in a cloud storage according to a second embodiment of the present invention;
6 is an illustration of a relationship diagram of a file fragment and a file block according to an embodiment of the present invention.

이하, 첨부도면을 참조하여 본 발명의 실시예에 대해 구체적으로 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 통신 시스템의 구성도를 도시한 것으로, 본 발명이 적용된 통신 시스템은 통신망(1), 사용자 단말(2) 및 클라우드 스토리지(3)를 포함할 수 있다.1 is a block diagram of a communication system according to an embodiment of the present invention. The communication system to which the present invention is applied may include a communication network 1, a user terminal 2, and a cloud storage 3.

통신망(1)은 사용자 단말(2)과 클라우드 스토리지(3) 간을 유선, 무선 및/또는 인터넷 등으로 연결하여 통신할 수 있도록 하는 단독 또는 복합의 어떤 망이어도 좋다.The communication network 1 may be a single network or a composite network that enables communication between the user terminal 2 and the cloud storage 3 by wire, wireless, and / or internet.

사용자 단말(2)은 적어도 클라우드 스토리지(3)와 통신할 수 있는 모바일 단말 장치로, 예를 들어 음성 통신, 영상 통신, 데이터 통신 및 인터넷 통신 등이 가능한 이동통신 단말기, PDA, 스마트 폰, 테블릿 PC 등 중 하나일 수 있다.The user terminal 2 is a mobile terminal device capable of communicating at least with the cloud storage 3, and may be a mobile terminal device capable of, for example, voice communication, video communication, data communication and Internet communication, a PDA, PC or the like.

클라우드 스토리지(3)는 통신망(1) 상의 저장장치로 사용자 단말(2)이 통신망(1)을 통해 언제 어디서든지 접속할 수 있는 저장장치이다.The cloud storage 3 is a storage device on the communication network 1 and a storage device by which the user terminal 2 can access anytime and anywhere via the communication network 1. [

본 발명은 사용자 단말(2)과 클라우드 스토리지(3)를 포함한 모든 시스템에 적용될 수 있는 발명이나, 이하 본 발명에 따른 실시예를 설명함에 있어서는 사용자 단말(2)에 안드로이드(Android) 기반 OS가 설치되어 있는 그 대상을 일 예로 한다.The present invention can be applied to all systems including the user terminal 2 and the cloud storage 3. In the following description of the embodiment of the present invention, an Android-based OS is installed in the user terminal 2 This is an example.

본 발명의 실시예에서 사용자 단말(2)은 사용자 단말(2)의 애플리케이션이 인터널온리(Internalonly) 옵션으로 컴파일되지 않는 경우, 사용자 단말(2)의 내부 메모리(Internal Memory)에 있는 APK(Android application Package) 파일에서 SO(Shared Object)파일을 추출하고 ASEC(Android Secure Encrypted files)로 암호화하여 외장 메모리 영역으로 이동이 가능한데, 이 경우 외장 메모리 영역을 네트워크(1) 상의 클라우드 스토리지(3)로 할당하는 경우 해당 ASEC 파일은 클라우드 스토리지(3)에 저장되고, 사용자 단말(2)은 클라우드 스토리지(3)에 저장(설치)된 해당 애플리케이션을 다운로드하여 실행한다. 이때, 사용자 단말(2)은 SMB 또는 NFS 프로토콜(Protocol)을 이용하여 클라우드 스토리지(3)에서 파일을 다운로드한다.The user terminal 2 in the embodiment of the present invention is able to access the APK (Android) in the internal memory of the user terminal 2 when the application of the user terminal 2 is not compiled with the Internalonly option. In this case, the external memory area is allocated to the cloud storage 3 on the network 1, and the external storage area is allocated to the cloud storage 3 on the network 1. In this case, The corresponding ASEC file is stored in the cloud storage 3 and the user terminal 2 downloads and executes the corresponding application stored in (installed in) the cloud storage 3. At this time, the user terminal 2 downloads the file from the cloud storage 3 using the SMB or NFS protocol.

도 2는 본 발명의 실시예에 따른 사용자 단말의 세부 구성도를 도시한 것으로, 사용자 단말(2)은 OS(Operating System)(21), VFS(Virtual File system)(22), 클라우드 파일 시스템(23) 및 클라우드 파일 캐시(24)를 포함할 수 있다.FIG. 2 is a detailed configuration diagram of a user terminal according to an embodiment of the present invention. The user terminal 2 includes an operating system (OS) 21, a virtual file system (VFS) 22, a cloud file system 23 and a cloud file cache 24.

OS(21)는 사용자 단말(2)에 설치된 운영 체제로 안드로이드 계열, iOS 계열, 윈도우 계열, 블랙베리 및 심비안을 포함하는 모든 운영 체제가 가능하지만, 본 실시예에서는 안드로이드 기반 OS를 일 예로 설명한다.The OS 21 is an operating system installed in the user terminal 2, and can be any operating system including an Android series, an iOS series, a Windows series, a BlackBerry, and a Symbian. In this embodiment, an Android-based OS is described as an example .

VFS(22)은 커널과 실제 파일 시스템과의 인터페이스나 규격을 정의하고서 OS(21)와 클라우드 파일 시스템(23) 간의 통신을 매개하기 위한 것으로, 전술한 VFS의 기능과 동일하므로 자세한 설명은 생략한다.The VFS 22 defines interfaces and specifications of the kernel and the actual file system to mediate communication between the OS 21 and the cloud file system 23 and is the same as the function of the VFS described above, .

사용자 단말(2)에서 네트워크(1) 상의 클라우드 스토리지(3)에 설치된 애플리케이션의 실행 시, 클라우드 파일 시스템(23)은 VFS(22)로부터 요청된 파일 조각(a)의 사이즈정보 또는 파일조각위치를 사용하여 특정 사이즈의 파일 블록(b)을 결정하고, 결정한 특정 사이즈의 파일 블록(b)을 클라우드 스토리지(3)로부터 다운로드 받아 해당 애플리케이션의 실행 속도를 가속하기 위한 시스템이다.The cloud file system 23 stores the size information of the file fragment a requested from the VFS 22 or the file fragment position at the time of execution of the application installed in the cloud storage 3 on the network 1 in the user terminal 2 Is a system for determining a file block (b) of a specific size by using the file block (b) and for accelerating the execution speed of the application by downloading the file block (b) of the determined specific size from the cloud storage (3).

여기서 파일 블록(b)은 도 6에 도시한 바와 같이 파일 조각(a)을 포괄한 영역이다. 구체적으로는, 파일 조각(a)은 VFS(22)과 클라우드 파일 시스템(23)간 요청되거나 제공되는 파일을 파일 조각(a)이라고 정의하며, 클라우드 파일 시스템(23)과 클라우드 스토리지(3)간 전송되는 파일로서 상기 파일 조각(a)에 대응하여 사이즈 결정부(233)에 의해 결정된 사이즈의 파일을 파일 블록(b)이라고 정의한다. Here, the file block (b) is an area encompassing the file fragment (a) as shown in Fig. Concretely, the file fragment (a) defines a file requested or provided between the VFS 22 and the cloud file system 23 as a file fragment (a), and between the cloud file system 23 and the cloud storage 3 A file having a size determined by the size determination unit 233 corresponding to the file fragment (a) as a file to be transmitted is defined as a file block (b).

클라우드 파일 캐시(24)는 클라우드 파일 시스템(23)의 내부 영역을 나타내는 것으로 구체적으로는 내부 캐시 영역(캐시 저장 영역)이다. 예를 들어, 클라우드 파일 시스템(23)이 클라우드 스토리지(3)로부터 다운로드 받은 파일 블록(b)을 내부 캐시 영역(24)에 캐시 파일로 저장할 수 있다.The cloud file cache 24 represents an internal area of the cloud file system 23, specifically an internal cache area (cache storage area). For example, the cloud file system 23 may store the file block b downloaded from the cloud storage 3 in the internal cache area 24 as a cache file.

이하 언급하는 내부 영역은 사용자 단말 내부의 내부 캐시 영역을 나타내고, 내부 캐시 영역에 저장되는 모든 종류의 데이터 또는 파일은 캐시 파일이라고 통칭할 수 있다. 이하 언급하는 기 설정된 사이즈는 제1 기준사이즈 또는 상기 제2 기준사이즈 중 어느 하나에 해당한다.The internal area mentioned below represents an internal cache area in the user terminal, and all kinds of data or files stored in the internal cache area can be referred to as a cache file. The predetermined size mentioned below corresponds to either the first reference size or the second reference size.

도 3은 본 발명의 실시예에 따른 클라우드 스토리지(3)에 설치된 애플리케이션의 가속 실행을 위한 장치의 구성도를 도시한 것으로 도 2에 도시한 클라우드 파일 시스템(23)의 세부 구성을 나타낸 것이다. 클라우드 파일 시스템(23)은 파일 조각 요청 수신부(231), 캐시 조회부(232), 사이즈 결정부(233), 파일 저장부(234) 및 파일 조각 제공부(235)를 포함할 수 있다.FIG. 3 shows a configuration of an apparatus for accelerating execution of an application installed in the cloud storage 3 according to an embodiment of the present invention, and shows the detailed configuration of the cloud file system 23 shown in FIG. The cloud file system 23 may include a file fragment request receiving unit 231, a cache inquiry unit 232, a size determination unit 233, a file storage unit 234, and a file fragment providing unit 235.

파일 조각 요청 수신부(231)는 사용자 단말(2)의 OS(Operation System)(21)를 통해 네트워크(1) 상의 클라우드 스토리지(3)에 설치된 애플리케이션의 실행 시 VFS(22)로부터 해당 애플리케이션에 대한 가변 사이즈의 파일 조각 요청을 수신한다.The file fragment request receiving unit 231 receives the file fragment request from the VFS 22 when executing an application installed in the cloud storage 3 on the network 1 via the operating system 21 of the user terminal 2, Size file fragment request.

예를 들어, 파일 조각 요청 수신부(231)는 POSIX(Portable Operating System Interface)로 기초로 OS(21)가 VFS(22)에 해당 파일 접근 요청 시 VFS(22)로부터 SMB(Server Message Block) 프로토콜 또는 NFS(Network File System) 프로토콜에 따라 가변 사이즈의 파일 조각(a)을 요청받을 수 있으며, 본 실시예에서 가변 사이즈의 파일 조각(a)은 4Kbytes ~ 1024Kbytes의 크기 중 특정 어느 한 크기를 갖는다.For example, the file fragment request receiving unit 231 receives an SMB (Server Message Block) protocol from the VFS 22 when the OS 21 requests the file access to the VFS 22 based on POSIX (Portable Operating System Interface) A variable size file fragment (a) may be requested according to an NFS (Network File System) protocol. In this embodiment, the variable size file fragment (a) has a certain size of 4 Kbytes to 1024 Kbytes.

캐시 조회부(232)는 파일 조각 요청 수신부(231)를 통해 요청받은 해당 애플리케이션의 파일 조각(a)에 대응하는 캐시 파일이 내부 캐시 영역으로서의 클라우드 파일 캐시(24)에 존재하는지 여부를 조회한다.The cache inquiry unit 232 inquires of the file fragment request receiving unit 231 whether the cache file corresponding to the file fragment (a) of the requested application exists in the cloud file cache 24 as the internal cache area.

캐시 조회부(232)의 캐시 조회 결과 캐시 저장 영역(24)에 해당 캐시 파일이 존재하지 않으면, 사이즈 결정부(233)는 파일 조각(a)의 사이즈정보 또는 파일조각위치정보를 사용하여 제1 기준사이즈 또는 제1 기준사이즈보다 큰 제2 기준사이즈 중 어느 하나를 블록사이즈로 결정한다.If the cache file does not exist in the cache inquiry result cache storage area 24 of the cache inquiry unit 232, the size determining unit 233 determines the size of the first cache file using the size information of the file fragment (a) And determines either the reference size or the second reference size larger than the first reference size as the block size.

여기서 파일 조각(a)의 사이즈정보는 파일 조각(a)의 사이즈를 포함한 정보를 의미하고, 이하 언급하는 파일 조각(a)의 사이즈정보는 파일 조각(a)의 사이즈와 동등한 의미로 사용된다.Here, the size information of the file fragment (a) means information including the size of the file fragment (a), and the size information of the file fragment (a) mentioned below is used in a meaning equivalent to the size of the file fragment (a).

여기서 블록사이즈는 파일 블록(b)의 사이즈이고, 여기서 제1 기준사이즈와 제2 기준사이즈는 4Kbytes ~ 1024Kbytes의 크기 중 특정 어느 한 크기로 4 이상의 2의 승수가 적합하고, 제2 기준사이즈는 제1 기준사이즈보다 크다.Here, the block size is the size of the file block (b), where the first reference size and the second reference size are suitable for a multiplier of 4 or more in any one of the sizes of 4 Kbytes to 1024 Kbytes, 1 larger than the reference size.

여기서 파일조각위치정보는 클라우드 스토리지(3) 상 파일 조각(a)의 위치정보와 기존 다운로드 받은 파일 조각(a)의 위치 정보의 이력을 포함하고, 사이즈 결정부(233)는 파일조각위치정보로 각 옵셋(Offset) 간의 거리 값을 알 수 있다.Here, the file fragmentation location information includes the location information of the file fragment (a) on the cloud storage 3 and the history of the location information of the already downloaded file fragment (a), and the size determination unit 233 You can see the distance between each offset.

사이즈 결정부(233)는 파일 조각(a)의 사이즈정보와 기 설정된 사이즈를 사용하여 블록사이즈를 제1 기준사이즈 또는 제2 기준사이즈 중 어느 하나로 결정한다. 파일 조각(a)의 사이즈가 기 설정된 사이즈 이하일 경우 블록사이즈를 제1 기준사이즈로 결정하고, 파일 조각(a)의 사이즈가 기 설정된 사이즈를 초과하는 경우 블록사이즈를 제2 기준사이즈로 결정한다.The size determining unit 233 determines the block size as either the first reference size or the second reference size using the size information of the file fragment (a) and the predetermined size. The block size is determined as the first reference size when the size of the file fragment (a) is smaller than the predetermined size, and the block size is determined as the second reference size when the size of the file fragment (a) exceeds the predetermined size.

예를 들어, 파일 조각(a)의 사이즈정보와 제1 기준사이즈를 비교하여 파일 조각(a)의 사이즈정보가 제1 기준사이즈 이하이면 사이즈 결정부(233)는 제1 기준사이즈를 블록사이즈(이하 '제1 예비블록사이즈')로 결정하고, 파일 조각(a)의 사이즈정보가 제1 기준사이즈를 초과하면 사이즈 결정부(233)는 제2 기준사이즈를 블록사이즈(이하 '제1 예비블록사이즈')로 결정한다.For example, when the size information of the file fragment (a) is compared with the first reference size and the size information of the file fragment (a) is equal to or smaller than the first reference size, the size determination section 233 determines the first reference size as the block size If the size information of the file fragment (a) exceeds the first reference size, the size determining unit 233 determines the second reference size as a block size (hereinafter, referred to as 'first spare block size' Size ').

또 다른 예시로, 사이즈 결정부(233)는 파일조각위치정보를 사용하여 블록사이즈를 결정하되, 구체적으로는 파일조각위치정보와 기 설정된 사이즈를 사용하여 블록사이즈를 제1 기준사이즈 또는 제2 기준사이즈 중 어느 하나로 결정한다.As another example, the size determination unit 233 determines the block size using the file fragment position information, specifically, by using the file fragment position information and the predetermined size, the block size is determined as the first reference size or the second reference size Size is determined.

예를 들어, 파일조각위치정보에 포함된 기 다운로드 받은 파일 조각(a)의 위치정보 및 다운로드 받아야 할 파일 조각(a)의 위치정보 간의 거리 차(이하 '옵셋(offset) 간 거리')를 기 설정된 사이즈와 비교하여 블록사이즈(이하 '제2 예비블록사이즈')를 결정한다. 옵셋 간 거리가 기 설정된 사이즈를 초과하는 경우 사이즈 결정부(233)는 제2 기준사이즈를 블록사이즈로 결정하고, 옵센 간 거리가 기 설정된 사이즈 이하이면 사이즈 결정부(233)는 제1 기준사이즈를 블록사이즈로 결정한다. 여기서 기 설정된 사이즈는 제2 기준사이즈가 적합하다고 볼 수 있다.For example, if the difference in distance between the position information of the downloaded file fragment (a) included in the file fragment position information and the position information of the file fragment (a) to be downloaded (hereinafter referred to as 'offset distance' And determines a block size (hereinafter referred to as a 'second spare block size') in comparison with the set size. When the distance between the offsets exceeds the preset size, the size determining unit 233 determines the block size as the second reference size, and if the distance between the opsens is less than the predetermined size, the size determining unit 233 determines the first reference size The block size is determined. Here, the predetermined size may be regarded as the second reference size.

또 다른 예시로, 사이즈 결정부(233)는 파일 조각(a)의 사이즈정보와 파일조각위치정보를 사용하여 블록사이즈를 결정할 수 있는데, 구체적으로는 제1 예비블록사이즈와 제2 예비블록사이즈 중 큰 값을 블록사이즈로 결정한다. 제1 예비블록사이즈가 제1 기준사이즈일 경우, 사이즈 결정부(233)는 결정한 제2 예비블록사이즈와 제1 예비블록사이즈 중 큰 값을 블록사이즈로 최종 결정할 수 있다. 만약, 제1 예비블록사이즈가 제2 기준사이즈일 경우, 사이즈 결정부(233)는 제2 예비블록사이즈를 결정하지 않고 제1 예비블록사이즈를 블록사이즈로 최종 결정할 수도 있다.As another example, the size determination unit 233 can determine the block size using the size information of the file fragment (a) and the file fragment position information. More specifically, the size determination unit 233 may determine the block size using the first spare block size and the second spare block size The larger value is determined as the block size. If the first spare block size is the first reference size, the size determining unit 233 can finally determine a larger one of the determined second spare block size and the first spare block size as the block size. If the first spare block size is the second reference size, the size determining unit 233 may determine the first spare block size as the block size without determining the second spare block size.

여기서 기 설정된 사이즈에 포함되는 제1 기준사이즈와 제2 기준사이즈는 4Kbytes ~ 1024Kbytes의 크기 중 특정 어느 한 크기로 4 이상의 2의 승수가 적합하고, 제2 기준사이즈는 제1 기준사이즈보다 크다. 또한, 제1 예비블록사이즈와 제2 예비블록사이즈는 제1 기준사이즈 와 제2 기준사이즈 중 어느 한 값이다.Here, the first reference size and the second reference size included in the predetermined size are suitable for a multiplier of 4 or more in a specific size of 4 Kbytes to 1024 Kbytes, and the second reference size is larger than the first reference size. The first spare block size and the second spare block size are either a first reference size or a second reference size.

파일 조각 제공부(235)는 파일 저장부(234)에 저장된 캐시 파일을 기초로 VFS(22)로부터 요청받은 파일 조각(a)을 해당 OS(21)로 제공하며, 일 예로 캐시 조회부(232)의 캐시 조회 결과 캐시 저장 영역(24)에 해당 캐시 파일이 존재하면 그 존재하는 캐시 파일을 기초로 해당 파일 조각(a)을 해당 OS(21)로 제공하고, 다른 예로 캐시 조회부(232)의 캐시 조회 결과 캐시 저장 영역(24)에 해당 캐시 파일이 존재하지 않으면 전술한 바와 같이 다운로드하여 저장된 파일 블록(b)의 캐시 파일을 기초로 해당 파일 조각(a)을 해당 OS(21)로 제공한다.The file fragment providing unit 235 provides the file fragment a requested from the VFS 22 to the corresponding OS 21 based on the cache file stored in the file storage unit 234, If the corresponding cache file exists in the cache inquiry result storage area 24 of the cache memory 24, the corresponding file fragment a is provided to the corresponding OS 21 based on the existing cache file, (A) is provided to the corresponding OS 21 based on the cache file of the file block (b) downloaded and stored as described above if the corresponding cache file does not exist in the cache inquiry result storage area 24 of the cache inquiry result storage area 24 do.

이하 본 발명의 실시예에 따른 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법의 흐름도를 도시한 것으로, 도 1~3의 장치에 적용되므로 해당 장치의 동작과 병행하여 설명한다.Hereinafter, a flow chart of a method for accelerating execution of an application installed in a cloud storage according to an embodiment of the present invention will be described in parallel with the operation of the corresponding apparatus since it is applied to the apparatuses shown in Figs.

도 4는 본 발명의 제1실시예에 따른 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법의 흐름도를 도시한 것이다.4 is a flowchart of a method for accelerating an application installed in a cloud storage according to the first embodiment of the present invention.

POSIX(Portable Operation System Interface)를 기초로 OS(21)가 VFS(22)에 해당 파일 접근 요청 시, 클라우드 파일 시스템(23)은 VFS(22)로부터 SMB(Server Message Block) 프로토콜 및 NFS(Network File System) 프로토콜을 포함하는 프로토콜에 따라 특정 애플리케이션에 대한 파일 조각(a)을 요청받는다(S101).When the OS 21 requests the file access to the VFS 22 based on POSIX (Portable Operation System Interface), the cloud file system 23 receives the Server Message Block (SMB) protocol and Network File (NFS) System) protocol according to a protocol including a protocol (S101).

클라우드 파일 시스템(23)은 내부 캐시 영역에 파일 조각(a)에 해당하는 캐시 파일이 존재하는지 여부를 조회하고(최초 파일 접근 시)(S103), 캐시 파일이 존재하지 않으면(S104), 파일 조각(a)의 사이즈정보 또는 파일조각위치정보를 사용하여 제1 기준사이즈 또는 제2 기준사이즈 중 어느 하나를 블록사이즈로 결정한다(S105).The cloud file system 23 inquires whether there is a cache file corresponding to the file fragment a in the internal cache area (at the time of first file access) (S103), and if there is no cache file (S104) (S105), either the first reference size or the second reference size is determined as the block size by using the size information or the file fragment position information of (a).

예를 들어, 파일 조각(a)의 사이즈정보와 기 설정된 사이즈를 사용하여 블록사이즈를 결정하되, 파일 조각(a)의 사이즈정보와 기 설정된 사이즈를 비교하여 파일 조각(a)의 사이즈가 기 설정된 사이즈 이하이면 클라우드 파일 시스템(23)은 제1 기준사이즈를 블록사이즈(이하 '제1 예비블록사이즈')로 결정하고, 파일 조각(a)의 사이즈정보가 기 설정된 사이즈를 초과하면 클라우드 파일 시스템(23)은 제2 기준사이즈를 블록사이즈(이하 '제1 예비블록사이즈')로 결정한다. 여기서 기 설정된 사이즈는 제1 기준사이즈가 적합하다고 볼 수 있다.For example, the block size is determined using the size information and the predetermined size of the file fragment (a), and the size information of the file fragment (a) is compared with the preset size, and the size of the file fragment The cloud file system 23 determines the first reference size as a block size (hereinafter, referred to as a 'first spare block size'). If the size information of the file fragment (a) exceeds the predetermined size, the cloud file system 23 determines the second reference size as a block size (hereinafter, referred to as 'first spare block size'). Here, the predetermined size may be regarded as the first reference size.

또 다른 예시로, 파일조각위치정보를 사용하여 블록사이즈를 결정하며 구체적으로는 파일조각위치정보와 기 설정된 사이즈를 사용하여 블록사이즈를 결정한다. 파일조각위치정보에 포함된 기 다운로드 받은 파일 조각(a)의 위치정보 및 다운로드 받아야 할 파일 조각(a)의 위치정보 간의 거리 차(이하 '옵셋(offset) 간 거리')를 기 설정된 사이즈와 비교하여 블록사이즈(이하 '제2 예비블록사이즈')를 결정한다. 옵셋 간 거리가 기 설정된 사이즈 이하이면 클라우드 파일 시스템(23)은 제1 기준사이즈를 블록사이즈로 결정하고, 옵센 간 거리가 기 설정된 사이즈를 초과하면 클라우드 파일 시스템(23)은 제2 기준사이즈를 블록사이즈로 결정한다. 여기서 기 설정된 사이즈는 제2 기준사이즈가 적합하다고 볼 수 있다.As another example, the block size is determined using the file fragment position information, and more specifically, the block size is determined using the file fragment position information and the predetermined size. (Hereinafter referred to as 'distance between offsets') between the position information of the downloaded file fragment (a) included in the file fragment position information and the position information of the file fragment (a) to be downloaded is compared with a preset size To determine a block size (hereinafter, referred to as 'second spare block size'). If the distance between the offsets is less than the predetermined size, the cloud file system 23 determines the first reference size as the block size, and if the distance between the opsens exceeds the predetermined size, the cloud file system 23 sets the second reference size Size. Here, the predetermined size may be regarded as the second reference size.

또 다른 예시로, 클라우드 파일 시스템(23)은 파일 조각(a)의 사이즈정보와 파일조각위치정보를 사용하여 블록사이즈를 결정할 수 있는데, 구체적으로는 제1 예비블록사이즈와 제2 예비블록사이즈 중 큰 값을 블록사이즈로 결정한다. 제1 예비블록사이즈가 제1 기준사이즈일 경우, 클라우드 파일 시스템(23)은 결정한 제2 예비블록사이즈와 제1 예비블록사이즈 중 큰 값을 블록사이즈로 최종 결정할 수 있다. 만약, 제1 예비블록사이즈가 제2 기준사이즈일 경우, 클라우드 파일 시스템(23)은 제2 예비블록사이즈를 결정하지 않고 제1 예비블록사이즈를 블록사이즈로 최종 결정할 수도 있다.In another example, the cloud file system 23 can determine the block size using the size information of the file fragment (a) and the file fragment position information. Specifically, the first spare block size and the second spare block size The larger value is determined as the block size. If the first spare block size is the first reference size, the cloud file system 23 can finally determine a larger value of the determined second spare block size and the first spare block size as the block size. If the first spare block size is the second reference size, the cloud file system 23 may finally determine the first spare block size as the block size without determining the second spare block size.

클라우드 파일 시스템(23)은 특정 애플리케이션에 대해 결정한 블록사이즈의 파일 블록(b)을 클라우드 스토리지에 요청하여(S106-a) 다운로드 받아(S106-b) 내부 캐시 영역에 저장하고(S107), 저장된 파일 블록(b)의 캐시 파일을 기초로 파일 조각(a)을 해당 OS로 제공한다(S109).The cloud file system 23 asks the cloud storage for the file block b having the block size determined for the specific application (S106-a), downloads it (S106-b) and stores it in the internal cache area (S107) The file fragment (a) is provided to the corresponding OS based on the cache file of the block (b) (S109).

도 5는 본 발명의 제2실시예에 따른 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법의 흐름도를 도시한 것이다.5 is a flowchart illustrating a method for accelerating an application installed in a cloud storage according to a second embodiment of the present invention.

POSIX(Portable Operation System Interface)를 기초로 OS(21)가 VFS(22)에 해당 파일 접근 요청 시, 클라우드 파일 시스템(23)은 VFS(22)로부터 SMB(Server Message Block) 프로토콜 및 NFS(Network File System) 프로토콜을 포함하는 프로토콜에 따라 특정 애플리케이션에 대한 파일 조각(a)을 요청받는다(S201).When the OS 21 requests the file access to the VFS 22 based on POSIX (Portable Operation System Interface), the cloud file system 23 receives the Server Message Block (SMB) protocol and Network File (NFS) (A) is requested for a specific application according to a protocol including a protocol (System) protocol (S201).

클라우드 파일 시스템(23)은 내부 캐시 영역에 파일 조각(a)에 해당하는 캐시 파일이 존재하는지 여부를 조회하고(N번째 접근 요청 시)(S203), 캐시 파일이 존재하면, 캐시 파일을 기초로 파일 조각(a)을 해당 OS(21)로 제공한다(S205).The cloud file system 23 inquires whether there is a cache file corresponding to the file fragment (a) in the internal cache area (at the Nth access request) (S203). If the cache file exists, And provides the file fragment (a) to the OS 21 (S205).

캐시 파일이 존재하지 않으면(S206), 클라우드 파일 시스템(23)은 파일 조각(a)의 사이즈정보 및 파일조각위치정보를 사용하여 제1 기준사이즈 또는 제2 기준사이즈 중 어느 하나를 블록사이즈로 결정한다(S207).If the cache file does not exist (S206), the cloud file system 23 determines either the first reference size or the second reference size as the block size using the size information of the file fragment (a) and the file fragment position information (S207).

블록사이즈를 결정하는 방법은 도 4에 도시한 S105 단계를 설명하면서 이미 설명하였음으로 자세한 설명은 생략한다.The method of determining the block size has already been described with reference to step S105 shown in FIG. 4, and a detailed description thereof will be omitted.

특정 애플리케이션에 대해 결정한 블록사이즈의 파일 블록(b)을 클라우드 스토리지(3)에 요청하여(S208-a) 다운로드 받아(S208-b) 내부 캐시 영역에 저장한다(S209).The file block b having the block size decided for the specific application is requested to the cloud storage 3 (S208-a), downloaded (S208-b) and stored in the internal cache area (S209).

저장된 파일 블록(b)의 캐시 파일을 기초로 파일 조각(a)을 해당 OS(21)로 제공한다(S211).(A) to the OS 21 based on the cache file of the stored file block (b) (S211).

전술한 본 발명의 실시예에 따라 Play Store에서 상위 100개 중 크기/종류별 다양한 20개의 애플리케이션을 3군으로 구분하여 시뮬레이션을 수행한 결과를 선행기술과 비교하여 표1에 도시하였다.According to the embodiment of the present invention, 20 different applications of size / type among the top 100 in the Play Store are classified into three groups and the simulation results are shown in Table 1 in comparison with the prior art.

[표 1][Table 1]

Figure 112019024624013-pat00001
Figure 112019024624013-pat00001

구체적으로는, 표 1에서는 애플리케이션이 사용자 단말의 내부 메모리에서 a) SD메모리 카드로 이동한 경우, b) 클라우드 스토리지 영역에 이동한 일반적인 경우(일반), c) 클라우드 스토리지 영역에 이동하여 블록사이즈를 고정 사이즈(시뮬레이션에서는 1M 사이즈)로 결정한 경우(고정 1M), d) 클라우드 스토리지 영역에 이동하여 파일 조각 사이즈와 제1 기준사이즈를 사용하여 블록사이즈를 결정한 경우(Case1) 및 클라우드 스토리지 영역에 이동하여 파일조각위치정보와 제2 기준사이즈를 사용하여 블록사이즈를 결정한 경우(Case2)에 대해 각 10회 시뮬레이션하여 측정한 결과를 토대로 실행 지연률을 계산한 것이다. 여기서 제1 기준사이즈는 512KB, 제2 기준사이즈는 1MB로 정하여 시뮬레이션했으며, 본 시뮬레이션 환경은 제1 기준사이즈와 제2 기준사이즈를 한정하지 않는다.Specifically, in Table 1, when the application moves from the internal memory of the user terminal to a) SD memory card, b) the general case of moving to the cloud storage area (general), c) (Case 1) when the block size is determined using the file fragment size and the first reference size (Case 1), and when the block size is determined (fixed size 1M in the simulation) The execution delay rate is calculated based on the results of simulation of 10 times of the case where the block size is determined using the file fragment position information and the second reference size (Case 2). Here, the first reference size is 512 KB, the second reference size is 1 MB, and the simulation environment does not define the first reference size and the second reference size.

각 애플리케이션 별로 편차가 발생하지만, Case1, 고정 IM, Case2 순서로 개선이 많이 되었고, Case1, Case2 및 고정 1M 순으로 다운로드 오버헤드가 최소화되었다.Deviations were made for each application, but improvements were made in order of Case1, Fixed IM, and Case2, and download overhead was minimized in Case1, Case2, and Fixed 1M.

1군에 해당하는 애플리케이션은 20개 중 9개로 SD메모리 카드일 경우에 대비하여 실행 지연이 기존 1.29배에서 1.23배로 줄어 평균적으로 18% 개선되었고, SD메모리 카드 대비 실행 지연이 적은 것을 확인할 수 있다. 2군에 해당하는 애플리케이션은 20개 중 6개로 SD메모리 카드일 경우에 대비하여 실행 지연이 기존 1.82배에서 1.52배로 줄어 평균적으로 32% 개선되어 개선 효과가 높은 것을 확인할 수 있다. 3군에 해당하는 애플리케이션은 20개 중 5개로 SD메모리 카드일 경우에 대비하여 실행 지연이 2.04배에서 2배로 줄어 평균적으로 2.7%로 개선되어 개선 효과가 미비하다.In the first group of applications, 9 out of 20 SD memory cards, the execution delay has decreased from 1.29 times to 1.23 times, which is an average of 18% improvement compared to SD memory cards. 6 applications out of 20 are in the second group. As a result, the execution delay is reduced from 1.82 times to 1.52 times in comparison with the case of SD memory card, and the average improvement is 32%. In the third group, 5 out of 20 applications, the execution delay decreased from 2.04 times to twice as much as that of SD memory cards, resulting in an average improvement of 2.7%.

1군 및 2군에 해당하는 애플리케이션에 대해서 평균 24%가 개선 되어 SD메모리 카드 대비 실행속도는 기존 1.5배에서 1.33배로 개선되었다. For applications in the first and second groups, the average speed was improved by 24%, and the execution speed of the SD memory card was improved from 1.5 times to 1.33 times.

한편, 전술한 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 구현할 수 있다.Meanwhile, according to the method for accelerating execution of an application installed in the cloud storage, a computer-readable recording medium on which a program for executing the method is stored can be implemented.

또 한편, 전술한 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법에 따르면 해당 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션을 구현할 수 있다.In addition, according to a method for accelerating execution of an application installed in the above-described cloud storage, an application stored in a computer-readable recording medium may be implemented to execute the method in combination with hardware.

또 다른 한편, 전술한 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램을 구현할 수 있다.On the other hand, a computer program stored in a computer-readable recording medium for implementing a method for accelerating execution of an application installed in the above-described cloud storage may be implemented in the computer.

예를 들어, 전술한 바와 같이 본 발명의 실시예에 따른 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위한 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 기록 매체 또는 이러한 기록 매체에 저장된 애플리케이션으로 구현될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록 매체는 본 발명의 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.For example, as described above, a method for accelerating execution of an application installed in a cloud storage according to an embodiment of the present invention includes a computer-readable recording medium including program instructions for performing various computer-implemented operations, May be implemented as an application stored on a medium. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The recording medium may be those specially designed and constructed for the embodiments of the present invention or may be those known to those skilled in the computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and ROMs, And hardware devices specifically configured to store and execute the same program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, 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 construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within 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: 파일 조각 제공부
a: 파일 조각 b: 파일 블록
1: communication network (or network) 2: user terminal
3: Cloud Storage 21: Operating System (OS)
22: VFS (Virtual File System) 23: Cloud File System
24: CLEARED FILE Cache 231: File fragment request receiver
232: cache inquiry unit 233: size determining unit
234: file storage unit 235:
a: file fragment b: file block

Claims (25)

사용자 단말의 OS(Operation System)를 통해 VFS(Virtual File System) 기반 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위해, 상기 사용자 단말에 포함되는 장치로서,
상기 VFS로부터 특정 애플리케이션에 대한 파일 조각을 요청받는 파일 조각 요청 수신부;
상기 파일 조각의 파일조각위치정보를 사용하여 제1 기준사이즈 또는 상기 제1 기준사이즈보다 큰 제2 기준사이즈 중 어느 하나를 블록사이즈로 결정하는 사이즈 결정부;
상기 블록사이즈의 파일 블록을 상기 클라우드 스토리지에 요청하여 내부 영역에 저장하는 파일 저장부; 및
저장된 상기 파일 블록을 기초로 상기 파일 조각을 해당 OS로 제공하는 파일 조각 제공부;를 포함하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
An apparatus for accelerating an application installed in a VFS (Virtual File System) -based cloud storage through an operating system (OS) of a user terminal,
A file fragment request receiving unit for receiving a file fragment for a specific application from the VFS;
A size determination unit for determining, as a block size, any one of a first reference size or a second reference size larger than the first reference size by using the file fragment position information of the file fragment;
A file storage unit for requesting a file block of the block size to the cloud storage and storing the file block in an internal area; And
And a file fragment providing unit for providing the file fragment to the corresponding OS based on the stored file block.
제1항에 있어서,
상기 사이즈 결정부는 상기 파일조각위치정보와 파일 조각의 사이즈 정보를 사용하여 상기 블록사이즈를 상기 제1 기준사이즈 또는 상기 제2 기준사이즈 중 어느 하나로 결정하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method according to claim 1,
Wherein the size determination unit determines the block size as either the first reference size or the second reference size using the file fragment position information and the file fragment size information. Device.
제1항에 있어서,
상기 내부 영역은 상기 사용자 단말 내부의 내부 캐시 영역인 것을 특징으로을 포함하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method according to claim 1,
Wherein the internal area is an internal cache area in the user terminal.
제3항에 있어서,
상기 내부 캐시 영역에 상기 파일 조각에 해당하는 캐시 파일이 존재하는지 여부를 조회하는 캐시 조회부;를 더 포함하고,
상기 파일 저장부는 상기 캐시 파일이 존재하지 않으면 상기 블록사이즈의 파일 블록을 상기 클라우드 스토리지에 요청하여 상기 내부 캐시 영역에 저장하고,
상기 파일 조각 제공부는 저장된 상기 파일 블록의 캐시 파일을 기초로 상기 파일 조각을 해당 OS로 제공하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method of claim 3,
And a cache inquiry unit for inquiring whether or not a cache file corresponding to the file fragment exists in the internal cache area,
Wherein the file storage unit requests the file block of the block size from the cloud storage if the cache file does not exist and stores the block in the internal cache area,
Wherein the file fragment providing unit provides the file fragment to the corresponding OS based on the cache file of the file block stored in the storage unit.
제4항에 있어서,
상기 파일 조각 제공부는 상기 캐시 파일이 존재하면 상기 캐시 파일을 기초로 상기 파일 조각을 해당 OS로 제공하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
5. The method of claim 4,
Wherein the file fragment providing unit provides the file fragment to the corresponding OS based on the cache file if the cache file exists.
제1항에 있어서,
상기 사이즈 결정부는 파일조각위치정보와 기 설정된 사이즈를 사용하여 상기 블록사이즈를 상기 제1 기준사이즈 또는 상기 제2 기준사이즈 중 어느 하나로 결정하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method according to claim 1,
Wherein the size determining unit determines the block size to be either the first reference size or the second reference size using the file fragment position information and the predetermined size.
제6항에 있어서,
상기 기 설정된 사이즈는 상기 제1 기준사이즈 또는 상기 제2 기준사이즈 중 어느 하나에 해당하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method according to claim 6,
Wherein the predetermined size corresponds to one of the first reference size and the second reference size.
제7항에 있어서,
상기 사이즈 결정부는 기 다운로드 받은 파일 조각의 위치정보 및 다운로드 받아야 할 파일 조각의 위치정보 간의 거리 차를 기 설정된 사이즈와 비교하여
상기 거리 차가 상기 기 설정된 사이즈 이하일 경우 상기 블록사이즈를 상기 제1 기준사이즈로 결정하고, 상기 거리 차가 상기 기 설정된 사이즈를 초과하는 경우 상기 블록사이즈를 상기 제2 기준사이즈로 결정하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
8. The method of claim 7,
The size determining unit compares the difference in distance between the location information of the downloaded file fragments and the location information of the file fragments to be downloaded to a preset size
Determining the block size as the first reference size when the distance difference is less than or equal to the predetermined size and determining the block size as the second reference size when the distance difference exceeds the preset size. Accelerated execution of applications installed in storage.
제1항에 있어서,
상기 파일조각위치정보는 상기 클라우드 스토리지 상 파일 조각의 위치정보를 포함하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method according to claim 1,
Wherein the file fragment location information includes location information of the file fragment on the cloud storage image.
제1항에 있어서,
상기 파일 조각 요청 수신부는 SMB(Server Message Block) 프로토콜 및 NFS(Network File System) 프로토콜을 포함하는 프로토콜에 따라 파일 조각을 요청받는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method according to claim 1,
Wherein the file fragment request receiving unit receives a file fragment according to a protocol including an SMB (Server Message Block) protocol and an NFS (Network File System) protocol.
제1항에 있어서,
상기 파일 조각 요청 수신부는 POSIX(Portable Operation System Interface)를 기초로 OS가 VFS에 해당 파일 접근 요청 시 상기 VFS로부터 상기 파일 조각을 요청받는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 장치.
The method according to claim 1,
Wherein the file slice request receiving unit receives the file slice from the VFS when the OS requests a file access to the VFS based on POSIX (Portable Operation System Interface).
사용자 단말의 OS(Operation System)를 통해 VFS(Virtual File System) 기반 클라우드 스토리지에 설치된 애플리케이션의 가속 실행을 위해, 상기 사용자 단말에서 수행되는 방법으로서,
(a) 상기 VFS로부터 특정 애플리케이션에 대한 파일 조각을 요청받는 단계;
(b) 상기 파일 조각의 파일조각위치정보를 사용하여 제1 기준사이즈 또는 상기 제1 기준사이즈보다 큰 제2 기준사이즈 중 어느 하나를 블록사이즈로 결정하는 단계;
(c) 상기 블록사이즈의 파일 블록을 상기 클라우드 스토리지에 요청하여 내부 영역에 저장하는 단계; 및
(d) 저장된 상기 파일 블록을 기초로 상기 파일 조각을 해당 OS로 제공하는 단계; 를 포함하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
A method performed at the user terminal for accelerated execution of an application installed in a VFS (Virtual File System) -based cloud storage through an operating system (OS) of a user terminal,
(a) receiving a file fragment for a specific application from the VFS;
(b) determining as a block size any one of a first reference size or a second reference size larger than the first reference size by using the file fragment position information of the file fragment;
(c) requesting the file block of the block size to the cloud storage and storing the file block in the internal area; And
(d) providing the file fragments to a corresponding OS based on the stored file blocks; A method of accelerating an application installed in a cloud storage.
제12항에 있어서,
상기 (b) 단계는 상기 파일조각위치정보와 파일 조각의 사이즈 정보를 사용하여 상기 블록사이즈를 상기 제1 기준사이즈 또는 상기 제2 기준사이즈 중 어느 하나로 결정하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
13. The method of claim 12,
Wherein the step (b) determines the block size to be either the first reference size or the second reference size by using the file fragment position information and the file fragment size information. How to accelerate.
제12항에 있어서,
상기 내부 영역은 상기 사용자 단말 내부의 내부 캐시 영역인 것을 특징으로을 포함하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
13. The method of claim 12,
Wherein the internal area is an internal cache area in the user terminal.
제14항에 있어서,
(e) 상기 내부 캐시 영역에 상기 파일 조각에 해당하는 캐시 파일이 존재하는지 여부를 조회하는 단계;를 더 포함하고,
상기 단계 (c)는 상기 캐시 파일이 존재하지 않으면 상기 블록사이즈의 파일 블록을 상기 클라우드 스토리지에 요청하여 상기 내부 캐시 영역에 저장하고,
상기 단계 (d)는 저장된 상기 파일 블록의 캐시 파일을 기초로 상기 파일 조각을 해당 OS로 제공하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
15. The method of claim 14,
(e) inquiring whether or not a cache file corresponding to the file fragment exists in the internal cache area,
If the cache file does not exist, the step (c) requests the file block of the block size to the cloud storage and stores the file block in the internal cache area,
Wherein the step (d) provides the file fragment to the corresponding OS based on the cache file of the file block.
제15항에 있어서,
상기 단계 (d)는 상기 캐시 파일이 존재하면 상기 캐시 파일을 기초로 상기 파일 조각을 해당 OS로 제공하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
16. The method of claim 15,
Wherein the step (d) provides the file fragment to the corresponding OS based on the cache file if the cache file exists.
제12항에 있어서,
상기 단계 (b)는 파일조각위치정보와 기 설정된 사이즈를 사용하여 상기 블록사이즈를 상기 제1 기준사이즈 또는 상기 제2 기준사이즈 중 어느 하나로 결정하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
13. The method of claim 12,
Wherein the step (b) determines the block size to be either the first reference size or the second reference size using the file fragment position information and the predetermined size. .
제17항에 있어서,
상기 기 설정된 사이즈는 상기 제1 기준사이즈 또는 상기 제2 기준사이즈 중 어느 하나에 해당하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
18. The method of claim 17,
Wherein the predetermined size corresponds to one of the first reference size and the second reference size.
제18항에 있어서,
상기 단계 (b)는 기 다운로드 받은 파일 조각의 위치정보 및 다운로드 받아야 할 파일 조각의 위치정보 간의 거리 차를 기 설정된 사이즈와 비교하여,
상기 거리 차가 상기 기 설정된 사이즈 이하일 경우 상기 블록사이즈를 상기 제1 기준사이즈로 결정하고, 상기 거리 차가 상기 기 설정된 사이즈를 초과하는 경우 상기 블록사이즈를 상기 제2 기준사이즈로 결정하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
19. The method of claim 18,
The step (b) compares the difference in distance between the location information of the downloaded file fragments and the location information of the file fragments to be downloaded with a predetermined size,
Determining the block size as the first reference size when the distance difference is less than or equal to the predetermined size and determining the block size as the second reference size when the distance difference exceeds the preset size. How to accelerate applications installed in storage.
제12항에 있어서,
상기 파일조각위치정보는 상기 클라우드 스토리지 상 파일 조각의 위치정보를 포함하는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
13. The method of claim 12,
Wherein the file fragment location information includes location information of the file fragment on the cloud storage image.
제12항에 있어서,
상기 단계 (a)는 SMB(Server Message Block) 프로토콜 및 NFS(Network File System) 프로토콜을 포함하는 프로토콜에 따라 파일 조각을 요청받는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
13. The method of claim 12,
Wherein the step (a) receives a file fragment according to a protocol including an SMB (Server Message Block) protocol and an NFS (Network File System) protocol.
제12항에 있어서,
상기 단계 (a)는 POSIX(Portable Operation System Interface)를 기초로 OS가 VFS에 해당 파일 접근 요청 시 상기 VFS로부터 상기 파일 조각을 요청받는 것을 특징으로 하는 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법.
13. The method of claim 12,
Wherein the step (a) receives the file fragment from the VFS when the OS requests the file access to the VFS based on POSIX (Portable Operation System Interface).
제12항 내지 제22항 중 어느 한 항의 상기 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium storing a program for causing a computer to execute an acceleration execution method of an application installed in the cloud storage according to any one of claims 12 to 22. 제12항 내지 제22항 중 어느 한 항의 상기 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션.22. An application stored on a computer readable recording medium for executing an accelerated execution method of an application installed in the cloud storage according to any one of claims 12 to 22 in combination with hardware. 제12항 내지 제22항 중 어느 한 항의 상기 클라우드 스토리지에 설치된 애플리케이션의 가속 실행 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램.22. A computer program stored in a computer readable recording medium for causing a computer to execute an accelerated execution method of an application installed in the cloud storage according to any one of claims 12 to 22.
KR1020190027502A 2019-03-11 2019-03-11 Apparatus and Method for executing Application installed in Cloud Storage KR101973353B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190027502A KR101973353B1 (en) 2019-03-11 2019-03-11 Apparatus and Method for executing Application installed in Cloud Storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190027502A KR101973353B1 (en) 2019-03-11 2019-03-11 Apparatus and Method for executing Application installed in Cloud Storage

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170171185A Division KR101973293B1 (en) 2017-12-13 2017-12-13 Apparatus and Method for executing Application installed in Cloud Storage

Publications (1)

Publication Number Publication Date
KR101973353B1 true KR101973353B1 (en) 2019-04-26

Family

ID=66281161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190027502A KR101973353B1 (en) 2019-03-11 2019-03-11 Apparatus and Method for executing Application installed in Cloud Storage

Country Status (1)

Country Link
KR (1) KR101973353B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130026908A (en) * 2011-09-06 2013-03-14 한국전자통신연구원 Local apparatus based on cloud and method for reading and storing file
KR20130064292A (en) 2011-12-08 2013-06-18 한국전자통신연구원 Cloud service system and method for smart phone
KR20130104111A (en) * 2012-03-13 2013-09-25 주식회사 히타치엘지 데이터 스토리지 코리아 Method for processing data in nas
US20150052354A1 (en) * 2013-08-16 2015-02-19 Vinay Purohit Distributed fragments file system
KR20170053279A (en) * 2015-11-06 2017-05-16 주식회사 엘지유플러스 Apparatus and Method for executing Application installed in Cloud Storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130026908A (en) * 2011-09-06 2013-03-14 한국전자통신연구원 Local apparatus based on cloud and method for reading and storing file
KR20130064292A (en) 2011-12-08 2013-06-18 한국전자통신연구원 Cloud service system and method for smart phone
KR20130104111A (en) * 2012-03-13 2013-09-25 주식회사 히타치엘지 데이터 스토리지 코리아 Method for processing data in nas
US20150052354A1 (en) * 2013-08-16 2015-02-19 Vinay Purohit Distributed fragments file system
KR20170053279A (en) * 2015-11-06 2017-05-16 주식회사 엘지유플러스 Apparatus and Method for executing Application installed in Cloud Storage

Similar Documents

Publication Publication Date Title
US9477499B2 (en) Managing process migration from source virtual machine to target virtual machine which are on the same operating system
EP2811404B1 (en) Virtual desktop implementation method, device and system
US8984058B2 (en) Pre-fetching remote resources
US8087017B1 (en) Trace-assisted prefetching of virtual machines in a distributed system
JP4405533B2 (en) Cache method and cache device
US9886388B2 (en) Dynamic block-level indexing for cache with overflow
US11693908B2 (en) System and methods for dynamic generation of object storage datasets from existing file datasets
KR101848981B1 (en) Apparatus and Method for executing Application installed in Cloud Storage
US20140047427A1 (en) Concurrent embedded application update and migration
US11150817B2 (en) Integrating kernel-bypass user-level file systems into legacy applications
US20230403299A1 (en) Providing Access to Data in a Secure Communication
US20090144440A1 (en) Transaction acceleration using application-specific locking
KR101973293B1 (en) Apparatus and Method for executing Application installed in Cloud Storage
EP2963880B1 (en) Data sending and processing method and router
JP2013218505A (en) Communication device and system for relaying communication between client and server
KR101973353B1 (en) Apparatus and Method for executing Application installed in Cloud Storage
US20050144290A1 (en) Arbitrary java logic deployed transparently in a network
KR20140122025A (en) Method for logical network separation and apparatus therefor
JP2018526700A (en) System and method for content storage and retrieval
US20190079875A1 (en) Efficient provisioning of virtual machines to endpoint computing environment
KR101772129B1 (en) A smart storage system of checking contents integrity
US7571221B2 (en) Installation of network services in an embedded network server
US20160048582A1 (en) Dynamic alternate keys for use in file systems utilizing a keyed index
US11934314B2 (en) Method to improve copy performance of client drive redirection with per-thread merged input/output
CN115933973B (en) Method for remotely updating data, RDMA system and storage medium

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant