KR20150028630A - 캐시 데이터 관리 방법 및 장치 - Google Patents

캐시 데이터 관리 방법 및 장치 Download PDF

Info

Publication number
KR20150028630A
KR20150028630A KR20130107507A KR20130107507A KR20150028630A KR 20150028630 A KR20150028630 A KR 20150028630A KR 20130107507 A KR20130107507 A KR 20130107507A KR 20130107507 A KR20130107507 A KR 20130107507A KR 20150028630 A KR20150028630 A KR 20150028630A
Authority
KR
South Korea
Prior art keywords
cache
data
cache data
stored
cloud servers
Prior art date
Application number
KR20130107507A
Other languages
English (en)
Other versions
KR102180472B1 (ko
Inventor
김용진
안진형
장경아
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130107507A priority Critical patent/KR102180472B1/ko
Publication of KR20150028630A publication Critical patent/KR20150028630A/ko
Application granted granted Critical
Publication of KR102180472B1 publication Critical patent/KR102180472B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예는, 캐시 데이터 관리 방법에 있어서, 복수의 클라우드 서버와 연결된 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정하는 단계, 측정된 네트워크 성능에 기초하여, 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터 양의 비율을, 복수의 클라우드 서버 각각에 대하여 결정하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

캐시 데이터 관리 방법 및 장치 {Method and Apparatus of Managing Cache Data}
본 발명은 디바이스의 데이터를 관리하는 방법으로서, 특히 클라우드 서버와 연결된 디바이스가 데이터를 관리하는 방법 및 장치에 관한 것이다.
클라우드 네트워크 기술 및 모바일 디바이스 기술의 발전으로, 모바일 디바이스 내의 사용자의 데이터를 클라우드 서버에 저장하고 실행할 수 있는 구글 드라이브(Google Drive), 드롭 박스(Dropbox) 등과 같은 서비스들이 다수 등장하였다. 또한 클라우드 서버에 저장된 파일들을 관리하고, 실행을 돕는 어플리케이션들 또한 다수 등장하였다.
도 1 은 일반적인 클라우드 서버와 디바이스들 간의 관계를 나타낸 도면이다. 도 1을 참조하면, 클라우드 서버는 네트워크를 통해 컴퓨터, 핸드폰, 타블렛 등 다양한 디바이스들과 통신한다. 또한 클라우드 서버는 사용자가 데이터를 저장할 수 있는 서버를 포함할 수 있다.
사용자는 디바이스 내에 저장된 사용자의 데이터를 클라우드 서버에 저장할 수 있고, 필요한 경우 클라우드 서버 내에 있는 사용자의 데이터를 수신하여 사용, 실행할 수 있다. 클라우드 서버와 디바이스는 동기화 함으로써, 디바이스 내의 데이터를 클라우드와 공유한다.
일반적으로 사용자들은 디바이스를 통해 복수의 클라우드 서버를 이용한다. 다만, 각 클라우드 서버는 데이터 저장 정책이 상이하며, 또한 사용자가 보유한 데이터의 전체량이 디바이스의 저장 공간보다 점점 커지고 있어 디바이스와 클라우드의 동기화 방식 만으로는 사용자에게 빠르게 데이터를 제공할 수 없다는 문제점이 발생하고 있다.
본 발명의 일 실시예에서는, 클라우드 서버와 연결된 디바이스의 데이터 관리 방법 및 장치를 제공한다.
상기와 같은 종래 기술의 문제를 해결하기 위한 본 발명의 일 실시예는, 캐시 데이터 관리 방법에 있어서, 복수의 클라우드 서버와 연결된 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정하는 단계; 및 상기 측정된 네트워크 성능에 기초하여, 상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터 양의 비율을, 상기 복수의 클라우드 서버 각각에 대하여 결정하는 단계를 포함한다.
상기 방법은 상기 결정된 비율 및 캐시 저장 정책에 기초하여, 상기 캐시 데이터 저장하는 단계를 더 포함하는 것이 바람직하다.
상기 캐시 저장 정책은, 상기 디바이스의 캐시 데이터 저장 공간, 상기 디바이스의 캐시 데이터 저장 개수, 상기 디바이스의 캐시 데이터 저장 기준에 대한 정보 중 적어도 하나를 포함하는 것이 바람직하다.
상기 방법은 상기 저장된 캐시 데이터를 삭제하는 단계를 더 포함하는 것이 바람직하다.
상기 저장된 캐시 데이터를 삭제하는 단계는, 상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터의 양의 비율이 작은 캐시 데이터부터 순차적으로 삭제하는 단계를 더 포함하는 것이 바람직하다.
상기 방법은, 상기 저장된 캐시 데이터에 대한 캐시 리스트를 생성하는 단계를 더 포함하는 것이 바람직하다.
상기 비율을 상기 복수의 클라우드 서버 각각에 대하여 결정하는 단계는, 상기 측정된 각각의 네트워크 성능과 반비례하도록 상기 비율을 결정하는 단계를 포함하는 것이 바람직하다.
상기 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 단계는, 상기 복수의 클라우드 서버와 디바이스 간의 네트워크 속도를 각각 측정하는 단계를 포함하는 것이 바람직하다.
상기 방법은, 상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간의 크기를 결정하는 단계를 더 포함하는 것이 바람직하다.
상기 방법은, 상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간을, 상기 복수의 클라우드 각각에 대하여, 할당하는 단계를 더 포함하는 것이 바람직하다.
복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 단계는, 소정의 시간 간격 마다 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 것이 바람직하다.
본 발명의 일 실시예는 상기 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기와 같은 종래 기술의 문제를 해결하기 위한 본 발명의 일 실시예는 캐시 데이터 관리 장치에 있어서, 복수의 클라우드 서버와 연결된 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정하는 네트워크 성능 측정부; 및 상기 측정된 네트워크 성능에 기초하여, 상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터 양의 비율을, 상기 복수의 클라우드 서버 각각에 대하여 결정하는 캐시 비율 결정부를 포함하는 것이 바람직하다.
상기 장치는, 상기 결정된 비율 및 캐시 저장 정책에 기초하여, 상기 캐시 데이터를 캐시 저장부에 저장하는 캐시 데이터 관리부를 더 포함하는 것이 바람직하다.
상기 캐시 저장 정책은, 상기 디바이스의 캐시 데이터 저장 공간, 상기 디바이스의 캐시 데이터 저장 개수, 상기 디바이스의 캐시 데이터 저장 기준에 대한 정보 중 적어도 하나를 포함하는 것이 바람직하다.
상기 캐시 데이터 관리부는, 상기 저장된 캐시 데이터를 삭제하는 것이 바람직하다.
상기 캐시 데이터 관리부는, 상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터의 양의 비율이 작은 캐시 데이터부터 순차적으로 삭제하는 것이 바람직하다.
상기 장치는, 상기 저장된 캐시 데이터에 대한 캐시 리스트를 생성하는 캐시 리스트 생성부를 더 포함하는 것이 바람직하다.
상기 캐시 비율 결정부는, 상기 측정된 각각의 네트워크 성능과 반비례하도록 상기 비율을 결정하는 것이 바람직하다.
상기 네트워크 성능 측정부는, 상기 복수의 클라우드 서버와 디바이스 간의 네트워크 속도를 각각 측정하는 것이 바람직하다.
상기 장치는, 상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간을 결정하는 캐시 저장 공간 결정부를 더 포함하는 것이 바람직하다.
상기 장치는, 상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간을, 상기 복수의 클라우드 각각에 대하여, 할당하는 캐시 저장 공간 할당부를 더 포함하는 것이 바람직하다.
상기 네트워크 성능 측정부는, 소정의 시간 간격 마다 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 것이 바람직하다.
본 발명의 일 실시예에서는, 클라우드 서버와 연결된 디바이스가 사용자에게 빠르게 데이터를 제공할 수 있다.
도 1은 일반적인 클라우드 서버와 디바이스들 간의 관계를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 복수의 클라우드 서버와 디바이스간 시스템을 도시한 도면이다.
도 3는 본 발명의 일 실시예에 따른 디바이스가 캐시 데이터를 관리하는 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 캐시 데이터를 관리하는 장치의 구조를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 네트워크 성능에 따른 데이터를 관리하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 디바이스의 저장 공간을 할당하기 위한 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 디바이스의 캐시 데이터를 삭제하는 방법을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 복수의 클라우드 서버(201 내지 205)와 디바이스(207)간의 관계를 설명하기 위한 시스템 도면이다.
본 발명의 일 실시예에 따르면, 디바이스(207)는 제 1 클라우드 서버(201), 제 2 클라우드 서버(203) 및 제 3 클라우드 서버(205)와 네트워크를 통해 연결된다. 즉, 디바이스(207)는 복수의 클라우드 서버(201 내지 205)와 통신할 수 있다. 디바이스(207)의 사용자는 디바이스(207)과 연결된 제 1 클라우드 서버(201), 제 2 클라우드 서버(203), 제 3 클라우드 서버(205)를 이용할 수 있다.
본 발명의 일 실시예에 따르면 디바이스(207)는 핸드폰, 타블렛, 컴퓨터, 스마트폰 등 클라우드 서버와 통신이 가능한 모든 디바이스를 포함 할 수 있으며, 상기 예시에 제한되지 않는다.
본 발명의 일 실시예에 따르면, 클라우드 서버(201 내지 205)는 모든 종류의 서버를 포함할 수 있으며, 특히 사용자가 데이터를 저장할 수 있는 서버를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 디바이스(207)는 복수의 클라우드 서버(201 내지 205)에 데이터를 저장할 수 있다. 본 발명의 일 실시예에 따르면 디바이스(207)가 복수의 클라우드 서버(201 내지 205)에 저장하는 데이터는 동일한 데이터일 수도 있고, 상이한 데이터일 수도 있다.
본 발명의 일 실시예에 따르면, 디바이스(207)는 복수의 클라우드 서버(201 내지 205)로부터 데이터를 수신할 수 있다. 즉, 디바이스(207)는 복수의 클라우드 서버(201 내지 205)에 저장된 데이터가 필요한 경우, 사용자의 입력에 기초하여, 복수의 클라우드 서버(201 내지 205)에 저장된 데이터를 수신하거나, 저장된 데이터를 실행한 결과를 수신할 수 있다.
또한 본 발명의 일 실시예에 따르면, 디바이스(207)는 디바이스의 저장공간에 데이터를 저장할 수 있다. 즉, 디바이스(207)가 복수의 클라우드 서버(201 내지 205)에 저장하는 데이터는 디바이스(207)의 저장 공간에 저장하는 데이터와 동일한 데이터일 수도 있고, 상이한 데이터일 수도 있다.
본 발명의 일 실시예에 따르면, 데이터는 파일을 포함할 수 있다. 즉, 본 발명의 일 실시예에 따르면, 데이터는 파일 형식의 데이터를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 디바이스(207)는 복수의 클라우드 서버(201 내지 205) 각각과 동기화를 수행할 수 있다. 동기화는 당업자에게 자명한 사항이므로 자세한 설명은 생략한다.
본 발명의 일 실시예에 따르면 디바이스(207)는 복수의 클라우드 서버(201 내지 205) 내에 저장된 데이터를 식별하기 위한 데이터인 클라우드 데이터를 디바이스(207) 내에 생성 및 저장한다. 즉, 디바이스(207)는 클라우드 데이터를 사용하여 클라우드 서버(201 내지 205)에 저장된 데이터를 관리할 수 있다. 이하에서는, 설명의 편의를 위해 클라우드 서버(201 내지 205)에 저장된 데이터를 원본 데이터, 캐시 데이터를 사본 데이터로 지칭 할 수 있다.
본 발명의 일 실시예에 따르면, 클라우드 데이터는 더미 데이터와 캐시 데이터를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 더미 데이터는 디바이스(207)에 저장된 데이터로서, 실제 데이터의 크기는 0인 데이터이고, 데이터의 속성, 타입들을 입력하는 방식을 사용하여 클라우드 서버(201 내지 205) 내에 저장된 데이터인 원본 데이터의 경로, 위치, 종류 등의 정보를 포함할 수 있다. 물론 본 발명의 일 실시예에 따르면, 더미 데이터는 실제 데이터의 크기가 0일 필요는 없다. 즉, 상기 예시에 제한되지 않는다.
본 발명의 일 실시예에 따르면, 클라우드 서버(201 내지 205) 내에 a.jpg 파일이 존재하는 경우, 디바이스 내에는 a.jpg에 대한 더미 파일이 존재할 수 있다. a.jpg에 대한 더미 파일은 a.jpg와 동일한 파일은 아니며, 실제 데이터의 크기가 0이거나, a.jpg보다 작은 데이터 크기를 가질 수 있다. 또한 a.jpg에 대한 더미 파일은 속성 정보로서 a.jpg가 어느 클라우드 서버 내에 저장되어 있는지, 실제 a.jpg의 파일의 크기, 종류 등에 대한 정보를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 더미 데이터는 메타 데이터 또는 메타 데이터의 형식으로 생성된 데이터를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 캐시 데이터는 디바이스(207)에 저장된 데이터로서, 클라우드 서버(201 내지 205) 내에 저장된 원본 데이터와 동일한 내용의 사본 데이터를 의미할 수 있다. 즉, 캐시 데이터는 디바이스(207)의 사용자에게 데이터를 빠르게 제공하기 위한 데이터를 의미할 수 있다.
예를 들면, 클라우드 서버(201 내지 205) 내에 a.jpg 파일이 존재하는 경우, 디바이스(207) 내에는 a.jpg에 대한 캐시 파일이 존재할 수 있다. a.jpg에 대한 캐시 파일은 a.jpg와 동일한 데이터를 포함하는 파일이거나, a.jpg의 일부 데이터만을 포함하는 파일일 수 있다. 사용자 입력에 기초하여 디바이스(207)가 a.jpg 파일을 실행해야 하는 경우, 디바이스(207)는 a,jpg 파일을 클라우드 서버(205 내지 207)로부터 수신할 필요 없이, 저장된 캐시 파일인 a.jpg 파일을 바로 실행할 수 있다. 디바이스(207)가 일부 데이터만을 저장하고 있는 경우, 디바이스(207)가 저장하고 있지 않은 부분의 데이터만을 클라우드 서버(201 내지 205)로부터 수신할 수 있다. 또한 a.jpg의 캐시 파일은 속성 정보로서 a.jpg가 어느 클라우드 서버 내에 저장되어 있는지, 실제 a.jpg의 파일의 크기, 종류 등에 대한 정보를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 캐시 데이터는 메타 데이터 또는 메타 데이터의 형식으로 생성된 데이터를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 캐시 저장 정책은 디바이스의 캐시 데이터 저장 공간의 크기에 대한 정보, 디바이스의 캐시 데이터 저장 개수, 디바이스의 캐시 데이터 저장 기준에 대한 정보 중 적어도 하나에 대한 정보를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 디바이스(207)의 캐시 데이터 저장 기준에 대한 정보는 클라우드 서버(201 내지 205)로부터 데이터를 수신한 순서에 따라 수신한 데이터를 캐시 데이터로 저장할지, 클라우드 서버(201 내지 205)에 저장된 데이터의 용량에 기초하여 캐시 데이터를 저장할지 여부 등에 대한 정보를 포함하며, 상기 예시에 제한되는 것은 아니다.
본 발명의 일 실시예에 따르면, 디바이스(207)는 복수의 클라우드 서버(201 내지 205)에 저장된 데이터의 일부를 디바이스(207) 내에 캐시 데이터로 저장함으로써, 캐시 데이터의 적중률을 높이고, 사용자에게 빠른 데이터를 제공할 수 있다.
또한 본 발명의 일 실시예에 따르면 디바이스(207)는 복수의 클라우드 서버(201 내지 205)와 통신할 때, 네트워크의 성능에 기초하여 캐시 데이터를 저장할 수 있다.
본 발명의 일 실시예에 따르면, 각 클라우드 서버(201 내지 205)와 디바이스(207) 간의 네트워크 성능에는 차이가 존재할 수 있다. 즉, 디바이스(207)와 제 1 클라우드 서버(201) 간의 네트워크 환경, 디바이스(207)와 제 2 클라우드 서버(203) 간의 네트워크 환경, 디바이스(207)와 제 3 클라우드 서버(205) 간의 네트워크 환경이 상이할 수 있다. 제 1 클라우드 서버(201)와 디바이스(207)간의 네트워크 환경이 제 2 클라우드 서버(203)와 디바이스(207)간의 네트워크 환경에 비해 좋은 경우, 예를 들면, 제 1 클라우드 서버(201)와 디바이스(207)간의 네트워크 속도가 제 2 클라우드 서버(203)과 디바이스(207)간의 네트워크 속도보다 빠른 경우, 디바이스(207)가, 제 2 클라우드 서버(203)에 저장된 데이터를 사용하려면, 제 1 클라우드 서버(201)에 저장된 데이터를 사용할 때 보다 시간이 더 소요된다. 따라서 디바이스(207)는 제 1 클라우드 서버(201)에 저장된 데이터보다 제 2 클라우드 서버(203)에 저장된 데이터를 디바이스 내의 캐시 데이터로서 저장하는 것이, 사용자에게 빠르게 데이터를 제공할 수 있는 방법이 될 수 있다.
또한 본 발명의 일 실시예에 따르면, 복수의 클라우드 서버와 디바이스간의 네트워크 성능에 기초하여, 각각의 클라우드 서버 내에 저장된 데이터를 디바이스 내에 캐시 데이터로 저장하는 비율을 결정할 수도 있다. 즉, 캐시 데이터 저장 공간을 각 클라우드 서버 별로 할당할 수도 있다.
또한 본 발명의 일 실시예에 따르면, 복수의 클라우드 서버와 디바이스간의 네트워크 성능에 기초하여, 디바이스의 캐시 데이터 저장 공간의 크기를 결정할 수도 있다. 이는 도 3 내지 도 7에서 자세히 설명한다.
또한 본 발명의 일 실시예에 따르면, 네트워크의 성능은 네트워크의 속도를 포함할 수 있다. 또한 본 발명의 일 실시예에 따르면 네트워크의 속도는 디바이스와 클라우드 서버 간의 네트워크의 전송 속도를 포함할 수 있다.
도 3는 본 발명의 일 실시예에 따른 디바이스가 캐시 데이터를 관리하는 방법의 순서도이다.
단계 S301에서, 디바이스는 복수의 클라우드 서버와 연결된 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정한다.
본 발명의 일 실시예에 따르면, 복수의 클라우드 서버와 연결된 디바이스는, 각 클라우드 서버와의 네트워크 성능을 각각 측정한다. 예를 들어, 디바이스는 제 1 클라우드 서버와의 네트워크 성능을 측정하고, 디바이스는 제 2 클라우드 서버와의 네트워크 성능을 각각 측정할 수 있다. 물론 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 평균적으로 산출할 수도 있다.
또한 본 발명의 일 실시예에 따르면, 네트워크 성능은, 클라우드 서버의 반응속도, 대역폭, 사용하는 데이터 통신의 종류(유선, 무선, 3G, 4G 방식 등) 측정하여 결정할 수도 있다,
본 발명의 일 실시예에 따르면, 디바이스는 복수의 클라우드 서버와 디바이스 간의 네트워크 속도를 각각 측정할 수 있다. 즉, 네트워크 성능은 네트워크 속도를 포함할 수 있다.
또한 본 발명의 일 실시예에 따르면, 네트워크 속도는 디바이스와 복수의 클라우드 서버 간의 전송 속도를 포함할 수 있다.
또한 본 발명의 일 실시예에 따르면, 디바이스는 소정의 시간 간격 마다 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정할 수 있다.
추가적으로, 본 발명의 일 실시예에 따르면, 디바이스는 디바이스가 복수의 클라우드 서버와 통신하는 네트워크의 종류의 변화가 발생할 때마다 네트워크의 성능을 측정할 수도 있다. 예를 들면, 디바이스가 3G 네트워크를 통해 복수의 클라우드 서버와 통신하던 도중 4G 네트워크를 통해 복수의 클라우드 서버와 통신하도록 변경되는 경우, 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정할 수 있다.
또한 본 발명의 일 실시예에 따르면, 디바이스는 디바이스 내에 내장된 다양한 센서 값에 기초하여 네트워크의 성능을 측정할 수도 있다. 디바이스는 디바이스 내에 내장된 다양한 센서를 통해 디바이스의 위치 또는 속도를 확인할 수 있으며, 디바이스의 위치가 변경되거나, 소정의 속도 이상인 경우, 네트워크의 성능을 측정할 수 있다. 디바이스 내에 내장된 센서는, 가속도 센서, GPS 센서 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
또한 디바이스가 데이터를 실행하는 사용자입력을 수신한 때마다 네트워크 성능을 각각 측정할 수도 있다.
추가적으로 본 발명의 일 실시예에 따르면, 디바이스는 디바이스가 생성한 데이터 또는 디바이스에 저장된 데이터를 복수의 클라우드 서버 각각에 송신하고, 수신하는 방법을 통해 네트워크의 성능을 측정할 수 있다.
단계 S303에서, 디바이스는 측정된 네트워크 성능에 기초하여, 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터 양의 비율을 복수의 클라우드 서버 각각에 대하여 결정한다. 예를 들면, 디바이스는 제 1 클라우드 서버 내에 저장된 100MB의 데이터 중 네트워크 성능에 따라 20MB만을 캐시 데이터로 저장할 수 있다. 즉, 디바이스는 제 1 클라우드 서버 내에 저장된 데이터 중 일부를 분할하여 캐시 데이터로 저장할 수 있다.
또한 본 발명의 일 실시예에 따르면, 단계 S303에서 비율을 결정하는 방법은, 디바이스와 복수의 클라우드 서버 간에 각각 측정된 네트워크 성능에 반비례하도록 비율을 결정할 수도 있다. 물론 비율을 결정하는 기준은 사용자의 설정에 의해 변경할 수 있으며, 상기 예시에 제한되지 않는다.
추가적으로, 본 발명의 일 실시예에 따르면, 디바이스는 단계 S301에서 측정된 네트워크 성능에 기초하여, 디바이스의 캐시 데이터 저장 공간의 크기를 결정할 수 있다. 즉, 측정된 각각의 네트워크 성능 또는 디바이스와 복수의 클라우드 서버 간의 측정된 평균적인 네트워크 성능에 기초하여, 디바이스의 캐시 데이터 저장 공간의 크기를 결정할 수 있다. 예를 들어, 네트워크 성능이 일정 기준보다 낮은 경우 디바이스는 디바이스의 전체의 저장 공간 중 소정의 기준 이상의 캐시 저장 공간을 할당할 수 있다.
또한 본 발명의 일 실시예에 따르면, 디바이스는 단계 S301에서 측정된 네트워크 성능에 기초하여 복수의 클라우드 각각에 대하여, 캐시 데이터 저장 공간을 할당할 수도 있다.
예를 들면, 디바이스의 캐시 데이터 저장 공간이 1000MB로 설정되어 있는 경우, 디바이스는제 2 클라우드 서버 보다 좋은 네트워크 성능을 갖는 제 1 클라우드 서버에 저장된 데이터를 캐시 데이터로서 저장하는 캐시 데이터 저장 공간은 300MB만을 할당하고, 나머지 700MB의 캐시 데이터 저장공간은 제 2 클라우드 서버 내에 저장된 데이터를 캐시 데이터로서 저장하는 공간으로 할당할 수 있다. 즉, 디바이스는, 측정된 네트워크 성능에 따라, 각 클라우드 서버 내에 저장된 데이터를 디바이스 내에 캐시 데이터로 저장하는 공간을 차등적으로 할당할 수 있다.
본 발명의 일 실시예에 따르면, 디바이스는 단계 S303에서 결정된 비율 및 디바이스의 캐시 저장 정책에 기초하여 캐시 데이터를 저장할 수 있다.
또한 본 발명의 일 실시예에 따르면, 캐시 저장 정책은 디바이스의 캐시 데이터 저장 공간, 캐시 데이터 저장 개수, 캐시 데이터 저장 기준에 대한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
본 발명의 일 실시예에 따르면 캐시 데이터 저장 기준은 클라우드 서버(201 내지 205)로부터 데이터를 수신한 순서에 따라 수신한 데이터를 캐시 데이터로 저장할지, 클라우드 서버(201 내지 205)에 저장된 데이터의 용량에 기초하여 캐시 데이터를 저장할지 여부 등에 대한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
또한 본 발명의 일 실시예에 따르면, 캐시 데이터 저장 공간의 일부인 제 1 캐시 데이터 저장 공간에는 단계 S303에서 결정한 비율에 기초하여, 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 일부를 캐시 데이터로 저장하고, 제 1 캐시 데이터 저장 공간을 제외한 나머지 공간에는 복수의 클라우드 서버로부터 데이터를 수신한 순서에 기초하여 수신하는 데이터 전체량을 캐시 데이터로 저장할 수 있다.
예를 들면, 디바이스는 제 1 캐시 데이터 저장 공간에, 복수의 클라우드 서버 중 하나에 저장된 데이터를 단계 S303에서 결정된 비율에 기초하여, 캐시 데이터로 저장한다. 즉, 전체 데이터 량이 100MB인 경우 20MB만을 저장할 수 있다. 또한 디바이스는 제 1 캐시 데이터 저장 공간을 제외한 나머지 공간에는 복수의 클라우드 서버 중 하나에 저장된 데이터 전부를 저장할 수 있다. 즉, 전체 데이터량이 50MB인 경우, 50MB 전부를 저장할 수도 있다. 또한 디바이스의 캐쉬 저장 정책에 따라, 제 1 캐시 데이터 저장 공간 및 제 1 캐시 데이터 저장 공간을 제외한 나머지 공간에는 동일한 데이터 또는 상이한 데이터가 저장 될 수 있다.
본 발명의 일 실시예에 따르면, 디바이스는 저장된 캐시 데이터를 삭제할 수 있다.
본 발명의 일 실시예에 따르면, 디바이스는 클라우드 서버 내에 저장된 데이터의 전체량 중 디바이스 내에 캐시데이터로 저장된 데이터의 양의 비율이 작은 캐시 데이터부터 순차적으로 삭제할 수 있다.
또한 본 발명의 일 실시예에 따르면, 디바이스는 캐시데이터로서 저장된 데이터의 양이 적은 순서대로 캐시 데이터를 삭제할 수도 있고, 클라우드 서버로부터 수신한 순서에 기초하여 삭제할 수도 있다. 또한 원본 데이터가 어느 클라우드 서버에 저장되어 있는지에 따라 사본 데이터인 캐시 데이터를 삭제할 수도 있다.
추가적으로, 본 발명의 일 실시예에 따르면, 디바이스는 저장된 캐시 데이터에 대한 캐시 리스트를 생성할 수 있다. 추가적으로 캐시 리스트는 더미 데이터에 대한 리스트 또는 정보를 포함할 수 도 있다. 또한 더미 데이터에 대한 리스트를 별도로 생성할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 캐시 데이터를 관리하는 장치(400)의 구조를 나타낸 도면이다.
본 발명의 일 실시예에 따르면 캐시 데이터 관리 장치(400)는 캐시 비유 결정부(401), 네트워크 성능 측정부(403), 캐시 데이터 관리부(405), 송수신부(407) 및 캐시 저장부(409)를 포함한다.
본 발명의 일 실시예에 따르면, 캐시 비율 결정부(401)는 네트워크 성능 측정부(403)에서 측정한 네트워크 성능에 기초하여 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터 양의 비율을, 상기 복수의 클라우드 서버 각각에 대하여 결정할 수 있다.
본 발명의 일 실시예에 따르면, 캐시 비율 결정부(401)는 측정된 각각의 네트워크 성능과 반비례하도록 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터의 양의 비율을 결정할 수 있다.
예를 들어, 제 1 클라우드 서버와 디바이스간의 전송 속도가 2MB/s이고, 제 2 클라우드 서버와 디바이스간의 전송속도가 4MB/s인 경우, 디바이스는 제 1 클라우드 서버에 저장된 전체량이 10MB인 데이터는 4MB만큼 분할하여 디바이스 내에 캐시 데이터로 저장하고, 제 2 클라우드 서버에 저장된 전체량이 10MB인 데이터는 2MB만큼 분할하여 디바이스 내에 캐시 데이터로 저장하도록 비율을 결정할 수 있다.
본 발명의 일 실시예에 따르면, 캐시 비율 결정부(401)는 각 클라우드 서버 내에 저장된 총 데이터량을 기초로 비율을 결정할 수도 있다.
본 발명의 일 실시예에 따르면, 네트워크 성능 측정부(403)는 복수의 클라우드 서버 연결된 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정할 수 있다.
또한 본 발명의 일 실시예에 따르면, 네트워크 성능 측정부(403)는 복수의 클라우드 서버와 디바이스 간의 네트워크 속도를 각각 측정할 수도 있다.
본 발명의 일 실시예에 따르면 네트워크 속도는 디바이스와 클라우드 서버 간의 전송 속도를 포함할 수 있다.
추가적으로, 본 발명의 일 실시예에 따르면, 네트워크 성능 측정부(403)는 소정의 시간 간격마다 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정할 수도 있다. 또한 도 3에서 설명한 바와 같이, 디바이스는 디바이스가 복수의 클라우드 서버와 통신하는 네트워크의 종류의 변화가 발생할 때마다 네트워크의 성능을 측정할 수 도 있고, 디바이스 내에 내장된 다양한 센서 값에 기초하여 네트워크의 성능을 측정할 수도 있다.
본 발명의 일 실시예에 따르면, 캐시 데이터 관리부(405)는 캐시 비율 결정부(401)에서 결정된 비율 및 캐시 저장 정책에 기초하여 캐시 데이터를 캐시 저장부(미도시)에 저장할 수 있다. 또한 캐시 데이터 관리부(405)는 디바이스의 캐시 저장 정책을 생성하고, 저장하고, 관리할 수 있다.
본 발명의 일 실시예에 따르면, 캐시 저장 정책은, 상기 디바이스의 캐시 데이터 저장 공간, 상기 디바이스의 캐시 데이터 저장 개수, 캐시 파일 저장 개수, 상기 디바이스의 캐시 데이터 저장 기준에 대한 정보 중 적어도 하나를 포함할 수 있으며, 상기 예시에 제한되지 않는다. 캐시 데이터 저장 기준에 대한 정보는 도 2 내지 도 3에서 설명한 바와 같다.
본 발명의 일 실시예에 따르면, 캐시 데이터 관리부(405)는 저장된 캐시 데이터를 삭제할 수 있다.
또한 본 발명의 일 실시예에 따르면, 캐시 데이터 관리부(405)는 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터의 양의 비율이 작은 캐시 데이터부터 순차적으로 삭제할 수 있다.
예를 들어, 디바이스 내의 캐시 데이터 저장 공간이 부족한 경우, 캐시 데이터 관리부(405)는 디바이스 내의 캐시 데이터 중, 클라우드 서버 내에 저장된 데이터의 전체량의 2퍼센트가 저장되어 있는 캐시 데이터를 클라우드 서버 내에 저장된 데이터의 전체량의 4퍼센트가 저장되어 있는 캐시 데이터를 먼저 삭제할 수 있다.
또한 본 발명의 일 실시예에 따르면, 클라우드 서버 내에 저장된 데이터인 원본 데이터의 총량에 기초하여 삭제할 수도 있다. 또한 네트워크 성능 측정부(401)에서 측정한 네트워크 속도에 기초하여, 각 클라우드 서버 별로 캐시 데이터를 삭제할 수 있다.
제 1 클라우드 서버와 디바이스간에 측정된 네트워크 성능이 다른 클라우드 서버와 디바이스 간에 측정된 네트워크 성능보다 좋은 경우, 캐시 데이터 관리부(405)는 디바이스 내에 저장된 캐시 데이터 중 제 1 클라우드 서버 내에 저장된 데이터에 기초하여 저장된 캐시 데이터를 삭제할 수 있다.
또한 본 발명의 일 실시예에 따르면, 캐시 데이터 관리부(405)는, 캐시 데이터 저장 공간의 일부인 제 1 캐시 데이터 저장 공간에는 캐시 비율 결정부(401)에서 결정한 비율에 기초하여, 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 일부를 캐시 데이터로 저장하고, 제 1 캐시 데이터 저장 공간을 제외한 나머지 공간에는 복수의 클라우드 서버로부터 데이터를 수신한 순서에 기초하여 수신하는 데이터 전체량을 캐시 데이터로 저장할 수 있다. 이는 도 3에서 설명한 내용과 같다.
본 발명의 일 실시예에 따르면 송수신부(407)는 복수의 클라우드 서버 중 적어도 하나와 데이터를 송수신할 수 있다. 즉, 송수신부(407)는 복수의 클라우드 서버 내에 저장된 데이터를 수신할 수도 있고, 디바이스 내에 저장된 데이터를 복수의 클라우드 서버에 저장하기 위해 송신할 수도 있다.
본 발명의 일 실시예에 따르면 디바이스는 캐시 저장부(409)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 캐시 데이터 저장 공간이란 캐시 저장부(409)가 저장할 수 있는 총 용량, 크기를 의미할 수 있다.
추가적으로 본 발명의 일 실시예에 따르면 캐시 데이터 관리 장치(400)는 캐시 저장 공간 결정부(미도시), 캐시 저장 공간 할당부(미도시) 및 캐시 리스트 생성부(미도시)를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면 캐시 저장 공간 결정부(미도시)는 측정된 네트워크의 성능에 기초하여, 디바이스의 캐시 데이터 저장 공간을 결정할 수 있다. 즉, 캐시 저장 공간 결정부(미도시)는 디바이스의 저장 공간 중, 캐시 저장부(409)의 크기인 캐시 데이터 저장 공간을 결정할 수 있다.
또한 본 발명의 일 실시예에 따르면 캐시 저장 공간 할당부(미도시)는 네트워크 성능에 기초하여 캐시 데이터 저장 공간을 복수의 클라우드 각각에 대하여 할당할 수 있다.
추가적으로, 본 발명의 일 실시예에 따르면 캐시 리스트 생성부(미도시)는 캐시 저장부(409)에 저장된 캐시 데이터의 리스트를 생성하고 관리할 수 있다. 물론 클라우드 데이터의 리스트를 생성하고 관리할 수도 있으며, 더미 데이터의 리스트를 별도로 생성하고 관리할 수 있다.
본 발명의 일 실시예에 따르면 제어부(411)는 디바이스(400)가 포함하는 모든 구성요소들을 제어할 수 있으며, 중앙 제어 장치와 같은 연산 유닛을 포함할 수 있으나, 상기 예시에 제한되지 않는다.
도 5는 본 발명의 일 실시예에 네트워크 성능에 따른 데이터를 관리하는 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 디바이스(507)는 제 1 클라우드 서버(501), 제 2 클라우드 서버(503). 제 3 클라우드 서버(505)와 네트워크를 통해 연결되어 있다.
본 발명의 일 실시예에 따르면, 디바이스(507)와 각 클라우드 서버(501 내지 505)간의 네트워크는 제한이 없다. 예를 들어 디바이스(607)과 제 1 클라우드 서버(501)는 유선 네트워크로 연결될 수도 있고, 무선 네트워크로 연결될 수도 있다.
본 발명의 일 실시예에 따르면 디바이스(507)는 제 1 클라우드 서버(501)와 디바이스(507)간의 네트워크 성능을 측정할 수 있다. 일 실시예로서, 네트워크 성능을 네트워크의 속도에 기초하여 결정할 수 있다. 또한 네트워크 속도는 전송 속도를 포함할 수 있다. 또한 디바이스(507)는 제 2 클라우드 서버(503), 제 3 클라우드 서버(505)와 디바이스(507)간의 네트워크 성능 또한 측정할 수 있다.
도 5를 참조하면 제 1 클라우드 서버(501)는 제 1 데이터를 저장하고 있으며, 제 2 클라우드 서버(503)는 제 2 데이터를 저장하고 있으며, 제 3 클라우드 서버(505)는 제 3 데이터를 저장하고 있다.
본 발명의 일 실시예에 따르면, 디바이스(507)은 각 클라우드 서버(501 내지 503) 내에 저장된 데이터의 전체량 중 디바이스 내의 캐시 데이터로 저장하는 데이터의 양의 비율을, 측정된 네트워크 성능에 기초하여 결정할 수 있다.
예를 들어, 제 1 클라우드 서버(501)와 디바이스(507) 간의 전송 속도는 2MB/s, 제 2 클라우드 서버(503)와 디바이스(507) 간의 전송 속도는 3MB/s, 제 3 클라우드 서버(505)와 디바이스(507) 간의 전송 속도는 5MB/s, 제 1 데이터, 제 2 데이터, 제 3 데이터가 모두 100MB의 전체량을 가지는 데이터라 가정하면, 디바이스는 제 1 데이터를 캐시 데이터로서 저장하는 비율을 50%, 제 2 데이터를 캐시 데이터로서 저장하는 비율을 30%, 제 3 데이터를 캐시 데이터로서 저장하는 비율을 20%로 결정할 수 있다.
즉, 디바이스(507)에 제 1 데이터의 캐시 데이터로서 저장하는 데이터 A(509)의 데이터의 양은 50MB, 제 2 데이터의 캐시 데이터로서 저장하는 데이터 B(511)의 데이터의 양은 30MB, 제 3 데이터의 캐시 데이터로서 저장하는 데이터 C(513)의 데이터의 양은 20MB일 수 있다.
추가적으로 본 발명의 일 실시예에 따르면, 디바이스(507)은 각 클라우드 서버(501 내지 503) 내에 저장된 데이터의 전체량 중 디바이스 내의 캐시 데이터로 저장하는 데이터의 양의 비율을, 측정된 네트워크 성능 및 디바이스의 캐시 데이터 저장 공간에 기초하여 결정할 수 있다. 또한 본 발명의 일 실시예에 따르면, 복수의 클라우드 서버 각각에 저장된 전체 데이터량을 더 고려하여, 비율을 결정할 수도 있다.
본 발명의 일 실시예에 따르면 데이터는 적어도 하나의 파일을 포함할 수 있다. 즉, 데이터는 복수의 파일을 의미할 수 있고, 하나의 파일을 의미할 수도 있다.
예를 들면, 제 1 클라우드 서버(501) 내에 저장된 제 1 데이터의 총 크기가 100MB이며, 제 1 데이터를 캐시 데이터로서 저장하는 비율을 50%라 가정하면, 20MB, 30MB, 50MB의 크기를 가진 3 개의 파일로 구성되어 있는 경우, 20MB 파일의 일부인 10MB, 30MB 파일의 일부인 15MB, 50MB의 파일의 일부인 25MB를 각각 캐시데이터로 저장할 수 있고, 50MB 파일 하나만을 캐시 데이터로서 저장할 수도 있다.
본 발명의 일 실시예에 따르면 디바이스는 디바이스의 캐시 저장 정책에 기초하여 캐시 데이터로서 저장할 데이터를 선택할 수 있다.
도 6은 본 발명의 일 실시예에 디바이스의 저장 공간을 할당하기 위한 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 디바이스는 제 1 클라우드 서버(601), 제 2 클라우드 서버(603). 제 3 클라우드 서버(605)와 네트워크를 통해 연결되어 있다.
본 발명의 일 실시예에 따르면, 디바이스와 각 클라우드 서버(601 내지 605) 간의 네트워크는 제한이 없다.
또한 도 6을 참조하면, 디바이스는 소정의 크기의 캐시 데이터 저장 공간(607)을 가지고, 제 1 클라우드 서버(601)는 제 1 데이터를 저장하고 있으며, 제 2 클라우드 서버(603)는 제 2 데이터를 저장하고 있으며, 제 3 클라우드 서버(605)는 제 3 데이터를 저장하고 있다.
본 발명의 일 실시예에 따르면 디바이스는 제 1 클라우드 서버(601)와 디바이스간의 네트워크 성능을 측정할 수 있다. 일 실시예로서, 네트워크 성능을 네트워크의 속도에 기초하여 결정할 수 있다. 또한 네트워크 속도는 전송 속도를 포함할 수 있다. 또한 디바이스는 제 2 클라우드 서버(603), 제 3 클라우드 서버(605)와 디바이스간의 네트워크 성능 또한 측정할 수 있다.
본 발명의 일 실시예에 따르면 디바이스는 클라우드 서버(601 내지 605)의 반응속도, 네트워크의 종류 등을 고려하여 네트워크 성능을 측정할 수도 있다.
본 발명의 일 실시예에 따르면, 디바이스는 각 클라우드 서버(601 내지 605)와 디바이스 간의 네트워크 성능에 기초하여 캐시 데이터 저장 공간(607)을 각 클라우드 서버 (601 내지 605)별로 할당할 수 있다. 예를 들어, 캐시 데이터 저장 공간(607)이 1000MB이고, 제 1 클라우드 서버(601)와 디바이스 간의 전송 속도는 2MB/s, 제 2 클라우드 서버(603)와 디바이스 간의 전송 속도는 3MB/s, 제 3 클라우드 서버(605)와 디바이스 간의 전송 속도는 5MB/s라 가정하면, 디바이스는 총 1000MB의 캐시 데이터 저장 공간 중 제 1 데이터를 디바이스 내에 캐시 데이터로 저장하기 위한 공간으로써 500MB(609), 제 2 데이터를 디바이스 내에 캐시 데이터로 저장하기 위한 공간으로서 300MB(611), 제 3 데이터를 디바이스 내에 캐시 데이터로 저장하기 위한 공간으로서 200MB(613)를 할당할 수 있다.
추가적으로, 제 1 클라우드 서버용 캐시 데이터 저장 공간(609), 제 2 클라우드 서버용 캐시 데이터 저장 공간(611), 제 3 클라우드 서버용 캐시 데이터 저장 공간(613)에는 각각 제 1 데이터, 제 2 데이터, 제 3 데이터가 분할되어 저장될 수도 있다. 즉, 도6의 네트워크 성능에 기초하여 캐시 데이터 저장 공간(607)을 클라우드 서버 별로 할당하는 방식과 함께 도 5에서 설명한 캐시 데이터 저장 방법을 함께 사용할 수 있다.
또한 본 발명의 일 실시예에 따르면, 캐시 데이터 저장 공간(607)은 사용자의 설정에 의해 결정될 수 있으며, 네트워크 성능에 기초하여 캐시 데이터 저장 공간(607)을 설정할 수도 있다. 예를 들면, 디바이스와 각 클라우드 서버 간의 평균적인 네트워크 성능이 소정의 기준 이상인 경우, 캐시 데이터 저장 공간을 소정의 크기 보다 작게 설정할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 디바이스의 캐시 데이터를 삭제하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 디바이스는 소정의 캐시 데이터 저장 공간을 가질 수 있다. 따라서 캐시 데이터 저장 공간이 부족한 경우, 캐시 데이터를 삭제할 수 있다.
단계 S701에서, 디바이스는 캐시 데이터 저장 공간이 충분한지를 확인한다. 즉, 디바이스가 사용자의 입력에 기초하여 복수의 클라우드 서버 중 적어도 하나에 저장된 데이터를 수신하고, 캐시 저장 정책에 기초하여 수신한 데이터를 캐시 데이터로 저장해야 하는 경우, 디바이스 내의 캐시 저장 공간이 남아있는지를 확인한다.
캐시 저장 공간이 남아있다면, 단계 S803과 같이 캐시 데이터를 저장할 수 있다.
다만, 디바이스 내에 캐시 저장 공간이 남아있지 않다면, 캐시 데이터를 단계 S805에서, 캐시 데이터로 저장하는 데이터의 양의 비율이 작은 캐시 데이터부터 순차적으로 삭제할 수 있다.
즉, 도 5에서 설명한 바와 같이, 디바이스는 클라우드 서버 내에 저장된 원본 데이터를 디바이스 내에 캐시 데이터로서 저장할 때, 원본 데이터의 전체량과 캐시 데이터로서 저장된 데이터의 양의 비율을 결정할 수 있다. 따라서, 저장된 캐시 데이터를 삭제할 때 또한 디바이스가 결정한 비율에 기초하여 삭제할 수 있다. 물론 캐시 데이터의 원본 데이터가 저장된 클라우드 서버와 디바이스간의 네트워크 속도에 기초하여 삭제할 캐시 데이터를 선택할 수도 있고, 저장된 캐시 데이터의 양에 기초하여 캐시 데이터를 선택할 수 있다. 즉, 캐시 데이터를 삭제하는 기준은 제한이 없으며, 사용자의 설정에 따라 변경될 수 있다.
본 발명에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.
본 발명의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 발명의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, 필수적인, 중요하게 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 상기의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (23)

  1. 캐시 데이터 관리 방법에 있어서,
    복수의 클라우드 서버와 연결된 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정하는 단계; 및
    상기 측정된 네트워크 성능에 기초하여, 상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터 양의 비율을, 상기 복수의 클라우드 서버 각각에 대하여 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 방법은,
    상기 결정된 비율 및 캐시 저장 정책에 기초하여, 상기 캐시 데이터 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 캐시 저장 정책은, 상기 디바이스의 캐시 데이터 저장 공간, 상기 디바이스의 캐시 데이터 저장 개수, 상기 디바이스의 캐시 데이터 저장 기준에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제 2 항에 있어서,
    상기 방법은,
    상기 저장된 캐시 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 저장된 캐시 데이터를 삭제하는 단계는,
    상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터의 양의 비율이 작은 캐시 데이터부터 순차적으로 삭제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 2 항에 있어서,
    상기 방법은
    상기 저장된 캐시 데이터에 대한 캐시 리스트를 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서,
    상기 비율을, 상기 복수의 클라우드 서버 각각에 대하여 결정하는 단계는,
    상기 측정된 각각의 네트워크 성능과 반비례하도록 상기 비율을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서,
    상기 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 단계는,
    상기 복수의 클라우드 서버와 디바이스 간의 네트워크 속도를 각각 측정하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서,
    상기 방법은,
    상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간의 크기를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서,
    상기 방법은,
    상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간을, 상기 복수의 클라우드 각각에 대하여, 할당하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제 1 항에 있어서,
    복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 단계는,
    소정의 시간 간격 마다 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 것을 특징으로 하는 방법.
  12. 캐시 데이터 관리 장치에 있어서,
    복수의 클라우드 서버와 연결된 디바이스와 복수의 클라우드 서버 간의 네트워크 성능을 각각 측정하는 네트워크 성능 측정부; 및
    상기 측정된 네트워크 성능에 기초하여, 상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터 양의 비율을, 상기 복수의 클라우드 서버 각각에 대하여 결정하는 캐시 비율 결정부를 포함하는 것을 특징으로 하는 장치.
  13. 제 12 항에 있어서,
    상기 장치는,
    상기 결정된 비율 및 캐시 저장 정책에 기초하여, 상기 캐시 데이터를 캐시 저장부에 저장하는 캐시 데이터 관리부를 더 포함하는 것을 특징으로 하는 장치.
  14. 제 13 항에 있어서,
    상기 캐시 저장 정책은, 상기 디바이스의 캐시 데이터 저장 공간, 상기 디바이스의 캐시 데이터 저장 개수, 상기 디바이스의 캐시 데이터 저장 기준에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  15. 제 13 항에 있어서,
    상기 캐시 데이터 관리부는,
    상기 저장된 캐시 데이터를 삭제하는 것을 특징으로 하는 장치.
  16. 제 15 항에 있어서,
    상기 캐시 데이터 관리부는,
    상기 복수의 클라우드 서버 내에 저장된 데이터의 전체량 중 캐시 데이터로 저장하는 데이터의 양의 비율이 작은 캐시 데이터부터 순차적으로 삭제하는 것을 특징으로 하는 장치.
  17. 제 13 항에 있어서,
    상기 장치는
    상기 저장된 캐시 데이터에 대한 캐시 리스트를 생성하는 캐시 리스트 생성부를 더 포함하는 것을 특징으로 하는 장치.
  18. 제 12 항에 있어서,
    상기 캐시 비율 결정부는,
    상기 측정된 각각의 네트워크 성능과 반비례하도록 상기 비율을 결정하는 것을 특징으로 하는 장치.
  19. 제 12 항에 있어서,
    상기 네트워크 성능 측정부는,
    상기 복수의 클라우드 서버와 디바이스 간의 네트워크 속도를 각각 측정하는 것을 특징으로 하는 장치.
  20. 제 12 항에 있어서,
    상기 장치는,
    상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간을 결정하는 캐시 저장 공간 결정부를 더 포함하는 것을 특징으로 하는 장치.
  21. 제 12 항에 있어서,
    상기 장치는,
    상기 네트워크 성능에 기초하여, 상기 디바이스의 캐시 데이터 저장 공간을, 상기 복수의 클라우드 각각에 대하여, 할당하는 캐시 저장 공간 할당부를 더 포함하는 것을 특징으로 하는 장치.
  22. 제 12 항에 있어서,
    상기 네트워크 성능 측정부는,
    소정의 시간 간격 마다 복수의 클라우드 서버와 디바이스 간의 네트워크 성능을 각각 측정하는 것을 특징으로 하는 장치.
  23. 제 1 항에 기재된 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

KR1020130107507A 2013-09-06 2013-09-06 캐시 데이터 관리 방법 및 장치 KR102180472B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130107507A KR102180472B1 (ko) 2013-09-06 2013-09-06 캐시 데이터 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130107507A KR102180472B1 (ko) 2013-09-06 2013-09-06 캐시 데이터 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150028630A true KR20150028630A (ko) 2015-03-16
KR102180472B1 KR102180472B1 (ko) 2020-11-18

Family

ID=53023459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130107507A KR102180472B1 (ko) 2013-09-06 2013-09-06 캐시 데이터 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102180472B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160139956A (ko) * 2015-05-29 2016-12-07 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 선택적 서버 연결을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20180074114A (ko) * 2016-12-23 2018-07-03 서울대학교산학협력단 가상 파일 기반의 클라우드 서비스 방법 및 장치
CN115250293A (zh) * 2022-06-30 2022-10-28 深圳水趣智能零售系统有限公司 数据上传方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732240A (en) * 1993-06-04 1998-03-24 Digital Equipment Corporation Real-time data cache size adjustment in a server computer
KR20040032106A (ko) * 2001-06-04 2004-04-14 엔시티 그룹, 인코포레이티드 통신 네트워크로부터 사용자로의 정보 전달시간 감소시스템 및 방법
US20110131197A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Optimizing caching period of location data for network based location services
KR20130097443A (ko) * 2012-02-24 2013-09-03 삼성전자주식회사 휴대단말기의 데이터 공유 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732240A (en) * 1993-06-04 1998-03-24 Digital Equipment Corporation Real-time data cache size adjustment in a server computer
KR20040032106A (ko) * 2001-06-04 2004-04-14 엔시티 그룹, 인코포레이티드 통신 네트워크로부터 사용자로의 정보 전달시간 감소시스템 및 방법
US20110131197A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Optimizing caching period of location data for network based location services
KR20130097443A (ko) * 2012-02-24 2013-09-03 삼성전자주식회사 휴대단말기의 데이터 공유 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160139956A (ko) * 2015-05-29 2016-12-07 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 선택적 서버 연결을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20180074114A (ko) * 2016-12-23 2018-07-03 서울대학교산학협력단 가상 파일 기반의 클라우드 서비스 방법 및 장치
CN115250293A (zh) * 2022-06-30 2022-10-28 深圳水趣智能零售系统有限公司 数据上传方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
KR102180472B1 (ko) 2020-11-18

Similar Documents

Publication Publication Date Title
US9830101B2 (en) Managing data storage in a set of storage systems using usage counters
US8874532B2 (en) Managing dereferenced chunks in a deduplication system
US9348840B2 (en) Adaptive data striping and replication across multiple storage clouds for high availability and performance
CN110347651B (zh) 基于云存储的数据同步方法、装置、设备及存储介质
EP2860632B1 (en) Cloud system, control method thereof, management server and control method thereof
US20190050150A1 (en) Tier based data file management
US10235047B2 (en) Memory management method, apparatus, and system
KR102098415B1 (ko) 캐시 관리 기법
JP6972714B2 (ja) データ取得プログラム、装置、及び方法
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
US10541878B2 (en) Client-space network monitoring
CN113853778B (zh) 一种文件系统的克隆方法及装置
CN110321225A (zh) 负载均衡方法、元数据服务器及计算机可读存储介质
KR20150028630A (ko) 캐시 데이터 관리 방법 및 장치
CN109947667B (zh) 数据访问预测方法和装置
US9946640B2 (en) Method and apparatus for securing sufficient memory in a device
EP2940587A1 (en) Computer, control device for computer system, and recording medium
JP6754115B2 (ja) 選択装置、装置選択方法、プログラム
US9444891B2 (en) Data migration in a storage network
US20140344352A1 (en) Activity internet-accessible data storage view that shows recent and relevant content to the user
CN113691590B (zh) 静态资源获取方法、系统、装置、计算机设备和存储介质
US10459633B1 (en) Method for efficient load balancing in virtual storage systems
KR101977777B1 (ko) 가상 파일 기반의 클라우드 서비스 방법 및 장치
WO2019130926A1 (ja) 情報処理装置、制御方法、及びプログラム
CN114490517A (zh) 数据处理方法、装置、计算节点以及计算机可读存储介质

Legal Events

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