KR101948988B1 - Method and Apparatus For Executing File Using Cache - Google Patents
Method and Apparatus For Executing File Using Cache Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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
캐시를 이용하여 클라우드 스토리지 내의 파일을 실행하는 방법 및 장치가 개시된다.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
단말(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
캐시(112)는 클라우드 스토리지(200) 내의 파일의 속성(또는 종류)에 따라 다르게 구성될 수 있다. 즉 접근하려는 클라우드 스토리지(200) 내의 파일이 이미지, 동영상, 음성 등의 멀티미디어 파일이거나 워드/스프레드 시트 등의 문서 파일인 경우, 캐시(112)를 메모리(110) 내의 여유공간에 따라 가변하도록 구성할 수 있다. 반면, 접근하려는 클라우드 스토리지(200) 내의 파일이 애플리케이션 실행 파일인 경우, 캐시(112)를 FIFO(First In First Out) 기반의 큐(Queue)로 구성할 수 있다.The
<멀티미디어 파일 등을 이용하기 위한 캐시>≪ 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
캐시(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 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
일실시예에 있어서, 애플리케이션 실행에 필요한 파일 조각이 큐 내에서 발견될 경우, 캐시(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
도 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
탐색 결과, 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하는 경우, 단말(100)은 상기 파일 조각을 이용하여 실행 명령을 수행한다(S160).If a file fragment necessary for file execution exists in the
탐색 결과, 캐시(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
판단 결과, 캐시(112)가 포화 상태가 아닌 경우, 단말(100)은 상기 파일 조각을 캐시에 저장하고(S150), 저장된 파일 조각을 이용하여 실행 명령을 수행한다(S160).As a result of the determination, if the
판단 결과, 캐시(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
위의 실시예와 상반되는 실시예로서, 단말(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
도 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
탐색 결과, 캐시(112) 내에 파일 실행에 필요한 파일 조각이 존재하는 경우, 단말(100)은 캐시(112)에 디큐를 수행(S260)하고, 큐에서 반환된 파일 조각을 캐시에 인큐(S270)한다.If the file fragment necessary for executing the file exists in the
탐색 결과, 캐시(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
판단 결과, 캐시(112)가 포화 상태인 경우, 단말(100)은 캐시(112)에 디큐를 수행하고(S240), 상기 생성된 파일 조각을 이용하여 캐시(112)에 인큐한다(S250). 예를 들어, 단말(100)은 캐시(112)가 포화 상태인 경우, 디큐를 수행하여 접근한 지 가장 오래된 파일 조각을 디큐하여 캐시(112) 공간을 확보한 후 "MS-word"의 실행을 위해 생성한 파일 조각을 캐시(112)에 인큐할 수 있다.As a result of the determination, if the
판단 결과, 캐시(112)가 포화 상태가 아닌 경우, 단말(100)은 상기 생성된 파일 조각을 캐시(112)에 인큐한다(S250). 예를 들어, 단말(100)은 캐시(112)가 포화 상태가 아닌 경우, "MS-word"의 실행을 위해 생성한 파일 조각을 캐시(112)에 인큐할 수 있다.As a result of the determination, if the
단말(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
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 > 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)
상기 클라우드 스토리지 내의 상기 애플리케이션 실행파일에 대한 실행 명령을 수신하는 단계;
상기 단말의 캐시 내에 상기 애플리케이션 실행파일의 일부 또는 일부에 대응하는 파일 조각이 존재하는지 확인하는 단계; 및
상기 확인 결과, 상기 파일 조각이 상기 단말의 캐시 내에 존재할 경우 상기 파일 조각을 이용하여 상기 실행 명령을 수행하고, 상기 파일 조각이 상기 단말의 캐시 내에 존재하지 않을 경우, 상기 클라우드 스토리지로부터 수신한 파일에 기초하여 생성한 파일 조각을 상기 단말의 캐시에 저장하고 상기 생성된 파일 조각을 이용하여 상기 실행 명령을 수행하는 단계
를 포함하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
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 >
A method of executing an application executable file in a cloud storage using the terminal's cache.
상기 단말의 캐시의 최소 크기는 미리 정해진 값으로 고정되고, 최대 크기는 가변적인,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
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.
상기 단말의 캐시의 최대 크기는 메모리 내의 여유공간에 비례하여 가변하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
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.
상기 파일 조각을 상기 단말의 캐시에 저장하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계
를 포함하고,
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시의 최대 크기를 상기 메모리 내의 여유공간에 비례하여 확장하는,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
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 >
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.
상기 애플리케이션 실행파일은 멀티미디어 파일 또는 문서 파일인,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
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 >
Terminal.
상기 단말의 캐시의 최소 크기는 미리 정해진 값으로 고정되고, 최대 크기는 가변적인,
단말.
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.
상기 단말의 캐시의 최대 크기는 메모리 내의 여유공간에 비례하여 가변하는,
단말.
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.
상기 파일 조각을 상기 단말의 캐시에 저장하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계
를 포함하고,
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시의 최대 크기를 상기 메모리 내의 여유공간에 비례하여 확장하는,
단말.
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 >
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.
상기 애플리케이션 실행파일은 멀티미디어 파일 또는 문서 파일인,
단말.
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 >
A method of executing an application executable file in a cloud storage using the terminal's cache.
상기 파일 정보를 상기 단말의 캐시에 인큐하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계; 및
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시에 디큐(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 >
A method of executing an application executable file in a cloud storage using the terminal's cache.
상기 존재하는 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계는,
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(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 >
A method of executing an application executable file in a cloud storage using the terminal's cache.
상기 단말의 캐시는 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.
상기 파일 정보는,
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인,
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
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 >
A method of executing an application executable file in a cloud storage using the terminal's cache.
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(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
≪ / RTI >
A method of executing an application executable file in a cloud storage using the terminal's cache.
상기 파일 정보는,
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인
단말의 캐시를 이용한 클라우드 스토리지 내의 애플리케이션 실행파일 실행 방법.
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.
상기 파일 정보를 상기 단말의 캐시에 인큐하는 단계는,
상기 단말의 캐시가 포화 상태인지 검사하는 단계; 및
상기 검사 결과 상기 단말의 캐시가 포화 상태인 경우, 상기 단말의 캐시에 디큐(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 >
Terminal.
상기 존재하는 파일 정보를 이용하여 상기 실행 명령을 수행하는 단계는,
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(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 >
Terminal.
상기 단말의 캐시는 FIFO 기반 큐로 구현되는,
단말.
20. The method of claim 19,
The cache of the terminal is implemented as a FIFO-based queue,
Terminal.
상기 파일 정보는,
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인,
단말.
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 >
Terminal.
상기 제어 프로그램은,
상기 존재하는 파일 정보를 상기 단말의 캐시에서 삭제하고, 상기 삭제한 파일 정보를 상기 단말의 캐시에 인큐(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
≪ / RTI >
Terminal.
상기 파일 정보는
상기 파일 조각이거나, 상기 파일 조각이 저장된 메모리 주소인,
단말.25. The method of claim 24,
The file information
The file fragment is a memory address in which the file fragment is stored,
Terminal.
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)
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 |
-
2016
- 2016-12-12 KR KR1020160168272A patent/KR101948988B1/en active IP Right Grant
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 | |
CN107870728B (en) | Method and apparatus for moving data | |
KR102235047B1 (en) | Methods, devices, and systems for caching data items | |
US11010056B2 (en) | Data operating method, device, and system | |
CN108090078B (en) | Document online preview method and device, storage medium and electronic equipment | |
CN107273213B (en) | Calculation control method, network card and electronic equipment | |
KR102364332B1 (en) | Non-Volatile Memory Persistence Method and Computing Device | |
WO2014055450A1 (en) | Mobile device application streaming | |
CN108897630B (en) | OpenCL-based global memory caching method, system and device | |
US20140359063A1 (en) | Computer system, cache control method, and server | |
CN105512251A (en) | Page cache method and device | |
US20210311669A1 (en) | Method, device, and computer program product for managing storage system | |
KR102551601B1 (en) | Storage server and adaptable prefetching method performed by the storage server in distributed file system | |
CN113742131B (en) | Method, electronic device and computer program product for storage management | |
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 | |
CN111625180B (en) | Data writing method and device and storage medium | |
CN108875036B (en) | Page data caching method and device and electronic equipment | |
CN114936010B (en) | Data processing method, device, equipment and medium | |
CN113326020A (en) | Cache device, cache, system, data processing method, device and medium | |
CN111124747B (en) | Method, apparatus and computer readable medium for deleting snapshots | |
US11366613B2 (en) | Method and apparatus for writing data |
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 |