KR101948988B1 - Method and Apparatus For Executing File Using Cache - Google Patents

Method and Apparatus For Executing File Using Cache Download PDF

Info

Publication number
KR101948988B1
KR101948988B1 KR1020160168272A KR20160168272A KR101948988B1 KR 101948988 B1 KR101948988 B1 KR 101948988B1 KR 1020160168272 A KR1020160168272 A KR 1020160168272A KR 20160168272 A KR20160168272 A KR 20160168272A KR 101948988 B1 KR101948988 B1 KR 101948988B1
Authority
KR
South Korea
Prior art keywords
cache
terminal
file
cloud storage
executing
Prior art date
Application number
KR1020160168272A
Other languages
Korean (ko)
Other versions
KR20180067019A (en
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 KR1020160168272A priority Critical patent/KR101948988B1/en
Publication of KR20180067019A publication Critical patent/KR20180067019A/en
Application granted granted Critical
Publication of KR101948988B1 publication Critical patent/KR101948988B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture

Abstract

상기 클라우드 스토리지 내의 파일에 대한 실행 명령을 수신하는 단계, 상기 캐시 내에 상기 파일의 실행에 필요한 파일 조각이 존재하는지 확인하는 단계 및 상기 확인 결과, 상기 파일 조각이 상기 캐시 내에 존재할 경우 상기 존재하는 파일 조각을 이용하여 상기 실행 명령을 수행하고, 상기 파일 조각이 상기 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 상기 파일에 기초하여 생성한 파일 조각을 상기 캐시에 저장하고 상기 파일 조각을 이용하여 상기 실행 명령을 수행하는 단계를 포함하고, 상기 파일은 멀티미디어 파일 또는 문서 파일 을 포함하는, 캐시(Cache)를 이용한 클라우드 스토리지 내의 파일 실행 방법이 개시된다.Receiving an execution command for a file in the cloud storage; checking whether a file fragment necessary for execution of the file exists in the cache; and if the file fragment exists in the cache, Storing the file fragments generated based on the file received from the cloud storage in the cache when the file fragment is not present in the cache, A method of executing a file in a cloud storage using a cache, the file including a multimedia file or a document file, is disclosed.

Description

캐시를 이용한 파일 실행 방법 및 그 장치{Method and Apparatus For Executing File Using Cache}METHOD AND APPARATUS FOR EXECUTING FILE USING CACHE

캐시를 이용하여 클라우드 스토리지 내의 파일을 실행하는 방법 및 장치가 개시된다.A method and apparatus for running a file in a cloud storage using a cache is disclosed.

기존의 캐시 이용 방법은 고정된 크기의 캐시를 이용하여 메모리 내의 여유공간을 효율적으로 활용하기 어렵다. 또한, 기존의 캐시 이용 방법은 캐시 내의 파일 조각에 대한 접근 빈도와 무관하게 파일 조각을 이용하여 자주 이용되는 파일 조각에 대한 접근성을 향상시키기 어렵다.It is difficult to efficiently utilize the free space in the memory by using a fixed size cache. Also, it is difficult to improve the accessibility of frequently used file fragments by using file fragments irrespective of the frequency of access to the file fragments in the cache.

메모리 내의 여유 공간을 효율적으로 활용할 수 있는 캐시 이용 방법 및 장치가 개시된다. 캐시 내의 접근 빈도에 기초하여 자주 이용되는 파일 조각에 대한 접근성을 향상시킬 수 있는 캐시 이용 방법 및 장치가 개시된다.A cache utilization method and apparatus capable of efficiently utilizing a free space in a memory is disclosed. A cache utilization method and apparatus are disclosed that can improve accessibility to frequently used file fragments based on the frequency of access in the cache.

캐시(Cache)를 이용한 클라우드 스토리지 내의 파일 실행 방법은, 상기 클라우드 스토리지 내의 파일에 대한 실행 명령을 수신하는 단계, 상기 캐시 내에 상기 파일의 실행에 필요한 파일 조각이 존재하는지 확인하는 단계 및 상기 확인 결과, 상기 파일 조각이 상기 캐시 내에 존재할 경우 상기 파일 조각을 이용하여 상기 실행 명령을 수행하고, 상기 파일 조각이 상기 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 상기 파일에 기초하여 생성한 파일 조각을 상기 캐시에 저장하고 상기 파일 조각을 이용하여 상기 실행 명령을 수행하는 단계를 포함한다.A method for executing a file in a cloud storage using a cache includes receiving an execution command for a file in the cloud storage, checking whether a file fragment necessary for execution of the file exists in the cache, Performing the execution command using the file fragment when the file fragment exists in the cache, and, if the file fragment does not exist in the cache, generating a file fragment generated based on the file received from the cloud storage Storing the file fragment in the cache and executing the execution command using the file fragment.

상기 캐시의 최소 크기는 미리 정해진 값으로 고정될 수 있고, 최대 크기는 가변적일 수 있다.The minimum size of the cache may be fixed to a predetermined value, and the maximum size may be variable.

상기 캐시의 최대 크기는 메모리 내의 여유공간에 비례하여 가변할 수 있다.The maximum size of the cache may vary in proportion to the free space in the memory.

상기 파일 조각을 상기 캐시에 저장하는 단계는, 상기 캐시가 포화 상태인지 검사하는 단계를 포함할 수 있다.The step of storing the file fragments in the cache may include checking whether the cache is saturated.

상기 검사 결과 상기 캐시가 포화 상태인 경우, 상기 캐시의 최대 크기를 상기 메모리 내의 여유공간에 비례하여 확장할 수 있다.As a result of the check, if the cache is saturated, the maximum size of the cache can be extended in proportion to the free space in the memory.

상기 파일은 멀티미디어 파일 또는 문서 파일일 수 있다. The file may be a multimedia file or a document file.

캐시를 이용하여 클라우드 스토리지 내의 파일을 실행하는 단말은, 제어 프로그램을 기록하는 메모리, 상기 제어 프로그램에 따라 동작하는 중앙 처리부 및 상기 클라우드 스토리지와 통신을 수행하는 통신 인터페이스를 포함하고, 상기 제어 프로그램은, 상기 클라우드 스토리지 내의 파일에 대한 실행 명령을 수신하는 단계, 상기 캐시 내에 상기 파일의 실행에 필요한 파일 조각이 존재하는지 확인하는 단계 및 상기 확인 결과, 상기 파일 조각이 상기 캐시 내에 존재할 경우 상기 파일 조각을 이용하여 상기 실행 명령을 수행하고, 상기 파일 조각이 상기 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 상기 파일에 기초하여 생성한 파일 조각을 상기 캐시에 저장하고 상기 파일 조각을 이용하여 상기 실행 명령을 수행하는 단계를 수행한다.A terminal for executing a file in a cloud storage using a cache includes a memory for storing a control program, a central processing unit operating in accordance with the control program, and a communication interface for communicating with the cloud storage, Receiving an execution command for a file in the cloud storage; checking whether a file fragment necessary for execution of the file exists in the cache; and if the file fragment exists in the cache, Storing the file fragments generated based on the file received from the cloud storage in the cache when the file fragment is not present in the cache and executing the execution command using the file fragment, ≪ / RTI > Performed.

상기 캐시의 최소 크기는 미리 정해진 값으로 고정될 수 있고, 최대 크기는 가변적일 수 있다.The minimum size of the cache may be fixed to a predetermined value, and the maximum size may be variable.

상기 캐시의 최대 크기는 메모리 내의 여유공간에 비례하여 가변할 수 있다.The maximum size of the cache may vary in proportion to the free space in the memory.

상기 파일 조각을 상기 캐시에 저장하는 단계는, 상기 캐시가 포화 상태인지 검사하는 단계를 포함할 수 있고, 상기 검사 결과 상기 캐시가 포화 상태인 경우, 상기 캐시의 최대 크기를 상기 메모리 내의 여유공간에 비례하여 확장할 수 있다.The step of storing the file fragments in the cache may include checking whether the cache is saturated and if the cache is saturated, determining whether the maximum size of the cache is in a free space in the memory Can be expanded proportionally.

상기 파일은 멀티미디어 파일 또는 문서 파일일 수 있다.The file may be a multimedia file or a document file.

캐시를 이용한 클라우드 스토리지 내의 파일 실행 방법은, 상기 클라우드 스토리지 내의 파일에 대한 실행 명령을 수신하는 단계, 상기 캐시 내에 상기 파일의 실행에 필요한 파일 정보가 존재하는지 확인하는 단계 및 상기 확인 결과, 상기 파일 정보가 상기 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고, 상기 파일 정보가 상기 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 상기 파일에 기초하여 생성한 파일 정보를 상기 캐시에 인큐(Enqueue) 하고, 상기 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계를 포함한다.A method of executing a file in a cloud storage using a cache includes the steps of: receiving an execution command for a file in the cloud storage; checking whether file information necessary for execution of the file exists in the cache; If the file information does not exist in the cache, file information generated based on the file received from the cloud storage is stored in the cache Enqueue the file information, and executing the execution command using the file information.

상기 파일 정보를 상기 캐시에 인큐하는 단계는, 상기 캐시가 포화 상태인지 검사하는 단계 및 상기 검사 결과 상기 캐시가 포화 상태인 경우, 상기 캐시에 디큐(Dequeue)를 수행하는 단계를 포함할 수 있다.The step of storing the file information in the cache may include checking whether the cache is saturated and performing a dequeue to the cache when the cache is saturated.

상기 존재하는 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계는, 상기 파일 정보를 상기 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 캐시에 인큐(Enqueue)하는 단계를 포함할 수 있다.The executing the execution command using the existing file information may include deleting the file information from the cache and enqueuing the deleted file information into the cache.

상기 캐시는 FIFO 기반 큐로 구현될 수 있고, 상기 파일은 애플리케이션 실행 파일일 수 있다.The cache may be implemented as a FIFO based queue, and the file may be an application executable file.

상기 파일 정보는, 상기 파일의 실행에 필요한 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소일 수 있다.The file information may be a file fragment necessary for execution of the file or a memory address where the file fragment is stored.

캐시를 이용한 클라우드 스토리지 내의 파일 실행 방법은, 상기 클라우드 스토리지 내의 파일에 대한 실행 명령을 수신하는 단계, 상기 캐시 내에 상기 파일의 실행에 필요한 파일 정보가 존재하는지 확인하는 단계 및 상기 확인 결과, 상기 파일 정보가 상기 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고 상기 파일 정보가 마지막에 디큐되도록 순서를 변경하는 단계를 포함할 수 있다.A method of executing a file in a cloud storage using a cache includes the steps of: receiving an execution command for a file in the cloud storage; checking whether file information necessary for execution of the file exists in the cache; If the file information exists in the cache, executing the execution command using the file information and changing the order of the file information to be finally decoded.

상기 파일 실행 방법은 상기 파일 정보를 상기 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 캐시에 인큐(Enqueue)하는 단계를 더 포함할 수 있다.The file execution method may further include deleting the file information from the cache and enqueuing the deleted file information into the cache.

상기 파일 정보는, 상기 파일의 실행에 필요한 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소일 수 있다. The file information may be a file fragment necessary for execution of the file or a memory address where the file fragment is stored.

캐시를 이용하여 클라우드 스토리지 내의 파일을 실행하는 단말은, 제어 프로그램을 기록하는 메모리, 상기 제어 프로그램에 따라 동작하는 중앙 처리부 및 상기 클라우드 스토리지와 통신을 수행하는 통신 인터페이스를 포함하고, 상기 제어 프로그램은, 상기 클라우드 스토리지 내의 파일에 대한 실행 명령을 수신하는 단계, 상기 캐시 내에 상기 파일의 실행에 필요한 파일 정보가 존재하는지 확인하는 단계 및 상기 확인 결과, 상기 파일 정보이고 상기 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고, 상기 파일 정보가 상기 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 상기 파일에 기초하여 생성한 파일 정보를 상기 캐시에 인큐(Enqueue) 하고, 상기 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계를 수행한다.A terminal for executing a file in a cloud storage using a cache includes a memory for storing a control program, a central processing unit operating in accordance with the control program, and a communication interface for communicating with the cloud storage, Receiving an execution command for a file in the cloud storage; checking whether file information necessary for execution of the file exists in the cache; and if the file information is present in the cache and using the file information The file information generated based on the file received from the cloud storage is enqueued into the cache when the file information does not exist in the cache, and the file information is used And executes the execution command .

상기 파일 정보를 상기 캐시에 인큐하는 단계는, 상기 캐시가 포화 상태인지 검사하는 단계 및 상기 검사 결과 상기 캐시가 포화 상태인 경우, 상기 캐시에 디큐(Dequeue)를 수행하는 단계를 포함할 수 있다.The step of storing the file information in the cache may include checking whether the cache is saturated and performing a dequeue to the cache when the cache is saturated.

상기 존재하는 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계는, 상기 파일 정보를 상기 캐시에서 삭제할 수 있고, 상기 삭제한 파일 정보를 상기 캐시에 인큐(Enqueue)할 수 있다.In the step of executing the execution command using the existing file information, the file information may be deleted from the cache, and the deleted file information may be enqueued into the cache.

상기 캐시는 FIFO 기반 큐로 구현될 수 있고, 상기 파일은 애플리케이션 실행파일일 수 있다.The cache may be implemented as a FIFO based queue, and the file may be an application executable file.

상기 파일 정보는, 상기 파일의 실행에 필요한 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소일 수 있다.The file information may be a file fragment necessary for execution of the file or a memory address where the file fragment is stored.

캐시를 이용하여 클라우드 스토리지 내의 파일을 실행하는 단말은 있어서, 제어 프로그램을 기록하는 메모리, 상기 제어 프로그램에 따라 동작하는 중앙 처리부 및 상기 클라우드 스토리지와 통신을 수행하는 통신 인터페이스를 포함하고, 상기 제어 프로그램은, 상기 클라우드 스토리지 내의 파일에 대한 실행 명령을 수신하는 단계, 상기 캐시 내에 상기 파일의 실행에 필요한 파일 정보가 존재하는지 확인하는 단계 및 상기 확인 결과, 상기 파일 정보가 상기 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고 상기 존재하는 파일 정보가 마지막에 디큐되도록 순서를 변경하는 단계를 포함한다.A terminal for executing a file in a cloud storage using a cache includes a memory for storing a control program, a central processing unit operating in accordance with the control program, and a communication interface for communicating with the cloud storage, Receiving an execution command for a file in the cloud storage; checking whether file information necessary for execution of the file exists in the cache; and if the file information exists in the cache, And executing the execution command and changing the order in which the existing file information is finally decoded.

상기 제어 프로그램은, 상기 파일 정보를 상기 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 캐시에 인큐(Enqueue)하는 단계를 더 포함할 수 있다.The control program may further include deleting the file information from the cache and enqueuing the deleted file information into the cache.

상기 파일 정보는, 상기 파일의 실행에 필요한 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소일 수 있다.The file information may be a file fragment necessary for execution of the file or a memory address where the file fragment is stored.

도 1은 단말 및 클라우드 스토리지의 블록도이다.
도 2는 캐시를 이용하여 파일을 실행하는 단말의 블록도이다.
도 3은 메모리의 여유 공간에 따라 가변하는 캐시를 도시한다.
도 4a 및 도 4b는 FIFO 기반 큐로 구현된 캐시를 도시한다.
도 5는 캐시를 이용하여 멀티미디어 파일 또는 문서 파일 실행하기 위해 방법에 대한 흐름도이다.
도 6은 캐시를 이용하여 애플리케이션 실행 파일을 실행하기 위한 방법에 대한 흐름도이다.
1 is a block diagram of a terminal and cloud storage.
2 is a block diagram of a terminal that executes a file using a cache.
FIG. 3 shows a cache that varies according to the free space of the memory.
Figures 4A and 4B illustrate caches implemented with FIFO based queues.
5 is a flowchart of a method for executing a multimedia file or document file using a cache.
6 is a flowchart of a method for executing an application executable file using a cache.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.In the following, embodiments will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It is to be understood that the embodiments described below are not intended to limit the embodiments, but include all modifications, equivalents, and alternatives to them.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used only to illustrate specific embodiments and are not intended to limit the embodiments. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

도 1은 단말 및 클라우드 스토리지의 블록도이다.1 is a block diagram of a terminal and cloud storage.

도 2는 캐시를 이용하여 파일을 실행하는 단말의 블록도이다.2 is a block diagram of a terminal that executes a file using a cache.

도 3은 메모리의 여유 공간에 따라 가변하는 캐시를 도시한다.FIG. 3 shows a cache that varies according to the free space of the memory.

도 4a 및 도 4b는 FIFO 기반 큐로 구현된 캐시를 도시한다.Figures 4A and 4B illustrate caches implemented with FIFO based queues.

설명의 편의상, 도 1 내지 도 4a 및 4b를 함께 참조하여 설명한다.1 to 4A and 4B will be described together for convenience of explanation.

단말(100)은 클라우드 스토리지(200)와 연동하여 파일을 실행시키기 위한 장치를 의미한다. 단말(100)은 PC, 휴대 전화, 태블릿 PC, 노트북, PDA 등 인터넷 접속이 가능한 이동식 및 거치식 단말(100)을 모두 포함한다. 클라우드 스토리지(200)는 네트워크 기반에서 파일을 이용할 수 있게 해주는 서비스를 지칭하는 것으로 웹 하드 등으로 표현될 수도 있다. 단말(100)과 클라우드는 유무선 네트워크를 통해 연결될 수 있다.The terminal 100 refers to a device for executing a file in cooperation with the cloud storage 200. The terminal 100 includes all mobile and mobile terminals 100 capable of accessing the Internet such as a PC, a mobile phone, a tablet PC, a notebook computer, and a PDA. The cloud storage 200 refers to a service that enables a file to be used on a network basis, and may be expressed as a web hard or the like. The terminal 100 and the cloud may be connected through a wire / wireless network.

단말(100)은 메모리(110), 중앙 처리부(120) 및 통신 인터페이스(130)를 포함한다. 메모리(110)는 제어 프로그램을 기록하고, 중앙 처리부(120)는 상기 제어 프로그램에 따라 동작하며, 통신 인터페이스(130)는 클라우드 스토리지(200)와의 통신을 수행한다. 메모리(110)는 캐시(112) 메모리(110)(이하 캐시(112)라 함)를 포함한다. 캐시(112)는 이전에 연산된 결과의 조각 또는 다른 곳에 저장된 파일의 복제본을 저장하는 메모리(110) 영역을 의미한다. 단말(100)은 캐시(112)된 파일을 이용하여 실제 파일에 접근하는 시간을 단축시킬 수 있다. 요청된 파일이 캐시(112) 내에서 발견되는 경우, 이를 캐시(112) 히트(hit)라 하고, 요청된 파일이 캐시(112) 내에서 발견되지 않는 경우 캐시(112) 미스(miss)라 한다. 캐시(112)의 크기는 메모리(110) 공간의 활용에 따라 결정될 수 있다.The terminal 100 includes a memory 110, a central processing unit 120, and a communication interface 130. The memory 110 records a control program, the central processing unit 120 operates according to the control program, and the communication interface 130 performs communication with the cloud storage 200. The memory 110 includes a cache 112 memory 110 (hereinafter referred to as a cache 112). Cache 112 refers to a memory 110 area that stores a copy of a previously computed piece of results or a file stored elsewhere. The terminal 100 can shorten the time for accessing the actual file by using the file that is cached. If the requested file is found in the cache 112, it is referred to as a cache 112 hit and if the requested file is not found in the cache 112, it is referred to as a cache 112 miss . The size of the cache 112 may be determined by utilization of the memory 110 space.

캐시(112)는 클라우드 스토리지(200) 내의 파일의 속성(또는 종류)에 따라 다르게 구성될 수 있다. 즉 접근하려는 클라우드 스토리지(200) 내의 파일이 이미지, 동영상, 음성 등의 멀티미디어 파일이거나 워드/스프레드 시트 등의 문서 파일인 경우, 캐시(112)를 메모리(110) 내의 여유공간에 따라 가변하도록 구성할 수 있다. 반면, 접근하려는 클라우드 스토리지(200) 내의 파일이 애플리케이션 실행 파일인 경우, 캐시(112)를 FIFO(First In First Out) 기반의 큐(Queue)로 구성할 수 있다.The cache 112 may be configured differently depending on the attributes (or types) of the files in the cloud storage 200. [ That is, when the file in the cloud storage 200 to be accessed is a multimedia file such as an image, a moving image, a voice, or a document file such as a word / spreadsheet, the cache 112 is configured to be variable according to the free space in the memory 110 . On the other hand, if the file in the cloud storage 200 to be accessed is an application executable file, the cache 112 can be configured as a queue based on a FIFO (First In First Out).

<멀티미디어 파일 등을 이용하기 위한 캐시>&Lt; Cache for using a multimedia file &

도 3을 참조하면, 캐시(112)는 메모리(110) 내의 공간에 따라 가변적일 수 있다. 보다 구체적으로 캐시(112)의 최소 크기는 미리 정해진 값으로 고정될 수 있다. 일실시예에 있어서, 캐시(112)의 최소 크기는 상수(constant)인 10M이거나 메모리(110) 전체 용량에 대한 일정 비율로 설정될 수 있다. 예를 들어, 메모리(110) 전체 용량이 4G이고, 상기 일정 비율이 1%인 경우, 캐시(112)의 최소 크기는 40M로 설정될 수 있다. 즉, 캐시(112)의 최소 크기는 메모리(110) 내의 여유공간과 무관하게 고정된 값을 갖는다.Referring to FIG. 3, the cache 112 may be variable according to the space in the memory 110. More specifically, the minimum size of the cache 112 may be fixed to a predetermined value. In one embodiment, the minimum size of the cache 112 may be a constant 10 M or a percentage of the total capacity of the memory 110. For example, when the total capacity of the memory 110 is 4G and the predetermined ratio is 1%, the minimum size of the cache 112 may be set to 40M. That is, the minimum size of the cache 112 has a fixed value regardless of the free space in the memory 110.

캐시(112)의 최대 크기는 메모리(110) 내의 여유공간에 비례하여 변할 수 있다. 일실시예에 있어서, 메모리(110) 전체 용량이 4G이고, 현재 사용 중인 메모리(110) 용량이 1G이고, 여유공간 대비 캐시(112) 최대 크기의 비율이 2%로 설정된 경우, 캐시(112) 최대 크기는 현재 메모리(110) 내 여유공간인 3G의 2%에 해당하는 60M로 설정될 수 있다. 이후, 사용 중인 메모리(110) 용량이 2G로 증가할 경우, 캐시(112) 최대 크기는 현재 메모리(110) 내 여유공간인 2G의 2%인 40M로 설정될 수 있다. 이와 반대로, 사용 중인 메모리(110) 용량이 500M로 감소할 경우, 캐시(112) 최대 크기는 현재 메모리(110) 내 여유공간인 3.5G의 2%인 70G로 설정될 수 있다. 즉, 캐시(112)의 최대 크기는 메모리(110) 내의 여유공간에 따라 증가하거나 감소할 수 있다. 이러한 구성을 통해 메모리(110) 내의 여유공간이 충분할 경우, 캐시(112) 크기를 증가시킴으로써 캐시(112) 이용률을 높일 수 있다.The maximum size of the cache 112 may vary in proportion to the amount of free space in the memory 110. In one embodiment, if the total capacity of the memory 110 is 4G, the capacity of the memory 110 currently in use is 1G, and the ratio of the maximum size of the cache 112 to the free space is set to 2% The maximum size may be set to 60M, corresponding to 2% of 3G, which is the free space in the current memory 110. [ Thereafter, when the capacity of the memory 110 in use increases to 2G, the maximum size of the cache 112 may be set to 40M which is 2% of 2G, which is the free space in the current memory 110. [ On the contrary, when the capacity of the memory 110 in use decreases to 500M, the maximum size of the cache 112 may be set to 70G which is 2% of 3.5G which is the free space in the current memory 110. [ That is, the maximum size of the cache 112 may increase or decrease depending on the free space in the memory 110. [ With this arrangement, cache 112 utilization can be increased by increasing the size of cache 112 when there is sufficient free space in memory 110.

<애플리케이션 실행 파일을 이용하기 위한 캐시><Cache to use application executable file>

캐시(112)는 선형 큐, 환형(Circular Queue), 더블-엔디드(Double Ended) 큐, 우선순위(Priority) 큐 등 다양한 형태의 큐를 이용하여 구현될 수 있다. 큐는 메모리의 연속적인 주소를 이용하거나 링크드 리스트(Linked-list)를 이용하여 구현할 수 있다. 링크드 리스트는 데이터들을 포인터로 연결하여 관리하는 구조를 의미한다. 링크드 리스트에서 이용되는 노드(Node)는 데이터 영역과 포인터 영역을 포함할 수 있다. FIFO(First In First Out)은 선입선출이라고도 하며, 입력된 순서에 따라 출력되는 순서가 결정되는 구조를 의미한다. 즉, 복수의 데이터에 대해 입출력을 수행할 경우 가장 먼저 입력된 데이터가 가장 먼저 출력된다. 큐의 출력되기 직전인 최후 노드를 가리키는 포인터를 프론트(Front)라 하고, 입력 직후의 최초 노드를 가리키는 포인터를 리어(Rear)라고 한다. FIFO 기반 큐에 있어서, 인큐(Enqueue)는 리어가 가리키는 위치에 새로운 노드를 추가하는 것을 의미하고, 디큐(Dequeue)는 포인터가 가리키는 위치의 노드에 저장된 정보를 반환하고, 상기 노드를 삭제하는 것을 의미한다. 예를 들어, 포인터가 프론트인 경우, 큐의 가장 앞 노드(즉, 인큐된지 가장 오래된 노드)에 저장된 정보를 반환하고, 프론트의 노드를 삭제할 수 있다. 또한, 포인터가 프론트 및 리어를 제외한 큐 내부의 노드 중 하나인 경우에도 디큐를 수행함으로써, 상기 노드에 저장된 정보를 반환하고, 상기 노드를 삭제할 수 있다. 큐에 속한 노드를 삭제할 경우에도, 상기 노드에 저장된 정보를 반환할 수 있다.The cache 112 may be implemented using various types of queues such as a linear queue, a circular queue, a double ended queue, a priority queue, and the like. A queue can be implemented using a contiguous address in memory or using a linked-list. A linked list is a structure that manages data by connecting it with a pointer. A node (Node) used in a linked list may include a data area and a pointer area. FIFO (First In First Out) is also referred to as first-in first-out (FIFO), which means a structure in which the output order is determined according to the input order. That is, when inputting / outputting a plurality of data, the first data inputted first is outputted first. The pointer pointing to the last node immediately before the queue is output is called the front, and the pointer pointing to the first node immediately after the input is called the rear. In a FIFO-based queue, Enqueue means adding a new node to the location pointed to by the rear, Dequeue means returning the information stored in the node pointed to by the pointer, and deleting the node. do. For example, if the pointer is the front, you can return information stored in the frontmost node of the queue (ie, the oldest node that was enqueued) and delete the front node. Also, even if the pointer is one of the nodes inside the queue excluding the front and the rear, the information stored in the node can be returned and the node can be deleted by performing a dequeue. Even when a node belonging to a queue is deleted, information stored in the node can be returned.

일실시예에 있어서, 애플리케이션 실행에 필요한 파일 조각이 큐 내에서 발견될 경우, 캐시(112)는 상기 파일 조각을 가진 노드를 디큐할 수 있다. 도 4a를 참조하면, 캐시(112)는 상기 파일 조각(Available Segment)을 가진 노드(404)를 디큐한다. 노드(404)를 디큐함으로써 노드(404)를 가리키던 노드(402)는 노드(404) 직후의 노드(도시되지 않음)을 가리키도록 재설정된다. 캐시(112)는 디큐된 노드(404)를 인큐할 수 있다. 도 4b를 참조하면, 캐시(112)는 디큐된 노드(404)를 인큐함으로써 리어가 가리키는 노드는 노드(404)가 되고, 노드(404)는 노드(400)을 가리키도록 변경되었다. 가장 최근에 접근된 파일 조각에 대해 위와 같이 디큐-인큐 작업을 수행함으로써 가장 최근에 참조된 파일 조각이 가장 나중에 삭제되게 함으로써 자주 참조되는 파일일수록 캐시(112)에 더 오랫동안 보관되도록 할 수 있다.In one embodiment, if a file fragment required for application execution is found in the queue, the cache 112 may dequeue the node with the file fragment. Referring to FIG. 4A, the cache 112 decodes the node 404 with the file segment (Available Segment). The node 402 that has pointed to node 404 by resynchronizing node 404 is reset to point to a node (not shown) immediately after node 404. The cache 112 may enqueue the decrypted node 404. Referring to FIG. 4B, the cache 112 has been modified to point to the node 400 as the node to which the rear pointed by enqueuing the decoded node 404 is node 404 and node 404 is pointed to node 400. By performing a dequeue-enqueue operation on the most recently accessed file fragments as described above, the most recently referenced file fragments may be deleted at a later time so that files that are frequently referred to may be stored in the cache 112 for a longer period of time.

도 5는 캐시를 이용하여 멀티미디어 파일 또는 문서 파일 실행하기 위해 방법에 대한 흐름도이다.5 is a flowchart of a method for executing a multimedia file or document file using a cache.

단말(100)은 클라우드 스토리지(200) 내의 멀티미디어 파일 또는 문서 파일에 대한 실행 명령을 수신한 경우(S100), 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하는지 탐색한다(S110). 예를 들어, 단말(100)은 클라우드 스토리지(200) 내의 "A.jpg"를 재생하라는 명령을 수신하고, 캐시(112) 내에 "A.jpg"에 대한 파일 조각이 존재하는지 탐색할 수 있다.When receiving an execution command for a multimedia file or a document file in the cloud storage 200 (S100), the terminal 100 searches for a file fragment necessary for executing the file in the cache 112 (S110). For example, the terminal 100 may receive an instruction to reproduce "A. jpg" in the cloud storage 200 and search for a file fragment for "A. jpg "

탐색 결과, 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하는 경우, 단말(100)은 상기 파일 조각을 이용하여 실행 명령을 수행한다(S160).If a file fragment necessary for file execution exists in the cache 112 as a search result, the terminal 100 executes an execution command using the file fragment (S160).

탐색 결과, 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하지 않는 경우, 단말(100)은 클라우드 스토리지(200)로부터 파일을 수신하고, 수신한 파일에 기초하여 파일 조각을 생성하고(S120), 캐시(112)가 포화 상태인지 판단할 수 있다(S130). 예를 들어, 단말(100)은 "A.jpg"에 대한 파일 조각이 캐시(112) 내에 존재하지 않는 경우, "A.jpg"를 클라우드 스토리지(200)로부터 수신하고, 이에 기초하여 파일 조각을 생성할 수 있다.If there is no file fragment required for file execution in the cache 112, the terminal 100 receives the file from the cloud storage 200, creates a file fragment based on the received file (S120) , It can be determined whether the cache 112 is saturated (S130). For example, if the file fragment for "A.jpg" is not present in the cache 112, the terminal 100 receives "A.jpg" from the cloud storage 200, Can be generated.

판단 결과, 캐시(112)가 포화 상태가 아닌 경우, 단말(100)은 상기 파일 조각을 캐시에 저장하고(S150), 저장된 파일 조각을 이용하여 실행 명령을 수행한다(S160).As a result of the determination, if the cache 112 is not saturated, the terminal 100 stores the file fragment in the cache (S150) and executes the execution command using the stored file fragment (S160).

판단 결과, 캐시(112)가 포화 상태인 경우, 단말(100)은 캐시(112)의 최대 크기를 메모리(110) 내의 여유공간에 비례하여 확장하고(S140) 파일 조각을 캐시(112)에 저장하고(S150), 상기 파일 조각을 이용하여 실행 명령을 수행한다(S160). 예를 들어, 단말(100)은 캐시(112)가 포화 상태라고 판단되는 경우, 메모리(110) 전체 용량이 4G이고, 현재 사용 중인 메모리(110) 용량이 1G이고, 여유공간 대비 캐시(112) 최대 크기의 비율이 2%인 경우, 캐시(112) 최대 크기를 현재 메모리(110) 내 여유공간인 3G의 2%에 해당하는 60M로 변경할 수 있다. 단말(100)은 캐시(112)의 최대 크기를 위와 같이 확장한 후 파일 조각을 캐시(112)에 저장하고, 상기 파일 조각을 이용하여 "A.jpg"을 재생할 수 있다.As a result of the determination, if the cache 112 is saturated, the terminal 100 expands the maximum size of the cache 112 in proportion to the free space in the memory 110 (S140) and stores the file fragment in the cache 112 (S150), and executes an execution command using the file fragment (S160). For example, if it is determined that the cache 112 is in a saturated state, the terminal 100 may determine that the entire capacity of the memory 110 is 4G, the capacity of the memory 110 currently in use is 1G, If the ratio of the maximum size is 2%, the maximum size of the cache 112 can be changed to 60M, corresponding to 2% of the 3G available space in the current memory 110. The terminal 100 may expand the maximum size of the cache 112 as described above and then store the file fragments in the cache 112 and reproduce "A.jpg" using the file fragments.

위의 실시예와 상반되는 실시예로서, 단말(100)은 메모리(110) 내의 여유공간이 줄어든 경우, 캐시(112)의 최대 크기를 축소할 수도 있다(도시되지 않음).As a contradiction to the above embodiment, the terminal 100 may reduce the maximum size of the cache 112 (if it is not shown) if the free space in the memory 110 is reduced.

도 6은 캐시를 이용하여 애플리케이션 실행 파일을 실행하기 위한 방법에 대한 흐름도이다.6 is a flowchart of a method for executing an application executable file using a cache.

단말(100)은 클라우드 스토리지(200) 내의 파일에 대한 실행 명령을 수신한 경우(S200), 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하는지 탐색한다(S210). 예를 들어, 단말(100)은 클라우드 스토리지(200) 내의 "MS-word"를 실행하라는 명령을 수신하고, 캐시(112) 내에 "MS-word"에 대한 파일 조각이 존재하는지 탐색할 수 있다.When the terminal 100 receives an execution command for a file in the cloud storage 200 (S200), the terminal 100 searches the cache 112 for a file fragment necessary for executing the file (S210). For example, the terminal 100 may receive an instruction to execute "MS-word" in the cloud storage 200 and may search the cache 112 for a file fragment for the "MS- word ".

탐색 결과, 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하는 경우, 단말(100)은 캐시(112)에 디큐를 수행(S260)하고, 큐에서 반환된 파일 조각을 캐시에 인큐(S270)한다.If the file fragment necessary for executing the file exists in the cache 112 as a result of the search, the terminal 100 performs a dequeue operation on the cache 112 (S260), enqueues the file fragment returned from the queue into the cache (S270) do.

탐색 결과, 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하지 않는 경우, 단말(100)은 클라우드 스토리지(200)로부터 수신한 파일에 기초하여 파일 조각을 생성하고(S220) 캐시(112)가 포화 상태인지 판단한다(S230). 예를 들어, 단말(100)은 "MS-word"에 대한 파일 조각이 캐시(112) 내에 존재하지 않는 경우, 클라우드 스토리지(200)로부터 "MS-word"의 실행 파일을 클라우드 스토리지(200)로부터 수신하고, 이에 기초하여 파일 조각을 생성할 수 있다.If the file fragment required for file execution does not exist in the cache 112 as a search result, the terminal 100 generates a file fragment based on the file received from the cloud storage 200 (S220) It is determined whether it is saturated (S230). For example, if the file fragment for the "MS-word" is not present in the cache 112, the terminal 100 may send an executable file of "MS- word " from the cloud storage 200 to the cloud storage 200 And generate a file fragment based thereon.

판단 결과, 캐시(112)가 포화 상태인 경우, 단말(100)은 캐시(112)에 디큐를 수행하고(S240), 상기 생성된 파일 조각을 이용하여 캐시(112)에 인큐한다(S250). 예를 들어, 단말(100)은 캐시(112)가 포화 상태인 경우, 디큐를 수행하여 접근한 지 가장 오래된 파일 조각을 디큐하여 캐시(112) 공간을 확보한 후 "MS-word"의 실행을 위해 생성한 파일 조각을 캐시(112)에 인큐할 수 있다.As a result of the determination, if the cache 112 is in a saturated state, the terminal 100 performs a dequeue operation on the cache 112 in operation S240, and encapsulates the generated fragment in the cache 112 in operation S250. For example, when the cache 112 is in a saturated state, the terminal 100 decares the oldest file fragment that has been accessed by deciphering to secure the space of the cache 112, and then executes the execution of the "MS-word " The file fragment created for the user may be enqueued into the cache 112.

판단 결과, 캐시(112)가 포화 상태가 아닌 경우, 단말(100)은 상기 생성된 파일 조각을 캐시(112)에 인큐한다(S250). 예를 들어, 단말(100)은 캐시(112)가 포화 상태가 아닌 경우, "MS-word"의 실행을 위해 생성한 파일 조각을 캐시(112)에 인큐할 수 있다.As a result of the determination, if the cache 112 is not saturated, the terminal 100 enqueues the generated file fragments in the cache 112 (S250). For example, if the cache 112 is not saturated, the terminal 100 may enqueue the fragment of the file generated for the execution of the "MS-word " into the cache 112. [

단말(100)은 단계(S250)에서, 새롭게 생성된 노드에 파일 조각을 인큐를 통해 직접 저장하지 않고, 상기 파일 조각이 저장된 메모리의 주소 또는 그 주소를 가리키는 포인터를 저장할 수도 있다(도시되지 않음).The terminal 100 may store the address of the memory in which the file fragment is stored or a pointer indicating the address thereof (not shown), instead of directly storing the file fragment in the newly created node through the enqueue in step S250. .

단말(100)은 인큐가 완료된 후, 인큐된 파일 조각을 이용하여 실행 명령을 수행할 수 있다(S280). 예를 들어, 단말(100)은 인큐가 완료된 후, 캐시(112) 내의 "MS-word"를 이용하여 실행 명령을 수행할 수 있다.After the completion of the enqueue, the terminal 100 may execute an execution command using the file fragment that has been incurred (S280). For example, the terminal 100 may execute an execution command using the "MS-word" in the cache 112 after the completion of the enqueue.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

100: 단말
110: 메모리
112: 캐시
120: 중앙 처리부
130: 통신 인터페이스
200: 클라우드 스토리지
100: terminal
110: Memory
112: Cache
120:
130: Communication interface
200: Cloud storage

Claims (26)

단말에 의해 수행되는, 단말의 캐시(Cache)를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일의 실행 방법에 있어서,
상기 클라우드 스토리지 내의 상기 애플리케이션 실행파일에 대한 실행 명령을 수신하는 단계;
상기 단말의 캐시 내에 상기 애플리케이션 실행파일의 일부 또는 일부에 대응하는 파일 조각이 존재하는지 확인하는 단계; 및
상기 확인 결과, 상기 파일 조각이 상기 단말의 캐시 내에 존재할 경우 상기 파일 조각을 이용하여 상기 실행 명령을 수행하고, 상기 파일 조각이 상기 단말의 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 파일에 기초하여 생성한 파일 조각을 상기 단말의 캐시에 저장하고 상기 생성된 파일 조각을 이용하여 상기 실행 명령을 수행하는 단계
를 포함하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
A method for executing an application executable file in a cloud storage using a cache of a terminal, the method comprising:
Receiving an execution command for the application executable file in the cloud storage;
Confirming whether a file fragment corresponding to a part or a part of the application execution file exists in the cache of the terminal; And
And if the file fragment is not present in the cache of the terminal, executing the execution command using the file fragment if the file fragment exists in the cache of the terminal, and if the file fragment is not present in the cache of the terminal, Storing the generated file fragment in the cache of the terminal and executing the execution command using the generated file fragment
/ RTI &gt;
A method of executing an application executable file in a cloud storage using the terminal's cache.
제1항에 있어서,
상기 단말의 캐시의 최소 크기는 미리 정해진 값으로 고정되고, 최대 크기는 가변적인,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
The method according to claim 1,
The minimum size of the cache of the terminal is fixed to a predetermined value, the maximum size is variable,
A method of executing an application executable file in a cloud storage using the terminal's cache.
제2항에 있어서,
상기 단말의 캐시의 최대 크기는 메모리 내의 여유공간에 비례하여 가변하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
3. The method of claim 2,
Wherein the maximum size of the cache of the terminal varies in proportion to a free space in the memory,
A method of executing an application executable file in a cloud storage using the terminal's cache.
제3항에 있어서,
상기 파일 조각을 상기 단말의 캐시에 저장하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계
를 포함하고,
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시의 최대 크기를 상기 메모리 내의 여유공간에 비례하여 확장하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
The method of claim 3,
Wherein the step of storing the file fragment in the cache of the terminal comprises:
Checking whether the cache of the terminal is in a saturated state
Lt; / RTI &gt;
Wherein the maximum size of the cache of the terminal is expanded in proportion to a free space in the memory when the cache of the terminal is saturated,
A method of executing an application executable file in a cloud storage using the terminal's cache.
제1항에 있어서,
상기 애플리케이션 실행파일은 멀티미디어 파일 또는 문서 파일인,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
The method according to claim 1,
The application executable file may be a multimedia file or a document file,
A method of executing an application executable file in a cloud storage using the terminal's cache.
단말의 캐시를 이용하여 클라우드 스토리지 내의 애플리케이션 실행파일을 실행하는 단말에 있어서,
제어 프로그램을 기록하는 메모리;
상기 제어 프로그램에 따라 동작하는 중앙 처리부; 및
상기 클라우드 스토리지와 통신을 수행하는 통신 인터페이스를 포함하고,
상기 제어 프로그램은,
상기 클라우드 스토리지 내의 애플리케이션 실행파일에 대한 실행 명령을 수신하는 단계;
상기 단말의 캐시 내에 상기 애플리케이션 실행파일의 일부 또는 일부에 대응하는 파일 조각이 존재하는지 확인하는 단계; 및
상기 확인 결과, 상기 파일 조각이 상기 단말의 캐시 내에 존재할 경우 상기 파일 조각을 이용하여 상기 실행 명령을 수행하고, 상기 파일 조각이 상기 단말의 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 파일에 기초하여 생성한 파일 조각을 상기 단말의 캐시에 저장하고 상기 생성된 파일 조각을 이용하여 상기 실행 명령을 수행하는 단계
를 수행하는,
단말.
1. A terminal for executing an application executable file in a cloud storage using a cache of a terminal,
A memory for recording a control program;
A central processing unit operating in accordance with the control program; And
And a communication interface for communicating with the cloud storage,
Wherein the control program comprises:
Receiving an execution command for an application executable file in the cloud storage;
Confirming whether a file fragment corresponding to a part or a part of the application execution file exists in the cache of the terminal; And
And if the file fragment is not present in the cache of the terminal, executing the execution command using the file fragment if the file fragment exists in the cache of the terminal, and if the file fragment is not present in the cache of the terminal, Storing the generated file fragment in the cache of the terminal and executing the execution command using the generated file fragment
Lt; / RTI &gt;
Terminal.
제6항에 있어서,
상기 단말의 캐시의 최소 크기는 미리 정해진 값으로 고정되고, 최대 크기는 가변적인,
단말.
The method according to claim 6,
The minimum size of the cache of the terminal is fixed to a predetermined value, the maximum size is variable,
Terminal.
제7항에 있어서,
상기 단말의 캐시의 최대 크기는 메모리 내의 여유공간에 비례하여 가변하는,
단말.
8. The method of claim 7,
Wherein the maximum size of the cache of the terminal varies in proportion to a free space in the memory,
Terminal.
제8항에 있어서,
상기 파일 조각을 상기 단말의 캐시에 저장하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계
를 포함하고,
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시의 최대 크기를 상기 메모리 내의 여유공간에 비례하여 확장하는,
단말.
9. The method of claim 8,
Wherein the step of storing the file fragment in the cache of the terminal comprises:
Checking whether the cache of the terminal is in a saturated state
Lt; / RTI &gt;
Wherein the maximum size of the cache of the terminal is expanded in proportion to a free space in the memory when the cache of the terminal is saturated,
Terminal.
제6항에 있어서,
상기 애플리케이션 실행파일은 멀티미디어 파일 또는 문서 파일인,
단말.
The method according to claim 6,
The application executable file may be a multimedia file or a document file,
Terminal.
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법에 있어서,
상기 클라우드 스토리지 내의 애플리케이션 실행파일에 대한 실행 명령을 수신하는 단계;
상기 단말의 캐시 내에 상기 애플리케이션 실행파일의 일부 또는 일부에 대응하는 파일 조각을 나타내는 파일 정보가 존재하는지 확인하는 단계; 및
상기 확인 결과, 상기 파일 정보가 상기 단말의 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고, 상기 파일 정보가 상기 단말의 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 파일에 기초하여 생성한 파일 정보를 상기 단말의 캐시에 인큐(Enqueue)하고, 상기 인큐한 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계
를 포함하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
A method for executing an application executable file in a cloud storage using a cache of a terminal,
Receiving an execution command for an application executable file in the cloud storage;
Confirming whether file information indicating a file fragment corresponding to a part or a part of the application execution file exists in the cache of the terminal; And
And if the file information exists in the cache of the terminal, executes the execution command using the file information, and when the file information does not exist in the cache of the terminal, Enqueue the generated file information in the cache of the terminal, and execute the execution command using the enqueued file information
/ RTI &gt;
A method of executing an application executable file in a cloud storage using the terminal's cache.
제11항에 있어서,
상기 파일 정보를 상기 단말의 캐시에 인큐하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계; 및
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시에 디큐(Dequeue)를 수행하는 단계
를 포함하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
12. The method of claim 11,
Wherein the step of storing the file information in the cache of the terminal comprises:
Checking whether the cache of the terminal is saturated; And
Performing a dequeue on the cache of the terminal if the cache of the terminal is found to be saturated;
/ RTI &gt;
A method of executing an application executable file in a cloud storage using the terminal's cache.
제11항에 있어서,
상기 존재하는 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계는,
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(Enqueue)하는 단계
를 포함하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
12. The method of claim 11,
Wherein the step of executing the execution command using the existing file information comprises:
Deleting the existing file information from the cache of the terminal and enqueuing the deleted file information into the cache of the terminal
/ RTI &gt;
A method of executing an application executable file in a cloud storage using the terminal's cache.
제11항에 있어서,
상기 단말의 캐시는 FIFO 기반 큐로 구현되는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
12. The method of claim 11,
The cache of the terminal is implemented as a FIFO-based queue,
A method of executing an application executable file in a cloud storage using the terminal's cache.
제11항에 있어서,
상기 파일 정보는,
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
12. The method of claim 11,
The file information includes:
The file fragment is a memory address in which the file fragment is stored,
A method of executing an application executable file in a cloud storage using the terminal's cache.
단말에 의해 수행되는, 단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법에 있어서,
상기 클라우드 스토리지 내의 애플리케이션 실행파일에 대한 실행 명령을 수신하는 단계;
상기 단말의 캐시 내에 상기 애플리케이션 실행파일의 일부 또는 일부에 대응하는 파일 조각을 나타내는 파일 정보가 존재하는지 확인하는 단계; 및
상기 확인 결과, 상기 파일 정보가 상기 단말의 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고 상기 존재하는 파일 정보가 마지막에 디큐되도록 순서를 변경하는 단계
를 포함하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
A method for executing an application execution file in a cloud storage using a cache of a terminal, the method comprising:
Receiving an execution command for an application executable file in the cloud storage;
Confirming whether file information indicating a file fragment corresponding to a part or a part of the application execution file exists in the cache of the terminal; And
If the file information exists in the cache of the terminal, executing the execution command using the file information and changing the order of the existing file information to be finally decoded
/ RTI &gt;
A method of executing an application executable file in a cloud storage using the terminal's cache.
제16항에 있어서,
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(Enqueue)하는 단계
를 더 포함하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
17. The method of claim 16,
Deleting the existing file information from the cache of the terminal and enqueuing the deleted file information into the cache of the terminal
&Lt; / RTI &gt;
A method of executing an application executable file in a cloud storage using the terminal's cache.
제16항에 있어서,
상기 파일 정보는,
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
17. The method of claim 16,
The file information includes:
The file fragment or the memory address where the file fragment is stored
A method of executing an application executable file in a cloud storage using the terminal's cache.
단말의 캐시를 이용하여 클라우드 스토리지 내의 애플리케이션 실행파일을 실행하는 단말에 있어서,
제어 프로그램을 기록하는 메모리;
상기 제어 프로그램에 따라 동작하는 중앙 처리부; 및
상기 클라우드 스토리지와 통신을 수행하는 통신 인터페이스를 포함하고,
상기 제어 프로그램은,
상기 클라우드 스토리지 내의 애플리케이션 실행파일에 대한 실행 명령을 수신하는 단계;
상기 단말의 캐시 내에 상기 애플리케이션 실행파일의 일부 또는 일부에 대응하는 파일 조각을 나타내는 파일 정보가 존재하는지 확인하는 단계; 및
상기 확인 결과, 상기 파일 정보가 상기 단말의 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고, 상기 파일 정보가 상기 단말의 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 파일에 기초하여 생성한 파일 정보를 상기 단말의 캐시에 인큐(Enqueue)하고, 상기 인큐한 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계
를 포함하는
단말.
1. A terminal for executing an application executable file in a cloud storage using a cache of a terminal,
A memory for recording a control program;
A central processing unit operating in accordance with the control program; And
And a communication interface for communicating with the cloud storage,
Wherein the control program comprises:
Receiving an execution command for an application executable file in the cloud storage;
Confirming whether file information indicating a file fragment corresponding to a part or a part of the application execution file exists in the cache of the terminal; And
And if the file information exists in the cache of the terminal, executes the execution command using the file information, and when the file information does not exist in the cache of the terminal, Enqueue the generated file information in the cache of the terminal, and execute the execution command using the enqueued file information
Containing
Terminal.
제19항에 있어서,
상기 파일 정보를 상기 단말의 캐시에 인큐하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계; 및
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시에 디큐(Dequeue)를 수행하는 단계
를 포함하는,
단말.
20. The method of claim 19,
Wherein the step of storing the file information in the cache of the terminal comprises:
Checking whether the cache of the terminal is saturated; And
Performing a dequeue on the cache of the terminal if the cache of the terminal is found to be saturated;
/ RTI &gt;
Terminal.
제19항에 있어서,
상기 존재하는 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계는,
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(Enqueue)하는 단계
를 포함하는,
단말.
20. The method of claim 19,
Wherein the step of executing the execution command using the existing file information comprises:
Deleting the existing file information from the cache of the terminal and enqueuing the deleted file information into the cache of the terminal
/ RTI &gt;
Terminal.
제19항에 있어서,
상기 단말의 캐시는 FIFO 기반 큐로 구현되는,
단말.
20. The method of claim 19,
The cache of the terminal is implemented as a FIFO-based queue,
Terminal.
제19항에 있어서,
상기 파일 정보는,
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인,
단말.
20. The method of claim 19,
The file information includes:
The file fragment is a memory address in which the file fragment is stored,
Terminal.
단말의 캐시를 이용하여 클라우드 스토리지 내의 애플리케이션 실행파일을 실행하는 단말에 있어서,
제어 프로그램을 기록하는 메모리;
상기 제어 프로그램에 따라 동작하는 중앙 처리부; 및
상기 클라우드 스토리지와 통신을 수행하는 통신 인터페이스를 포함하고,
상기 제어 프로그램은,
상기 클라우드 스토리지 내의 애플리케이션 실행파일에 대한 실행 명령을 수신하는 단계;
상기 단말의 캐시 내에 상기 애플리케이션 실행파일의 일부 또는 일부에 대응하는 파일 조각을 나타내는 파일 정보가 존재하는지 확인하는 단계; 및
상기 확인 결과, 상기 파일 정보가 상기 단말의 캐시 내에 존재할 경우 상기 파일 정보를 이용하여 상기 실행 명령을 수행하고 상기 존재하는 파일 정보가 마지막에 디큐되도록 순서를 변경하는 단계
를 포함하는,
단말.
1. A terminal for executing an application executable file in a cloud storage using a cache of a terminal,
A memory for recording a control program;
A central processing unit operating in accordance with the control program; And
And a communication interface for communicating with the cloud storage,
Wherein the control program comprises:
Receiving an execution command for an application executable file in the cloud storage;
Confirming whether file information indicating a file fragment corresponding to a part or a part of the application execution file exists in the cache of the terminal; And
If the file information exists in the cache of the terminal, executing the execution command using the file information and changing the order of the existing file information to be finally decoded
/ RTI &gt;
Terminal.
제24항에 있어서,
상기 제어 프로그램은,
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(Enqueue)하는 단계
를 더 포함하는,
단말.
25. The method of claim 24,
Wherein the control program comprises:
Deleting the existing file information from the cache of the terminal and enqueuing the deleted file information into the cache of the terminal
&Lt; / RTI &gt;
Terminal.
제24항에 있어서,
상기 파일 정보는
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인,
단말.
25. The method of claim 24,
The file information
The file fragment is a memory address in which the file fragment is stored,
Terminal.
KR1020160168272A 2016-12-12 2016-12-12 Method and Apparatus For Executing File Using Cache KR101948988B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160168272A KR101948988B1 (en) 2016-12-12 2016-12-12 Method and Apparatus For Executing File Using Cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160168272A KR101948988B1 (en) 2016-12-12 2016-12-12 Method and Apparatus For Executing File Using Cache

Publications (2)

Publication Number Publication Date
KR20180067019A KR20180067019A (en) 2018-06-20
KR101948988B1 true KR101948988B1 (en) 2019-02-15

Family

ID=62770092

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160168272A KR101948988B1 (en) 2016-12-12 2016-12-12 Method and Apparatus For Executing File Using Cache

Country Status (1)

Country Link
KR (1) KR101948988B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886911B2 (en) * 2011-05-31 2014-11-11 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
KR20160097957A (en) * 2015-02-10 2016-08-18 엔트릭스 주식회사 Cloud computing system using cache and method using the same
KR102050735B1 (en) * 2015-02-23 2019-12-03 에스케이플래닛 주식회사 Proxy server for cloud streaming service, cloud streaming system and method using the same
US10484311B2 (en) * 2015-03-31 2019-11-19 Cavium, Llc Method and apparatus for using multiple linked memory lists

Also Published As

Publication number Publication date
KR20180067019A (en) 2018-06-20

Similar Documents

Publication Publication Date Title
KR102245247B1 (en) GPU remote communication using triggered actions
CN108712454B (en) File processing method, device and equipment
CN108090078B (en) Document online preview method and device, storage medium and electronic equipment
KR102364332B1 (en) Non-Volatile Memory Persistence Method and Computing Device
KR20160031973A (en) Methods, devices, and systems for caching data items
WO2014055450A1 (en) Mobile device application streaming
US10318165B2 (en) Data operating method, device, and system
US20140359063A1 (en) Computer system, cache control method, and server
CN105512251A (en) Page cache method and device
JP2018537800A (en) Memory access command transfer descriptor
CN108897630B (en) OpenCL-based global memory caching method, system and device
CN111324556B (en) Method and system for prefetching a predetermined number of data items into a cache
US10382551B2 (en) Cloud file processing method and apparatus
KR102551601B1 (en) Storage server and adaptable prefetching method performed by the storage server in distributed file system
KR101948988B1 (en) Method and Apparatus For Executing File Using Cache
CN110557341A (en) Method and device for limiting data current
KR102238025B1 (en) Information processing method and processing apparatus
CN112306693A (en) Data packet processing method and device
JP7269780B2 (en) Information processing device and data management method for information processing device
CN108875036B (en) Page data caching method and device and electronic equipment
CN114936010B (en) Data processing method, device, equipment and medium
US10073657B2 (en) Data processing apparatus, data processing method, and computer program product, and entry processing apparatus
CN113326020A (en) Cache device, cache, system, data processing method, device and medium
CN111124747B (en) Method, apparatus and computer readable medium for deleting snapshots
CN111625180A (en) Data writing method and device and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant