KR101961547B1 - 가상 파일시스템 처리를 위한 장치 및 그 방법 - Google Patents

가상 파일시스템 처리를 위한 장치 및 그 방법 Download PDF

Info

Publication number
KR101961547B1
KR101961547B1 KR1020170055506A KR20170055506A KR101961547B1 KR 101961547 B1 KR101961547 B1 KR 101961547B1 KR 1020170055506 A KR1020170055506 A KR 1020170055506A KR 20170055506 A KR20170055506 A KR 20170055506A KR 101961547 B1 KR101961547 B1 KR 101961547B1
Authority
KR
South Korea
Prior art keywords
data
virtual
storage
local storage
cache area
Prior art date
Application number
KR1020170055506A
Other languages
English (en)
Other versions
KR20180121155A (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 KR1020170055506A priority Critical patent/KR101961547B1/ko
Publication of KR20180121155A publication Critical patent/KR20180121155A/ko
Application granted granted Critical
Publication of KR101961547B1 publication Critical patent/KR101961547B1/ko

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

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

본 발명은 가상 파일시스템 처리를 위한 장치 및 그 방법에 관한 것이다. 본 발명에 따른 외부 서버의 저장영역을 마운트(mount)하여 가상 로컬 저장소로 이용하는 가상 파일시스템 처리 장치가 수행하는 제어방법은, 특정 데이터에 대한 상기 가상 로컬 저장소로의 저장 명령이 감지되면 상기 가상 로컬 저장소의 마운트 상태를 판단하는 단계와; 상기 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로의 실시간 저장이 가능한 제1 상태인 경우에는 상기 특정 데이터를 기 구비된 로컬 캐시 영역에 저장하는 캐시 저장 동작을 수행함과 아울러 상기 로컬 캐시 영역에 저장되는 상기 특정 데이터를 상기 가상 로컬 저장소에 저장하는 업로드 동작을 백그라운드로 수행하고, 상기 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있지만 상기 가상 로컬 저장소로의 실시간 저장이 가능하지 않은 제2 상태인 경우에는 상기 업로드 동작은 생략하고 상기 캐시 저장 동작을 수행하는 단계를 포함하는 것을 특징으로 한다.

Description

가상 파일시스템 처리를 위한 장치 및 그 방법{APPARATUS FOR PROCESSING VIRTUAL FILE SYSTEM AND METHOD THEREOF}
본 발명은 가상 파일시스템 처리를 위한 장치 및 그 방법에 관한 것으로, 보다 상세하게는 외부 서버의 저장영역을 마운트(mount)하여 가상 로컬 저장소로 이용하는 가상 파일시스템 처리를 위한 장치 및 그 방법에 관한 것이다.
가상 파일 시스템(Virtual File System, 줄여서 VFS)은 실제 파일 시스템 위의 추상 계층이다. VFS의 목적은 클라이언트 응용 프로그램이 여러 파일 시스템에 같은 방법으로 접근할 수 있게 하는 것이다.
이를테면 VFS를 사용하면 클라이언트 응용 프로그램은 물리적 로컬 저장 영역은 물론이고 네트워크상의 저장 영역에도 동일한 방식으로 접근할 수 있기 때문에, 사용자는 물리적 로컬 영역과 네트워크상의 저장 영역의 차이를 느끼지 못한다.
더 나아가 VFS는 OS(Operating System) 상의 차이 예를 들어 마이크로소프트 윈도우즈, 맥 오에스, 유닉스 운영 체제 상의 차이에 상관없이 동일한 방식으로 로컬 또는 원격 파일에 접근할 수 있도록 한다.
이러한 VFS는 커널과 실제 파일 시스템과의 인터페이스나 규격을 정의하고 있으므로 그 규격에 따라 간단히 새로운 파일 시스템을 커널에 추가할 수 있다.
이처럼 특정 단말기에서 VFS를 지원하는 경우 원격 서버 상의 저장 영역을 마운트 하여 가상 로컬 저장소로 이용할 수 있는데, 이 경우 가상 로컬 저장소에 데이터를 저장하는 것은 곧 원격 서버에 데이터를 업로드 하는 과정을 동반하는 것이고, 가상 로컬 저장소에 저장된 데이터를 읽는 것은 곧 원격 서버로부터 해당 데이터를 다운로드하는 과정을 동반하는 것이다.
따라서 사용자 인터페이스 상으로는 물리적 로컬 저장소와 가상 로컬 저장소가 동일한 형태로 보이지만, 데이터를 저장하거나 읽는 경우 가상 로컬 저장소의 경우에는 상술한 바와 같이 원격 서버와의 통신을 통한 업로드 또는 다운로드 과정이 이루어지는 것이므로 통신 상황에 따라 상당한 시간이 걸릴 수 있다.
이처럼 가상 로컬 저장소에 데이터를 저장하거나 그 가상 로컬 저장소로부터 데이터를 읽는데 시간이 지체되는 경우 신속한 데이터의 쓰기 또는 읽기가 필요한 시점에는 큰 불편을 야기한다.
예를 들어 사용자가 단말기의 배터리가 부족한 상태에서 사용자가 자신이 직접 편집한 문서를 가상 로컬 저장소에 저장하는 경우 시간이 지체되어 해당 편집 문서가 가상 로컬 저장소에 저장 완료되기 전에 단말기 전원이 꺼지는 경우가 발생할 수도 있는데, 이 경우 사용자가 편집한 문서는 모두 사라지게 되고 복구할 수도 없게 된다.
공개특허 제10-2017-0006960호
본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 외부 서버와의 통신 상태가 좋지 못한 경우라도 소정의 로컬 캐시를 이용하여 필요한 데이터를 읽거나 또는 데이터를 임시 저장할 수 있도록 하는 가상 파일시스템 처리를 위한 장치 및 그 방법을 제공하는 것이다.
상기한 목적을 달성하기 위해 본 발명에 따른 외부 서버의 저장영역을 마운트(mount)하여 가상 로컬 저장소로 이용하는 가상 파일시스템 처리 장치는, 사용자의 명령을 감지하는 명령 감지부와; 상기 명령 감지부에 특정 데이터에 대한 상기 가상 로컬 저장소로의 저장 명령이 감지되면 상기 가상 로컬 저장소의 마운트 상태를 판단하는 마운트 상태 판단부와; 상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로의 실시간 저장이 가능한 제1 상태인 경우에는 상기 특정 데이터를 기 구비된 로컬 캐시 영역에 저장하는 캐시 저장 동작을 수행함과 아울러 상기 로컬 캐시 영역에 저장되는 상기 특정 데이터를 상기 가상 로컬 저장소에 저장하는 업로드 동작을 백그라운드로 수행하고, 상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있지만 상기 가상 로컬 저장소로의 실시간 저장이 가능하지 않은 제2 상태인 경우에는 상기 업로드 동작은 생략하고 상기 캐시 저장 동작을 수행하는 데이터 쓰기 처리부를 포함하여 구성된다.
또, 상기한 목적을 달성하기 위해 본 발명에 따른 외부 서버의 저장영역을 마운트(mount)하여 가상 로컬 저장소로 이용하는 가상 파일시스템 처리 장치가 수행하는 제어방법은, 특정 데이터에 대한 상기 가상 로컬 저장소로의 저장 명령이 감지되면 상기 가상 로컬 저장소의 마운트 상태를 판단하는 단계와; 상기 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로의 실시간 저장이 가능한 제1 상태인 경우에는 상기 특정 데이터를 기 구비된 로컬 캐시 영역에 저장하는 캐시 저장 동작을 수행함과 아울러 상기 로컬 캐시 영역에 저장되는 상기 특정 데이터를 상기 가상 로컬 저장소에 저장하는 업로드 동작을 백그라운드로 수행하고, 상기 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있지만 상기 가상 로컬 저장소로의 실시간 저장이 가능하지 않은 제2 상태인 경우에는 상기 업로드 동작은 생략하고 상기 캐시 저장 동작을 수행하는 단계를 포함하여 이루어진다.
이상 설명한 바와 같이 본 발명에 따르면, 단말기가 외부 서버의 저장 공간을 가상 파일 시스템을 이용하여 마치 단말기 상에 구비된 저장 공간과 같이 활용할 수 있도록 하면서도, 그 외부 서버로 데이터 업로드 또는 외부 서버로부터 데이터 다운로드 함에 있어서의 효율성을 극대화시킬 수 있다.
특히 외부 서버의 저장 공간 대응되는 가상 로컬 저장소의 마운트 상태를 마운트가 되지 않은 상태, 마운트가 되었고 실시간 전송이 가능한 상태, 마운트가 되었고 실시간 전송이 불가능한 상태로 각각 구별하고, 그 각각의 상태에 따른 최적의 처리를 수행함으로써, 실질적으로는 외부 서버의 저장 공간을 이용하면서도 종래에는 달성하지 못한 신속한 데이터 접근이 가능하도록 하는 효과를 나타낸다.
또한, 이미지 데이터에 대해서는 고화질 썸네일이 로컬 캐시 영역에 저장되고 추후 이용되도록 함으로써, 가상 로컬 저장소에 저장된 원본 이미지 데이터에 직접 접근하지 않더라도 열람 단계에서는 충분히 그 목적을 달성하도록 할 수 있고, 이는 통신 트래픽 발생을 최소화시키는 효과도 있다.
도 1은 본 발명의 일 실시예에 따른 가상 파일시스템 처리 장치를 포함하는 전체 통신 시스템의 개략 구성도이고,
도 2는 도 1의 가상 파일시스템 처리 장치의 기능 블록도이고,
도 3 내지 도 9는 본 발명의 일 실시예에 따른 가상 파일시스템 처리 장치의 구체적인 제어 흐름도이다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.
이하 본 발명에 따른 각 실시예는 본 발명의 이해를 돕기 위한 하나의 예에 불과하고, 본 발명이 이러한 실시예에 한정되는 것은 아니다. 특히 본 발명은 각 실시예에 포함되는 개별 구성, 개별 기능, 또는 개별 단계 중 적어도 어느 하나 이상의 조합으로 구성될 수 있다.
특히, 편의상 청구 범위의 일부 청구항에는 편의상 '(a)'와 같은 알파벳을 포함시켰으나, 이러한 알파벳이 각 단계의 순서를 규정하는 것은 아니다.
또한 이하 본 발명에 따른 각 실시예에서 언급하는 각 신호는 한 번의 연결 등에 의해 전송되는 하나의 신호를 의미할 수도 있지만, 후술하는 특정 기능 수행을 목적으로 전송되는 일련의 신호 그룹을 의미할 수도 있다. 즉, 각 실시예에서는 소정의 시간 간격을 두고 전송되거나 상대 장치로부터의 응답 신호를 수신한 이후에 전송되는 복수 개의 신호들이 편의상 하나의 신호명으로 표현될 수 있는 것이다.
본 발명의 일 실시예에 따른 가상 파일시스템 처리 장치(100)를 포함하는 전체 통신 시스템의 개략 구성은 도 1에 도시된 바와 같다.
동 도면에 도시된 바와 같이 전체 통신 시스템은 가상 파일시스템 처리 장치(100)와 외부 서버(200)를 포함하여 구성된다.
여기서 외부 서버(200)는 가상 파일시스템 처리 장치(100)와 통신하여 소정의 데이터를 저장하고, 또한 기 저장된 데이터를 가상 파일시스템 처리 장치(100)에 제공하는 기능을 수행한다. 이러한 외부 서버(200)는 통신망에 연결되어 소정의 데이터 저장 및 저장된 데이터의 제공 기능을 수행하는 모든 종류의 서버를 포함하고, 예를 들어 클라우드 서버일 수도 있다.
여기서 가상 파일시스템 처리 장치(100)와 외부 서버(200)간의 통신 프로토콜에는 제한이 없고, 후술하는 바와 같이 가상 파일시스템 처리 장치(100)에서 외부 서버(200)에 저장되는 데이터를 가상 파일 시스템을 이용하여 접근할 수 있도록 할 수 있기만 하면 된다.
한편, 가상 파일시스템 처리 장치(100)는 가상 파일시스템을 처리할 수 있도록 구성된 것으로서, 이에 따라 외부 서버(200)의 저장영역을 마운트(mount)하여 가상 로컬 저장소(153)로 이용할 수 있다. 예를 들어 외부 서버(200)가 클라우드 서버인 경우 가상 파일시스템 처리 장치(100)는 클라우드 가상 파일 시스템을 이용하는 것이라 할 수 있다.
도 1에는 가상 파일시스템 처리 장치(100)가 이동통신 단말기인 것을 일 예로 하였으나, 가상 파일시스템 처리 장치(100)는 댁내에 구비된 컴퓨터와 같이 유선 통신 단말기일 수도 있음은 물론이다.
이러한 가상 파일시스템 처리 장치(100)의 기능 블록은 도 2에 도시된 바와 같다.
동 도면에 도시된 바와 같이 가상 파일시스템 처리 장치(100)는 명령 감지부(110), 마운트 상태 판단부(120), 데이터 쓰기 처리부(130), 데이터 읽기 처리부(140), 저장부(150), 디스플레이부(160)를 포함하여 구성될 수 있다.
먼저, 디스플레이부(160)는 가상 파일시스템 처리 장치(100)의 동작 중 발생하는 텍스트, 이미지, 동영상 등을 표시하는 것으로서, 예를 들어 전력소모가 적은 LCD(Liquid Crystal Display)를 포함하여 구성될 수 있는데, 이에 한정되는 것은 아니다.
여기서 저장부(150)는 가상 파일시스템 처리 장치(100)의 동작을 위해 필요한 프로그램 및 데이터와, 가상 파일시스템 처리 장치(100)의 동작 중 발생하는 데이터 또는 외부로부터 수신되는 데이터를 저장하는 기능을 수행한다.
동 도면에 도시된 바와 같이 저장부(150)는 기본 로컬 저장소(151), 로컬 캐시 영역(152), 가상 로컬 저장소(153)를 포함하여 구성될 수 있는데, 여기서 기본 로컬 저장소(151)는 외부와의 통신 없이 가상 파일시스템 처리 장치(100)가 직접 액세스할 수 있는 저장 공간을 의미하고, 가상 로컬 저장소(153)는 가상 파일시스템 처리 장치(100)가 외부 서버(200)의 저장 영역을 마운트(mount)한 것으로서 일종의 가상의 저장 공간이라 할 수 있다.
즉, 본 실시예에서 가상 로컬 저장소(153)는 물리적 저장 영역이 아니라 논리적 저장 영역이라 할 수 있고, 따라서 가상 로컬 저장소(153)에 데이터를 저장한다는 것은 외부 서버(200)에 해당 데이터를 업로드 하는 것이고, 가상 로컬 저장소(153)로부터 데이터를 읽어오는 것은 외부 서버(200)로부터 해당 데이터를 다운로드 하는 것이라 할 수 있다.
한편 로컬 캐시 영역(152)은 가상 로컬 저장소(153)에 저장되는 데이터의 적어도 일부가 저장되는 영역으로서, 외부 서버(200) 등과의 통신 없이도 가상 파일시스템 처리 장치(100)가 직접 접근할 수 있다는 점에서는 기본 로컬 저장소(151)와 동일하지만, 기능상 가상 로컬 저장소(153)에 저장되는 데이터의 적어도 일부가 빠른 읽기/쓰기 동작을 위해 저장된다는 점에 특징이 있다. 이에 대한 보다 상세한 설명은 후술토록 한다.
명령 감지부(110)는 사용자의 각종 명령을 감지하는 기능을 수행한다. 이를 위해 명령 감지부(110)는 도 1에 도시하지는 않았지만 버튼이나 터치 패드 등과 같은 사용자가 조장하는 입력부를 포함하여 구성될 수 있다.
마운트 상태 판단부(120)는 명령 감지부(110)에 특정 데이터(예를 들어 이미지 데이터)에 대한 가상 로컬 저장소(153)로의 저장 명령, 가상 로컬 저장소(153)에 저장된 데이터에 대한 데이터 확인 명령 등이 감지되면 가상 로컬 저장소(153)의 마운트 상태를 판단하는 기능을 수행한다.
여기서 마운트 상태 판단부(120)가 판단하는 것에는 가상 로컬 저장소(153)가 마운트 되어 있는지 여부와, 마운트 되어 있다면 그 가상 로컬 저장소(153)로의 실시간 저장 또는 그 가상 로컬 저장소(153)로부터의 실시간 읽기가 가능한지 여부 등이 포함될 수 있다.
본 실시예에서는 편의상 가상 로컬 저장소(153)가 마운트 되어 있는지 여부를 판단하는 것은 '1차 마운트 상태 판단'이라 하고, 그 가상 로컬 저장소(153)로의 실시간 저장 또는 그 가상 로컬 저장소(153)로부터의 실시간 읽기가 가능한지 여부를 판단하는 것은 '2차 마운트 상태 판단'이라 한다. 이러한 1차 마운트 상태 판단과 2차 마운트 상태 판단은 순차적으로 또는 동시에 이루어질 수 있다.
2차 마운트 상태 판단을 수행함에 있어서, 마운트 상태 판단부(120)는 후술하는 바와 같이 데이터 쓰기 처리부(130)에 의한 가상 로컬 저장소(153)로의 데이터 저장 속도 또는 데이터 읽기 처리부(140)에 의한 가상 로컬 저장소(153)로부터의 데이터 읽기 속도를 확인하고, 그 확인된 데이터 저장 속도 또는 데이터 읽기 속도를 기 설정된 값과 비교하여 가상 로컬 저장소(153)로의 실시간 저장 또는 로컬 저장소로부터의 실시간 읽기가 가능한지 여부를 판단할 수 있다.
즉, 마운트 상태 판단부(120)는 가상 파일시스템 처리 장치(100)와 외부 서버(200) 간의 데이터 송수신 속도가 기 설정된 값 이하로 떨어진 경우에는 실시간 쓰기 또는 실시간 읽기 상태가 아니라고 판단할 수 있는 것이다.
데이터 쓰기 처리부(130)는 소정의 데이터를 저장하는 처리 즉, 쓰기 동작을 수행하는 것으로서, 특히 마운트 상태 판단부(120)의 판단 결과 가상 로컬 저장소(153)가 마운트 되어 있고 가상 로컬 저장소(153)로의 실시간 저장이 가능한 상태(이하, '제1 상태'라 함)인 경우에는 캐시 저장 동작을 수행함과 아울러 업로드 동작을 수행할 수 있는데, 여기서 업로드 동작은 백그라운드로 동작할 수 있다.
상술한 캐시 저장 동작은 특정 데이터를 기 구비된 로컬 캐시 영역(152)에 저장하는 동작을 의미하고, 업로드 동작은 특정 데이터를 가상 로컬 저장소(153)에 저장하는 동작을 의미한다.
따라서 캐시 저장 동작을 수행함과 아울러 업로드 동작을 백그라운드로 처리함으로써, 사용자는 업로드 동작으로 인한 시간 지연을 기다릴 필요 없고, 또 다른 작업을 수행할 수 있다.
또한 데이터 쓰기 처리부(130)는 가상 로컬 저장소(153)로 저장될 데이터가 이미지 파일과 같은 이미지 데이터이고, 마운트 상태 판단부(120)의 판단 결과 상기 가상 로컬 저장소(153)가 마운트 되어 있으며 가상 로컬 저장소(153)로의 실시간 저장이 가능한 상태인 경우에는, 이미지 데이터에 대응되는 고화질 썸네일 데이터를 생성하여 로컬 캐시 영역(152)에 저장하는 캐시 저장 동작을 수행함과 아울러 이미지 데이터를 가상 로컬 저장소(153)에 저장하는 업로드 동작을 백그라운드로 수행할 수 있다.
마운트 상태 판단부(120)의 판단 결과 가상 로컬 저장소(153)가 마운트 되어 있지만 가상 로컬 저장소(153)로의 실시간 저장이 가능하지 않은 상태(이하, '제2 상태'라 함)인 경우, 데이터 쓰기 처리부(130)는 상술한 업로드 동작은 생략하고 캐시 저장 동작을 수행한다.
예를 들어 가상 파일시스템 처리 장치(100)와 외부 서버(200) 간의 통신 속도가 기 설정된 값 이하로 떨어진 경우, 데이터 쓰기 처리부(130)는 캐시 저장 동작만을 수행하고 무리하게 업로드 동작을 수행하지 않음으로써, 지속적인 업로드 동작으로 인한 불필요한 전력 소모를 방지하면서도 필요한 데이터의 저장(비록 로컬에의 저장이기는 하지만)이 이루어지도록 할 수 있다.
또한, 데이터 쓰기 처리부(130)는 가상 로컬 저장소(153)의 마운트 상태가 제1 상태인 경우 특정 데이터를 로컬 캐시 영역(152)에 저장할 때 그 로컬 캐시 영역(152)에 저장된 데이터의 총 양이 기 설정된 로컬 캐시 영역(152)의 크기를 초과하지 않도록 오래된 데이터를 삭제 처리할 수 있다.
여기서, 로컬 캐시 영역(152)의 크기는 사용자의 선택 또는 OS에 의한 자동화 처리를 통해 기 설정되어 있을 수 있는데, 이처럼 기 설정된 로컬 캐시 영역(152)의 크기는 이하 본 실시예를 설명함에 있어서 '기본 크기'라 칭한다.
즉, 데이터 쓰기 처리부(130)는 로컬 캐시 영역(152)에 저장된 데이터의 총 양이 기본 크기를 초과하는 경우에는 저장된 시점을 기준으로 또는 사용된 시점을 기준으로 가장 오래된 데이터부터 삭제 처리할 수 있는 것이다.
다른 예로써, 데이터 쓰기 처리부(130)는 가상 로컬 저장소(153)의 마운트 상태가 제2 상태이고 특정 데이터를 로컬 캐시 영역(152)에 저장할 때 그 로컬 캐시 영역(152)에 저장된 데이터의 총 양이 기본 크기를 초과하는 경우에는, 로컬 캐시 영역(152)의 크기를 동적 확장한 후에 저장 요청받은 특정 데이터를 저장할 수도 있다.
이때 로컬 캐시 영역(152)의 크기를 동적으로 확장할 수 없는 경우, 예를 들어 로컬 캐시 영역(152)을 포함하고 있는 저장부(미 도시함)에 동적 확장시킬 여유 공간이 없는 경우, 데이터 쓰기 처리부(130)는 파일 저장 실패 처리(일 예로 에러 메시지 출력)를 수행할 수 있다.
이처럼 로컬 캐시 영역(152)의 크기를 동적 확장한 후에 가상 로컬 저장소(153)의 마운트 상태가 제1 상태가 된 경우에는, 데이터 쓰기 처리부(130)는 로컬 캐시 영역(152)에 저장된 데이터 중 가상 로컬 저장소(153)에 저장되지 못한 데이터에 대한 업로드 동작을 수행하고, 로컬 캐시 영역(152)의 크기를 원래의 크기 즉, 기본 크기로 동적 축소하면서 오래된 데이터를 삭제 처리할 수도 있다.
이러한 업로드 재개 동작은 로컬 캐시 영역(152)의 크기를 동적 확장 여부에 상관없이 이루어질 수도 있다.
예를 들어 가상 로컬 저장소(153)가 제2 상태였다가 다시 제1 상태가 된 경우가 될 때마다 데이터 쓰기 처리부(130)는 로컬 캐시 영역(152)에 저장된 데이터 중 가상 로컬 저장소(153)에 저장되지 못한 데이터에 대한 업로드 동작을 수행할 수 있는 것이다.
상술한 설명에서는 가상 로컬 저장소(153)가 마운트 되어 있는 경우에 대해서 언급하였지만, 마운트 상태 판단부(120)의 판단 결과 가상 로컬 저장소(153)가 아직 마운트 되어있지 않은 경우, 데이터 쓰기 처리부(130)는 저장 요청받은 특정 데이터를 기본 로컬 저장소(151)에 저장할 수도 있다.
한편, 데이터 읽기 처리부(140)는 소정의 데이터를 읽는 처리를 수행하는 것으로서, 특히 마운트 상태 판단부(120)의 판단 결과 가상 로컬 저장소(153)가 마운트 되어 있고 가상 로컬 저장소(153)로부터 실시간 읽기가 가능한 상태(이하, '제3 상태'라 함)인 경우에는 가상 로컬 저장소(153)에 저장된 데이터에 대응되는 데이터 리스트를 읽어 디스플레이부(160)에 표시한다.
마운트 상태 판단부(120)의 판단 결과 가상 로컬 저장소(153)가 마운트 되어 있지만 가상 로컬 저장소(153)로부터 실시간 읽기가 가능하지 않은 상태(이하, '제4 상태'라 함)인 경우에는 데이터 읽기 처리부(140)는 로컬 캐시 영역(152)에 저장된 데이터에 대응되는 데이터 리스트를 읽어 디스플레이부(160)에 표시한다.
여기서 제1 상태와 제2 상태를 구분 짓는 조건과, 제3 상태와 제4 상태를 구분 짓는 조건은 서로 상이할 수 있다.
예를 들어 외부 서버(200)로의 업로드 평균 속도와 외부 서버(200)로부터의 다운로드 평균 속도가 비대칭인 경우, 가상 파일시스템 처리 장치(100)와 외부 서버(200) 간의 현재의 통신 속도를 각기 다른 기준값과 비교하여 제1 상태와 제2 상태, 제3 상태와 제4 상태를 구분 지을 수 있는 것이다.
일 예로 가상 파일시스템 처리 장치(100)는 외부 서버(200)로의 업로드 속도가 10Kbps 보다 낮은 경우에 제2 상태라 판단하고, 외부 서버(200)로의 다운로드 속도가 100Kbps 보다 낮은 경우에 제4 상태라 판단할 수 있다.
따라서 본 발명에 다른 실시예에 따른 가상 파일시스템 처리 장치(100)는 명령 감지부(110), 마운트 상태 판단부(120), 데이터 읽기 처리부(140), 저장부(150), 디스플레이부(160)를 포함하는 형태 즉, 데이터 쓰기 처리부(130)가 제거된 상태로 구성될 수도 있다.
또한 데이터 읽기 처리부(140)는 가상 로컬 저장소(153)가 마운트 되어 있는 상태에서 가상 로컬 저장소(153)에 저장된 이미지 데이터에 대한 읽기 명령이 감지된 경우, 읽기 명령이 이루어진 이미지 데이터에 대응되는 고화질 썸네일 데이터가 로컬 캐시 영역(152)에 존재한다면 해당 고화질 썸네일 데이터를 추출하여 표시하고, 읽기 명령이 이루어진 이미지 데이터에 대응되는 고화질 썸네일 데이터가 로컬 캐시 영역(152)에 존재하지 않는다면 가상 로컬 저장소(153)로부터 이미지 데이터를 읽어 표시할 수 있다.
이하에서는 도 3 내지 도 9를 참조하여 본 발명의 일 실시예에 따른 가상 파일시스템 처리 장치(100)의 각각의 시나리오별 제어 과정을 구체적으로 설명한다.
우선, 도 3 내지 도 5는 소정의 데이터를 저장하는 과정을 나타낸다.
가상 파일시스템 처리 장치(100)는 사용자의 요청에 따라 카메라를 실행하는 경우(단계 S1) 저장 위치가 가상 로컬 저장소(153)인지 여부를 확인한다(단계 S3).
확인 결과 저장 위치가 가상 로컬 저장소(153)가 아니라 기본 로컬 저장소(151)인 경우(단계 S3) 사진 촬영을 수행하고(단계 S5) 그 촬영된 사진을 기본 로컬 저장소(151)에 저장한다(단계 S7).
여기서 사용자의 카메라 실행 요청 또는 사용자의 사진 촬영이 앞서 설명한 가상 로컬 저장소(153)로의 저장 명령일 수 있다.
확인 결과 저장 위치가 가상 로컬 저장소(153)인 경우(단계 S3), 가상 파일시스템 처리 장치(100)는 가상 로컬 저장소(153)의 1차 마운트 상태 판단(즉, 마운트가 되어있는지 여부를 판단)을 수행하고(단계 S9), 마운트 되어있지 않다면(단계 S11) 저장 위치를 자동으로 로컬 저장소로 변경한다(단계 S13).
물론 가상 파일시스템 처리 장치(100)는 저장소 변경 메시지를 표시하여 사용자로 하여금 수동으로 저장 위치를 변경할 수 있도록 할 수도 있다.
한편, 단계 S11에서의 판단 결과 가상 로컬 저장소(153)가 마운트가 된 상태인 경우의 이후 과정에 대해서는 도 4를 참조하여 이어 설명한다.
가상 로컬 저장소(153)가 마운트가 된 상태에서 사진 촬영이 이루어진 후(단계 S15), 가상 파일시스템 처리 장치(100)는 2차 마운트 상태 판단(즉, 마운트 된 가상 로컬 저장소(153)로의 실시간 저장이 가능한 상태인지 여부를 판단)을 수행한다(단계 S17).
판단 결과 실시간 저장이 가능한 경우(단계 S19), 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)에 해당 촬영된 데이터가 추가로 저장될 여유 공간이 존재하는지 여부를 판단하고(단계 S21), 로컬 캐시 영역(152)에 여유 공간이 없다면 오래된 데이터부터 삭제하여 여유 공간을 확보한다(단계 S23).
판단 결과 로컬 캐시 영역(152)에 여유 공간이 있다면(단계 S21) 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)에 촬영된 사진을 저장함(단계 S25)과 아울러 해당 촬영 사진을 가상 로컬 저장소(153)에 저장하는 업로드 동작을 수행한다(단계 S27).
한편, 단계 S19에서의 판단 결과 가상 로컬 저장소(153)에 실시간 저장이 가능하지 않은 경우 이후의 과정에 대해서는 도 5를 참조하여 이어 설명한다.
가상 로컬 저장소(153)에 실시간 저장이 가능하지 않은 경우, 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)에 여유 공간이 있는지를 판단한 후(단계 S29), 여유 공간이 없는 경우 로컬 캐시 영역(152)의 크기를 동적으로 확장한다(단계 S31). 예를 들어 로컬 캐시 영역(152)의 기본 크기가 100Mbyte 인 경우 가상 파일시스템 처리 장치(100)는 50% 정도 증가된 150Mbyte를 로컬 캐시 영역(152)의 크기로 설정할 수 있는 것이다.
여기서 가상 파일시스템 처리 장치(100)는 저장부(150)의 전체 용량 범위 이내에서 또는 기 설정된 최대 용량 값 범위 이내에서 로컬 캐시 영역(152)의 크기를 확장할 수 있다.
로컬 캐시 영역(152)의 확장 결과 사진을 저장할 정도의 여유가 된 경우(단계 S29), 가상 파일시스템 처리 장치(100)는 사진을 로컬 캐시 영역(152)에 저장하고(단계 S33) 2차 마운트 상태 판단을 반복적으로 다시 수행한다(단계 S35).
판단 결과 가상 로컬 저장소(153)로의 실시간 저장이 가능하게 되면(단계 S37), 가상 파일시스템 처리 장치(100)는 가상 로컬 저장소(153)에 사진을 저장 즉, 업로드 하는데(단계 S39), 이때 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)에 저장된 데이터 중 가상 로컬 저장소(153)에 업로드 되지 않은 모든 데이터를 일괄적으로 업로드할 수 있음은 물론이다.
이처럼 업로드 처리가 완료된 경우(단계 S39) 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)을 원래의 크기 즉, 기본 크기로 동적 축소하는데(단계 S41), 이때 오래된 데이터를 먼저 삭제 처리할 수 있다.
이하에서는 도 6 내지도 도 7을 참조하여 소정의 데이터를 읽어오는 과정을 설명한다.
우선 도 6을 참조하면, 가상 파일시스템 처리 장치(100)는 데이터 확인 명령(일 예로 파일 리스트 요청)이 감지되면(단계 S51), 1차 마운트 상태 판단을 수행한다(단계 S53).
판단 결과 가상 로컬 저장소(153)가 마운트 되어 있는 경우(단계 S55), 가상 파일시스템 처리 장치(100)는 2차 마운트 상태 판단을 수행하는데(단계 S59), 판단 결과 가상 로컬 저장소(153)로부터의 실시간 조회가 가능한 경우(단계 S59) 가상 로컬 저장소(153)의 파일 리스트를 추출한 후(단계 S61) 표시한다(단계 S63).
단계 S59의 판단 결과 가상 로컬 저장소(153)로부터의 실시간 조회가 가능하지 않은 상태인 경우, 예를 들어 가상 파일시스템 처리 장치(100)와 외부 서버(200) 간에 통신 장애가 발생하거나 통신 속도가 현저히 떨어져 있는 경우, 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)의 파일 리스트를 추출한 후(단계 S65) 표시한다(단계 S63).
한편, 단계 S55의 판단 결과 가상 로컬 저장소(153)가 마운트 되어 있지 않은 경우(단계 S55), 가상 파일시스템 처리 장치(100)는 기본 로컬 저장소(151)의 파일 리스트를 추출한 후(단계 S67) 표시할 수도 있다(단계 S63).
다음으로 가상 로컬 저장소(153)가 마운트 된 상태에서 특정 파일의 읽기 요청이 있는 경우의 처리 과정은 도 7에 도시된 바와 같다.
사용자로부터 특정 파일에 대한 열기 요청이 감지된 경우(단계 S69), 가상 파일시스템 처리 장치(100)는 그 요청받은 특정 파일이 로컬 캐시 영역(152)에 존재하는지 여부를 판단한다(단계 S71).
판단 결과, 그 요청받은 특정 파일이 로컬 캐시 영역(152)에 존재하는 경우(단계 S71), 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)에 저장된 파일을 읽은 후(단계 S85), 그 파일 내용을 표시한다(단계 S81).
만일 요청받은 특정 파일이 로컬 캐시 영역(152)에 존재하지 않는 경우(단계 S71), 가상 파일시스템 처리 장치(100)는 가상 로컬 저장소(153)에 대한 2차 마운트 상태 판단 처리를 수행한다(단계 S273).
2차 마운트 상태 판단 처리 결과, 가상 로컬 저장소(153)로부터 실시간 조회(읽기)가 가능한 상태인 경우(단계 S75) 가상 파일시스템 처리 장치(100)는 가상 로컬 저장소(153)에 저장된 파일을 읽어(즉, 다운로드 받아)(단계 S77) 로컬 캐시 영역(152)에 저장하고(단계 S79), 그 파일 내용을 표시한다(단계 S81).
로컬 캐시 영역(152)에 저장된 파일은 추후 사용자의 해당 파일 열기 요청시 빠른 처리를 위해 재사용될 수 있음은 물론이다.
만일 2차 마운트 상태 판단을 수행할 결과 가상 로컬 저장소(153)가 실시간 조회(읽기)가 가능한 상태가 아닌 경우(단계 S575), 가상 파일시스템 처리 장치(100)는 에러 표시를 하여 사용자가 알 수 있도록 한다(단계 S83).
상술한 설명에서는 일반적인 데이터들에 대한 읽기/쓰기(저장) 처리 과정을 설명하였는데, 이미지 데이터(이미지 파일)에 대해서는 추가적은 처리 과정이 있을 수 있으므로, 이하에서는 도 8 및 도 9를 참조하여 이미지 파일에 대한 저장과 읽는 과정을 설명한다.
우선 도 8을 참조하여 이미지 파일을 저장하는 과정을 설명하면 다음과 같다.
가상 파일시스템 처리 장치(100)는 가상 로컬 저장소(153)로 이미지 파일을 저장하라는 명령을 감지하는 경우(단계 S91) 가상 로컬 저장소(153)의 마운트 상태를 판단한다(단계 S93).
판단 결과 가상 로컬 저장소(153)가 마운트 되어 있고 또한 실시간 저장이 가능한 상태인 경우(단계 S)95, 가상 파일시스템 처리 장치(100)는 그 이미지 파일에 대응되는 고화질 썸네일 파일을 생성한다(단계 S97).
여기서 고화질 썸네일 파일은 저장하고자 하는 이미지 파일을 기초로 생성한 썸네일 이미지 파일로서, 생성되는 썸네일 파일의 화질은 기 설정된 해상도 값에 의해 결정될 수 있다.
이어서 가상 파일시스템 처리 장치(100)는 생성한 고화질 썸네일 파일을 로컬 캐시 영역(152)에 저장하고(단계 S99), 이미지 파일은 가상 로컬 저장소(153)에 저장(업로드)한다(단계 S101).
한편, 마운트 상태 판단을 수행한 결과 가상 로컬 저장소(153)가 마운트가 되어 있지 않거나 마운트는 되었으나 실시간 저장이 가능하지 않은 경우(단계 S95), 가상 파일시스템 처리 장치(100)는 이미지 파일을 로컬 캐시 영역(152)에 저장할 수 있다(단계 S103).
다음으로, 도 8의 과정을 거쳤다는 전제하에, 사용자가 이미지 파일을 열람하거나 변경하고자 하는 경우의 처리 과정을 도 9를 참조하여 설명한다.
본 실시예를 설명함에 있어서 가상 로컬 저장소(153)는 마운트 되어 있는 상태라 가정한다.
사용자로부터 특정 이미지 파일 읽기 명령을 감지한 경우(단계 S105), 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)에 사용자가 요청한 특정 이미지 파일에 대응되는 고화질 썸네일 파일이 존재하는지 여부를 판단한다(단계 S107).
판단 결과 고화질 썸네일 파일이 존재하는 경우, 가상 파일시스템 처리 장치(100)는 로컬 캐시 영역(152)으로부터 해당하는 고화질 썸네일 파일을 읽고 표시한다(단계 S109).
이후, 사용자로부터 고화질 썸네일 파일에 대응되는 특정 이미지 파일에 대한 '변경' 또는 '원본보기' 요청이 감지된 경우(단계 S111), 가상 파일시스템 처리 장치(100)는 가상 로컬 저장소(153)에 대한 2차 마운트 상태 판단 처리를 수행한다(단계 S115).
판단 결과 가상 로컬 저장소(153)로부터의 실시간 조회가 가능한 상태인 경우(단계 S115), 가상 파일시스템 처리 장치(100)는 가상 로컬 저장소(153)에 저장된 특정 이미지 파일을 읽어서(단계 S117) 표시한다(단계 S121). 이때 가상 파일시스템 처리 장치(100)는 그 특정 이미지 파일을 로컬 캐시 영역(152)에 저장 및 고화질 썸네일 파일을 갱신할 수도 있다(단계 S119).
2차 마운트 상태 판단 결과 가상 로컬 저장소(153)로부터의 실시간 조회가 가능하지 않은 상태인 경우(단계 S115), 가상 파일시스템 처리 장치(100)는 에러 메시지를 출력하여 사용자가 알 수 있도록 한다(단계 S123).
사용자가 고화질 썸네일 파일에 대한 '삭제'를 요청하는 경우에도 가상 파일시스템 처리 장치(100)는 그 고화질 썸네일 파일에 대한 삭제와 더불어 가상 로컬 저장소(153)에 저장되어 있는 원본 즉, 특정 이미지 파일도 삭제 처리할 수도 있음은 물론이다.
한편, 상술한 각 실시예를 수행하는 과정은 소정의 기록 매체(예를 들어 컴퓨터로 판독 가능한)에 저장된 프로그램 또는 애플리케이션에 의해 이루어질 수 있음은 물론이다. 여기서 기록 매체는 RAM(Random Access Memory)과 같은 전자적 기록 매체, 하드 디스크와 같은 자기적 기록 매체, CD(Compact Disk)와 같은 광학적 기록 매체 등을 모두 포함한다.
이때, 기록 매체에 저장된 프로그램은 컴퓨터나 스마트폰 등과 같은 하드웨어 상에서 실행되어 상술한 각 실시예를 수행할 수 있다. 특히, 상술한 본 발명에 따른 가상 파일시스템 처리 장치의 기능 블록 중 적어도 어느 하나는 이러한 프로그램 또는 애플리케이션에 의해 구현될 수 있다.
또한, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다.
100 : 가상 파일시스템 처리 장치 200 : 외부 서버
110 : 명령 감지부 120 : 마운트 상태 판단부
130 : 데이터 쓰기 처리부 140 : 데이터 읽기 처리부
150 : 저장부 160 : 디스플레이부
151 : 기본 로컬 저장소 152 : 로컬 캐시 영역
153 : 가상 로컬 저장소

Claims (24)

  1. 외부 서버의 저장영역을 마운트(mount)하여 가상 로컬 저장소로 이용하는 가상 파일시스템 처리 장치가 수행하는 제어방법에 있어서,
    (a) 특정 데이터에 대한 상기 가상 로컬 저장소로의 저장 명령이 감지되면 상기 가상 로컬 저장소의 마운트 상태를 판단하는 단계와;
    (b) 상기 (a) 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로의 실시간 저장이 가능한 제1 상태인 경우에는 상기 특정 데이터를 기 구비된 로컬 캐시 영역에 저장하는 캐시 저장 동작을 수행함과 아울러 상기 로컬 캐시 영역에 저장되는 상기 특정 데이터를 상기 가상 로컬 저장소에 저장하는 업로드 동작을 백그라운드로 수행하고, 상기 (a) 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있지만 상기 가상 로컬 저장소로의 실시간 저장이 가능하지 않은 제2 상태인 경우에는 상기 업로드 동작은 생략하고 상기 캐시 저장 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  2. 제1항에 있어서,
    상기 (a) 단계에서는 상기 외부 서버와의 통신을 통한 데이터 업로드 속도를 기초로 상기 가상 로컬 저장소로의 데이터 저장 속도를 확인하고, 그 확인된 데이터 저장 속도를 기 설정된 값과 비교하여 상기 가상 로컬 저장소로의 실시간 저장이 가능한지 여부를 판단하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  3. 제1항에 있어서,
    상기 로컬 캐시 영역의 크기는 기 설정되어 있고,
    상기 (b) 단계는, 상기 가상 로컬 저장소의 마운트 상태가 제1 상태인 경우 상기 특정 데이터를 상기 로컬 캐시 영역에 저장할 때 상기 로컬 캐시 영역에 저장된 데이터의 총 양이 기 설정된 로컬 캐시 영역의 크기를 초과하지 않도록 오래된 데이터를 삭제 처리 하는 단계를 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  4. 제1항에 있어서,
    상기 로컬 캐시 영역의 크기는 기 설정되어 있고,
    상기 (b) 단계는, 상기 가상 로컬 저장소의 마운트 상태가 제2 상태이고 상기 특정 데이터를 상기 로컬 캐시 영역에 저장할 때 상기 로컬 캐시 영역에 저장된 데이터의 총 양이 기 설정된 로컬 캐시 영역의 크기를 초과하는 경우에는, 상기 로컬 캐시 영역의 크기를 동적 확장한 후에 상기 특정 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  5. 제4항에 있어서,
    상기 (b) 단계에서 상기 로컬 캐시 영역의 크기를 동적 확장한 후에 상기 가상 로컬 저장소의 마운트 상태가 제1 상태가 된 경우에는, 상기 로컬 캐시 영역에 저장된 데이터 중 상기 가상 로컬 저장소에 저장되지 못한 데이터에 대한 상기 업로드 동작을 수행하고, 상기 로컬 캐시 영역의 크기를 원래의 크기로 동적 축소하면서 오래된 데이터를 삭제 처리 하는 단계를 더 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  6. 제1항에 있어서,
    상기 로컬 캐시 영역의 크기는 기 설정되어 있고,
    상기 (b) 단계는, 상기 가상 로컬 저장소의 마운트 상태가 제2 상태이고 상기 특정 데이터를 상기 로컬 캐시 영역에 저장할 때 상기 로컬 캐시 영역에 저장된 데이터의 총 양이 기 설정된 로컬 캐시 영역의 크기를 초과함과 아울러 해당 로컬 캐시 영역을 동적 확장할 수 없는 경우에는 파일 저장 실패 처리를 수행하는 단계를 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  7. 제1항에 있어서,
    상기 가상 로컬 저장소가 제2 상태였다가 다시 제1 상태가 된 경우, 상기 로컬 캐시 영역에 저장된 데이터 중 상기 가상 로컬 저장소에 저장되지 못한 데이터에 대한 상기 업로드 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  8. 제1항에 있어서,
    상기 (a) 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어있지 않은 경우, 상기 특정 데이터를 기본 로컬 저장소에 저장하는 단계를 더 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  9. 제1항에 있어서,
    (c) 상기 가상 로컬 저장소에 저장된 데이터에 대한 데이터 확인 명령이 감지되면 상기 가상 로컬 저장소의 마운트 상태를 판단하는 단계와;
    (d) 상기 (c) 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로부터 실시간 읽기가 가능한 제3 상태인 경우에는 상기 가상 로컬 저장소에 저장된 데이터의 리스트를 표시하고, 상기 (c) 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있지만 상기 가상 로컬 저장소로부터 실시간 읽기가 가능하지 않은 제4 상태인 경우에는 상기 로컬 캐시 영역에 저장된 데이터의 리스트를 표시하는 단계를 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  10. 제1항에 있어서,
    (e) 이미지 데이터에 대한 상기 가상 로컬 저장소로의 저장 명령이 감지되면 상기 가상 로컬 저장소의 마운트 상태를 판단하는 단계와;
    (f) 상기 (e) 단계의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로의 실시간 저장이 가능한 상태인 경우, 상기 이미지 데이터에 대응되는 고화질 썸네일 데이터를 생성하여 상기 로컬 캐시 영역에 저장하는 캐시 저장 동작을 수행함과 아울러 상기 이미지 데이터를 상기 가상 로컬 저장소에 저장하는 업로드 동작을 백그라운드로 수행하는 단계와;
    (g) 상기 가상 로컬 저장소가 마운트 되어 있는 상태에서 상기 가상 로컬 저장소에 저장된 이미지 데이터에 대한 읽기 명령이 감지된 경우, 상기 읽기 명령이 이루어진 이미지 데이터에 대응되는 고화질 썸네일 데이터가 상기 로컬 캐시 영역에 존재한다면 해당 고화질 썸네일 데이터를 추출하여 표시하고, 상기 읽기 명령이 이루어진 이미지 데이터에 대응되는 고화질 썸네일 데이터가 상기 로컬 캐시 영역에 존재하지 않는다면 상기 가상 로컬 저장소로부터 상기 이미지 데이터를 읽어 표시하는 단계를 더 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치의 제어방법.
  11. 삭제
  12. 제1항 내지 제10항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  13. 하드웨어와 결합되어 제1항 내지 제10항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능 매체에 저장된 응용 프로그램.
  14. 외부 서버의 저장영역을 마운트(mount)하여 가상 로컬 저장소로 이용하는 가상 파일시스템 처리 장치에 있어서,
    사용자의 명령을 감지하는 명령 감지부와;
    상기 명령 감지부에 특정 데이터에 대한 상기 가상 로컬 저장소로의 저장 명령이 감지되면 상기 가상 로컬 저장소의 마운트 상태를 판단하는 마운트 상태 판단부와;
    상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로의 실시간 저장이 가능한 제1 상태인 경우에는 상기 특정 데이터를 기 구비된 로컬 캐시 영역에 저장하는 캐시 저장 동작을 수행함과 아울러 상기 로컬 캐시 영역에 저장되는 상기 특정 데이터를 상기 가상 로컬 저장소에 저장하는 업로드 동작을 백그라운드로 수행하고, 상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있지만 상기 가상 로컬 저장소로의 실시간 저장이 가능하지 않은 제2 상태인 경우에는 상기 업로드 동작은 생략하고 상기 캐시 저장 동작을 수행하는 데이터 쓰기 처리부를 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  15. 제14항에 있어서,
    상기 마운트 상태 판단부는 상기 데이터 쓰기 처리부에 의한 상기 가상 로컬 저장소로의 데이터 저장 속도를 상기 외부 서버와의 통신을 통한 데이터 업로드 속도를 기초로 확인하고, 그 확인된 데이터 저장 속도를 기 설정된 값과 비교하여 상기 가상 로컬 저장소로의 실시간 저장이 가능한지 여부를 판단하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  16. 제14항에 있어서,
    상기 로컬 캐시 영역의 크기는 기 설정되어 있고,
    상기 데이터 쓰기 처리부는 상기 가상 로컬 저장소의 마운트 상태가 제1 상태인 경우 상기 특정 데이터를 상기 로컬 캐시 영역에 저장할 때 상기 로컬 캐시 영역에 저장된 데이터의 총 양이 기 설정된 로컬 캐시 영역의 크기를 초과하지 않도록 오래된 데이터를 삭제 처리 하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  17. 제14항에 있어서,
    상기 로컬 캐시 영역의 크기는 기 설정되어 있고,
    상기 데이터 쓰기 처리부는 상기 가상 로컬 저장소의 마운트 상태가 제2 상태이고 상기 특정 데이터를 상기 로컬 캐시 영역에 저장할 때 상기 로컬 캐시 영역에 저장된 데이터의 총 양이 기 설정된 로컬 캐시 영역의 크기를 초과하는 경우에는, 상기 로컬 캐시 영역의 크기를 동적 확장한 후에 상기 특정 데이터를 저장하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  18. 제17항에 있어서,
    상기 데이터 쓰기 처리부는 상기 로컬 캐시 영역의 크기를 동적 확장한 후에 상기 가상 로컬 저장소의 마운트 상태가 제1 상태가 된 경우에는, 상기 로컬 캐시 영역에 저장된 데이터 중 상기 가상 로컬 저장소에 저장되지 못한 데이터에 대한 상기 업로드 동작을 수행하고, 상기 로컬 캐시 영역의 크기를 원래의 크기로 동적 축소하면서 오래된 데이터를 삭제 처리 하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  19. 제14항에 있어서,
    상기 로컬 캐시 영역의 크기는 기 설정되어 있고,
    상기 데이터 쓰기 처리부는, 상기 가상 로컬 저장소의 마운트 상태가 제2 상태이고 상기 특정 데이터를 상기 로컬 캐시 영역에 저장할 때 상기 로컬 캐시 영역에 저장된 데이터의 총 양이 기 설정된 로컬 캐시 영역의 크기를 초과함과 아울러 해당 로컬 캐시 영역을 동적 확장할 수 없는 경우에는 파일 저장 실패 처리를 수행하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  20. 제14항에 있어서,
    상기 가상 로컬 저장소가 제2 상태였다가 다시 제1 상태가 된 경우, 상기 데이터 쓰기 처리부는 상기 로컬 캐시 영역에 저장된 데이터 중 상기 가상 로컬 저장소에 저장되지 못한 데이터에 대한 상기 업로드 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  21. 제14항에 있어서,
    상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어있지 않은 경우, 상기 데이터 쓰기 처리부는 상기 특정 데이터를 기본 로컬 저장소에 저장하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  22. 제14항에 있어서,
    상기 명령 감지부에서 상기 가상 로컬 저장소에 저장된 데이터에 대한 데이터 확인 명령이 감지된 경우, 상기 마운트 상태 판단부는 상기 가상 로컬 저장소의 마운트 상태를 판단하고,
    상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로부터 실시간 읽기가 가능한 제3 상태인 경우에는 상기 가상 로컬 저장소에 저장된 데이터에 대응되는 데이터 리스트를 표시하고, 상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있지만 상기 가상 로컬 저장소로부터 실시간 읽기가 가능하지 않은 제4 상태인 경우 상기 로컬 캐시 영역에 저장된 데이터에 대응되는 데이터 리스트를 표시하는 데이터 읽기 처리부를 더 포함하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  23. 제22항에 있어서,
    상기 명령 감지부에서 이미지 데이터에 대한 상기 가상 로컬 저장소로의 저장 명령이 감지되는 경우, 상기 마운트 상태 판단부는 상기 가상 로컬 저장소의 마운트 상태를 판단하고,
    상기 데이터 쓰기 처리부는 상기 마운트 상태 판단부의 판단 결과 상기 가상 로컬 저장소가 마운트 되어 있고 상기 가상 로컬 저장소로의 실시간 저장이 가능한 상태인 경우, 상기 이미지 데이터에 대응되는 고화질 썸네일 데이터를 생성하여 상기 로컬 캐시 영역에 저장하는 캐시 저장 동작을 수행함과 아울러 상기 이미지 데이터를 상기 가상 로컬 저장소에 저장하는 업로드 동작을 백그라운드로 수행하며,
    상기 가상 로컬 저장소가 마운트 되어 있는 상태에서 상기 가상 로컬 저장소에 저장된 이미지 데이터에 대한 읽기 명령이 감지된 경우, 상기 데이터 읽기 처리부는 상기 읽기 명령이 이루어진 이미지 데이터에 대응되는 고화질 썸네일 데이터가 상기 로컬 캐시 영역에 존재한다면 해당 고화질 썸네일 데이터를 추출하여 표시하고, 상기 읽기 명령이 이루어진 이미지 데이터에 대응되는 고화질 썸네일 데이터가 상기 로컬 캐시 영역에 존재하지 않는다면 상기 가상 로컬 저장소로부터 상기 이미지 데이터를 읽어 표시하는 것을 특징으로 하는 가상 파일시스템 처리 장치.
  24. 삭제
KR1020170055506A 2017-04-28 2017-04-28 가상 파일시스템 처리를 위한 장치 및 그 방법 KR101961547B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170055506A KR101961547B1 (ko) 2017-04-28 2017-04-28 가상 파일시스템 처리를 위한 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170055506A KR101961547B1 (ko) 2017-04-28 2017-04-28 가상 파일시스템 처리를 위한 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180121155A KR20180121155A (ko) 2018-11-07
KR101961547B1 true KR101961547B1 (ko) 2019-07-05

Family

ID=64363419

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170055506A KR101961547B1 (ko) 2017-04-28 2017-04-28 가상 파일시스템 처리를 위한 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101961547B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101108357B1 (ko) * 2009-07-14 2012-01-25 주식회사 케이티 터미널 주변장치의 로컬 인식을 위한 드라이브 가상화 장치 및 그 방법과, 그를 위한 사용자 단말에서의 드라이브 정보 제공 방법
US8886911B2 (en) * 2011-05-31 2014-11-11 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
KR101587631B1 (ko) * 2011-09-06 2016-01-25 한국전자통신연구원 클라우드 기반 로컬 장치와 로컬 장치의 파일 읽기 및 저장 방법
KR102353475B1 (ko) 2015-07-10 2022-01-21 주식회사 엘지유플러스 클라우드 가상 파일을 이용한 애플리케이션 제공 시스템, 클라우드 서버 및 그 애플리케이션 제공방법, 서비스서버 및 그 서비스방법, 이동통신단말기 및 그 애플리케이션 실행방법

Also Published As

Publication number Publication date
KR20180121155A (ko) 2018-11-07

Similar Documents

Publication Publication Date Title
US7716605B2 (en) Thumbnail image browsing method in an embedded system
US6445460B1 (en) Method and system for providing and utilizing file attributes with digital images
JP5542271B2 (ja) 複数のソースから利用可能なメディアファイルの同期
KR100738172B1 (ko) 착탈식 기억 매체를 관리하기 위한 전자 기기, 기억 매체 관리 방법 및 기억 매체
JP3526248B2 (ja) 画像処理装置、画像処理方法及び記憶媒体
JP2009098987A (ja) ファイル転送方法、装置、およびプログラム
TW200945882A (en) Electronic apparatus, transmission method, and program
US8817112B2 (en) Electronic apparatus, control method and computer readable medium for transmitting thumbnail data to an external apparatus
US20110025858A1 (en) Method, apparatus, and system for adding functionality to a digital camera
CN110188216B (zh) 一种具有文字识别的照片直播系统及其方法
US20110019007A1 (en) Method, apparatus and method for adding functionality to a digital camera
KR20150057736A (ko) 백업 정보를 디스플레이 하여 이미지 파일을 관리하는 장치 및 방법
JP2002116945A (ja) オブジェクト配信システム及びそれに用いる携帯端末におけるメモリ管理方法
JP4250442B2 (ja) 情報処理装置、情報入力装置、情報処理装置の制御方法、情報入力装置の制御方法、プログラム及びコンピュータ読み取り可能な記録媒体
KR101961547B1 (ko) 가상 파일시스템 처리를 위한 장치 및 그 방법
CN110515908B (zh) 一种照片直播系统及其方法
JP2000278550A (ja) 画像データ転送装置、画像データ管理装置及び画像データ管理システム
JP6287335B2 (ja) 端末装置、情報処理システム、情報送信方法及びプログラム
JPH10164419A (ja) カメラ制御装置及び方法
CN110191170B (zh) 具有人脸识别的照片直播系统及其方法
US20100299374A1 (en) Data processing apparatus and method thereof, and information processing apparatus and method thereof
JP4307031B2 (ja) 情報処理装置およびその制御方法、ならびにプログラム
JP2006126911A (ja) データ送信システム
JP2006285529A (ja) ホストコントローラ
KR101490589B1 (ko) 정보 처리 장치 및 기억 매체

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