KR102392863B1 - 파일 시스템의 호환성의 실시간 동적 설정 - Google Patents

파일 시스템의 호환성의 실시간 동적 설정 Download PDF

Info

Publication number
KR102392863B1
KR102392863B1 KR1020217031040A KR20217031040A KR102392863B1 KR 102392863 B1 KR102392863 B1 KR 102392863B1 KR 1020217031040 A KR1020217031040 A KR 1020217031040A KR 20217031040 A KR20217031040 A KR 20217031040A KR 102392863 B1 KR102392863 B1 KR 102392863B1
Authority
KR
South Korea
Prior art keywords
access
file system
data
file
passive
Prior art date
Application number
KR1020217031040A
Other languages
English (en)
Other versions
KR20210157396A (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 파라곤 소프트웨어 게엠베하
Publication of KR20210157396A publication Critical patent/KR20210157396A/ko
Application granted granted Critical
Publication of KR102392863B1 publication Critical patent/KR102392863B1/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/176Support for shared access to files; File sharing support
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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]
    • 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/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Radio Relay Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 파일 시스템의 호환성 및 데이터에 대한 파일 시스템 독립적 액세스를 실시간으로 동적으로 설정하는 방법에 관한 것이다. 본 발명에 따르면, 최종 사용자가 수동 메모리의 기본 파일 시스템을 고려할 필요 없이 임의의 단말 장치로 수동 데이터 메모리에 액세스하는 것이 가능하다. 이는, 예를 들어 저장 매체에서 직접 파일 시스템의 변환을 제공하는 복잡한 프로세스 단계를 피한다. 따라서, 제안된 방법은 더 효율적이고 오류에 강하다. 본 발명은, 또한 상응하게 구성된 장치 및 시스템 배치구조에 관한 것이다. 또한, 방법 단계를 구현하는 제어 명령이 있는 컴퓨터 프로그램 제품이 제안된다.

Description

파일 시스템의 호환성의 실시간 동적 설정
본 발명은 파일 시스템의 호환성 및 데이터에 대한 파일 시스템 독립적 액세스를 실시간으로 동적으로 설정하는 방법에 관한 것이다. 본 발명에 따르면, 최종 사용자가 수동 메모리의 기본 파일 시스템을 고려할 필요 없이 임의의 단말 장치로 수동 데이터 메모리에 액세스하는 것이 가능하다. 이는, 예를 들어 저장 매체에서 직접 파일 시스템의 변환을 제공하는 복잡한 프로세스 단계를 피한다. 따라서, 제안된 방법은 더 효율적이고 오류에 강하다. 본 발명은, 또한 상응하게 구성된 장치 및 시스템 배치구조에 관한 것이다. 또한, 방법 단계를 구현하는 제어 명령이 있는 컴퓨터 프로그램 제품이 제안된다.
US 5,463,772 A1은 미리 결정된 파일 시스템으로 능동 데이터 메모리에 대하여 판독 및 기입하기 위한 디바이스를 보여준다.
WO 2005/086 039 A2는 구조화된 정보가 기록된 저장 매체를 제조하는 방법을 제안하고, 이를 위해, 데이터 변환을 제안하며 범용 데이터 모델을 사용한다.
WO 2018/031 794 A1은 저장 매체에 기입하는 방법을 보여준다.
US 5,742,818 A는 파일 시스템을 변환하는 방법을 보여준다.
종래 기술은 단말이 데이터 메모리에 액세스하고자 하는 경우 호환성 문제가 발생할 수 있다는 문제를 다룬다. 예를 들어, 엔드 디바이스는 메모리에 대한 파일 시스템을 지원하지 않는다. 종래 기술은, 호환성이 없는 경우, 즉 파일 시스템들이 상이할 경우, 통상적으로 데이터 메모리의 파일 시스템이 변환되는 것을 제안한다. 따라서, 데이터 메모리의 파일 시스템이 단말에 의해 지원되는 파일 시스템으로 변환된다. 이는 복잡한 프로세스이며 저장 매체 상의 데이터도 손실된다.
하나의 파일 시스템으로부터 다른 파일 시스템으로의 이전 또는 변환은 종종 전체 데이터 메모리를 포맷하는 것에 의해 수행된다. 포맷 작업은 재구성 동안에 전체 데이터 저장소가 소거되고 나서 기입 동작이 시작될 때에는 비어 있게 된다는 사실을 기반으로 한다. 이는, 예를 들어 데이터를 백업할 필요가 있거나 또는 데이터가 손실될 가능성이 있다는 문제와 같은 추가적인 문제로 이어진다.
더욱이, 타겟 시스템의 기능이 모방되는 에뮬레이션(emulation)이 종래 기술에 알려져 있다. 에뮬레이션은 그만큼 더 복잡한 프로세스이며 타겟 시스템의 기본 하드웨어 및 소프트웨어의 추상화 수준을 제공함에 있어서 상당한 노력을 필요로 한다. 에뮬레이션 자체가 종종 시간 소모적인 작업이다. 또한, 통신 참여자가 수동 데이터 메모리인 경우에는 불필요한 기능이 제공된다. 이는 통상적으로 광범위한 기능을 제공하지 않고, 데이터 메모리의 주요 작업은 단순히 수동적으로 작동하고 정적 데이터를 저장하는 것일 뿐이다. 따라서, 에뮬레이션은 시간 소모적이기도 하고, 해당되는 경우, 오류가 발생하기 쉽다.
따라서, 종래 기술은 기본 파일 시스템들이 항상 호환되는 바와 같은 방식으로 최종 사용자가 수동 데이터 캐리어를 단말에 연결할 수 있도록 하는 방법이 제공되지 않는다는 단점이 있다. 이에 상응하는 방법들은 복잡하며 전체 파일 시스템의 복잡한 변환은 통상적으로 프로세스의 준비 단계에서 수행된다. 그러나, 이는, 사용자가 실시간으로 데이터 캐리어에 기입하기를 원하고 그에 따라 포맷을 수락하고 싶어하지 않는 것이 일반적이기 때문에, 사용자에게는 불리하다고 여겨진다. 이어서, 사용자가 데이터 손실의 위협을 받는 경우, 이러한 절차는 수락되지 않는다.
따라서, 제안된 발명의 목적은 파일 시스템들의 호환성에 관한 문제가 야기되는 일 없이 사용자가 수동 데이터 저장 디바이스를 단말에 연결할 수 있게 하는 방법을 제공하는 것이다. 따라서, 어떠한 데이터 손실도 수반하지 않고 실시간으로 수행될 수도 있는 파일 시스템 독립적 데이터 액세스가 가능해야 한다. 또한, 본 발명의 목적은 이에 상응하게 구성된 디바이스 및 상응하게 구성된 시스템 배치구조를 제안하는 것이다. 또한, 방법을 구현하거나 디바이스 또는 시스템 배치구조를 동작시키는 제어 명령이 있는 컴퓨터 프로그램이 제안될 것이다.
본 발명의 목적은 청구항 1에 따른 특징을 갖는 방법에 의해 달성된다. 더 유리한 구성은 종속 청구항들에서 특정된다.
따라서, 파일 시스템의 호환성 및 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 방법이 제공되고, 이 방법은, 능동 단말 디바이스 및 수동 데이터 메모리 디바이스와 능동 단말 사이에 통신 가능하게 연결된 모델링 디바이스에 대하여 수동 데이터 메모리 디바이스의 파일 시스템에 대한 액세스를 승인하는 단계, 모델링 디바이스에 의해 능동 단말로부터의 액세스 요청을 수신― 액세스 요청은 수동 데이터 메모리에 대한 액세스 데이터 및 액세스 동작을 지정함 ―하는 단계, 모델링 디바이스에 의해 수동 데이터 메모리의 파일 시스템을 인식하는 단계, 수동 데이터 메모리의 인식된 파일 시스템에 따라 액세스 요청을 수행하기에 적합한 저장된 액세스 규칙을 선택하는 단계, 액세스 요청에 의해 지정된 액세스 데이터에 선택된 액세스 규칙을 모델링 디바이스에 의해 적용하는 단계, 및 액세스 요청에 따라 액세스 동작을 수행하는 단계를 포함한다.
본 발명에 따르면, 파일 시스템의 호환성의 동적 설정은, 데이터 캐리어의 하드웨어가 에뮬레이트되는 것이 아니고, 오히려 단말로부터의 데이터가 수동 데이터 메모리에 기입될 수 있도록 데이터 레벨 또는 파일 레벨에서 적응이 이루어지는 바와 같은 방식으로 일어난다. 하드웨어가 시뮬레이션되는 것이 아니고, 오히려 에뮬레이션이 필요없는 파일 레벨에서 작업이 수행된다. 수동 데이터 메모리에는 어떠한 소프트웨어도 없으므로, 여기에 기능을 맵핑할 필요도 없다. 데이터 메모리는 통상적으로 수동 판독 동작 또는 기입 동작만을 제공한다. 이는 제안된 방법을 실시간으로 작업하는 것을 가능하게 한다.
본 발명에 따르면, 실시간이란 상당한 레이턴시가 없다는 것, 즉 사용자가 자신의 관점에서 어떠한 지연도 의식하지 못한다는 것을 의미한다. 개별 프로세스 단계가 초 단위 미만으로 처리될 수 있으므로, 최종 사용자는 프로세스가 실시간으로 수행되고 있다고 느끼게 된다. 기술적인 관점에서 볼 때, 물론 인간 사용자에 의해 주관적으로 인지될 수 없는 처리 시간은 존재한다.
본 발명에 따르면, 이 방법은 방법의 준비 단계에서 파일 시스템을 에뮬레이트 또는 이전할 필요성을 회피한다. 따라서, 최종 사용자는 모델링 디바이스를 통해 저장 매체 또는 수동 데이터 메모리를 단말에 연결하고, 데이터 메모리에 대한 판독 및 기입 동작을 즉시 시작할 수 있다. 이는 데이터 메모리에 있는 데이터가 파일 시스템과 독립적으로 액세스될 수 있다는 것을 의미한다. 데이터에 대한 액세스는 데이터 캐리어에 대한 판독 동작과 기입 동작이 모두 지원된다는 것을 의미한다.
이렇게 하려면, 파일 시스템에 대한 액세스를 승인하는 것이 필요하다. 액세스 승인을 마운트(MOUNT) 동작이라고도 한다. 여기서 수동 데이터 메모리의 파일 시스템을 판독하는 것 및 데이터 메모리에 어떤 데이터가 있는지를 이미 인식하는 것이 가능하다. 이는 상당한 시간 소비를 전혀 필요로 하지 않으므로, 사용자의 관점에서는 이 프로세스 단계도 실시간으로, 즉, 대기 시간 없이 수행될 수 있다. 파일 시스템에 대한 액세스를 승인함으로써, 데이터 메모리가 능동 단말에 통신 가능하게 연결되고, 모델링 디바이스가 개재된다. 액세스를 승인하는 것은, 예를 들어 데이터 메모리, 모델링 디바이스 및 능동 단말 사이에서 플러그 연결을 설정하는 것을 포함한다.
플러그 연결은 수동 데이터 메모리가 모델링 디바이스에 직접 연결되고 이것이 결국 능동 단말에 연결되는 방식으로 이루어질 수 있다. 그러나, 데이터 메모리, 모델링 디바이스 및 단말 사이에서 유선 연결을 제공하는 것도 가능하다. 본 발명의 일 양태에 따르면, 데이터 저장 디바이스, 모델링 디바이스 및 단말 사이의 물리적 연결을 통해 액세스가 승인된다. 당업자는 이에 대한 일반적인 형식과 이러한 플러그 연결이 어떻게 설계되어야 하는지를 인지하고 있다. USB를 예로 들 수 있으므로, 이를 위해 공용 인터페이스를 사용할 수 있다. 따라서, 수동 데이터 저장 디바이스는 외장 하드 드라이브 또는 USB 스틱 또는 SD 카드 슬롯이 될 수 있다.
모델링 디바이스는 자체 하드웨어 디바이스로서 설계될 수 있으며, 예를 들어, 액세스 규칙을 포함하는 데이터 메모리를 가질 수 있다. 또한, 모델링 디바이스는 제어 논리를 제공 또는 실행하는 임베디드 시스템으로서 구현될 수도 있다. 일반적으로, 모델링 디바이스는 적어도 2 개의 인터페이스, 인터페이스를 통해 모델링 디바이스와 통신하는 수동 데이터 메모리 및 추가적인 인터페이스와 통신하는 능동 단말을 포함한다. 그러나, 일반적으로는 여러 개의 데이터 메모리를 연결할 수 있도록 추가적인 인터페이스를 제공하는 것도 가능하다. 또한, 여러 능동 엔드 디바이스를 연결하여 데이터 메모리에 대하여 기입 또는 판독할 수 있게 하는 것도 가능하다.
수동 데이터 메모리는 기능을 전혀 제공하지 않고, 데이터를 저장하는 역할만 하므로, 결국 수동적이라고 할 수 있다. 상응하는 기입 동작 및 판독 동작은 능동 단말에 의해 개시 및 전송된다. 따라서, 능동 단말은 본 발명에 따른 방법을 개시하여 수동 데이터 메모리에 액세스하기를 원한다. 능동 단말은 기본 파일 시스템에 따라 저장된 데이터를 준비 상태로 유지하거나 또는 수동 데이터 메모리에 저장된 데이터를 요청한다. 본 발명에 따르면, 상응하는 데이터는 능동 디바이스의 지원되는 파일 시스템과 관련하여 적응된다.
일반적으로, 능동 단말은 제1 파일 시스템을 지원하고, 수동 데이터 저장 디바이스는 제2 파일 시스템을 갖는다. 이제 데이터가 수동 데이터 메모리에 기입되면, 제1 파일 시스템 형식의 데이터는 제2 파일 시스템 형식으로 저장되는 바와 같은 방식으로 적응된다. 데이터 메모리로부터 데이터가 요청되면, 상응하는 데이터는 제1 파일 시스템 형식에 대응하는 바와 같은 방식으로 제2 파일 시스템 형식으로부터 적응된다. 통상적으로, 이 목적을 위해 사용자 데이터를 적응시킬 필요는 없으며, 추가 데이터만 적응되면 된다. 예를 들어, 메타데이터는 데이터 메모리에 기입될 수 있거나 또는 능동 단말에 저장될 수 있는 바와 같은 방식으로 모델링될 수 있다. 추가 데이터는 사용자 데이터를 설명하는 데이터 또는 파일 시스템과 관련된 정보를 제공하는 데이터일 수 있다. 추가 데이터가 상응하는 데이터 블록들이 저장 매체에서 물리적으로 저장되는 위치를 지정하는 오프셋을 설명하는 것은 흔히 있는 일이다.
따라서, 모델링 디바이스는 능동 단말로부터의 액세스 요청을 수락하고, 액세스 요청은 수동 데이터 메모리에 대한 액세스 데이터 및 액세스 동작을 지정한다. 액세스 동작은 판독 동작 또는 기입 동작이 될 수 있는 반면, 액세스 데이터는 정확히 무엇이 쿼리 또는 전송되어야 하는지를 설명한다. 액세스 데이터는, 예를 들어 "기입(write)" 액세스 동작에 따라 데이터 메모리에 기입되어야 하는 파일 이름을 지정할 수 있다. 액세스 요청은 능동 단말에 의해 개시되며 파일 시스템으로 진입하지 않고 원하는 데이터를 지정한다.
이후, 수동 데이터 캐리어의 파일 시스템이 모델링 디바이스에 의해 인식된다. 모델링 디바이스는 능동 단말과 수동 데이터 메모리 사이에 개재된다. 따라서, 모든 메시지 또는 명령이 모델링 디바이스를 통해 전달된다. 따라서, 연결된 통신 참여자들, 즉 능동 단말과 수동 데이터 메모리는 모델링 디바이스를 통해서만 통신한다.
더욱이, 수동 데이터 메모리의 인식된 파일 시스템에 따라 액세스 요청을 수행하기에 적합한 저장된 액세스 규칙을 선택한다. 저장된 액세스 규칙은, 예를 들어 경험적으로 결정될 수 있거나 또는 프로세스의 준비 단계에서 생성될 수 있다. 액세스 규칙은 제1 파일 시스템에서 시작하여 제2 파일 시스템 내에서 해석될 수 있도록 데이터가 어떻게 모델링되어야 하는지를 설명한다. 추가 데이터, 예를 들어 메타데이터는 여기서는 통상적으로 제1 운영 체제에 따라 코딩된 파일 또는 데이터가 제2 운영 체제에 따라 코딩되는 바와 같은 방식으로 적응된다. 예를 들어 기입 동작이 발생하면, 능동 단말은 능동 단말에서 사용할 수 있는 제1 파일 시스템 또는 파일 시스템 형식에 따라 파일을 전송한다. 이어서, 이 파일은 제2 파일 시스템 또는 파일 시스템 형식에 저장될 수 있는 바와 같은 방식으로 액세스 규칙에 따라 모델링된다. 반면에, 판독 동작이 발생하면, 제2 파일 시스템의 데이터는 능동 파일 시스템에 의해서도 해석될 수 있는 바와 같은 방식으로 모델링된다. 따라서, 데이터는 능동 단말의 파일 시스템에 저장될 수 있는 바와 같은 방식으로 변환된다.
액세스 규칙은, 첫 번째 열에서 능동 단말의 파일 시스템을 설명하고, 두 번째 열에서 수동 데이터 메모리의 파일 시스템을 설명하고, 세 번째 열에서 어느 액세스 규칙이 제공되는지를 지정하는 테이블을 유지하는 바와 같은 방식으로 선택될 수 있다. 세 번째 열은 상응하는 액세스 규칙을 가리키는 포인터를 유지할 수 있다. FAT, FAT32, ExFAT, NTFS 등이 파일 시스템으로서 사용될 수 있다.
통상적으로 액세스 규칙이 있는 데이터 메모리는 모델링 디바이스에 내장되거나 또는 데이터 메모리는 판독되는 외부 데이터 메모리로서 존재할 수도 있다. 이러한 방식으로, 데이터 메모리가 능동 단말에 의해 유지될 수도 있다.
따라서, 액세스 규칙은 각 경우에 호환 가능하도록 기입 또는 판독될 데이터를 어떻게 적응시키는지에 대한 규칙을 설명한다. 즉, 페이로드 데이터가 다른 데이터로부터 분리되고 다른 데이터가 파일 시스템에 따라 적응되는 바와 같은 방식으로 액세스 데이터를 분석하는 것이 규정될 수 있다. 선택적으로 사용자 데이터도 적응되며, 통상적인 경우에는 추가 데이터 또는 메타데이터만이 적응되는 것을 규정한다. 따라서, 변조 프로세스를 매우 효율적으로 수행하는 것이 가능하고, 결과적으로 방법을 실시간으로 수행하는 것이 가능하다. 따라서, 파일 시스템이 적응되는 것이 아니라 데이터가 적응되며, 데이터의 경우, 통상적으로 메타데이터이기 때문에, 추가 데이터의 변환을 신속하게 수행할 수 있다. 이는 큰 기술적 노력 없이 적응될 수 있는 매우 소량의 데이터에 불과하다.
액세스 규칙이 선택되면, 액세스 규칙이 액세스 데이터에 적용되고, 이는, 판독 또는 기입될 데이터가 수동 데이터 메모리의 파일 시스템에 기입될 수 있는 바와 같은 방식으로 적응된다는 것을 의미하거나, 또는 데이터가 판독되는 경우에는, 능동 단말 디바이스의 파일 시스템에 대응하도록 적응된다는 것을 의미한다. 이미 설명했듯이, 페이로드 데이터가 아닌 추가 데이터를 단순히 코딩 또는 모델링하는 것으로 충분하다.
이제 데이터가 호환 가능한 방식으로 변환되었으므로, 액세스 동작을 수행하는 실제 단계를 개시할 수 있다. 액세스 동작은 판독 동작 또는 기입 동작일 수 있다. 이제 데이터를 적절하게 사용할 수 있으므로, 데이터가 수동 데이터 메모리에 기입되거나 또는 수동 데이터 메모리로부터 판독된다.
방법 단계는 선택된 액세스 규칙이 적용되고 정의된 데이터 스트림에 대하여 액세스 동작이 수행되는 바와 같은 방식으로 반복적으로 수행될 수 있다. 예를 들어, 일련의 파일이 능동 단말에 의해 요청될 수 있으며, 액세스 데이터의 일회성 조정이 충분한지의 여부 또는 예를 들어 액세스 규칙이 파일의 각 기입 동작 이후에 다시 적용되어야 하는지의 여부가 액세스 동작에 따라 결정될 수 있다. 이는 메타데이터가 각 파일에 대하여 적응될 수 있거나 또는 메타데이터가 한 번만 적응되고 모든 사용자 데이터가 덮어쓰기된다는 것을 의미한다. 여기서 어떻게 진행할지가 모델링 디바이스의 데이터 메모리에 저장될 수 있다.
본 발명의 일 양태에 따르면, 액세스를 승인하는 단계는 마운트 프로세스, 수동 데이터 캐리어를 모델링 디바이스에 통합하는 것, 수동 데이터 캐리어를 능동 단말에 통합하는 것, 통신 가능한 연결, 적어도 하나의 플러그 연결을 설정하는 것, 액세스를 활성화하는 것, 액세스 권한을 설정하는 것 및/또는 데이터 통신을 포함한다. 이는 액세스가 승인될 때 데이터 메모리를 판독할 수 있다는 장점이 있으며, 따라서 판독 동작 동안 가용 데이터를 추정하는 것이 가능하다. 따라서, 예를 들어 파일 크기를 알고 있으며, 판독될 데이터 스트림이 어떻게 구성되는지를 결정할 수 있다. 이 정보에 따라, 선택된 액세스 규칙의 적용 및 액세스 동작의 구현이 최적화될 수 있다. 예를 들어 작은 파일이 다수 존재하는 경우, 개별 파일 그룹이 데이터 스트림으로서 판독될 수 있고, 그에 따라 선택된 액세스 규칙의 적용이 여러 파일과 관련된다. 파일들이 큰 경우에는, 각 파일에 액세스 규칙을 적용할 수 있다. 통신 가능한 연결은 능동 단말이 모델링 디바이스를 통해 수동 데이터 메모리와 통신할 수 있게 한다. 예를 들어 액세스 권한을 할당할 수 있는 것과 같은 추가 보안 메커니즘을 구현하는 것도 가능하다.
본 발명의 추가적인 양태에 따르면, 능동 단말은 액세스 요청을 생성하는 운영 체제를 갖는다. 이는 데이터 스트림이 사전에 지정될 수 있다는 장점을 가지고 있으며, 따라서 어느 파일이 요청되고 있는지를 알고 있다. 이러한 방식으로, 운영 체제는 많은 수의 파일이 판독 또는 기입되어야 하고 선택된 액세스 규칙도 그에 따라 하나 이상의 파일에 적용될 수 있음을 나타낼 수 있다. 액세스 데이터는 결과적으로 그대로 세그먼트화 및 적응될 수 있거나 또는 개별 세그먼트들, 즉 개별 데이터 스트림들이 적응될 수 있다. 이러한 방식으로, 소량의 데이터가 요약될 수 있고 액세스 규칙이 한 번 적용된다. 이는 이들 파일이 기입될 수 있고 추가 데이터가 매번 조정될 필요가 없다는 것을 의미한다.
본 발명의 추가적인 양태에 따르면, 적용 및 구현은 각각의 데이터 스트림에 대하여 반복적으로 수행되고, 운영 체제는 데이터 스트림을 정의한다. 이는 마지막 반복 후에는 모든 액세스 데이터가 판독 또는 기입되도록 액세스 규칙의 적용 및 기입 동작의 실행이 원하는 만큼 자주 수행될 수 있다는 장점이 있다. 따라서, 요청 또는 지정된 파일에 따라 데이터 스트림이 선택될 수 있다.
본 발명의 추가적인 양태에 따르면, 액세스 요청은 적어도 하나의 판독 및/또는 기입 요청을 갖는다. 이는 판독 및 기입를 위해 수동 데이터 메모리에 액세스할 수 있다는 장점이 있다. 여기서는 수동 데이터 메모리의 기능을 에뮬레이트할 필요가 없으며, 오히려 기입 또는 판독될 (메타) 데이터의 적응이 본 발명에 따라 발생하고 수동 데이터 메모리에 대한 파일 시스템의 직접적인 적응이 없다.
본 발명의 추가적인 양태에 따르면, 액세스 요청은 페이로드 데이터 및/또는 추가 데이터를 지정한다. 이는 액세스 요청이 이미 어느 데이터가 사용자 데이터인지 및 어느 데이터가 추가 데이터인지를 지정한다는 장점이 있다. 추가 데이터는, 예를 들어 유용한 데이터를 설명하는 메타데이터로서 존재할 수 있다. 이러한 추가 데이터는 파일의 크기 또는 파일 이름이다. 파일 시스템이 특정 추가 데이터를 지원하지 않는 경우, 예를 들어 상이한 문자 세트가 사용되는 경우, 파일 시스템의 문자 세트와 일치하도록 파일 이름을 변경하는 바와 같은 방식으로 액세스 규칙이 적용된다. 예를 들어, 능동 단말은 수동 데이터 메모리에 파일을 기입하기를 원하고 파일 이름에 움라우트(umlaut)를 사용하여 사용자 데이터를 지정한다. 데이터 메모리의 파일 시스템에서 움라우트가 지원되지 않는 경우, 액세스 규칙은, 예를 들어 움라우트를 다른 모음으로 대체하거나 또는 모음과 "e"로 대체하는 것을 제공한다.
본 발명의 추가적인 양태에 따르면, 액세스 데이터는 파일 이름, 절대 메모리 주소, 상대 메모리 주소, 파일 유형 및/또는 파일 속성을 설명한다. 이는 액세스 데이터가 어느 정보가 잠재적으로 조정되어야 하는지를 설명한다는 장점이 있다. 수동 데이터 메모리의 메모리 시스템이 특정 메모리 주소만을 지원하거나 또는 특정 크기만을 가질 경우, 전송된 메모리 주소는 액세스 데이터가 데이터 메모리에 기입될 수 있도록 적응된다. 파일이 판독되는 경우, 이들 액세스 데이터는 능동 단말의 파일 시스템에 저장될 수 있는 바와 같은 방식으로 적응될 수 있다.
본 발명의 추가적인 양태에 따르면, 액세스 동작은 판독 및/또는 기입 동작을 설명한다. 이는 액세스 동작이 개별 동작들이 어떻게 수행되어야 하는지를 설명한다는 장점이 있다. 각각의 파일 시스템에 대하여 판독 또는 기입하는 방법이 설명될 수 있다.
본 발명의 추가적인 양태에 따르면, 액세스 규칙은 액세스 데이터가 파일 시스템에 따라 판독 및/또는 기입되도록 액세스 데이터의 추가 데이터가 어떻게 모델링되어야 하는지를 지정하는 변조 동작을 설명한다. 이는, 특정 액세스 데이터가 제1 파일 시스템에 대하여 인코딩될 경우, 이들 데이터가 제2 파일 시스템과 호환 가능한 방식으로 기록되는 바와 같은 방식으로 특정 액세스 데이터를 변환하는 변환 규칙 또는 변조 규칙을 보여준다는 장점이 있다.
본 발명의 추가적인 양태에 따르면, 액세스 규칙은 제1 파일 시스템에 따른 데이터가 어떻게 제2 파일 시스템에 기입되어야 하는지 및/또는 제2 파일 시스템으로부터 판독되어야 하는지를 설명한다. 이는 능동 단말에 있을 수 있는 파일 시스템 및 수동 데이터 메모리에 있는 파일 시스템으로부터 변환이 발생할 수 있다는 장점이 있다. 따라서, 액세스 규칙은 코딩 데이터를 설명하거나 또는 추가 데이터가 어떻게 적응되어야 하는지의 과정을 설명한다. 통상적으로, 추가 데이터만이 적응되어야 하고, 페이로드 데이터가 반드시 적응되어야 하는 것은 아니다.
본 발명의 추가적인 양태에 따르면, 수동 데이터 저장 매체는 저장 매체, USB 스틱, 하드 드라이브, 메모리 카드, 서버, 네트워크 구성요소, DAS, NAS 및/또는 로컬 데이터 저장 디바이스를 포함한다. 이는 기존 사양이 다시 사용될 수 있고 많은 수의 저장 매체가 사용될 수도 있다는 장점이 있다. 여기서 여러 수동 데이터 메모리를 주소 지정하는 것도 가능하다. NAS는 네트워크 연결 스토리지(Network Attached Storage)를 의미한다. DAS는 직접 연결 스토리지(Direct Attached Storage)를 의미한다.
본 발명의 추가적인 양태에 따르면, 능동 단말은 텔레비전 디바이스, 프린터, 라우터, DAS, NAS, 휴대용 단말, 고정 단말, 컴퓨터, 전화 또는 네트워크 구성요소이다. 이는 능동 단말이 다양한 방식으로 구현될 수 있고 완전히 상이한 파일 시스템들을 호환 가능하게 만드는 포괄적인 방법이 생성된다는 장점이 있다.
본 발명의 다른 양태는 액세스 요청들을 구별하고 사용자 콘텐츠 또는 메타데이터에 대한 액세스를 요청할지의 여부를 결정하는 능력이다. 액세스 요청의 유형에 따라, 요청이 데이터 수정 없이 수동 메모리로 전달되거나 또는 메타데이터가 변환 규칙을 사용하여 적절한 형식으로 된다.
본 발명의 다른 양태는 피드백을 단말에 송신하기 위해 수동 메모리로부터 메타데이터의 일부만을 검색하는 능력이다. 이러한 방식으로, 요청된 파일에 대해 가장 필요한 정보만이 실시간으로 짧은 응답 시간에 제공된다.
본 발명의 다른 양태는 수동 메모리의 특정 부분(일반적으로 그 콘텐트가 있는 특정 하위 디렉토리)만을 별도의 메모리로서 사용 가능하게 하는 능력이며, 이는 이후에 단말에 의해 제공될 수 있다.
본 발명의 다른 양태는 사전 선택을 하고 그에 따라서 어느 파일 시스템이 단말에 사용 가능하게 되는지에 대한 결정을 하는 능력이다. 이는 스위치를 통해서 행해지거나, 또는 모델링 디바이스에 지시하여 exFAT 파일 시스템으로 외부 메모리를 생성하는 makeas.exFAT와 같은 외부 매체 상의 사전 설정 파일을 사용해서 행해진다. 이러한 방식으로, 모델링 유닛은 exFAT 파일 시스템을 엔드 디바이스에 사용 가능하게 할 수 있고, 이는 그 사양이 공개적으로 사용 가능해진 이래로 파일 시스템이 폭넓게 사용되었고(exFAT의 오픈 소스 구현은 Microsoft Corporation의 개발자에 의해 지원됨), 임베디드 디바이스, 휴대 전화 및 기타 멀티미디어 디바이스 전반에 걸쳐서 사용되고 있기 때문이다.
본 발명의 다른 양태는 이 파일 시스템이 단말에서 사용될 때 FAT32의 심각한 단점을 상쇄하는 능력이다. 큰 단점은 파일 크기가 FAT32에서 4GB라는 제한이 있다는 것이다. FAT32는 동일한 하위 디렉토리에 있는 주소 지정 가능한 파일의 수에 대한 추가적인 제한을 지정하고, 이는 65534 개이다. FAT32가 제공된 외부 매체는 구형 엔드 디바이스 모델에서 지원될 가능성이 높으며, 사용자가 그 제한을 고려할 수도 있거나/사용자가 그것으로 계속 작업할 수 있다. 본 발명은 단말이 사용할 수 있는 4 GB의 최대 허용 크기로 여러 개의 파일을 만드는 바와 같은 방식으로 대용량 파일에 의해 제기되는 문제를 다룬다.
FAT32의 두 번째 제한, 즉 동일한 하위 디렉토리의 주소 지정 가능한 파일의 최대 개수인 65534 개는 모든 파일이 동일한 디렉토리 또는 하위 디렉토리에 있는 경우 사용에 영향을 미친다. 65534 개보다 많은 파일이 있는 하위 디렉토리로부터 정보가 검색될 가능성은 매우 낮지만, 이러한 경우 본 발명은 사용자에게 제한에 도달했으며 이들 65534 개의 파일에 동시에 액세스할 수 없음을 알려준다. 이러한 방식으로, 사용자는 모든 파일이 디바이스에 표시될 수는 없지만 계속 사용 가능하다는 것을 알 수 있다.
본 발명의 일 양태에 따르면, 단말이 FAT32만을 지원한다고 가정한다. 파일 및 디렉토리를 생성, 복원, 업데이트 또는 삭제하기 위해 모듈 또는 구성요소(예컨대, 설치된 파일 시스템 드라이버)가 FAT32 형식으로 로컬, 외부 또는 가상 메모리를 주소 지정할 수 있는 경우, 엔드 디바이스에서 FAT32에 대한 지원이 적용된다.
메모리는 본 발명의 일 양태에 따라 블록 디바이스로서 정의되며, 이는 기본 동작이 오프셋에 의해 또는 메모리 내의 위치를 통해 주소 지정된 블록, 즉, 판독 및 기입 블록을 통해 제공됨을 의미한다. 엔드 디바이스가 외부 저장 매체에 연결하기 위한 USB 인터페이스를 구비한다고 가정한다.
단말에서 FAT32 지원을 가정하는 것은 일반적으로 설명의 목적으로만 제공되며 제안된 발명의 가능한 사용을 FAT32 시스템으로 제한하는 것을 목표로 하고 있지 않다. 단말이 외부 저장 매체에 연결하기 위한 USB 인터페이스를 구비한다는 가정도 마찬가지로 예시의 목적으로 제공되며 제안된 발명의 가능한 사용을 USB 인터페이스 연결로 제한하는 것을 목표로 하고 있지 않다. 여기서 FAT 또는 FAT32와 같은 적절한 표준이 언급되는 경우, 이는 일반적으로 파일 시스템을 나타낸다.
본 발명의 목적은 또한, 수동 데이터 메모리와 능동 단말 사이에서 통신 가능하게 상호 연결될 수 있으며 능동 단말에 대하여 수동 데이터 메모리의 파일 시스템에 대한 액세스를 승인하도록 설정된 모델링 디바이스에 의해 달성되며, 모델링 디바이스는 또한 능동 단말로부터의 액세스 요청을 수신하도록 배치― 액세스 요청은 수동 데이터 저장 디바이스에 대한 액세스 데이터 및 액세스 동작을 지정함 ―되어 있고, 추가로 수동 데이터 메모리의 파일 시스템을 인식하도록 설정되고, 데이터베이스 유닛이 수동 데이터 메모리의 인식된 파일 시스템에 따라 액세스 요청을 완수하기에 적합한 저장된 액세스 규칙을 선택하도록 배치되고, 모델링 디바이스(M)는 추가로 액세스 요청에 의해 지정된 액세스 데이터에 선택된 액세스 규칙을 적용하도록 설정되고, 추가로 액세스 요청에 따라 액세스 동작이 수행되게 하도록 구성된다.
모델링 디바이스는 제안된 방법에 사용하기에 적합하다. 더욱이, 모델링 디바이스는 제안된 시스템 배치구조에서 사용될 수 있다.
본 발명의 목적은 또한, 파일 시스템의 호환성 및 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 시스템 배치구조에 의해 달성되며, 시스템 배치구조는 능동 단말 및 수동 데이터 메모리와 능동 단말을 지원하며 그 사이에 통신 가능하게 연결된 모델링 디바이스에 대하여 수동 데이터 메모리의 파일 시스템에 대한 액세스를 승인하도록 설정되는 적어도 하나의 인터페이스 유닛을 구비하고, 모델링 디바이스가 능동 단말로부터의 액세스 요청을 수신하도록 설정― 액세스 요청은 수동 데이터 메모리에 대한 액세스 데이터 및 액세스 동작을 지정함 ―되고, 모델링 디바이스가 수동 데이터 메모리의 파일 시스템을 인식하도록 설정되고, 데이터베이스 유닛이 수동 데이터 메모리의 인식된 파일 시스템에 따라 액세스 요청을 수행하기에 적합한 저장된 액세스 규칙을 선택하도록 설정되고, 모델링 디바이스가 액세스 요청에 의해 지정된 액세스 데이터에 선택된 액세스 규칙을 적용하도록 설정되고, 수동 데이터 메모리가 액세스 요청에 따라 액세스 동작을 수행하도록 구성된다.
본 발명의 목적은 또한, 컴퓨터에서 실행될 때 방법을 실행하고 제안된 배치구조를 동작시키는 제어 명령을 구비한 컴퓨터 프로그램 제품에 의해 달성된다.
본 발명에 따르면, 방법이 제안된 디바이스 및 유닛 또는 시스템 배치구조를 동작시키는 데 사용될 수 있다는 것이 특히 유리하다. 제안된 디바이스 및 디바이스들도 본 발명에 따른 방법을 수행하기에 적합하다. 따라서, 각각의 경우에 디바이스 또는 시스템 배치구조는 상응하는 방법을 수행하기에 적합한 구조적 특징을 구현한다. 그러나, 구조적 특징은 방법 단계로서 설계될 수도 있다. 제안된 방법은 또한 구조적 특징의 기능을 구현하기 위한 단계를 제공한다.
본 발명의 추가적인 장점, 특징 및 세부내용은 본 발명의 양태들이 도면을 참조하여 상세히 설명되는 하기의 설명으로부터 나타난다. 청구범위 및 발명의 상세한 설명에서 언급되는 특징들은 개별적으로 또는 임의의 조합으로 본 발명에 필수적일 수 있다. 위에서 언급된 특징들 및 여기서 상술되는 특징들도 개별적으로 또는 임의의 조합으로 총괄하여 사용될 수 있다. 예시적인 실시형태들의 설명에서 사용되는 "좌측(left)", "우측(right)", "상부(top)" 및 "하부(bottom)"라는 용어는 일반적으로 판독하기 쉬운 도면 지정 또는 일반적으로 판독하기 쉬운 참조 기호를 갖는 방위의 도면에 관한 것이다. 도시 및 설명된 실시형태들은 확정적인 것으로 이해되어서는 안 되며, 본 발명을 설명하기 위한 예시이다. 발명의 상세한 설명은 당업자의 정보를 제공하므로, 상세한 설명에 있어서는, 공지된 회로, 구조 및 방법이 본 발명의 설명을 더 이해하기 어렵게 만들지 않도록 상세하게 도시 또는 설명되지 않는다. 도면에서는 다음을 도시한다:
도 1: 공지된 시스템 배치구조의 개략적인 블록도;
도 2: 본 발명의 양태에 따른, 파일 시스템의 호환성 및 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 시스템 배치구조의 개략적인 블록도;
도 3: 본 발명의 추가적인 양태에 따른, 파일 시스템의 호환성 및 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 시스템 배치구조의 개략적인 블록도;
도 4: 본 발명의 추가적인 양태에 따른, 파일 시스템의 호환성 및 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 방법의 개략적인 흐름도;
도 5: 모델링 디바이스에 의해 수행될 수 있는 방법 단계들의 개략적인 흐름도;
도 6: 액세스 요청을 처리하기 위한 본 발명에 따른 방법 단계들의 개략적인 흐름도;
도 7: 수동 메모리로부터 파일 시스템 파라미터를 판독하기 위한 모델링 디바이스의 본 발명에 따른 방법 단계들의 개략적인 흐름도;
도 8a, 도 8b: 본 발명의 일 양태에 따른 저장된 액세스 규칙을 적용하기 위한 방법 단계들을 예시하는 표;
도 9a, 도 9b: 본 발명의 추가적인 양태에 따른 저장된 액세스 규칙을 적용하기 위한 방법 단계들을 예시하는 추가적인 표; 및
도 10: 본 발명의 일 양태에 따른 저장된 액세스 규칙을 사용하기 위한 방법 단계들을 예시하는 표.
도 1은 종래 기술에 따른 시스템 배치구조를 도시한다. 저장 매체는 좌측에 위치되고 단말 디바이스는 우측에 위치되며, 우측으로는 플러그 연결만이 도시된다. 모델링 디바이스는 하드웨어가 우측 및 좌측 모두에서 에뮬레이트되는 바와 같은 방식으로 설계된다. 이와 같이 되는 이유는 종래 기술에 있어서 중간에 있는 디바이스가 주변 디바이스에 제어 명령을 전달하는 데 적합하기 때문이다. 따라서 종래 기술은 통상적으로 수동 저장 매체를 제공하지 않고, 오히려 입력 디바이스와 같은 주변 디바이스가 여기에 연결될 수 있다. 따라서, 종래 기술의 기술적 수준은 본 발명에 따르면 필요치 않은 기능의 에뮬레이션을 또한 필요로 한다.
본 발명의 도 1로부터 알 수 있는 바와 같이, 좌측의 에뮬레이터(1) 및 우측의 에뮬레이터(2)에 의한 에뮬레이션이 필요하다는 것이 종래 기술에서는 특히 불리하다. 따라서, 종래 기술의 기술적 수준은 연결된 모든 단말이 에뮬레이트되어야 한다는 것을 제안하며, 이는 상당한 기술적 노력을 필요로 하고 심지어 오류가 발생하기 쉽다.
본 발명에 따르면, 종래 기술에서의 이러한 단점이 극복되고 놀랍게도 파일 또는 데이터 레벨에서만 조정이 필요한 것으로 인식되었다. 또한, 종래 기술의 기술적 수준은 호환성을 실시간으로 설정하는 것을 허용하지 않는다. 예를 들어, 실제로 좌측에 저장 매체가 있는 경우, 종래 기술의 기술적 수준은 여기서 파일 시스템이 적응되는 것을 제공한다. 본 발명에 따르면, 적응되는 것은 파일 시스템이 아니라 판독 또는 기입될 데이터일 뿐이다.
도 2는 본 발명에 따른 시스템 배치구조를 도시한다. 수동 저장 매체는 좌측에 배치되고, 여기에는 도시되지 않은 능동 단말 디바이스는 우측에 있다. 중앙에는 저장 매체와 단말 사이에 통신 가능하게 연결된 모델링 디바이스(M)가 있다. 이를 위해, 좌측과 우측 모두에 플러그 연결이 제공될 수 있거나, 또는 각각의 경우에 케이블이 제공된다.
도 2는 또한 액세스 규칙을 저장하고 모델링 디바이스(M)에 유지하는 데이터 메모리를 하부에 도시한다. 데이터 메모리는 외부에 배치될 수 있으며, 바람직한 실시형태에 있어서는 데이터 메모리가 모델링 디바이스에 내장된다. 제안된 발명에 따르면, 에뮬레이션 구성요소(1, 2)가 제공될 필요가 없으며, 오히려 변조 유닛을 제공하는 것으로 충분하다는 것이 종래 기술에 비해 특히 유리한 점이다. 이는 모델링 디바이스(M)의 중앙에 배치된다.
도 3은 제안된 시스템 배치구조를 추가적인 도면으로 도시하고, 좌측에는 수동 데이터 메모리에 대한 플러그 연결이 제공되고 우측에는 케이블 연결이 제공된다. 이는 다르게 해결될 수도 있으며, 좌측에 케이블 연결이 있을 수도 있다. 사용되는 인터페이스는 종래의 사양에 따라 설계될 수 있다. 바람직한 실시형태에 있어서, 인터페이스는 USB 인터페이스로서 구현된다.
도 4는 파일 시스템의 호환성 및 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 방법을 개략적인 흐름도로 도시하고, 이 방법은, 능동 단말 및 수동 데이터 메모리와 능동 단말에 대응하며 그 사이에 통신 가능하게 연결된 모델링 디바이스(M)에 대하여 수동 데이터 메모리의 파일 시스템에 대한 액세스를 승인(100)하는 단계, 모델링 디바이스에 의해 능동 단말로부터의 액세스 요청을 수신(101)― 액세스 요청은 수동 데이터 메모리에 대한 액세스 데이터 및 액세스 동작을 지정함 ―하는 단계, 모델링 디바이스에 의해 수동 볼륨의 파일 시스템을 인식(102)하는 단계, 수동 데이터 메모리의 인식(102)된 파일 시스템에 따라 액세스 요청을 수행하기에 적합한 저장된 액세스 규칙을 선택(103)하는 단계, 액세스 요청에 의해 지정된 액세스 데이터에 선택된 액세스 규칙을 적용(104)하는 단계, 및 액세스 요청에 따라 액세스 동작을 수행(105)하는 단계를 포함한다.
당업자는 단계들이 추가적인 하위 단계를 가질 수 있고, 특히 방법 단계들이 각각 반복적으로 및/또는 상이한 순서로 수행될 수 있음을 인식한다.
하기의 모든 프로세스는 주체로서 사용자에 의해 제어된 엔드 디바이스의 관점에서 설명된다.
도 5는 단말 디바이스(201)가 판독 액세스 요청을 생성할 때 모델링 디바이스(202)가 본 발명에 따라 수행할 수 있는 동작을 도시한다. 이 경우, 단말은 파일 시스템으로서 FAT32를 지원하며, 이제부터 이를 파일 시스템 1(file system1)이라 칭한다.
본 발명의 일 양태에 따르면, 액세스 요청은 단말과 모델링 디바이스 사이의 통신 인터페이스를 통해 이루어지며, 이 인터페이스는 USB 인터페이스(204)이다.
본 발명의 일 양태에 따르면, 모델링 디바이스에서는 두 가지 방법이 구현된다. 추가 데이터를 유지하는 방법(206) 및 데이터를 모델링하는 방법(207)이다. 데이터가 수동 메모리(203)로부터 판독되면, 이 프로세스는 통신 인터페이스(205)를 통해 수행된다. 그러나, 수동 메모리도 모델링 디바이스가 연결된 USB 인터페이스를 통해 연결되는 것이 필수적인 것은 아니며, 수동 메모리가 모델링 디바이스의 구성요소로서 직접 구현되도록 205를 데이터 버스로 대체할 수도 있다.
본 발명의 일 양태에 따르면, 이벤트의 순서는 수동 메모리가 이미 연결되어 있는 어느 모델링 디바이스가 단말에 연결되어 있는지에 따라 단말이 개시한 액세스 요청에 의존한다. 엔드 디바이스의 버전에 따라, 이 순서는 다음과 같은 예시와는 다를 수 있다.
본 발명의 일 양태에 따르면, 단말은 두 가지 방식으로 모델링 디바이스와 통신한다: 한편으로는, USB 디바이스를 담당하는 단말의 운영 체제의 구성요소는 USB를 통해 연결되는 모델링 디바이스를 "메모리" 유형의 외부 USB 디바이스로서 인식해야 한다. 다른 한편으로는, 운영 체제의 다른 구성요소는 연결된 저장 디바이스가 논리 레벨에서 어떻게 주소 지정되는지, 특히 어느 파일 시스템이 메모리에서 인식될 수 있는지를 결정해야 한다.
USB 프로토콜을 사용한 첫 번째 통신의 경우, 본 발명의 일 양태에 따르면 모델링 디바이스가 필수 파라미터를 갖는 것, 예컨대 주소 지정 가능한 블록의 수 또는 블록 크기를 USB 프로토콜 지원의 범위 내에서 필요한 동작으로서 보고하는 것이 적어도 필요하다. 이를 위해, 소위 식별 요청(301)이 개시될 수 있지만, 이는 운영 체제의 구현에 따라 필수는 아니다. USB 프로토콜에 따른 특정 동작을 여기서 다루지는 않는 데, 이 프로토콜은 본질적으로 문제 없이 당업자에 의해 수행될 수 있기 때문이다. 이 첫 번째 식별 요청은 이미 모델링 디바이스가 그에 따라 정렬할 수 있게 하고 이러한 식별 요청을 처리하는 데 필요한 데이터(주소 지정 가능한 블록의 수)를 계속 사용할 수 있게 한다는 점에 유의해야 한다.
본 발명의 일 양태에 따르면, 이를 위해 모델링 디바이스 측에서 필요한 첫 번째 동작은 도 7에 상세히 나타낸 수동 메모리(314)로부터 파일 시스템 파라미터를 판독하는 것이다. 수동 메모리의 파일 시스템― 이후, 파일 시스템 2(file system2)라고 함 ―은 314의 실행 동안 모델링 디바이스에 의해 인식되며, 첫 번째 식별 요청을 충족하는 것으로 제한되지 않고, 대신 파일 시스템 1의 부트 섹터 데이터로서 사용되는 바와 같은 방식으로 본 발명에 따라 먼저 변환되는 판독된 데이터가 또한 모델링 디바이스에 유지된다(206). 따라서, 식별 요청을 위한 필수적인 파라미터(주소 지정 가능한 블록의 수, 블록 크기)도 충분히 결정되고, 모델링 디바이스는 USB 프로토콜에 따라 식별 요청을 수행한다(310).
다음 단계에서, 단말의 운영 체제는 연결된 저장 디바이스가 논리 레벨에서 어떻게 주소 지정되는지, 특히 어느 파일 시스템이 저장 디바이스에서 인식될 수 있는지를 결정해야 한다.
이를 위해, 단말은 메모리로부터 적어도 블록 0을 판독하는 것을 목표로 하는 적어도 하나의 액세스 요청을 생성할 수 있으며, 이는 파일 시스템을 결정하기 위한 정보를 포함하기 때문이다.
이 액세스 요청을 처리하기 위해, 예로서 도 5에 도시된 본 발명에 따라 다음과 같은 동작이 수행될 수 있다.
단말의 첫 번째 액세스 요청(311)은 위치 0에서 시작하여 섹터를 판독하는 것이다.
제1 단계(312)에서, 본 발명의 일 양태에 따르면, 요청된 데이터가 이미 모델링 디바이스에 유지되어 있는지의 여부를 확인한다. 단말(301)의 식별 요청이 아직 이루어지지 않았으나, 액세스 요청(311)으로 대체됨을 배제할 수 없다. 비록 수동 메모리의 파라미터가 311의 실행시에 엔드 디바이스에 알려지지 않더라도, 이것이 엔드 디바이스가 액세스 요청(311)을 생성하는 것을 막지 않는 데, 그 이유는 메모리 디바이스가 주소 지정 가능할 때 위치 0이 항상 판독될 수 있기 때문이다. 예시를 위해, 301에 따른 식별 요청이 사전에 이루어지지 않은 것으로 가정한다. 따라서, 위치 0에서의 첫 번째 섹터에 대한 데이터는 206에 따라 아직 유지되지 않는다.
제2 단계(313)에서, 본 발명의 일 양태에 따르면, 섹터가 위치 0으로부터 판독될 때 파일 시스템 1의 의미에서 어느 데이터가 포함되는지가 확인된다. 따라서, 동작 313은 일반적으로 판독 프로세스 동안 이것이 추가 데이터인지 사용자 데이터인지의 여부, 그리고 사용자 데이터이면 파일 시스템 1의 의미에서 어느 파일에서 유래된 것인지를 확인하는 바와 같은 방식으로 설명되어야 한다.
이를 위해 액세스 규칙이 사용된다. 상기에 나타낸 것처럼, 액세스 규칙은 한 파일 시스템으로부터의 메타데이터가 어떻게 다른 파일 시스템으로부터의 메타데이터로 변환되어야 하는지를 정의한다. 이러한 규칙은 또한 파일 시스템 구조에 대해 제공되는 파일 시스템의 영역들이 다른 파일 시스템 상의 각각의 영역에 대응하는 것을 정의하고, 그에 따라 메타데이터의 의미에서 액세스 요청이 추가 데이터를 포함할지의 여부를 결정할 수 있게 한다.
본 발명의 액세스 규칙(400)에 따르면, 섹터가 위치 0으로부터 판독되는 경우, 특수한 추가 데이터, 특히 소위 부트 섹터가 포함된다.
액세스 규칙에 따르면, 파일 시스템 1에 대한 부트 섹터는 모든 파일 시스템 파라미터(파일 시스템 크기, 파일 시스템 상의 논리 블록의 크기(소위 클러스터), 첫 번째 디렉토리에 대한 시작 위치 등)가 이미 충분히 결정되는 바와 같은 방식으로 요약된다(314). 이는 이 데이터가 처리될 맨 처음의 액세스(311)를 위해 단말 디바이스에 대해 이용 가능하게 유지되어야 한다는 것을 전제로 한다. 기본적으로 파일 시스템 1에 대한 모든 파라미터는 수동 메모리의 파일 시스템 2의 각각의 파라미터로부터 도출 또는 계산된다. 액세스 규칙(401)은 이 방법을 포함하며, 구체적으로 파일 시스템 1의 파라미터가 각각의 파일 시스템 1/파일 시스템 2 조합에 대하여 파일 시스템 2에 따라 어떻게 계산되어야 하는지 및 어느 특정 액세스 규칙이 사용되는지를 결정한다. 도면은 부트 섹터(401)에 대하여 이 액세스 규칙이 어떻게 적용되는지를 보여준다. 이러한 용례는 파일 시스템 크기가 알려져 있고 논리 블록의 크기가 파일 시스템 2로부터 취해질 수 있기 때문에 문제가 되지 않는다(이것이 불가능할 경우, 블록 크기 조정에 추가 액세스 규칙이 적용됨).
따라서, 모델링 디바이스는 단말이 추가적인 액세스 프로세스를 시작하기 위해 이를 사용할 수 있는 바와 같은 방식으로 섹터 0에 대한 데이터를 시뮬레이션 및 유지한다.
본 발명의 일 양태에 따르면, 구체적으로 존재하는 쿼리(311)는 모델링된 부트 섹터 데이터가 제공될 때 수행된다.
요청된 데이터(315)는 통신 인터페이스(여기서는, USB)를 통해 제공된다. 따라서, 액세스 요청(311)이 완료된다.
첫 번째 액세스 요청이 블록 1 판독이 FAT32 부트 섹터라는 결과로 이어진다는 사실은 단말의 추가적인 동작을 결정한다.
원칙적으로, 본 발명의 일 양태에 따르면, 첫 번째 블록이 유효한 콘텐츠(파일 시스템 파라미터)를 갖는 유효한 부트 섹터로서 인식되면, 단말 디바이스의 운영 체제는 USB 인터페이스를 통해 제공되는 메모리에 대한 파일 시스템을 결정하기 위해 액세스 요청을 계속한다고 가정할 수 있다. 이러한 프로세스는 "프로브(probe)"라고도 할 수 있으며, 그 목적은 메모리를 논리적으로 구성된 특정 파일 시스템으로 인식하고 운영 체제 내부에 자체 논리적 인터페이스(소위 "마운트 포인트(mount point)")를 노출하는 것이다.
대안으로서, 첫 번째 액세스 요청이 충족되고 첫 번째 블록의 콘텐츠가 타당하다고 생각되는 부트 섹터인 것으로 입증된 후에, 단말의 운영 체제는 새로운 저장 디바이스의 가용성에 관하여 알리기 위해 메시지(소위 "브로드캐스트(broadcast)")를 그 구성요소 또는 애플리케이션에 송신할 수도 있다. 결과적으로, 담당 구성요소 및 파일 시스템 드라이버는 종종 "마운팅(mounting)"이라고 하는 다른 프로세스를 개시할 수 있다.
두 대안 모두 동일한 결과로 이어지며, 즉, 사용 가능해진 새로운 메모리가 FAT32로서 인식되고 엔드 디바이스의 운영 체제 또는 적어도 하나의 구성요소 또는 애플리케이션이 이를 논리 파일 시스템으로서 처리할 수 있다.
본 발명의 일 양태에 따르면, 이 파일 시스템이 판독 동작을 위해서만 마운트되는지 아니면 기입 동작을 위해서도 마운트되는지의 여부는 다음과 같은 요인들, 즉, 단말의 운영 체제, 각각의 파일 시스템에 대한 지원 범위 및 외부에 연결할 수 있는 저장 매체에 대하여 단말이 제공하는 작업과 같은 요인들을 따른다. 하기의 설명은 판독-기입 모드를 다룬다. 파일 시스템이 판독 모드에서 메모리에만 마운트되는 경우는 별도로 다룰 필요가 없는 데, 이는 본 발명에 따라 제안된 방법이 판독-기입 모드에서 약속된 성공으로 이어진다면 판독 모드에 대해서는 그만큼 더 사용할 수 있기 때문이다.
따라서, 엔드 디바이스의 추가적인 액세스 요청은 "새 메모리를 사용할 수 있음(A new memory is available)" 이벤트의 경우 어떤 작업이 계획되는지에 의존한다. 이는 단말이 새롭게 제공된 메모리의 콘텐츠를 판독하려는 특정 애플리케이션을 실행하고 있는 것일 수 있으며, 즉, 루트 디렉토리의 콘텐츠가 먼저 액세스된다는 것을 의미한다. 애플리케이션이 자동으로 시작되지 않으면, 모델링 디바이스를 디바이스에 연결한 사용자는 메모리의 콘텐츠를 불러오는 추가적인 동작을 수행하고 나서 그 자신의 추가적인 단계를 결정하기 위해 "루트 디렉토리의 콘텐츠를 불러오는(calling up the contents of the root dirctory)" 동작을 시작한다. 루트 디렉토리의 콘텐츠를 검색하기 위해, 사용자는 "dir" 또는 "ls"와 같은 명령을 단말에 입력할 수도 있다. 기껏해야, 단말 디바이스가 다음 액세스 요청으로 루트 디렉토리의 콘텐츠를 판독하려고 시도할 것으로 예상할 수 있다. 이 액세스 요청을 처리하기 위해, 예로서 도 5에 또한 도시된 본 발명에 따라 다음과 같은 동작이 수행될 수 있다.
본 발명의 일 양태에 따르면, 루트 디렉토리 영역은 섹터 X에서 시작하여 100 개의 섹터의 영역을 차지하는 것으로 가정하고, 이는 단계(314)에 적용된 규칙에 의해 결정되었다. 따라서, 두 번째 액세스 요청(321)은 섹터 X에서 시작하여 100 개의 섹터를 판독하게 된다.
제1 단계(312)에서, 본 발명의 일 양태에 따르면, 요청된 데이터가 이미 사용 가능한 것인지의 여부를 확인한다. 이 경우, 단말이 지금까지 섹터 0만을 판독했기 때문에, 아직은 데이터를 사용할 수 없다.
제2 단계(313)에서, 100 개의 섹터가 위치 X로부터 계속 판독된다면 파일 시스템(1)의 의미에서 어느 데이터가 포함되는지에 대한 확인이 이루어진다. 이를 위해 액세스 규칙이 사용된다.
액세스 규칙(400)에 따르면, 모델링된 파일 시스템에 대하여 특히 요청된 전체 길이(100 개의 섹터)에 걸쳐 섹터 X가 액세스되는 경우 이것이 루트 디렉토리라고 알려진 것이다.
모델링 디바이스(202)가 단말의 루트 디렉토리에 대한 데이터를 유지(206)할 수 있도록, 메타데이터가 이 시스템의 루트 디렉토리에서의 파일에 대하여 파일 시스템 1 루트 디렉토리 데이터 형식으로 실시간으로 생성되는 바와 같은 방식으로 추가적인 액세스 규칙이 다음 단계(324)(도 9 참조)에서 적용된다.
따라서, 이 메타데이터는 파일 시스템 1(여기서는 FAT32)을 지원하는 단말의 각 구성요소가 이러한 재기입된 파일들이 모델링 디바이스에 유지되어 있던 것처럼 해석하는 바와 같은 방식으로 파일 시스템 2에 대한 파일을 재기입하는 데 적합하다. 본 발명에 따르면, 이 메타데이터는 단말로부터의 현재 및 미래의 액세스 요청을 위해 저장(206)된다.
액세스 규칙(324)의 적용을 위해, 루트 디렉토리 구조의 어느 파일이 요청된 100 개의 섹터에 의해 주소 지정될 수 있는지 및 어떤 크기를 가지는지에 대한 완전한 지식을 얻기 위해 파일 시스템 2로부터 추가적인 메타데이터를 판독해야 할 수 있으며, 또한 방법(404)(도 10 참조)에 의해, 위에서 언급된 파일이 파일 시스템 2의 어느 영역에 배치되는지를 결정해야 할 수도 있다.
중간 결과에 있어서: 파일 시스템 1에 대응하는 형식으로 루트 디렉토리를 모델링함으로써, 요청된 것보다 더 많은 데이터를 판독할 수 있으며, 이는 처음에 과잉으로 판독된 이러한 데이터가 액세스 규칙의 추가 애플리케이션에 사용 가능하게 유지되기 때문에 문제로 되지 않는다.
단계(321)에서 단말로부터의 실제로 존재하는 판독 액세스 요청은 액세스 규칙을 사용하여 모델링된 100 개의 섹터를 제공함으로써 수행된다.
요청된 데이터는 통신 인터페이스(여기서는, USB)를 통해 제공된다(325). 따라서, 액세스 요청(321)이 완료된다.
단말에 대하여 루트 디렉토리 콘텐츠를 사용할 수 있게 된 후에, 그 애플리케이션은 파일 열기 또는 특정 프로세스(인쇄, 비디오/오디오 파일 재생 등)에 대한 파일 콘텐츠 선택과 같은 추가적인 단계를 취하도록 사용자에게 촉구할 수 있다. 이 시점에, 파일 콘텐츠는 외부 저장 매체로부터 액세스되어야 하며 엔드 디바이스(또는 그 파일 시스템 드라이버)의 운영 체제 구성요소는 파일로부터 필요한 콘텐츠를 검색하기 위해 마운트된 논리 볼륨에 대한 요청을 생성해야 한다.
본 발명의 일 양태에 따르면, 파일 ABC.ZYZ의 콘텐츠가 액세스되고 있다고 가정하고, 파일 크기는 10 블록이라고 가정한다.
이 액세스 요청을 처리하기 위해, 예로서 도 5에 또한 도시된 본 발명에 따라 다음과 같은 동작이 수행될 수 있다.
파일 시스템 1에서 파일 ABC.ZYZ SC1의 제1 클러스터에 대응하는 위치 Pos1로부터 10 블록 판독으로 구성된 액세스 요청(351)이 개시된다.
이 데이터는 아직 요청되지 않았으므로, 아직 사용할 수 없다(206).
우선, 이 요청이 사용자 데이터 또는 추가 데이터를 포함하는지의 여부가 결정되어야 한다(313).
이 쿼리가 사용자 데이터에 관한 것이라는 사실은 이미 쿼리(321)를 수행하기 위해 FAT 구조를 모델링(402)할 때 ABC.XYZ 파일의 크기가 고려되었고 그 콘텐츠에 대하여 파일 할당 테이블에 중단되지 않은 모델링된 체인이 유지된다는 사실에 기인한다.
즉, 모델링 방법(402)은, 파일 시스템 2의 기존 파일이 여러 분할된 콘텐츠 조각으로부터 파일 시스템 2에서 발생하는지의 여부에 관계없이, 파일 시스템 2의 기존 파일을 세분화되지 않는 바와 같은 방식으로 모델링된 파일 시스템 1에 배치하는 데 적합하다.
따라서, 이는 액세스 요청(351) 데이터를 통해 판독된 사용자 데이터이다.
추가적인 단계(354)에 있어서, 본 발명의 일 양태에 따르면, 어떤 사용자 데이터가 실제로 액세스되고 있는지가 확인되어야 한다. 엔드 디바이스가 ABC.XYZ 뿐만 아니라 여러 파일에 대하여 액세스 요청을 할 수 있음을 배제할 수 없다. 이는, 파일 시스템 1의 의미에서 특정 블록이 액세스될 때, 파일 시스템 2의 어느 파일이 실제로 포함되는지를 결정하는 방법(404)(도 10 참조)에 의해 결정된다. 따라서, 이 방법(404)은 다른 파일의 액세스된 콘텐츠에 대한 특정 콘텍스트에서 수행되어야 하는 추가적인 동작을 결정하는 데 적합하다. 이러한 콘텍스트는, 사용자 데이터에 대응하는 파일 시스템 1로부터 특정 블록이 판독될 때, 판독될 대응하는 블록들이 항상 파일 시스템 2에서 결정되는 것으로 설정한다. 그 결과, 사용자 데이터는 수동 메모리로 향하는 상응하는 액세스 요청(355)에 의해 판독된다. 프로세스(355)는, 요청된 콘텐츠가 중단되지 않은 체인으로서 파일 시스템 2에 배치되지 않은 경우, 요청(351)을 통해 요청된 모든 데이터가 판독될 때까지 반복된다.
요청된 데이터는 통신 인터페이스(여기서는, USB)를 통해 제공된다(356). 따라서, 액세스 요청(351)이 완료된다.
루트 디렉토리 콘텐츠가 엔드 디바이스에 제공된 후, 그 애플리케이션은 추가적인 단계를 취하도록, 예를 들어 엔드 디바이스에서 생성된 데이터를 마운트된 논리 볼륨에 저장하도록 사용자에게 촉구할 수 있다. 예를 들어 새로운 문서가 스캔되면, 마운트된 논리 볼륨을 타겟 저장 위치로서 선택할 수 있다.
엔드 디바이스에서 19 블록의 볼륨을 가진 사용자 데이터가 생성된 후 엔드 디바이스가 이 사용자 데이터를 파일 시스템 1에서 루트 디렉토리에 XXX.ABC라는 이름의 파일로 생성하려고 시도하고, 새롭게 생성된 파일 XXX.ABC의 콘텐츠가 위치 Pos2에서 시작한다고 가정한다.
본 발명의 일 양태에 따르면, 사용자 데이터가 아직 정의되지 않은 경우에는, 새로운 파일에 대한 파일 시스템 1의 루트 디렉토리에 파일 이름 및 파일 크기를 설명하는 것을 목표로 하는 액세스 요청을 단말이 생성하지 않고, 이러한 요청은 새롭게 생성된 이 데이터에 대한 모든 사용자 데이터가 설명된 경우에만 만들어진다고 더 가정한다.
이러한 가정의 이유는 판독 및 기입 액세스 요청을 최적화하는 방법이 단말에서 구현될 가능성이 있기 때문이다.
각각의 파일에 대한 메타데이터가 다른 액세스 요청에 의해 설명되기 전에 단말이 사용자 데이터를 기입하려고 시도한다고 가정하면, 방법(404)의 의미에서는 기입될 새로운 블록이 아직 파일에 할당될 수 없다는 불확실성이 발생한다. 그러나, 이 보류 상태는 늦어도 단말이 메모리에 새롭게 생성된 파일에 대한 메타데이터를 업데이트하는 것을 목표로 한 액세스 요청을 생성할 때 종료된다.
이 액세스 요청을 처리하기 위해, 예로서 도 6에 또한 도시된 본 발명에 따라 다음과 같은 동작이 수행될 수 있다.
SCN + 1에 대응하는 위치 Pos2에서 시작하여 19 개의 블록 기입으로 구성된 액세스 요청(331)이 개시된다.
먼저, 이 기입될 데이터가 사용 가능한지의 여부(206)를 확인해야 한다(332). 위치 Pos2에서의 데이터는 판독도 기입도 되지 않았기 때문에, 마찬가지로 아직 사용할 수 없다.
다음 단계에서는 이 요청이 사용자 데이터와 관련된 것인지 아니면 추가 데이터와 관련된 것인지가 결정되어야 한다(333). 따라서, 동작(333)은, 일반적으로 기입 프로세스 동안 추가 데이터와 관련된 것인지 아니면 사용자 데이터와 관련된 것인지의 여부를 확인하고, 사용자 데이터와 관련된 경우이면, 파일 시스템 1의 의미에서 어느 파일에서 유래된 것인지를 확인하는 바와 같은 방식으로 설명되어야 한다.
이는 아직 명확하게 결정될 수 없는 데, 그 이유는 이들 블록이 메타데이터(206)로서 유지되지도 않고 351의 의미에서 사용자 데이터로서 판독되지도 않았기 때문이다. 다음 단계(334)에 있어서는, 방법(405)(도 9 참조)에 따라, 초기에 사용자 데이터가 포함되고 기입될 블록이 그에 따라 처리된다고 가정한다. 블록을 아직 파일에 할당할 수 없기 때문에, 이것은 소위 플로팅(floating) 상태를 시작한다. 모델링 디바이스는 추가적인 통지(206)까지는 기입될 데이터를 사용자 데이터로서 유지하지만, 기입 프로세스의 완료는 통신 인터페이스(204)를 통해 보고된다(335). 따라서, 액세스 요청(331)이 완료된다.
파일 시스템 1에 대한 루트 디렉토리 콘텐츠가 업데이트될 때, X + 99 위치에서 시작하는 블록 기입에 관한 추가척인 액세스 요청(336)이 시작된다고 가정한다. 특히, 이는 루트 디렉토리의 마지막 섹터이다.
먼저, 이 기입될 데이터가 사용 가능한지의 여부(206)를 확인해야 한다(332). 이와 같이 되는 이유는, 여기서 X + 99 위치에서의 블록이 이미 모델링되었고(324) 단계(321)에서 파일 시스템 1에 대한 루트 디렉토리로서 보유(206)되어 있기 때문이다.
데이터 블록이 이미 사용 가능하고 메타데이터인 경우, 액세스 규칙을 적용하여 어느 특정한 변경이 포함되는지를 결정할 수 있다(339). 루트 디렉토리 구조에서의 변경을 한정하는 것 및 추상적인 설명으로서 정의하는 것으로 구성된 상응하는 방법이 도 9에서 406으로 도시되고, 이를 통해 파일 시스템 2에서 어떤 상응하는 변경이 이루어지게 되는지 결론이 내려질 수 있다. 이는 이전에 루트 디렉토리에 존재하지 않았던 XXX.ABC 파일에 대한 새로운 항목이다. 이 변경은 마치 엔드 디바이스가 Pos2에서 시작하여 19 섹터 크기의 XXX.ABC라는 새로운 파일을 생성하기를 원하는 것처럼 설명될 수 있다. 이러한 동작에 대한 추상적인 설명은 Posix 표준과 유사할 수도 있다.
추가적인 단계에 있어서, 본 발명의 일 양태에 따르면, 추상적인 설명을 수동 메모리에 대한 상응하는 요청으로 변환함으로써 특정한 변경이 파일 시스템 2에 적용된다. 결과적으로, 데이터 XXX.ABC에 대한 항목이 파일 시스템 2에서 생성되지만, 이는 시작 위치가 이미 파일 시스템 1에서 지정되어 있더라도 파일 시스템 2에서는 이 파일의 시작 위치를 아직 지정하지 않는다. 이로부터 보류 상태에서 파일 시스템 1에 대한 특정 파일의 사용자 데이터 할당 가능성과 관련하여 404의 의미 내에서 여전히 불확실성이 존재한다는 것이다. 그러나, 이 불확실성은 FAT로 영역 업데이트를 목표로 한 액세스 요청으로 해결되며, 이에 대해서는 나중에 설명한다.
마지막으로, 기입 프로세스의 수행은 통신 인터페이스(204)를 통해 보고된다(340). 따라서, 액세스 요청(336)이 완료된다.
엔드 디바이스 또는 그 애플리케이션이 문서 스캔 및 이 데이터의 외부 매체에의 배치 또는 다른 사용자 생성 콘텐츠의 전송과 같은 필요한 모든 사용자 작업을 완료한 후에, 외부 매체가 엔드 디바이스에서 분리될 수 있다.
일부 엔드 디바이스는 이러한 프로세스에 대한 데이터 보안을 보장할 수 있도록 사용자에게 외부 디바이스를 마운트 해제하도록 명시적으로 요청한다. 이후, 사용자는 엔드 디바이스가 마운트 해제 프로세스의 실행을 요청하기 전에 외부 매체를 제거했을 경우 발생할 수 있는 데이터 손실에 대하여 전적으로 책임을 지게 되고, 그 완료를 대기하고 나서만 외부 매체와 엔드 디바이스가 분리되게 된다. 이렇게 외부 스토리지를 안전하게 제거하는 방법은 사용자가 외부 매체를 엔드 디바이스로부터 분리하는 데 있어 초조해하는 경향이 있기 때문에 표준적으로 시행하기는 쉽지 않다. 사용자는 마운트 해제 프로세스를 수행하고 기다리기를 원하는 것이 아니라, 디바이스 동작이 완료되고 디바이스가 엔드 디바이스에서 쉽게 판독할 수 있는 유휴 상태가 되는 즉시 외부 저장 매체를 간단히 꺼낼 수 있기를 원한다. 이러한 사용자의 기대에 부응하기 위해, 단말 디바이스의 운영 체제는 일반적으로 외부 저장 매체와 함께 작동할 수 있도록 파일 시스템 드라이버에 대한 동기화 기술을 지원한다.
이 기술은 엔드 디바이스의 메인 메모리에 저장된 파일 시스템 데이터의 콘텐츠를 비움으로써 외부 저장 매체를 항상 최신 상태로 유지하고, 이는 일반적으로 운영 체제 자체에 의해 개시된다. 이는 다음을 의미한다: 즉, 엔드 디바이스 또는 그 애플리케이션이 외부 저장 매체가 포함될 수 있는 작업을 완료하고 유휴 상태로 전환된 후(그리고 사용자의 추가 입력 또는 추가 지시를 대기하고 있음), 파일 시스템 드라이버 또는 이와 유사한 구성요소는 외부 매체에 아직 기입되지 않은 블록을 비울 수 있으며, 이는 외부 저장 매체가 갑자기 분리되는 경우 데이터 보안을 보장한다. 이러한 동기화 기술은 외부 메모리에 대한 추가적인 액세스 요청으로 이어진다.
FAT에 의한 그러한 판독 및 기입 시도를 용이하게 하기 위해, 파일 시스템 1로부터 FAT를 판독하는 등의 다음과 같은 동작이 본 발명에 따라 수행될 수 있다.
FAT 판독에 대한 액세스 요청은 늦어도 마운트 이후 파일 판독를 처음 시도할 때, 또는 마운트 이후 하위 디렉토리에 액세스하려는 첫 번째 시도 이후에 발생한다는 점에 유의해야 한다.
FAT(FAT Allocation Table)는 파일 시스템 1의 관점에서 파일의 영역 배치를 정의하는 테이블이기 때문에, 이러한 구조는 파일 시스템 2에 어떤 식으로든 존재하지 않으며 파일 시스템 2의 병렬 구조에 대한 액세스 규칙의 적용을 통해서만 발생한다. 그 결과, 모델링 디바이스(202)에는 FAT가 유지된다. 또한, 이러한 구조는 개별 파일이 아닌 파일 시스템 1에 있는 모든 파일에 대한 메타데이터를 재기입하고 사용자 데이터가 아닌 추가 데이터의 유형을 나타낸다.
그러나, FAT(324)는 파일 시스템 2에 존재하는 모든 파일에 대해 누적적으로 모델링되지 않고, 해당 위치를 설명하는 메타데이터가 이 파일에 대해 모델링되지 않는 한, 파일 경로를 직접 지정함으로써 액세스 요청 동안 요청된 파일에 대해서만 모델링된다(314). 이러한 모델링의 결과는 파일 사용자 데이터가 할당될 수 있게 하는 방법(404)의 적용 범위이다.
FAT에서의 변경(405)을 한정하고 이를 추상적인 설명으로서 정의하는 것으로 구성된 상응하는 방법이 도 9에 나와 있으며, 이를 통해 파일 시스템 2에서 어떤 상응하는 변경이 이루어지게 되는지 결론이 내려질 수 있다.
무엇보다도, 액세스 규칙(400)에 따르면, 이 액세스 요청이 FAT의 영역에 있는지의 여부를 문제 없이 결정할 수 있다는 점에 유의해야 한다.
FAT의 업데이트는 적어도 파일 XXX.ABC에 대한 할당 체인을 맵핑하는 것을 목표로 한다고 가정한다. 엔드 디바이스에 대한 기입 동작이 최적화된 방식으로 수행되기 때문에, FAT의 업데이트가 특정 파일에 대한 특정 할당 체인에만 집중될 것이라고는 기대할 수 없다. 오히려, 다수의 파일에 대하여 FAT에 대한 업데이트가 누적될 것으로 예상된다. 어떤 변경이 구체적으로 의도되었는지는 FAT에 대한 상태를 비교함으로써 결정될 수 있다(405).
이는 할당 체인이 아직 존재하지 않는 XXX.ABC 파일에 대한 새로운 항목이다. 따라서, 이 변경은 엔드 디바이스가 (SCN + 1)로 시작하는 19 섹터를 포함하는 XXX.ABC라는 이름의 새로운 파일에 대하여 중단되지 않은 할당 체인을 생성하기를 원하는 것처럼 설명될 수 있다.
추가적인 단계에 있어서, 이 추상적인 설명이 파일 시스템에 대한 사용자 데이터의 배치를 관리하는 구조를 파일 시스템 2에 적응시켜야 한다는 점에서, 대상 변경이 파일 시스템 2에 적용된다(405). 이것은 또한, 방법(404)의 의미에서 사용자 데이터의 할당 가능성에 관한 불확실성이 더 이상 없으며, 모델링 디바이스에 계속 유지되었던 요청(331)에 따라 기입될 이러한 사용자 데이터가 이제 수동 메모리의 상응하는 위치에 기입될 수 있다는 것을 의미한다.
결과적으로, 쿼리(336)가 처리되었을 때 행해진 대로, 파일 시스템 2에 생성된 데이터 XXX.ABC에 대한 항목 뿐만 아니라, 파일 시스템 1 및 파일 시스템 2 모두에 대하여 파일 XXX.ABC의 배치도 지정된다.
마지막으로, 기입 프로세스의 완료는 통신 인터페이스(204)를 통해 보고된다. 이렇게 FAT에 대한 액세스 요청이 완료된다.
마지막으로, 다른 곳에서 수행된 단말 디바이스의 동작들은 상이한 순서로 발생할 수 있으며, 파일 시스템 1에 대한 모든 변경은 항상 바로 액세스 요청으로 이어진다. 결과적으로, 파일 시스템 1의 항상 순차적인 업데이트는 방법(404)의 의미에서 보류 상태가 배제된다는 결과를 낳기 때문에, 모델링 디바이스의 전술한 동작들은 변경되지 않는다.
1 에뮬레이터 1
2 에뮬레이터 2
M 모델링 디바이스
(100) - (105) 상세한 설명 참조
(201) 단말
(202) 모델링 디바이스
(203) 수동 스토리지
(204) 통신 인터페이스 (201) - (202)
(205) 통신 인터페이스 (202) - (203)
(206) 추가 데이터를 유지하는 절차
(207) 데이터를 모델링하는 기술
(301), (310), (311), (312), (313), (315), (325), (351), (355), (356) - 상세한 설명 참조
(314) 부트 섹터 구조 및 파일 시스템 파라미터의 모델링
(324) 디렉토리 데이터의 모델링
(354) 판독시 사용자 데이터의 사양
(331), (332), (333), (335), (336), (349) - 상세한 설명 참조
(334) 기입시 사용자 데이터의 사양
(339) 메타데이터 변경의 한정
(314) (file system2)에 기초한 (file system1)에 대한 부트 섹터 구조의 모델링
(Filesystem1) 파일 시스템 1
(Filesystem2) 파일 시스템 2
(BytesPerSector) 바이트 단위의 섹터 크기: 원래(IN) 값(Value1_2)을 가지며 액세스 규칙(BS1)에 따른 변환을 통해 신규(OUT) 값 및 신규 형식(Value1_1)을 수신할 수 있는 파라미터
파일 시스템의 추가적인 파라미터 또는 특성:
(SectorPerCluster) 클러스터당 섹터의 수
(ClusterPerVolume) 드라이브당 클러스터의 수
(VolumeLabel) 드라이브 레이블
(Etc) - 기타
(FSPropertyN) 파일 시스템의 속성 N: 원래(IN) 값(ValueN_2) 및 가능하게는 신규(OUT) 값 및 신규 형식(ValueN_1)을 갖는 (File system2)에 대한 다른 파라미터
(IN) 초기값
(ValueN) 값 N
(Rule) 규칙, 액세스 규칙 (BS2, BS3 등)
(Out) 최종값
(BSMemberN)
(AV) 사용 가능: (206)에 보유된 섹터에 대한 가용성 통지. (EMPTY) '유지되지 않음'을 의미 - (AV) '유지됨'을 의미
(Last) 마지막: 보유된 섹터의 위치
(324) 디렉토리 데이터의 모델링
(StateNow) 현재 상태: 파일 시스템 1에 대한 FAT의 현재 상태
(StateNow-1) 파일 시스템 1에 대한 FAT의 이전 상태, 아마도 미지의 아직 초기화되지 않은 상태
(Directory, Filesystem1) 파일 시스템 1에 대한 디렉토리 구조(모델링됨)
(Directory, Filesystem2) 파일 시스템 2에 대한 디렉토리 구조
(File1... FileN) 파일 1... 파일 N: 파일 객체의 파일 이름
(Ext1... ExtN) 확장자 1... 확장자 N: 파일 객체 확장자
(Size1... SizeN) 크기 1... 크기 N: 파일 객체의 크기
(Sc1... ScN) 시작 클러스터 1... 시작 클러스터 N: FAT에 관한 파일의 제1 클러스터. 이 값은 (402)에 따라 파일 시스템 1에 대하여 모델링됨
(Nc1ofN) N의 다음 클러스터 1: N에 대한 후속 클러스터 1
(M + 1) (file system1)에 대한 FAT의 다음 자유 위치
(402) 이 방법은 파일 시스템 2에 의해 요청된 파일에 대하여 파일 시스템 1에 대한 FAT 구조를 모델링. 결과적으로, 파일 시스템 1에 대한 파일의 배치가 초기에는 세분화되지 않음
(402a) 반복적인 프로세스 "(filesystem2)의 루트 디렉토리의 내용을 판독"을 시작
(402b) 반복된 내용에 대하여 시작 클러스터가 정의되는지를 결정
(402c) 반복된 내용이 있는 영역에 대한 (file system1)의 모델링
(402d) 반복적인 프로세스 "(filesystem2)의 루트 디렉토리의 내용을 판독"을 종료
(405) FAT에 대한 변경의 한정
(StateNow) 현재 상태: 파일 시스템 1에 대한 FAT의 현재 상태
(StateNow-1) 파일 시스템 1에 대한 FAT의 이전 상태
(ScN) 시작 클러스터 N: FAT N에 관한 파일의 제1 클러스터
(Nc1ofN) N의 다음 클러스터 1: N에 대한 후속 클러스터 1
(LcofN) N의 마지막 클러스터: N에 대한 마지막 클러스터
(Free) 자유: 비어 있는 섹터
(M + 1) (file system1)에 대한 FAT의 다음 자유 위치
(Last) 마지막 섹터: 보유된 섹터의 위치
(QualifiedDifferenceFAT) 평가, 즉, 이들 변경의 한정 결과: (StateNow)와 (StateNow-1) 사이의 차이는 "Create_a_new_file"에 대한 신규 체인으로서 설명될 수 있고; 신규 체인은 클러스터 (K + M + 1)에서 시작해야 하며 길이가 19 섹터 (L)임
(406) 디렉토리 구조에 대한 변경의 한정
(StateNow) 현재 상태: 파일 시스템 1에 대한 디렉토리 구조의 현재 상태
(StateNow-1) 실제 상태 1: 파일 시스템 1에 대한 디렉토리 구조의 원래 상태
(File1), (File2), (File3), (FileN) 파일 1, 파일 2... 파일 N: 디렉토리 구조에서의 항목에 따라, 1부터 N까지의 파일 객체의 파일 이름
(Ext1), (Ext2), (Ext3), (ExttN) 확장자 1... 확장자 N: 디렉토리 구조에서의 항목에 따라, 1부터 N까지의 파일 객체 확장자
(Size1), (Size2), (Size3), (SizeN) 크기 1... 크기 N: 디렉토리 구조에서의 항목에 따라, 1부터 N까지의 파일 객체의 크기
(Sc1), (Sc2), (Sc3), (ScN), (Sc N + 1) 디렉토리 구조에서의 항목에 대응하는, 1부터 N +1까지의 파일 객체의 시작 클러스터 값
(QualifiedDifferenceDir) 이들 변경의 한정 결과: (StateNow)와 (StateNow-1) 사이의 차이는 신규-파일-동작(new-file-operation)으로서 설명될 수 있고; 신규 파일은 파일 이름이 XXX이고 확장자가 ABC이며, (SC N + 1)에서 시작하고, 19 * 512 바이트의 길이를 가짐
(404) 파일에 대한 사용자 데이터의 소속의 결정
(ScN) 시작 클러스터 N: FAT N에 관한 파일의 제1 클러스터
(Nc1ofN) N의 다음 클러스터 1: N에 대한 후속 클러스터 1
(LcofN) N의 마지막 클러스터: N에 대한 마지막 클러스터
(M + 1) (file system1)에 대한 FAT의 다음 자유 위치
(Free) 자유: 비어 있는 섹터
(Last) 마지막 섹터: 보유된 섹터의 위치
(Range) 범위: 파일 시스템이 차지하는 섹터
(Filesystem1) 파일 시스템 1
(OFFSET) 오프셋: 세그먼트 부분 외에, 메모리 주소에 있는 제2 구성요소(정수값)
(Size1) 크기 1: 파일 객체의 크기
(File1_fs2) 파일 시스템 2에 대한 파일 1
(File1_fs2) 파일 시스템 2에 대한 파일 1
(Ext1), (Ext2), (Ext3), (ExttN) 확장자 1... 확장자 N: 파일 객체 확장자
(Size1), (Size2), (Size3), (SizeN) 크기 1... 크기 N: 파일 객체의 크기
(File1), (File2), (File3), (FileN) 파일 1... 파일 N: 파일 객체의 파일 이름

Claims (15)

  1. 파일 시스템의 호환성 및 상기 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 방법으로서,
    - 능동 단말 및 수동 데이터 메모리와 상기 능동 단말 사이에 통신 가능하게 연결된 모델링 디바이스(M)에 대하여 상기 수동 데이터 메모리의 상기 파일 시스템에 대한 액세스를 승인(100)하는 단계,
    - 상기 모델링 디바이스(M)에 의해 상기 능동 단말로부터의 액세스 요청을 수신(101)― 상기 액세스 요청은 상기 수동 데이터 메모리에 대한 액세스 데이터 및 액세스 동작을 지정함 ―하는 단계,
    - 상기 모델링 디바이스(M)에 의해 상기 수동 데이터 메모리의 상기 파일 시스템을 인식(102)하는 단계,
    - 상기 수동 데이터 메모리의 상기 인식(102)된 파일 시스템에 따라 상기 액세스 요청을 수행하기에 적합한 저장된 액세스 규칙을 데이터베이스 유닛에 의해 선택(103)― 상기 액세스 규칙은, 첫 번째 열에서 상기 능동 단말의 파일 시스템을 설명하고, 두 번째 열에서 상기 수동 데이터 메모리의 파일 시스템을 설명하고, 세 번째 열이 각각의 액세스 규칙을 가리키는 지시자를 제공하는 테이블이 제공되도록 선택됨 ―하는 단계,
    - 상기 액세스 요청에 의해 지정된 액세스 데이터에 상기 선택된 액세스 규칙을 상기 모델링 디바이스(M)에 의해 적용(104)하는 단계, 및
    - 상기 액세스 요청에 따라 상기 액세스 동작을 수행(105)하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 액세스를 승인(100)하는 단계는, 부트 섹터의 인식, 마운트 프로세스, 수동 데이터 캐리어를 상기 모델링 디바이스(M)에 통합하는 것, 상기 수동 데이터 캐리어를 상기 능동 단말에 통합하는 것, 통신 가능한 연결, 적어도 하나의 플러그 연결을 설정하는 것, 액세스를 활성화하는 것, 액세스 권한을 설정하는 것 및/또는 데이터 통신을 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 능동 단말은 상기 액세스 요청을 생성하는 운영 체제를 갖는 것을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 적용(104)하는 단계 및 수행(105)하는 단계는 각 데이터 스트림에 대하여 반복적으로 수행되고, 상기 운영 체제는 상기 데이터 스트림을 정의하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 액세스 요청은 적어도 하나의 판독 및/또는 기입 요청을 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 액세스 요청은 페이로드 데이터 및/또는 추가 데이터를 지정하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 액세스 데이터는 파일 이름, 절대 메모리 주소, 상대 메모리 주소, 파일 유형 및/또는 파일 속성을 설명하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 액세스 동작은 판독 및/또는 기입 동작을 설명하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 액세스 규칙은 상기 액세스 데이터가 상기 파일 시스템에 따라 판독 및/또는 기입되도록 상기 액세스 데이터의 추가 데이터가 어떻게 모델링되어야 하는지를 지정하는 변조 동작을 설명하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 상기 액세스 규칙은 제1 파일 시스템에 따라 데이터를 제2 파일 시스템에 어떻게 기입하는지 및/또는 제2 파일 시스템으로부터 어떻게 판독하는지를 설명하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서, 상기 파일 시스템을 인식(102)하는 단계는 부트 섹터의 인식을 포함하는 것을 특징으로 하는 방법.
  12. 제8항에 있어서, 상기 액세스 요청에 따라 상기 기입 동작을 수행(105)하는 단계는, 파일 크기가 상기 파일 시스템에 의해 제한될 때, 상응하는 파일을 적어도 2 개의 개별 파일로 분할하는 것을 특징으로 하는 방법.
  13. 파일 시스템의 호환성 및 상기 파일 시스템과 독립적인 데이터에 대한 실시간 액세스를 동적으로 설정하는 시스템 배치구조로서,
    - 능동 단말 및 수동 데이터 메모리와 상기 능동 단말 사이에 통신 가능하게 연결된 모델링 디바이스(M)에 대하여 상기 수동 데이터 메모리의 상기 파일 시스템에 대한 액세스를 승인(100)하도록 배치되는 적어도 하나의 인터페이스 유닛,
    - 상기 능동 단말로부터의 액세스 요청을 수신(101)하도록 배치― 상기 액세스 요청은 상기 수동 데이터 메모리에 대한 액세스 데이터 및 액세스 동작을 지정함 ―되는 상기 모델링 디바이스(M),
    - 상기 수동 데이터 메모리의 상기 파일 시스템을 인식(102)하도록 설정되는 상기 모델링 디바이스(M),
    - 상기 수동 데이터 메모리의 상기 인식(102)된 파일 시스템에 따라 상기 액세스 요청을 수행하기에 적합한 저장된 액세스 규칙을 선택(103)― 상기 액세스 규칙은, 첫 번째 열에서 상기 능동 단말의 파일 시스템을 설명하고, 두 번째 열에서 상기 수동 데이터 메모리의 파일 시스템을 설명하고, 세 번째 열이 각각의 액세스 규칙을 가리키는 지시자를 제공하는 테이블이 제공되도록 선택 가능함 ―하도록 배치되는 데이터베이스 유닛,
    - 상기 액세스 요청에 의해 지정된 액세스 데이터에 상기 선택된 액세스 규칙을 적용(104)하도록 배치되는 상기 모델링 디바이스(M), 및
    - 상기 액세스 요청에 따라 상기 액세스 동작을 수행(105)하도록 배치되는 상기 수동 데이터 메모리를 포함하는 시스템 배치구조.
  14. 컴퓨터에서 실행될 때 제1항 내지 제12항 중 어느 한 항에 기재된 방법을 수행하는 제어 명령을 구비한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장 매체.
  15. 삭제
KR1020217031040A 2020-06-18 2020-11-30 파일 시스템의 호환성의 실시간 동적 설정 KR102392863B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20020284.4 2020-06-18
EP20020284.4A EP3926450B1 (de) 2020-06-18 2020-06-18 Dynamisches herstellen einer kompatibilität von dateisystemen in echtzeit
PCT/EP2020/025548 WO2021170202A1 (de) 2020-06-18 2020-11-30 Dynamisches herstellen einer kompatibilität von dateisystemen in echtzeit

Publications (2)

Publication Number Publication Date
KR20210157396A KR20210157396A (ko) 2021-12-28
KR102392863B1 true KR102392863B1 (ko) 2022-04-29

Family

ID=71130811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217031040A KR102392863B1 (ko) 2020-06-18 2020-11-30 파일 시스템의 호환성의 실시간 동적 설정

Country Status (21)

Country Link
US (1) US11340799B2 (ko)
EP (2) EP3926450B1 (ko)
JP (1) JP7197733B2 (ko)
KR (1) KR102392863B1 (ko)
CN (1) CN114158258B (ko)
AU (1) AU2020432487B2 (ko)
BR (1) BR112021025520A2 (ko)
CA (1) CA3133737C (ko)
DK (2) DK3926450T3 (ko)
ES (1) ES2917252T3 (ko)
FI (1) FI3912021T3 (ko)
HR (1) HRP20220732T1 (ko)
HU (2) HUE058873T2 (ko)
LT (1) LT3926450T (ko)
MX (1) MX2021016003A (ko)
PL (1) PL3926450T3 (ko)
PT (1) PT3926450T (ko)
RS (1) RS63283B1 (ko)
SG (1) SG11202110119WA (ko)
SI (1) SI3926450T1 (ko)
WO (1) WO2021170202A1 (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
JP3798438B2 (ja) * 1994-08-31 2006-07-19 富士写真フイルム株式会社 メモリカードインタフェース装置
US5742818A (en) 1995-12-15 1998-04-21 Microsoft Corporation Method and system of converting data from a source file system to a target file system
JP4559359B2 (ja) 2003-02-20 2010-10-06 パナソニック株式会社 情報記録媒体及びその領域管理方法
US20080021798A1 (en) 2004-03-04 2008-01-24 Bayer Business Services Gmbh Method For Providing Any Type Of Storage Media Containing Prerecorded Structured Information
EP2016591A1 (en) * 2006-04-28 2009-01-21 Agfa-Gevaert Conventionally printable non-volatile passive memory element and method of making thereof.
CN101097571B (zh) * 2006-06-26 2011-01-12 凌阳科技股份有限公司 一种支持文件分配表文件系统的数据存储系统及方法
CN101908073B (zh) * 2010-08-13 2012-07-11 清华大学 一种文件系统中实时删除重复数据的方法
CN101957836B (zh) * 2010-09-03 2012-07-11 清华大学 一种文件系统中可配置的实时透明压缩方法
CN102541475B (zh) * 2012-03-12 2015-02-04 华为数字技术(成都)有限公司 数据存储方法和数据存储装置
US9003109B1 (en) * 2014-05-29 2015-04-07 SanDisk Technologies, Inc. System and method for distributed computing in non-volatile memory
US9015439B1 (en) * 2014-05-30 2015-04-21 SanDisk Technologies, Inc. Event lock storage device
US10521126B2 (en) 2016-08-11 2019-12-31 Tuxera, Inc. Systems and methods for writing back data to a storage device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ING Cherng-Ying et al, "Heterogeneous file sharing by file-system emulation", ACSAC 2008, pp.1-4

Also Published As

Publication number Publication date
KR20210157396A (ko) 2021-12-28
RS63283B1 (sr) 2022-06-30
DK3912021T3 (da) 2023-08-21
HUE058873T2 (hu) 2022-09-28
AU2020432487A1 (en) 2022-02-03
HUE062586T2 (hu) 2023-11-28
EP3926450A1 (de) 2021-12-22
US20220050607A1 (en) 2022-02-17
JP2022531744A (ja) 2022-07-08
EP3912021B1 (de) 2023-05-24
CN114158258B (zh) 2022-08-19
MX2021016003A (es) 2022-04-25
BR112021025520A2 (pt) 2022-12-27
DK3926450T3 (da) 2022-06-20
PL3926450T3 (pl) 2022-07-11
CA3133737C (en) 2022-05-17
LT3926450T (lt) 2022-06-27
HRP20220732T1 (hr) 2022-09-02
FI3912021T3 (en) 2023-08-17
PT3926450T (pt) 2022-06-20
CA3133737A1 (en) 2021-09-02
EP3926450B1 (de) 2022-05-11
CN114158258A (zh) 2022-03-08
SI3926450T1 (sl) 2022-08-31
EP3912021A1 (de) 2021-11-24
JP7197733B2 (ja) 2022-12-27
US11340799B2 (en) 2022-05-24
AU2020432487B2 (en) 2023-01-12
WO2021170202A1 (de) 2021-09-02
ES2917252T3 (es) 2022-07-07
SG11202110119WA (en) 2021-10-28

Similar Documents

Publication Publication Date Title
KR100820263B1 (ko) 메모리기기에서 데이터를 액세스하기 위한 시스템 및 방법
US9235583B2 (en) Virtual media with folder-mount function
CN100458699C (zh) 一种实现固件更新的方法和系统
KR100951107B1 (ko) 최적의 성능을 위한 파일 관리 방법
JP4807683B2 (ja) データ記憶装置
CN101650660B (zh) 从中央存储装置引导计算机系统
US20030065866A1 (en) Memory controller for memory card manages file allocation table
US20070276848A1 (en) Apparatus and method for managing data
JP2005501317A (ja) 外部データ記憶装置管理システムおよび方法
US20200057654A1 (en) Method and system for mirror image package preparation and application operation
CN103106091A (zh) 一种基于可移动存储介质的操作系统的启动系统和方法
US20040107325A1 (en) Storage system, storage system control method, and storage medium having program recorded thereon
CN101587451A (zh) 一种基于efi固件的数据备份和恢复方法
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US20170068686A1 (en) Accessing a block based volume as a file based volume
JP4401863B2 (ja) ストレージシステム
KR102392863B1 (ko) 파일 시스템의 호환성의 실시간 동적 설정
RU2808634C1 (ru) Динамическое определение совместимости файловых систем в реальном времени
CN115562590A (zh) 一种云主机使用云硬盘的方法、系统、设备和存储介质
CN108334453A (zh) 一种文件调试方法、装置、终端设备及存储介质
CN111258503B (zh) 一种cirros文件系统的管理方法和装置
Cisco Working With the Flash File System
Cisco Working With the Flash File System
US20070055819A1 (en) Information recording medium and its control method
US20100274828A1 (en) Electronic Device, Storage Area Allocation Method for File System, and Computer Product

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