KR101920239B1 - 파일 시스템 기능을 제공하는 단말기의 장치 및 방법 - Google Patents

파일 시스템 기능을 제공하는 단말기의 장치 및 방법 Download PDF

Info

Publication number
KR101920239B1
KR101920239B1 KR1020120022786A KR20120022786A KR101920239B1 KR 101920239 B1 KR101920239 B1 KR 101920239B1 KR 1020120022786 A KR1020120022786 A KR 1020120022786A KR 20120022786 A KR20120022786 A KR 20120022786A KR 101920239 B1 KR101920239 B1 KR 101920239B1
Authority
KR
South Korea
Prior art keywords
application
file system
terminal
execution
providing
Prior art date
Application number
KR1020120022786A
Other languages
English (en)
Other versions
KR20130101776A (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 KR1020120022786A priority Critical patent/KR101920239B1/ko
Priority to US13/713,093 priority patent/US9009737B2/en
Priority to EP13153453.9A priority patent/EP2637099A3/en
Priority to CN201310069058.7A priority patent/CN103309751B/zh
Publication of KR20130101776A publication Critical patent/KR20130101776A/ko
Application granted granted Critical
Publication of KR101920239B1 publication Critical patent/KR101920239B1/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

본 발명은, 단말기의 동작 방법에 있어서, 제1 애플리케이션으로부터 특정 명령어를 수신하는 과정; 제2 애플리케이션의 실행 여부와 관계없이, 상기 수신한 특정 명령어를 상기 제2 애플리케이션으로 전달하는 과정; 및 상기 제2 애플리케이션으로부터 상기 특정 명령어의 실행 결과를 전달받는 과정을 포함하는 것을 그 구성상의 특징으로 하는 파일 시스템 기능을 제공하는 단말기의 방법에 관한 것이다.

Description

파일 시스템 기능을 제공하는 단말기의 장치 및 방법{APPARATAS AND METHOD OF PROVIDING A FILE SYSTEM FUNCTION IN A TERMINAL}
본 발명은 파일 시스템 기능에 관한 것이다.
파일 시스템 기능(file system function)을 제공하는 응용 프로그램이 개발되면서, 운영체제(Operating System) 외부에서 제공되는 파일 시스템 기능을 운영체제에 통합되도록 발전하였다. 예를 들면, 외부 응용 프로그램이 파일 시스템의 사용을 요청하면 커널(kernel) 내 VFS(Virtual File System)를 통하여 EXT3(Extended File System 3), NTFS(NT File System), FAT32(File Allocation Table 32) 등과 같은 실제 파일 시스템으로 전달되어 처리된다. 또한, FUSE(File System in Userspace)도 응용 프로그램에서 제공되는 파일 시스템이 VFS 하부에서 처리되도록 하여 이를 사용하는 응용 프로그램에서는 표준 입출력 인터페이스를 통하여 사용할 수 있게 되었다.
그러나, 종래에 파일 시스템 기능을 제공하는 응용 프로그램을 사용하고자 하는 경우에는 해당 응용 프로그램이 실행중이어야 했다. 왜냐하면, 해당 응용 프로그램이 실행중이 아니라면, 파일 시스템에 대한 사용 요청을 처리할 수가 없기 때문이다. 따라서, 파일 시스템을 사용하기 위해서는 해당 파일 시스템 기능을 제공하는 응용 프로그램이 미리 실행되어 있어야 하는 문제점이 있었다. 그러므로, 해당 파일 시스템을 사용할 시점을 미리 알 수 없기 때문에 사용자의 편의성이 떨어지는 문제점도 있었다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 운영체제 외부에서 응용 프로그램을 통해 제공되는 파일 시스템을 필요할 때 사용자가 쉽게 사용할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은, 파일 시스템을 제공하는 응용 프로그램의 동작 시점을 사용자가 설정할 수 있어 사용자의 편의성을 향상시켜 줄 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 또 다른 목적은, 단말기에 별도의 인디케이터(indicator)를 표시하도록 하여 외부 파일 시스템의 동작 여부에 관한 정보를 제공할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 파일 시스템 기능을 제공하는 단말기의 방법은, 단말기의 동작 방법에 있어서, 제1 애플리케이션으로부터 특정 명령어를 수신하는 과정; 제2 애플리케이션의 실행 여부와 관계없이, 상기 수신한 특정 명령어를 상기 제2 애플리케이션으로 전달하는 과정; 및 상기 제2 애플리케이션으로부터 상기 특정 명령어의 실행 결과를 전달받는 과정을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 제2 애플리케이션은, 파일 시스템 기능(file system function)을 제공하는 애플리케이션일 수 있다.
바람직하게는, 상기 특정 명령어는, 특정 파일을 읽어오라는 명령어 및 특정 파일을 저장하라는 명령어 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 제2 애플리케이션을 설치하는 과정; 상기 설치된 제2 애플리케이션의 정보를 읽어들이는 과정; 상기 설치된 제2 애플리케이션의 실행 상태를 입력받는 과정; 및 상기 읽어들인 제2 애플리케이션의 정보 및 상기 입력받은 제2 애플리케이션의 실행 상태를 저장하는 과정을 더 포함할 수 있다.
바람직하게는, 상기 제2 애플리케이션의 정보는, 상기 제2 애플리케이션의 아이디, 제2 애플리케이션의 암호화 관련 정보 및 제2 애플리케이션의 기능 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 설치된 제2 애플리케이션의 실행 상태를 입력받는 과정은, 상기 제2 애플리케이션이 항상 실행되도록 하는 명령어를 입력받는 과정, 상기 제2 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 하는 명령어를 입력받는 과정 및 상기 제2 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받도록 하는 과정 중 적어도 하나의 과정을 포함할 수 있다.
바람직하게는, 상기 제2 애플리케이션의 실행 여부와 관계없이, 상기 수신한 특정 명령어를 상기 제2 애플리케이션으로 전달하는 과정은, 상기 제2 애플리케이션의 실행이 중단된 경우라면, 상기 제2 애플리케이션의 설정된 실행 상태를 확인하는 과정; 상기 실행 상태가 상기 제2 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 하는 상태로 확인된 경우, 상기 제2 애플리케이션을 자동으로 실행시키는 과정; 및 상기 실행된 제2 애플리케이션으로, 상기 수신한 특정 명령어를 전달하는 과정을 포함할 수 있다.
바람직하게는, 상기 제2 애플리케이션의 실행 여부와 관계없이, 상기 수신한 특정 명령어를 상기 제2 애플리케이션으로 전달하는 과정은, 상기 제2 애플리케이션의 실행이 중단된 경우라면, 상기 제2 애플리케이션의 설정된 실행 상태를 확인하는 과정; 상기 실행 상태가 상기 제2 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받도록 하는 상태로 확인된 경우, 상기 제2 애플리케이션의 실행 여부에 관한 메시지를 디스플레이하는 과정; 상기 제2 애플리케이션을 실행하도록 하는 명령어를 입력받아, 상기 제2 애플리케이션을 실행시키는 과정; 및 상기 실행된 제2 애플리케이션으로, 상기 수신한 명령어를 전달하는 과정을 포함할 수 있다.
바람직하게는, 상기 특정 명령어의 실행 결과를 상기 제1 애플리케이션으로 피드백(feedback)하는 과정을 더 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 파일 시스템 기능을 제공하는 단말기의 장치는, 단말기의 장치에 있어서, 제1 애플리케이션으로부터 특정 명령어를 수신하여, 제2 애플리케이션의 실행 여부와 관계없이 상기 수신한 특정 명령어를 상기 제2 애플리케이션으로 송신하고, 상기 제2 애플리케이션으로부터 상기 특정 명령어의 실행 결과를 수신하는 온 디맨드 파일 시스템 매니저(On Demand File System Manager) 모듈; 및 상기 제2 애플리케이션이 동작할 수 있도록 상기 제2 애플리케이션과 상기 온 디맨드 파일 시스템 매니저 모듈에 공통된 인터페이스를 제공하는 온 디맨드 파일 시스템 인터페이스(On Demand File System Interface) 모듈을 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 제2 애플리케이션은, 파일 시스템 기능(file system function)을 제공하는 애플리케이션일 수 있다.
바람직하게는, 상기 특정 명령어는, 특정 파일을 읽어오라는 명령어 및 특정 파일을 저장하라는 명령어 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 제2 애플리케이션을 설치하여, 상기 설치된 제2 애플리케이션의 정보를 읽어들이고, 상기 설치된 제2 애플리케이션의 실행 상태를 입력받는 패키지 매니저(Package Manager) 모듈을 더 포함하고, 상기 온 디맨드 파일 시스템 매니저 모듈은, 상기 패키지 매니저 모듈로부터 상기 읽어들인 제2 애플리케이션의 정보 및 상기 입력받은 제2 애플리케이션의 실행 상태를 저장할 수 있다.
바람직하게는, 상기 제2 애플리케이션의 정보는, 상기 제2 애플리케이션의 아이디, 제2 애플리케이션의 암호화 관련 정보 및 제2 애플리케이션의 기능 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 패키지 매니저 모듈은, 상기 제2 애플리케이션이 항상 실행되도록 하는 명령어를 입력받거나, 상기 제2 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 하는 명령어를 입력받거나, 상기 제2 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받을 수 있다.
바람직하게는, 상기 온 디맨드 파일 시스템 매니저 모듈은, 상기 제2 애플리케이션의 실행이 중단된 경우라면, 상기 제2 애플리케이션의 설정된 실행 상태를 확인하고, 상기 실행 상태가 상기 제2 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 하는 상태로 확인된 경우, 상기 제2 애플리케이션을 자동으로 실행시키는 애플리케이션 매니저(Application Manager) 모듈을 더 포함하고, 상기 온 디맨드 파일 시스템 매니저 모듈은, 상기 실행된 제2 애플리케이션으로 상기 전달받은 특정 명령어를 전달할 수 있다.
바람직하게는, 상기 온 디맨드 파일 시스템 매니저 모듈은, 상기 제2 애플리케이션의 실행이 중단된 경우라면, 상기 제2 애플리케이션의 설정된 실행 상태를 확인하고, 상기 실행 상태가 상기 제2 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받도록 하는 상태로 확인된 경우 상기 제2 애플리케이션의 실행 여부에 관한 메시지를 디스플레이하도록 하며, 상기 제2 애플리케이션을 실행하도록 하는 명령어를 전달받는 그래픽 라이브러리(Graphic Library) 모듈을 더 포함하며, 상기 온 디맨드 파일 시스템 매니저 모듈은, 상기 제2 애플리케이션을 실행시켜, 상기 실행된 제2 애플리케이션으로 상기 수신한 명령어를 전달할 수 있다.
바람직하게는, 상기 온 디맨드 파일 시스템 매니저 모듈은, 상기 특정 명령어의 실행 결과를 상기 제1 애플리케이션으로 피드백할 수 있다.
본 발명의 파일 시스템 기능을 제공하는 단말기의 장치 및 방법에 따르면, 운영체제 외부에서 응용 프로그램을 통해 제공되는 파일 시스템을 필요할 때 사용자가 쉽게 사용할 수 있어 사용자의 편의성을 향상시켜주는 효과가 있다.
도 1은 본 발명에 따른 파일 시스템 기능을 제공하는 단말기의 전체적인 구성을 도시한 도면.
도 2는 본 발명에 따른 파일 시스템 기능을 설정하는 일 실시예를 나타낸 도면.
도 3의(a)는 본 발명에 따른 파일 시스템 기능을 설정할 애플리케이션을 선택하는 일 실시예를 나타낸 도면.
도 4는 본 발명에 따른 파일 시스템 기능을 제공하는 복 수개의 애플리케이션이 설정된 경우 파일 시스템 기능을 수행할 애플리케이션을 선택하는 일 실시예를 나타낸 도면.
도 5는 본 발명에 따른 파일 시스템 기능의 실행 상태를 설정하는 일 실시예를 나타낸 도면.
도 6은 본 발명에 따른 파일 시스템 기능의 제공 여부를 디스플레이하는 인디케이터 동작의 일 실시예를 나타낸 도면.
도 7은 본 발명의 파일 시스템 기능을 제공하는 단말기의 동작 순서를 나타낸 순서도.
도 8은 본 발명에 따른 파일 시스템 기능을 제공하는 단말기의 구성을 도시한 블록도.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
도 1은 본 발명에 따른 파일 시스템 기능을 제공하는 단말기의 전체적인 구성을 도시한 도면이다. 먼저, 제2 애플리케이션(101)은 파일 시스템 기능(File System Function)을 제공하는 애플리케이션이다. 여기서, 파일 시스템이란 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제를 가리키는 말이다. 보다 구체적으로는, 파일 시스템은 통상 하드 디스크나 시디롬과 같은 실제 자료 보관 장치를 사용하여 파일의 물리적 소재를 관리하는 것을 가리키나 네트워크 프로토콜을 수행하는 클라이언트를 통하여 파일 서버상의 자료로의 접근을 제공하는 방식과 가상의 형태로서 접근 수단만이 존재하는 방식도 파일 시스템의 범위에 포함될 수 있다. 일반적으로 파일 시스템은 저장 장치, 입출력 제어, 기본 파일시스템, 파일조직 모듈, 가상 파일시스템과 같이 여러 개의 계층으로 구성되어 있다. 그렇게 함으로써 하드 디스크, 시디롬 드라이브, 플래시 메모리 등 다양한 형태의 저장 장치를 지원할 수 있고, 하나의 시스템에 여러 개의 파일 시스템을 사용할 수 있다. 본 발명의 제2 애플리케이션(101)은 파일 시스템 기능을 제공하는 애플리케이션으로, 제1 애플리케이션(104)이 요청한 특정 명령어를 실행한다. 예를 들면, 제1 애플리케이션(104)이 특정 명령어를 단말기에 전달하면, 단말기는 glibc(105) 및 VFS(Virtual File System, 106)을 통하여, FUSE(File System in Userspace, 107)가 특정 명령어를 전달받는다. 이후, FUSE(107)에서 전달받은 특정 명령어는 온 디맨드 파일 시스템 매니저 모듈(On Demand File System Manager Modual, 103) 및 온 디맨드 파일 시스템 인터페이스 모듈(On Demand File System Interface Modual, 108)을 통하여, 제2 애플리케이션(101)으로 전달된다. 특정 명령어를 전달받은 제2 애플리케이션(101)은 해당 명령어를 실행하여 그 피드백을 상술한 순서와 반대로 제1 애플리케이션(104)으로 전달한다.
종래에는 단말기가 제2 애플리케이션이 실행 중인 경우에만, 제1 애플리케이션으로부터 전달받은 특정 명령어를 제2 애플리케이션으로 전달할 수 있었다. 즉, 제2 애플리케이션이 실행 중에 있어야만 해당 명령어를 전달받아 실행할 수 있었다. 그러나, 본 발명에서는 단말기는 파일 시스템 기능을 제공하는 제2 애플리케이션(101)의 실행 여부와 관계없이 제1 애플리케이션(104)으로부터 전달받은 특정 명령어를 제2 애플리케이션(101)으로 전달할 수 있다. 즉, 본 발명에서 단말기는 사용자로부터 제2 애플리케이션의 실행 상태를 입력받아, 제2 애플리케이션(101)이 실행중이 아니더라도 제1 애플리케이션(101)으로부터 전달받은 특정 명령어를 제2 애플리케이션(101)으로 전달하여, 제2 애플리케이션(101)으로부터 해당 명령어의 실행 결과를 전달받을 수 있다. 보다 구체적으로, 본 발명에서는 제2 애플리케이션(101)이 항상 실행되도록 설정할 수 있고, 제2 애플리케이션(101)의 실행이 필요할 때만 자동으로 실행되도록 설정할 수 있으며, 제2 애플리케이션(101)의 실행이 필요할 때마다 실행 여부를 입력받도록 할 수도 있다. 바람직하게는, 제2 애플리케이션(101)의 실행이 필요할 때만 자동으로 실행되도록 설정하거나, 제2 애플리케이션(101)의 실행이 필요할 때마다 실행 여부를 사용자로부터 입력받도록 설정하는 것이 효율적이다. 왜냐하면, 파일 시스템 서비스는 일반적으로 많은 데이터 통신을 필요로 하고, CPU, RAM 및 배터리 등의 기기의 리소스를 지속적으로 사용하기 때문에 항상 실행되도록 하는 것은 바람직하지 못하다.
패키지 매니저 모듈(Package Manager Modual, 102)은 파일 시스템 기능을 제공하는 제2 애플리케이션(101)이 단말기에 설치된 경우에, 제2 애플리케이션(101)으로부터 제2 애플리케이션(101)의 정보를 읽어온다. 여기서, 제2 애플리케이션의 정보는 제2 애플리케이션의 아이디, 제2 애플리케이션의 암호화 관련 정보 및 제2 애플리케이션의 기능 중 적어도 하나를 포함하는 정보로 정의된다. 보다 구체적으로는, 제2 애플리케이션(101)이 단말기에 설치되면 가장 먼저 패키지 매니저 모듈(102)은 제2 애플리케이션(101)으로부터 제2 애플리케이션의 아이디, 제2 애플리케이션의 암호화 관련 정보 및 제2 애플리케이션의 기능 등에 관한 정보를 읽어들여 이를 저장한다. 이후, 패키지 매니저 모듈(102)은 저장된 제2 애플리케이션의 정보를 온 디맨드 파일 시스템 매니저 모듈(On Demand File System Manager Modual, 103)로 전달한다.
패키지 매니저 모듈(102)의 또 다른 기능은 사용자로부터 입력받은 제2 애플리케이션의 실행 상태를 저장한다. 보다 구체적으로는, 단말기가 사용자로부터 제2 애플리케이션이 항상 실행되도록 하는 명령어를 입력받거나, 제2 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 하는 명령어를 입력받거나, 제2 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받은 경우에 각각의 실행 상태가 패키지 매니저 모듈(102)에 저장된다. 따라서, 패키지 매니저 모듈(102)은 사용자에 의하여 설정된 제2 애플리케이션의 실행 상태에 따라 각각의 동작을 수행한다. 패키지 매니저 모듈(102)의 추가적인 기능으로 제2 애플리케이션(101)에 파일 시스템 기능이 포함되어 있는지 식별하는 역할을 수행한다. 보다 구체적으로는, 단말기에 제2 애플리케이션(101)이 설치된 경우에 패키지 매니저 모듈(102)은 제2 애플리케이션(101)으로부터 제2 애플리케이션의 정보를 읽어와 해당 애플리케이션에 파일 시스템 기능이 포함되어 있는지 식별할 수 있다.
온 디맨드 파일 시스템 매니저 모듈(On Demand File System Manager Modual, 103)은 FUSE(File System in Userspace, 107)로부터 제1 애플리케이션(104)이 요청한 특정 명령어를 전달받아, 온 디맨드 파일 시스템 인터페이스 모듈(On Demand File System Interface Modual, 108)을 통하여 제1 애플리케이션(104)으로 특정 명령어를 전달하는 역할을 한다. 보다 구체적으로는, FUSE로부터 특정 명령어를 전달받은 온 디맨드 파일 시스템 매니저 모듈(103)은 제2 애플리케이션의 실행 상태를 감지하여, 제2 애플리케이션(101)이 실행중인 경우에는 온 디맨드 파일 시스템 인터페이스 모듈(108)을 통하여 제2 애플리케이션(101)으로 특정 명령어를 바로 전달한다. 그러나, 만약 제2 애플리케이션(101)이 실행중이 아니라면, 온 디맨드 파일 시스템 매니저(103)는 애플리케이션 매니저(Application Manager Modual, 109)로 제2 애플리케이션(101)을 동작시키도록 하는 명령어를 전달한다. 이후, 온 디맨드 파일 시스템 매니저(103)로부터 제2 애플리케이션(101)을 실행시키도록 하는 명령어를 전달받은 애플리케이션 매니저 모듈(109)은 제2 애플리케이션(101)을 동작시킨다. 이후, 제2 애플리케이션(101)이 실행되어 해당 명령어를 수행하고, 명령어를 수행한 결과는 상술한 과정과 반대 과정으로 다시 제1 애플리케이션(104)으로 피드백된다. 즉, 제2 애플리케이션(101)에서 제1 애플리케이션이 요청한 특정 명령어를 수행하여, 수행한 결과는 온 디맨드 파일 시스템 인터페이스 모듈(108), 온 디맨드 파일 시스템 매니저 모듈(103), FUSE(107), VFS(106), glibc(105)를 통해서 다시 제1 애플리케이션(104)으로 피드백된다.
제1 애플리케이션(104)은 응용 프로그램에 해당하는 애플리케이션으로, 단말기에 특정 명령어를 전달한다. 즉, 본 발명에서는 제1 애플리케이션(104)은 특정 명령어를 단말기로 전달하지만, 단말기에서는 제1 애플리케이션(104)으로부터 전달받은 명령어를 단말기 내부의 운영체제(Operating System)에 요청하지 않고, 운영체제 외부에 존재하는 파일 시스템 기능을 제공하는 제2 애플리케이션(101)으로 전달한다. 따라서, 제1 애플리케이션(104)으로부터 전달받은 특정 명령어를 운영체제 내부에 요청하지 않고, 운영체제 외부에 존재하는 제2 애플리케이션으로부터 해당 명령어의 실행 결과를 전달받을 수 있어, 단말기에서 파일이나 자료를 쉽게 발견 및 접근할 수 있는 장점이 있다.
glibc(105) 및 VFS(Virtual File System, 106)는 각각 단말기 외부와 내부에 존재하는 표준화된 인터페이스이다. 즉, glibc(105) 및 VFS(106)는 제1 애플리케이션(104)으로부터 수신한 특정 명령어를 FUSE(107)로 전달할 수 있도록 하는 인터페이스이다.
FUSE(File System in Userspace, 107)는 유닉스 계열의 운영체제에 적재할 수 있는 커널 모듈(Kernel)이다. 보다 구체적으로는, FUSE를 이용하면 단말기에 운영체제와 같은 권한이 아닌 사용자가 커널 코드를 편집하지 않고도 자신의 파일 시스템을 만들 수 있는 장점이 있다. 즉, FUSE는 유저 인터페이스에서 파일 시스템 코드를 실행할 수 있도록 실제 커널 인터페이스와 유저 인터페이스를 연결하는 역할을 한다. 본 발명에서 FUSE(107)는 단말기가 제1 애플리케이션(104)으로부터 특정 명령어를 전달받으면, 해당 명령어를 수행할 수 있는 제2 애플리케이션(101)으로 그 명령어를 전달하는 역할을 한다. 바람직하게는, FUSE(107) 뿐만 아니라 INOTY가 그 역할을 수행할 수 있다.
온 디맨드 파일 시스템 인터페이스 모듈(On Demand File System Interface Modual, 108)은 온 디맨든 파일 시스템 매니저 모듈(103)과 제2 애플리케이션(101) 사이에 구비되어, 온 디맨드 파일 시스템 매니저 모듈(103)과 제2 애플리케이션(101)을 연결하는 인터페이스이다.
애플리케이션 매니저 모듈(Application Manager Modual, 109)은 제2 애플리케이션(101)을 동작시키는 역할을 한다. 보다 구체적으로는, 제2 애플리케이션(101)이 실행중이 아니라면, 애플리케이션 매니저 모듈(109)은 온 디맨드 파일 시스템 모듈(108)로부터 제2 애플리케이션(101)을 동작시키도록 하는 명령어를 전달받아 제2 애플리케이션(101)을 실행시킨다.
그래픽 라이브러리 모듈(Graphic Library Modual, 110)은 각종 설정 정보를 입력받기 위한 유저 인터페이스(User Interface)를 제공한다. 예를 들면, 사용자가 제2 애플리케이션의 실행 상태를 제2 애플리케이션이 필요할 때마다 실행 여부를 입력받도록 설정한 경우, 제2 애플리케이션의 실행이 필요할 때 단말기의 표시부를 통하여 제2 애플리케이션의 실행 여부를 디스플레이한다.
도 2는 본 발명에 따른 파일 시스템 기능을 설정하는 일 실시예를 나타낸 도면이다. 먼저, 본 발명에 따른 파일 시스템 기능을 설정하기 위하여 단말기의 메뉴 항목을 선택하면, 단말기에 저장된 다양한 애플리케이션이 디스플레이된다. 이중, 파일 시스템 기능을 설정하는 항목을 선택하면, 도 2의(a)에 도시된 바와 같이 단말기의 표시부에 파일 시스템 기능의 설정 여부의 메시지가 디스플레이된다. 이후, 사용자는 파일 시스템 기능을 설정하겠다는 명령어를 표시부에 입력하면, 파일 시스템 기능이 설정된다.
여기서, 파일 시스템이란 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제를 가리키는 말이다. 보다 구체적으로는, 파일 시스템은 통상 하드 디스크나 시디롬과 같은 실제 자료 보관 장치를 사용하여 파일의 물리적 소재를 관리하는 것을 가리키나 네트워크 프로토콜을 수행하는 클라이언트를 통하여 파일 서버상의 자료로의 접근을 제공하는 방식과 가상의 형태로서 접근 수단만이 존재하는 방식도 파일 시스템의 범위에 포함될 수 있다. 일반적으로 파일 시스템은 저장 장치, 입출력 제어, 기본 파일시스템, 파일조직 모듈, 가상 파일시스템과 같이 여러 개의 계층으로 구성되어 있다. 그렇게 함으로써 하드 디스크, 시디롬 드라이브, 플래시 메모리 등 다양한 형태의 저장 장치를 지원할 수 있고, 하나의 시스템에 여러 개의 파일 시스템을 사용할 수 있다. 본 발명에서는 파일 시스템 기능을 제공하는 적어도 하나 이상의 애플리케이션을 설치하여, 응용 애플리케이션이 단말기에 특정 명령어를 수행하도록 요청한 경우에, 해당 명령어를 파일 시스템 기능을 제공하는 애플리케이션에서 실행될 수 있게 처리한다. 따라서, 단말기 내부의 운영체제에서 특정 명령어를 수행하는 것보다 파일이나 자료를 쉽게 발견 및 접근할 수 있어 효율성이 향상되는 장점이 있다.
도 2의(b)는 본 발명에 따른 파일 시스템 기능을 이용할 파일 디렉터리를 설정하는 일 실시예를 나타낸 도면이다. 먼저, 도 2의(a)를 통하여 상술한 바와 같이, 단말기에 파일 시스템 기능을 설정하였으면 파일 시스템 기능을 이용할 파일 디렉터리(directory)를 선택하게 된다. 보다 구체적으로는, 단말기에 저장되어 있는 다양한 컨텐츠 중에서 파일 시스템 기능을 이용할 컨텐츠를 선택한다는 의미이다. 즉, 단말기의 d 드라이브에 저장되어 있는 특정 파일을 파일 시스템 기능을 제공하는 애플리케이션으로 이동하여, 이후 응용 애플리케이션에서 파일 시스템 기능을 제공하는 애플리케이션으로 이동된 특정 파일을 호출한 경우에는 파일 시스템 기능을 제공하는 애플리케이션으로 특정 파일을 호출한다는 의미이다. 예를 들면, 도 2의(b)에 도시된 바와 같이, 사용자가 d 드라이브의 Media라는 디렉터리에 저장되어 있는 file 3이라는 파일을 선택하는 경우를 가정해보자. 이후, 응용 애플리케이션에서 단말기에 저장되어 있는 file 3라는 파일을 호출하는 경우에, 단말기는 단말기의 d 드라이브로 file 3이라는 파일을 호출하지 않고, file 3가 저장되어 있는 애플리케이션을 호출 명령을 전달한다. 따라서, 단말기 내부의 운영체제에서 특정 명령어를 수행하는 것보다 파일이나 자료를 쉽게 발견 및 접근할 수 있어 효율성이 향상되는 장점이 있다.
도 3의(a)는 본 발명에 따른 파일 시스템 기능을 설정할 애플리케이션을 선택하는 일 실시예를 나타낸 도면이다. 도 2를 통하여 상술한 바와 같이, 사용자가 파일 시스템 기능을 설정하고, 파일 시스템 기능을 이용할 파일의 디렉터리를 선택하였으면, 파일 시스템 기능을 설정할 애플리케이션을 선택하여야 한다. 보다 구체적으로는, 단말기에 설치한 여러 애플리케이션 중에서 파일 시스템 기능을 설치할 애플리케이션을 선택한다는 의미이다. 예를 들면, 사용자가 파일 시스템 기능을 선택한 후, 파일 시스템 기능을 이용할 파일의 디렉터리로 단말기의 d 드라이브의 Media라는 디렉터리에 저장되어 있는 file 3이라는 파일을 선택하였다고 가정하자. 이후, 사용자는 file 3라는 파일을 단말기의 d 드라이브로부터 저장할 애플리케이션을 선택한다. 도 3의(a)로 예를 들면, 사용자가 파일 시스템 기능을 이용할 파일의 디렉터리로 단말기의 d 드라이브의 Media라는 디렉터리에 저장되어 있는 file 3이라는 파일을 선택하였으면, 단말기의 표시부에 file 3를 저장할 애플리케이션을 선택하라는 메시지가 디스플레이된다. 단말기의 표시부에 디스플레이된 적어도 하나의 애플리케이션은 file 3의 파일을 저장하여 파일 시스템 기능을 제공할 수 있는 애플리케이션이다. 따라서, 사용자는 file 3의 파일을 저장하여 파일 시스템 기능을 제공할 애플리케이션을 선택할 수 있다. 도 3의(a)는 여러 애플리케이션 중에서 애플리케이션 2를 선택한 것으로, 선택된 애플리케이션 2는 file 3에 대하여 파일 시스템 기능을 제공할 수 있다. 물론 사용자의 설정에 의하여 파일 시스템 기능을 제공할 애플리케이션을 둘 이상으로 선택할 수도 있다. 도 3의(b)는 파일 시스템 기능을 제공할 애플리케이션으로 두 개의 애플리케이션이 선택된 실시예를 나타낸 것이다. 따라서, 사용자는 복 수개의 애플리케이션을 선택하여 단말기에 저장되어 있는 특정 컨텐츠에 대하여 복 수개의 애플리케이션에서 파일 시스템 기능에 제공될 수 있도록 설정할 수도 있다.
도 4는 본 발명에 따른 파일 시스템 기능을 제공하는 복 수개의 애플리케이션이 설정된 경우 파일 시스템 기능을 수행할 애플리케이션을 선택하는 일 실시예를 나타낸 도면이다. 도 3을 통하여 상술한 바와 같이, 본 발명에 따른 파일 시스템 기능을 제공하는 애플리케이션은 적어도 하나 이상으로 설정할 수 있기 때문에, 도 4는 이중 어느 하나를 선택하는 일 실시예를 나타낸 것이다. 예를 들면, 사용자가 file 3라는 파일에 대하여 파일 시스템 기능을 설정할 애플리케이션으로 애플리케이션 2와 애플리케이션 4를 선택하였다고 가정하자. 이후, 응용 애플리케이션에서 file 3라는 파일을 단말기로 호출한 경우에, 단말기에서는 file 3가 저장되어 있는 애플리케이션을 검색한 결과 애플리케이션 2와 애플리케이션 4가 검색될 것이다. 파일 시스템 기능을 제공하는 두 개의 애플리케이션을 검색한 단말기는, 도 4의(a)에 도시된 바와 같이, 단말기의 표시부에 flie 3가 저장되어 있는 애플리케이션이 두 개 검색되었다는 메시지를 디스플레이한다. 이후, 도 4의(b)에 도시된 바와 같이, 단말기는 파일 시스템 기능을 수행할 애플리케이션을 선택하라는 메시지를 디스플레이한다. 상술한 예를 들어 설명하면, file 3라는 파일에 대하여 파일 시스템 기능을 제공하는 애플리케이션 2와 애플리케이션 4 중, 어느 하나를 선택하는 메시지가 디스플레이된다. 이후, 사용자는 애플리케이션 2와 애플리케이션 4 중, 어느 하나를 선택하여 file 3의 파일을 애플리케이션 2로 호출할 수 있다. 즉, 단말기는 애플리케이션 2로부터 file 3를 호출하여, file 3를 호출한 응용 애플리케이션으로 file 3를 피드백할 수 있다. 따라서, 단말기 내부의 운영체제에서 특정 명령어를 수행하는 것보다 파일 시스템 기능을 제공하는 애플리케이션을 이용하여 파일이나 자료를 쉽게 발견 및 접근할 수 있다.
도 5는 본 발명에 따른 파일 시스템 기능의 실행 상태를 설정하는 일 실시예를 나타낸 도면이다. 여기서, 파일 시스템 기능의 실행 상태란, 파일 시스템 기능을 제공하는 애플리케이션의 실행 상태를 설정하는 것을 말한다. 보다 구체적으로, 본 발명에서는 파일 시스템 기능을 제공하는 애플리케이션이 항상 실행되는 상태, 애플리케이션의 실행이 필요할 때만 자동으로 실행되는 상태 및 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받는 상태의 세 가지의 실행 상태를 제안하고 있다.
먼저, 사용자에 의하여 파일 시스템 기능을 제공하는 애플리케이션이 항상 실행되도록 설정된 경우, 단말기가 동작 중이라면 파일 시스템 기능을 제공하는 애플리케이션은 항상 실행 상태에 있게 된다. 도 5의(a)는 파일 시스템 기능을 제공하는 애플리케이션이 항상 실행되도록 설정되는 일 실시예를 나타낸 것이다. 보다 구체적으로, 파일 시스템 기능을 설정하고, 파일 시스템 기능을 이용할 파일의 디렉터리를 입력하고, 파일 시스템 기능을 설정할 애플리케이션을 선택한 후에는 단말기의 표시부에 파일 시스템 기능의 실행 상태를 입력하라는 메시지가 디스플레이된다. 이후, 사용자는 단말기의 표시부에 디스플레이되어 있는 실행 상태 중, Always 부분을 선택하여 파일 시스템 기능이 항상 실행되도록 설정할 수 있다.
다른 사용 상태로, 사용자의 의하여 파일 시스템 기능을 제공하는 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받도록 설정된 경우, 평소에는 해당 애플리케이션이 동작하지 않다가 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받게 된다. 도 5의(b)는 파일 시스템 기능을 제공하는 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받도록 설정되는 일 실시예를 나타낸 것이다. 보다 구체적으로, 파일 시스템 기능을 설정하고, 파일 시스템 기능을 이용할 파일의 디렉터리를 입력하고, 파일 시스템 기능을 설정할 애플리케이션을 선택한 후에는 단말기의 표시부에 파일 시스템 기능의 실행 상태를 입력하라는 메시지가 디스플레이된다. 이후, 사용자는 단말기의 표시부에 디스플레이되어 있는 실행 상태 중, Pop-up 부분을 선택하여 파일 시스템 기능이 항상 실행되도록 설정할 수 있다.
또 다른 사용 상태로, 사용자의 의하여 파일 시스템 기능을 제공하는 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 설정된 경우, 평소에는 해당 애플리케이션이 동작하지 않다가 애플리케이션의 실행이 필요할 때만 자동으로 실행된다. 도 5의(c)는 파일 시스템 기능을 제공하는 애플리케이션의 실행이 필요할 때만 자동으로 실행하도록 설정되는 일 실시예를 나타낸 것이다. 보다 구체적으로, 파일 시스템 기능을 설정하고, 피일 시스템 기능을 이용할 파일의 디렉터리를 입력하고, 파일 시스템 기능을 설정할 애플리케이션을 선택한 후에 단말기의 표시부에 파일 시스템 기능의 실행 상태를 입력하라는 메시지가 디스플레이된다. 이후, 사용자는 단말기의 표시부에 디스플레이되어 있는 실행 상태 중, Automatic 부분을 선택하여 파일 시스템 기능이 필요할 때만 실행되도록 설정할 수 있다.
종래에는 단말기가 파일 시스템을 제공하는 애플리케이션이 실행 중인 경우에만, 응용 애플리케이션으로부터 전달받은 특정 명령어를 파일 시스템을 제공하는 애플리케이션으로 전달할 수 있었다. 즉, 파일 시스템을 제공하는 애플리케이션이 실행 중에 있어야만 해당 명령어를 전달받아 실행할 수 있었다. 그러나, 본 발명에서는 단말기는 파일 시스템 기능을 제공하는 애플리케이션의 실행 여부와 관계없이 응용 애플리케이션으로부터 전달받은 특정 명령어를 파일 시스템을 제공하는 애플리케이션으로 전달할 수 있다. 즉, 본 발명에서 단말기는 사용자로부터 파일 시스템을 제공하는 애플리케이션의 실행 상태를 입력받아, 애플리케이션이 실행중이 아니더라도 응용 애플리케이션으로부터 전달받은 특정 명령어를 파일 시스템을 제공하는 애플리케이션으로 전달하여, 파일 시스템을 제공하는 애플리케이션으로부터 해당 명령어의 실행 결과를 전달받을 수 있다.
도 6은 본 발명에 따른 파일 시스템 기능의 제공 여부를 디스플레이하는 인디케이터 동작의 일 실시예를 나타낸 도면이다. 먼저, 사용자는 도 6의(a)에 도시된 인디케이터(Indicator, 601)를 통하여 본 단말기가 파일 시스템 기능을 제공하는 단말기임을 확인할 수 있다. 보다 구체적으로, 파일 시스템 기능을 제공하는 단말기의 경우, 단말기의 일 측면에 인디케이터를 디스플레이하여 본 단말기가 파일 시스템 기능을 제공하는 단말기임을 나타낼 수 있다. 또한, 도 6의(b)에 도시된 인디케이터(602)를 통하여 현재 단말기에서 파일 시스템 기능을 제공하고 있다는 것을 나타낼 수 있다. 따라서, 사용자는 단말기의 일 측면에 디스플레이된 인디케이터를 확인하여 본 단말기에서 파일 시스템 기능이 제공되는 단말기인지 여부와 현재 파일 시스템 기능을 제공하고 있는지 여부를 확인할 수 있다.
아래의 <표 1>은 본 발명에 따른 파일 시스템을 제공하는 애플리케이션의 설치 정보의 일 실시예를 나타낸 것이다.
<?xml version="1.0"?>
-<Manifest>
<Id>Ow1kv60dix/</Id>
<Secret>4B659A055E80B77EE8834CB0FBD1B8625</Secret>
<AppVersion>1.0.1</AppVersion>
-<Privileges>
-<Privilege>
<Name>ALLSHARE</Name>
</Privilege>
-<Privilege>
<Name>STORAGE_SERVICE</Name>
</Privilege>
<Privileges>
-<DeviceProfile>
<APIVersion>2.0<</APIVersion>
<CPU>ARM9</CPU>
<InputDevice>Touch</InputDevice>
<MinimumHeapSize>16</MinimumHeapSize>
<MinimumVRAMSize>4</MinimumVRAMSize>
<ScreenSize>480x800</ScreenSize>
<SoundMixing>Enable</SoundMixing>
</DeviceProfile>
</Manifest>
여기서, 3행의 <Id>Ow1kv60dix/</Id>는 파일 시스템 기능을 제공하는 애플리케이션의 아이디를 나타낸 것이다.
4행의 <Secret>4B659A055E80B77EE8834CB0FBD1B8625</Secret>는 암호화 관련 정보를 나타낸 것이다. 또한, 8행의 <Name>ALLSHARE</Name>는 파일 시스템 기능을 제공하는 애플리케이션의 기능을 나타낸 것이다.
도 7은 본 발명의 파일 시스템 기능을 제공하는 단말기의 동작 순서를 나타낸 순서도이다. 도 7에 도시된 바와 같이, 먼저 사용자는 단말기에 파일 시스템 기능을 제공하는 애플리케이션을 설치한다(701). 여기서, 파일 시스템이란 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제를 가리키는 말이다. 는 말이다. 보다 구체적으로는, 파일 시스템은 통상 하드 디스크나 시디롬과 같은 실제 자료 보관 장치를 사용하여 파일의 물리적 소재를 관리하는 것을 가리키나 네트워크 프로토콜을 수행하는 클라이언트를 통하여 파일 서버상의 자료로의 접근을 제공하는 방식과 가상의 형태로서 접근 수단만이 존재하는 방식도 파일 시스템의 범위에 포함될 수 있다. 일반적으로 파일 시스템은 저장 장치, 입출력 제어, 기본 파일시스템, 파일조직 모듈, 가상 파일시스템과 같이 여러 개의 계층으로 구성되어 있다. 그렇게 함으로써 하드 디스크, 시디롬 드라이브, 플래시 메모리 등 다양한 형태의 저장 장치를 지원할 수 있고, 하나의 시스템에 여러 개의 파일 시스템을 사용할 수 있다.
파일 시스템 기능을 제공하는 제2 애플리케이션을 단말기에 설치한 후, 제1 애플리케이션으로부터 특정 명령어를 수신한다(702). 보다 구체적으로, 제1 애플리케이션에서 특정 명령어를 단말기로 요청하면, 단말기에서는 특정 명령어를 단말기의 운영체제 내부로 전달하지 않고, 운영체제 외부에 위치하고 있는 제2 애플리케이션으로 전달하기 위해서 glibc 및 VFS(Virtual File System)을 통하여, FUSE(File System in Userspace)로 전달한다. 이후, 제1 애플리케이션으로부터 특정 명령어를 전달받은 FUSE는 해당 명령어를 온 디맨드 파일 시스템 매니저 모듈(On Demand File System Manager Modual)로 전달한다.
제1 애플리케이션으로부터 특정 명령어를 수신한 온 디맨드 파일 시스템 모듈은 제2 애플리케이션이 실행중인지 판단한다(703). 보다 구체적으로, 단말기는 파일 시스템 기능을 제공하는 제2 애플리케이션이 실행중이어야 제1 애플리케이션으로부터 전달받은 특정 명령어를 제2 애플리케이션으로 전달할 수 있기 때문이다. 종래에는 파일 시스템 기능을 제공하는 애플리케이션이 실행중이 아니라면, 상술한 특정 명령어를 파일 시스템 기능을 제공하는 애플리케이션으로 전달하지 못했다. 즉, 종래에 파일 시스템 기능을 제공하는 응용 프로그램을 사용하고자 하는 경우에는 해당 응용 프로그램이 실행중이어야 했다. 왜냐하면, 해당 응용 프로그램이 실행중이 아니라면, 파일 시스템에 대한 사용 요청을 처리할 수가 없기 때문이다. 따라서, 파일 시스템을 사용하기 위해서는 해당 파일 시스템 기능을 제공하는 응용 프로그램이 미리 실행되어 있어야 했다. 그러므로, 해당 파일 시스템을 사용할 시점을 미리 알 수 없기 때문에 사용자의 편의성이 떨어지는 단점이 있었다. 그러나, 본 발명에서는 파일 시스템 기능을 제공하는 애플리케이션의 실행 여부와 관계없이 제1 애플리케이션으로부터 전달받은 특정 명령어를 제2 애플리케이션으로 전달할 수 있는 장점이 있다.
온 디맨드 파일 시스템 매니저 모듈에서 제2 애플리케이션이 실행중인지 판단하여, 제2 애플리케이션이 실행중이라고 판단되면 제2 애플리케이션으로 특정 명령어를 전달한다(704). 보다 구체적으로는, 온 디맨드 파일 시스템 매니저 모듈에서 제2 애플리케이션이 실행중이라고 판단하였으면, 온 디맨드 파일 시스템 매니저 모듈은 제1 애플리케이션으로부터 전달받은 특정 명령어를 온 디맨드 파일 시스템 인터페이스 모듈을 통하여 제2 애플리케이션으로 전달한다. 이후, 제2 애플리케이션 모듈은 온 디맨드 파일 시스템 인터페이스 모듈을 통하여 전달받은 특정 명령어를 수행한다. 예를 들면, 상술한 특정 명령어가 특정 파일을 저장하라는 명령어인 경우에는 제2 애플리케이션은 제1 애플리케이션으로부터 전달받은 특정 파일을 제2 애플리케이션에 저장한다.
제2 애플리케이션으로 특정 명령어를 전달한 온 디맨드 파일 시스템 매니저 모듈은 제2 애플리케이션으로부터 특정 명령어의 실행 결과를 전달받는다(705). 보다 구체적으로, 제2 애플리케이션에서 실행된 특정 명령어의 실행 결과는 다시 온 디맨드 파일 시스템 인터페이스 모듈을 통하여 온 디맨드 파일 시스템 매니저 모듈이 전달받는다. 예를 들면, 제1 애플리케이션으로부터 전달된 특정 명령어가 특정 파일을 읽어오라는 명령어인 경우, 제2 애플리케이션은 제2 애플리케이션에 저장되어 있는 특정 파일을 온 디맨드 파일 시스템 인터페이스 모듈을 통하여 다시 온 디맨드 파일 시스템 매니저 모듈로 전달한다.
제2 애플리케이션으로부터 특정 명령어의 실행결과를 전달받은 온 디맨드 파일 시스템 매니저 모듈은 제1 애플리케이션으로 실행결과를 전달한다(706). 보다 구체적으로는, 제2 애플리케이션으로부터 특정 명령어의 실행결과를 전달받은 온 디맨드 파일 시스템 매니저 모듈은 특정 명령어의 실행결과를 다시 FUSE, VFS 및 glibc를 통하여 제1 애플리케이션으로 전달한다.
만약, 상술한 과정(703)에서, 제2 애플리케이션이 실행중이 아니라고 판단되면, 단말기는 제2 애플리케이션을 실행시킨다(707). 보다 구체적으로는, 제1 애플리케이션으로부터 특정 명령어를 수신한 온 디맨드 파일 시스템 모듈에서 현재 제2 애플리케이션이 실행중인지 판단하여, 실행중이 아니라고 판단되면 온 디맨드 파일 시스템 매니저 모듈은 애플리케이션 매니저 모듈(Application Manager Modual)로 제2 애플리케이션을 실행하도록 하는 명령어를 전달한다. 이후, 온 디맨드 파일 시스템 매니저 모듈은 제2 애플리케이션을 실행시킨다.
도 8은 본 발명에 따른 파일 시스템 기능을 제공하는 단말기의 구성을 도시한 블록도이다. 도 8에 도시된 바와 같이, 본 발명에 따른 단말기는 제어부(801), 통신모듈(802), 입력부(803), 출력부(804) 및 저장부(805)를 포함하여 구성될 수 있다.
제어부(801)는 단말기의 전반적인 동작을 제어한다. 본 발명에서 제어부(801)는 온 디맨드 파일 시스템 매니저 모듈, 온 디맨드 파일 시스템 인터페이스 모듈, 애플리케이션 매니저 모듈, 패키지 매니저 모듈, 그래픽 라이브러리 모듈을 포함하여 구성될 수 있다.
디맨드 파일 시스템 매니저 모듈은, 제1 애플리케이션으로부터 특정 명령어를 수신하여, 제2 애플리케이션의 실행 여부와 관계없이 수신한 특정 명령어를 제2 애플리케이션으로 송신하고, 제2 애플리케이션으로부터 특정 명령어의 실행 결과를 수신한다. 또한, 패키지 매니저 모듈로부터 읽어들인 제2 애플리케이션의 정보 및 입력받은 제2 애플리케이션의 실행 상태를 저장한다. 또한, 제2 애플리케이션의 실행이 중단된 경우라면, 제2 애플리케이션의 설정된 실행 상태를 확인하고, 실행된 제2 애플리케이션으로 전달받은 특정 명령어를 전달한다. 또한, 제2 애플리케이션의 실행이 중단된 경우라면, 제2 애플리케이션의 설정된 실행 상태를 확인하고, 제2 애플리케이션을 실행시켜, 실행된 제2 애플리케이션으로 수신한 명령어를 전달한다. 또한, 특정 명령어의 실행 결과를 제1 애플리케이션으로 피드백한다.
온 디맨드 파일 시스템 인터페이스 모듈은, 제2 애플리케이션이 동작할 수 있도록 제2 애플리케이션과 온 디맨드 파일 시스템 매니저 모듈에 공통된 인터페이스를 제공한다.
애플리케이션 매니저 모듈은, 실행 상태가 제2 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 하는 상태로 확인된 경우, 제2 애플리케이션을 자동으로 실행시킨다.
패키지 매니저 모듈은, 제2 애플리케이션을 설치하여, 설치된 제2 애플리케이션의 정보를 읽어들이고, 설치된 제2 애플리케이션의 실행 상태를 입력받는다. 또한, 제2 애플리케이션이 항상 실행되도록 하는 명령어를 입력받거나, 제2 애플리케이션의 실행이 필요할 때만 자동으로 실행되도록 하는 명령어를 입력받거나, 제2 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받는다.
그래픽 라이브러리 모듈은, 실행 상태가 제2 애플리케이션의 실행이 필요할 때마다 실행 여부를 입력받도록 하는 상태로 확인된 경우 제2 애플리케이션의 실행 여부에 관한 메시지를 디스플레이하도록 하며, 제2 애플리케이션을 실행하도록 하는 명령어를 전달받는다.
통신모듈(802)은 음성 및 데이터 통신을 위해 안테나를 통해 송수신되는 신호를 처리한다.
입력부(803)는 사용자의 선택에 의해 발생하는 입력 데이터를 제어부(801)로 제공한다.
출력부(804)는 제어부(801)의 제어에 따라 휴대용 단말기의 상태 정보, 메뉴 화면 및 스토리 정보를 표시한다.
저장부(805)는 단말기의 동작을 제어하기 위한 프로그램을 저장하는 프로그램 저장부 및 프로그램 수행 중에 발생되는 데이터를 저장하는 데이터 저장부로 구성될 수 있다.
상술한 블록 구성에서, 제어부(801)는 휴대용 단말기의 전반적인 기능을 수행할 수 있다. 본 발명에서 이를 별도로 구성하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 실제로 제품을 구현하는 경우에 휴대용 단말기의 기능 모두를 제어부(801)에서 처리하도록 구성할 수도 있으며, 기능 중 일부만을 제어부(801)에서 처리하도록 구성할 수도 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
101: 제2 애플리케이션 102: Package Manager Modual
103: On Demand File System Manager Modual
104: 제1 애플리케이션 105: glibc
106: VFS(Virtual File System)
107: FUSE(File System in Userspace)
108: On Demand File System Interface Modual
109: Application Manager Modual 110: Graphic Library Modual
601: 인디케이터 602: 인디케이터
801: 제어부 802: 통신모듈
803: 입력부 804: 출력부
805: 저장부

Claims (18)

  1. 단말의 동작 방법에 있어서,
    상기 단말의 제어부가 제1 어플리케이션으로부터 상기 단말의 파일 시스템의 기능을 실행하기 위한 명령을 수신하는 동작;
    상기 제어부가 제2 어플리케이션이 실행 중인지 여부를 식별하는 동작;
    상기 제어부가 상기 제2 어플리케이션이 실행 중임을 식별하는 것에 기반하여, 상기 제어부가 OS(operating system)의 커널(kernel)을 통해 상기 제2 어플리케이션에게 상기 명령을 제공하는 동작;
    상기 제어부가 상기 제2 어플리케이션이 실행 중이지 않음을 식별하는 것에 기반하여, 상기 제어부가 상기 제2 어플리케이션을 실행하고 상기 OS의 상기 커널을 통해 상기 제2 어플리케이션에게 상기 명령을 제공하는 동작;
    상기 제어부가 상기 제2 어플리케이션으로부터 상기 명령의 실행 결과를 수신하는 동작;
    상기 제어부가 상기 단말의 다른(another) 기능을 실행하기 위해 상기 제1 어플리케이션에게 상기 실행 결과를 제공하는 동작; 및
    상기 제어부가 상기 단말이 상기 파일 시스템의 상기 기능을 제공함을 나타내기 위한 인디케이터(indicator)를 상기 단말의 화면의 상태 인디케이터 영역(state indicator region)에서 표시하는 동작을 포함하고,
    상기 제1 어플리케이션 및 상기 제2 어플리케이션은,
    상기 OS와 구별되는 동작 방법.
  2. 청구항 1에 있어서, 상기 제2 어플리케이션은,
    상기 파일 시스템의 상기 기능을 제공하는 어플리케이션을 포함하고,
    상기 커널은,
    상기 단말의 상기 제어부와 VFS(virtual file system) 사이의 인터페이스를 제공하는 동작 방법.
  3. 청구항 2에 있어서, 상기 파일 시스템의 상기 기능은,
    상기 단말의 입력부에 의해 검출되는 사용자 선택에 의해 설정되는 동작 방법.
  4. 청구항 1에 있어서, 상기 명령은,
    상기 단말의 저장부로부터 특정 파일을 판독하기 위한 제1 명령 또는 상기 특정 파일을 저장하기 위한 제2 명령 중 적어도 하나를 포함하는 동작 방법.
  5. 청구항 1에 있어서,
    상기 제어부가 상기 제2 어플리케이션의 정보를 판독하는 동작과,
    상기 제어부가 상기 단말의 상기 화면 상에서 상기 제2 어플리케이션의 실행 상태를 설정하기 위한 정보를 표시하는 동작과,
    상기 제어부가 상기 제2 어플리케이션의 상기 실행 상태를 설정하기 위한 입력을 수신하는 동작과,
    상기 제어부가 상기 판독된 제2 어플리케이션의 정보 및 상기 설정된 제2 어플리케이션의 실행 상태에 대한 정보를 저장하는 동작을 더 포함하는 동작 방법.
  6. 청구항 5에 있어서, 상기 판독된 제2 어플리케이션의 정보는,
    상기 제2 어플리케이션의 ID(identification), 상기 제2 어플리케이션의 암호화 관련 정보, 또는 상기 제2 어플리케이션의 기능 중 적어도 하나를 포함하는 동작 방법.
  7. 청구항 5에 있어서, 상기 제2 어플리케이션의 실행 상태를 설정하기 위한 입력은,
    상기 제2 어플리케이션을 항상 실행할 것을 설정하기 위한 입력, 상기 제2 어플리케이션을 실행하는 것이 요구됨을 검출하는 것에 기반하여 상기 제2 어플리케이션을 실행할 것을 설정하기 위한 입력, 또는 상기 제2 어플리케이션을 실행하는 것이 요구됨을 검출할 때마다 상기 제2 어플리케이션의 실행 여부를 문의할 것을 설정하기 위한 입력 중 적어도 하나를 포함하는 동작 방법.
  8. 청구항 7에 있어서,
    상기 제어부가 상기 제2 어플리케이션의 실행 상태를 상기 단말의 상기 화면 상에서 표시하는 동작을 더 포함하는 동작 방법.
  9. 청구항 1에 있어서, 상기 파일 시스템은,
    복수의 계층들로 구성되는 동작 방법.
  10. 단말의 장치에 있어서,
    표시부;
    제1 어플리케이션 및 제2 어플리케이션을 저장하도록 설정된 저장부; 및
    상기 표시부 및 상기 저장부와 작동적으로 결합되고,
    상기 제1 어플리케이션으로부터 상기 단말의 파일 시스템의 기능을 실행하기 위한 명령을 수신하고,
    상기 제2 어플리케이션이 실행 중인지 여부를 식별하고,
    상기 제2 어플리케이션이 실행 중임을 식별하는 것에 기반하여, 상기 단말의 OS(operating system)의 커널(kernel)을 통해 상기 제2 어플리케이션에게 상기 명령을 제공하고,
    상기 제2 어플리케이션이 실행 중이지 않음을 식별하는 것에 기반하여, 상기 제2 어플리케이션을 실행하고 상기 OS의 상기 커널을 통해 상기 제2 어플리케이션에게 상기 명령을 제공하고,
    상기 제2 어플리케이션으로부터 상기 명령의 실행 결과를 수신하고,
    상기 단말의 다른(another) 기능을 실행하기 위해 상기 제1 어플리케이션에게 상기 실행 결과를 제공하고,
    상기 단말이 상기 파일 시스템의 상기 기능을 제공함을 나타내기 위한 인디케이터(indicator)를 상기 표시부의 상태 인디케이터 영역(state indicator region)에서 표시하도록 설정되는 제어부를 포함하고,
    상기 제1 어플리케이션 및 상기 제2 어플리케이션은,
    상기 OS와 구별되는 단말의 장치.
  11. 청구항 10에 있어서, 상기 제2 어플리케이션은,
    상기 파일 시스템의 상기 기능을 제공하는 어플리케이션을 포함하고,
    상기 커널은,
    상기 단말의 상기 제어부와 VFS(virtual file system) 사이의 인터페이스를 제공하는 단말의 장치.
  12. 청구항 11에 있어서, 상기 파일 시스템의 상기 기능은,
    상기 단말의 입력부에 의해 검출되는 사용자 선택에 의해 설정되는 단말의 장치.
  13. 청구항 10에 있어서, 상기 명령은,
    상기 저장부로부터 특정 파일을 판독하기 위한 제1 명령 또는 상기 특정 파일을 저장하기 위한 제2 명령 중 적어도 하나를 포함하는 단말의 장치.
  14. 청구항 10에 있어서, 상기 제어부는,
    상기 제2 어플리케이션의 정보를 판독하고,
    상기 표시부 상에서 상기 제2 어플리케이션의 실행 상태를 설정하기 위한 정보를 표시하고,
    상기 제2 어플리케이션의 상기 실행 상태를 설정하기 위한 입력을 수신하고,
    상기 판독된 제2 어플리케이션의 정보 및 상기 설정된 제2 어플리케이션의 실행 상태에 대한 정보를 저장하도록 더 설정된 단말의 장치.
  15. 청구항 14에 있어서, 상기 판독된 제2 어플리케이션의 정보는,
    상기 제2 어플리케이션의 ID(identification), 상기 제2 어플리케이션의 암호화 관련 정보, 또는 상기 제2 어플리케이션의 기능 중 적어도 하나를 포함하는 단말의 장치.
  16. 청구항 14에 있어서, 상기 제2 어플리케이션의 실행 상태를 설정하기 위한 입력은,
    상기 제2 어플리케이션을 항상 실행할 것을 설정하기 위한 입력, 상기 제2 어플리케이션을 실행하는 것이 요구됨을 검출하는 것에 기반하여 상기 제2 어플리케이션을 실행할 것을 설정하기 위한 입력, 또는 상기 제2 어플리케이션을 실행하는 것이 요구됨을 검출할 때마다 상기 제2 어플리케이션의 실행 여부를 문의할 것을 설정하기 위한 입력 중 적어도 하나를 포함하는 단말의 장치.
  17. 청구항 10에 있어서, 상기 제어부는,
    상기 제2 어플리케이션의 실행 상태를 상기 단말의 화면 상에서 표시하도록 더 설정된 단말의 장치.
  18. 청구항 10에 있어서, 상기 파일 시스템은,
    복수의 계층들로 구성되는 단말의 장치.
KR1020120022786A 2012-03-06 2012-03-06 파일 시스템 기능을 제공하는 단말기의 장치 및 방법 KR101920239B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120022786A KR101920239B1 (ko) 2012-03-06 2012-03-06 파일 시스템 기능을 제공하는 단말기의 장치 및 방법
US13/713,093 US9009737B2 (en) 2012-03-06 2012-12-13 Apparatus and method of terminal for providing file system function
EP13153453.9A EP2637099A3 (en) 2012-03-06 2013-01-31 Apparatus and method of terminal for providing file system function
CN201310069058.7A CN103309751B (zh) 2012-03-06 2013-03-05 提供文件系统功能的终端的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120022786A KR101920239B1 (ko) 2012-03-06 2012-03-06 파일 시스템 기능을 제공하는 단말기의 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130101776A KR20130101776A (ko) 2013-09-16
KR101920239B1 true KR101920239B1 (ko) 2018-11-20

Family

ID=47747370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120022786A KR101920239B1 (ko) 2012-03-06 2012-03-06 파일 시스템 기능을 제공하는 단말기의 장치 및 방법

Country Status (4)

Country Link
US (1) US9009737B2 (ko)
EP (1) EP2637099A3 (ko)
KR (1) KR101920239B1 (ko)
CN (1) CN103309751B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102087395B1 (ko) * 2013-01-16 2020-03-10 삼성전자주식회사 전자 장치에서 응용프로그램을 실행하기 위한 장치 및 방법
US9015353B2 (en) 2013-03-14 2015-04-21 DSSD, Inc. Method and system for hybrid direct input/output (I/O) with a storage device
US10095710B1 (en) 2014-12-19 2018-10-09 EMC IP Holding Company LLC Presenting cloud based storage as a virtual synthetic
US9753814B1 (en) 2014-12-19 2017-09-05 EMC IP Holding Company LLC Application level support for selectively accessing files in cloud-based storage
US10235463B1 (en) 2014-12-19 2019-03-19 EMC IP Holding Company LLC Restore request and data assembly processes
US10095707B1 (en) * 2014-12-19 2018-10-09 EMC IP Holding Company LLC Nearline cloud storage based on FUSE framework
US10120765B1 (en) 2014-12-19 2018-11-06 EMC IP Holding Company LLC Restore process using incremental inversion
CN106302609B (zh) 2015-06-08 2020-02-28 阿里巴巴集团控股有限公司 一种访问方法及装置
US11402812B1 (en) 2019-03-22 2022-08-02 The Chamberlain Group Llc Apparatus and method for controlling a device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5075847A (en) * 1989-05-26 1991-12-24 Hewlett-Packard Company Method and apparatus for computer program encapsulation
US5212792A (en) * 1989-06-01 1993-05-18 Hewlett-Packard Company Method and apparatus for controlling execution of tools in a computer-aided software engineering system
EP0490636B1 (en) * 1990-12-14 1998-09-09 Sun Microsystems, Inc. Method and apparatus for interprocess message switching
US5379426A (en) * 1991-01-25 1995-01-03 Sun Microsystems, Inc. Method and apparatus for object oriented interprocess message switching
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6724408B1 (en) * 1999-08-10 2004-04-20 International Business Machines Corporation Command line interface for a data processing system
US6351776B1 (en) 1999-11-04 2002-02-26 Xdrive, Inc. Shared internet storage resource, user interface system, and method
WO2003048937A1 (fr) * 2001-12-07 2003-06-12 Ntt Docomo, Inc. Terminal de communication mobile, dispositif et systeme de diffusion de logiciel d'application, procede permettant de commander l'affichage de l'etat d'execution, programme et support d'enregistrement
CN1427361A (zh) * 2001-12-17 2003-07-02 北京中视联联合软件有限公司 基于客户/服务器结构的底层设备驱动的方法
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7363338B2 (en) * 2002-07-17 2008-04-22 Intel Corporation Selective assembly loading and execution based on platform capabilities
US7757010B2 (en) * 2006-04-28 2010-07-13 Mediatek Inc. Systems and methods for managing mass storage devices in electronic devices
US8487943B2 (en) * 2007-12-13 2013-07-16 Advanced Micro Devices, Inc. Driver architecture for computing device having multiple graphics subsystems, reduced power consumption modes, software and methods
US8326802B2 (en) 2009-06-11 2012-12-04 International Business Machines Corporation File system location verification using a sentinel
US9063666B2 (en) * 2010-03-25 2015-06-23 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape

Also Published As

Publication number Publication date
US9009737B2 (en) 2015-04-14
KR20130101776A (ko) 2013-09-16
EP2637099A2 (en) 2013-09-11
CN103309751B (zh) 2018-07-27
EP2637099A3 (en) 2016-10-26
CN103309751A (zh) 2013-09-18
US20130239129A1 (en) 2013-09-12

Similar Documents

Publication Publication Date Title
KR101920239B1 (ko) 파일 시스템 기능을 제공하는 단말기의 장치 및 방법
KR101751936B1 (ko) 호스트 기반 단말 가상화 환경에서 공유 메모리를 이용한 입출력 디바이스 가상화 장치 및 방법
US20110004687A1 (en) Information processing apparatus, information processing system, setting program transmission method and server setting program
US20080294764A1 (en) Storage medium bearing hba information provision program, hba information provision method and hba information provision apparatus
US9384098B1 (en) Portable data archiving device
US20140067879A1 (en) Application management for a terminal
US20130227085A1 (en) Terminal and method for using cloud services
CN107577472B (zh) 软件安装方法、装置及计算机可读存储介质
CN102238093A (zh) 防止业务中断的方法和装置
CN107871062A (zh) 一种应用权限控制方法、装置及终端
US20200205001A1 (en) Electronic apparatus and method of executing application program
CN111414234A (zh) 镜像容器创建方法及装置、计算机装置及存储介质
CN104657161A (zh) 移动终端固件更新方法及装置
JP4305475B2 (ja) 計算機システム、管理計算機、及び計算機選択方法
CN104517067A (zh) 访问数据的方法、装置及系统
US9185350B2 (en) Content selecting system, providing apparatus, transfer apparatus and content selecting method
US9607163B2 (en) Information processing apparatus, control method, and storage medium storing program
US9323907B2 (en) Distribution apparatus, device, control method for distribution apparatus, and storage medium
CN106096419A (zh) 操作系统安全启动的方法、装置及系统
KR101551731B1 (ko) 접속된 호스트 장비의 플랫폼에 의존하여 자체-적응 서비스들을 제공하기 위한 전자 디바이스
US20080141262A1 (en) System, apparatus, and method for managing a service
CN110297645B (zh) 一种系统安装方法和电子设备
JP2018196091A (ja) 管理装置、複合装置、設定管理方法及びプログラム
CN114356231B (zh) 数据处理方法、设备及计算机存储介质
CN102156685A (zh) 一种分布式网络系统脚本自动配置的方法及装置

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