KR20110099095A - 파일 시스템을 필터링하는 디바이스 및 방법 - Google Patents

파일 시스템을 필터링하는 디바이스 및 방법 Download PDF

Info

Publication number
KR20110099095A
KR20110099095A KR1020117012516A KR20117012516A KR20110099095A KR 20110099095 A KR20110099095 A KR 20110099095A KR 1020117012516 A KR1020117012516 A KR 1020117012516A KR 20117012516 A KR20117012516 A KR 20117012516A KR 20110099095 A KR20110099095 A KR 20110099095A
Authority
KR
South Korea
Prior art keywords
host
file system
storage device
local storage
sectors
Prior art date
Application number
KR1020117012516A
Other languages
English (en)
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 KR20110099095A publication Critical patent/KR20110099095A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • 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
    • 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/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

호스트는 로컬 스토리지 디바이스의 네이티브 파일 시스템과 다른 관련된 요인들을 근거로 필터링된 파일 시스템으로 제공된다. 필터는 로컬 스토리지 스토리지 스 및 호스트와 인터페이스하며, 컨트롤러는 네이티브 파일 시스템을 판독하고, 호스트를 위해 액세스 기준을 확립하고, 그리고 필터링된 파일 시스템을 제공하기 위해 액세스 기준을 근거로 휘발성 메모리에 섹터들의 논리적인 구조를 생성한다. 또한, 필터는 다른 호스트를 위해 확립된 액세스 기준을 근거로 네이티브 파일 시스템을 판독하고 섹터들의 논리적인 구조를 생성하도록 주어진 호스트를 사용할 수 있다.

Description

파일 시스템을 필터링하는 디바이스 및 방법{DEVICE AND METHOD FOR FILTERING A FILE SYSTEM}
일반적으로 많이 사용되는 디바이스들, 예를 들어, 이동 전화기들 또는 DVD 플레이어들과 같은, 특화된 데이터 처리 호스트들(specialized data processing hosts)은 2개의 제약들에 의해 특성이 부여된다: 첫 번째, 그것들이 파일 형식들의 제한된 세트만을 지원하고, 두 번째, 그것들이 상대적으로 낮은 처리 전력 (예를 들어, 개인용 컴퓨터와 비교하여)을 갖는 것이다. 정기적으로, 이러한 호스트 디바이스들은 호스트들이 처리할 수 없는 파일들을 또한 포함하는 주변 스토리지 디바이스들(peripheral storage devices)로부터 데이터 파일들을 액세스하기 위해 사용된다. 호스트 디바이스가 그것을 지원하는 파일들을 추측하도록 스토리지 디바이스의 파일 시스템을 처리해야하기 때문에, 호스트에 의해 처리할 수 없는 파일들의 스토리지 디바이스 상에서의 존재는 호스트의 처리 전력상에서 과도한 부하의 원인이 되며, 이는 호스트 디바이스의 사용자에 대해 원하지 않은 지연들을 야기한다.
동영상 파일들에 대한 USB 플래시 드라이브를 액세스하는 DVD 플레이어의 예시에서, USB 플래시 드라이브는 또한 DVD 플레이어가 지원할 수 없는 파일들을 포함할 수 있다. 지원되지 않는 파일들의 파괴적인 효과들에 대비해 조심하기 적당할 수 있는 보호들에도 불구하고, 지원되지 않는 파일들의 단순한 존재는 희망하는 업무들을 이용할 수 있는 DVD 플레이어의 처리 전력을 감소시킨다. 예를 들어, DVD 플레이어가 USB 플래시 드라이브 상에 저장된 파일들의 전체 리스트를 부착된 텔레비전의 스크린상에 디스플레이하도록 설계되면, DVD 플레이어의 제한된 처리 전력의 일부는 많은 사용자들에게 흥미롭지 않은 정보를 디스플레이하도록 전환되어야 한다. 비록 지원되지 않은 파일들이 디스플레이되지 않더라도, DVD 플레이어는 그것들이 지원되지 않는 것을 결정하는 것에 리소스들을 여전히 바쳐야 한다. 결과로서, 사용자는 텔레비전 스크린상에서 원하는 정보를 시청하기 위해 더 길게 기다려야하고 그 다음에 원하는 프로그램을 재생해야 한다.
처리 전력에 추가하여, 많은 호스트들에 대해 제한되는 다른 리소스는 관련된 디스플레이의 크기이다. 예를 들어, MP3 플레이어 또는 MP3 성능을 갖는 이동 전화기는 부착된 과도 스토리지 디바이스 SD 메모리 카드(attached transient storage device SD memory card) 상에 저장되는 파일들의 전체 이름들을 편리하게 디스플레이하기에 충분히 큰 디스플레이 영역을 가질 수 없다. 예를 들어, 파일명들의 리스트, "Fifties Favorite: Elvis Presley's 'All Shook Up,'" "Fifties Favorite: Elvis Presley's 'Love Me Tender,'" "Fifties Favorite: Elvis Presley's 'Jailhouse Rock,'" 등등에 대해서, 디스플레이 공간을 절약하기 위해 수행될 수 있음에 따라, 파일명들이 35개의 문자 이전에 잘리게 되면, MP3 플레이어는 구분된 정보를 디스플레이하지 않을 것이다. MP3 플레이어가 대신 전체 파일 이름들을 디스플레이하면, MP3 플레이어는 동시에 많은 파일 이름들로 디스플레이할 수 없었다.
따라서, 파일들이 호스트에 나타나기 이전에 주변 스토리지 디바이스에 저장된 파일들을 필터할 수 있게 하는 것이 바람직했었다. 그로 인해, 처리 전력과 디스플레이 공간과 같은, 호스트의 제한된 리소스들은 관심 데이터에 포커스될 수 있었다.
본 발명자들은 그것들이 호스트에 제공되기 이전에 로컬 스토리지 디바이스의 데이터를 필터링하기 위한 디바이스들과 방법들을 개발해왔다. 이러한 필터링은 처리 전력과 디스플레이 영역과 같은, 호스트 리소스들의 요구를 감소시킨다. 본 발명의 실시예들은 필터링 방법, 필터링 디바이스, 그리고 로컬 스토리지 디바이스와 결합된 필터링 디바이스를 포함한다.
예제 실시예에 따르면, 로컬 스토리지 디바이스의 파일 시스템을 필터링하기 위한 디바이스는 로컬 스토리지 디바이스 인터페이스, 호스트 인터페이스, 및 컨트롤러를 갖는다. 로컬 스토리지 디바이스 인터페이스는 네이티브 파일 시스템을 갖는 로컬 스토리지 디바이스와 통신하기 위한 것이며, 호스트 인터페이스는 호스트와 통신하기 위한 것이다. 컨트롤러는 로컬 스토리지 디바이스 인터페이스와 호스트 인터페이스에 또한 동작적으로 연결되며, 그것은 로컬 스토리지 디바이스의 네이티브 파일 시스템을 판독하고, 호스트를 위한 액세스 기준을 확립하고, 그리고 필터링된 파일 시스템을 제공하도록 액세스 기준을 근거로 휘발성 메모리에서 섹터들의 논리적인 구조를 생성하도록 동작한다.
파일 시스템을 필터링하기 위한 디바이스는 섹터들의 논리적인 구조가 생성된 휘발성 메모리를 더 포함할 수 있다. 또한, 파일 시스템을 필터링하기 위한 디바이스는 컨트롤러에 신호들을 제공하도록 동작하는 무선 수신기를 더 포함할 수 있다.
디바이스에서, 컨트롤러는 호스트 속성들을 근거로 필터링된 파일 시스템을 생성할 수 있다. 필터링된 파일 시스템은 하나 이상의 파일-레벨 조건들에 따라 네이티브 파일 시스템을 필터링할 수 있다.
파일 시스템을 필터링하기 위한 디바이스의 로컬 스토리지 디바이스 인터페이스는 USB 표준을 따를 수 있다. 호스트 인터페이스는 유선 또는 무선 인터페이스일 수 있다. 유선 또는 무선 인터페이스는 USB 표준을 따를 수 있다.
다른 예제 실시예에 따르면, 로컬 스토리지 조립체(local storage assembly)는 로컬 스토리지 디바이스와 앞서 논의된 바와 같은 파일 시스템을 필터링하기 위한 디바이스를 가질 수 있다. 이러한 실시예에서 로컬 스토리지 디바이스는 네이티브 파일 시스템을 갖는다.
호스트에 로컬 스토리지 디바이스에 의해 제공되어야 하는 파일 시스템을 필터링하는 방법이 본 명세서에서 또한 개시된다. 방법은 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들을 판독하는 단계, 호스트를 위한 액세스 기준을 확립하는 단계, 및 필터링된 파일 시스템을 제공하도록 액세스 기준을 근거로 휘발성 메모리에 섹터들의 논리적인 구조를 생성하는 단계를 포함한다. 네이티브 파일 시스템의 섹터들을 판독하는 단계는 USB 표준에 따라 통신하는 단계를 포함할 수 있다. 호스트를 위한 액세스 기준은 파일-레벨 조건에 따라 확립될 수 있다.
방법은 호스트의 속성들을 결정하는 단계를 포함할 수 있으며, 여기서 호스트를 위한 액세스 기준은 호스트의 속성들에 따라 확립된다. 호스트의 속성들을 결정하는 단계는 호스트로부터 속성들에 관한 정보를 수신하는 단계를 포함할 수 있다. 호스트로부터 속성들에 관한 정보는 IEEE 1667 프로브 명령어(Probe command)에 따르는 메시지에서 수신될 수 있다. 호스트의 속성들을 결정하는 단계는 통신 휴리스틱(communication heuristics)을 근거로 호스트의 형식을 검출하는 단계를 포함할 수 있다. 또한, 호스트의 속성들을 결정하는 단계는 로컬 스토리지 디바이스와 호스트의 외부에 있는 신호를 수신하는 단계를 포함할 수 있다.
방법은 호스트의 적어도 하나의 특정한 형식에 대한 로컬 스토리지 디바이스를 미리-설정하는 단계를 포함할 수 있다. 또한, 방법은 유선 인터페이스 또는 무선 인터페이스를 통해 호스트에 필터링된 파일 시스템을 제공하는 단계를 포함할 수 있으며, 인터페이스는 USB 표준을 따를 수 있다.
방법은 추가적인 요소들을 포함할 수 있다. 예를 들어, 방법은 네이티브 파일 시스템에 저장된 데이터의 적어도 일부분에 대한 호스트 액세스를 허용하는 단계 이전에 인증을 요구하는 단계를 포함할 수 있다. 또한, 방법은 휘발성 메모리에서 섹터들의 논리적인 구조를 생성하는 단계 이후에 다시 네이티브 파일 시스템의 섹터들을 판독하는 단계, 그로 인해 휘발성 메모리에서 섹터들의 논리적인 구조를 생성하는 단계 이후에 네이티브 파일 시스템에서 일어났던 변화들을 검출하는 단계, 및 업데이트된 필터링된 파일 시스템을 생산하도록 휘발성 메모리에서 섹터들을 업데이트하는 단계를 포함할 수 있다. 더욱이, 섹터들의 논리적인 구조를 생성하는 단계는 로컬 스토리지 디바이스에 저장된 네이티브 파일 시스템의 파일들을 리네이밍하는(renaming) 단계를 포함할 수 있다. 추가로, 필터링된 파일 시스템은 네이티브 파일 시스템의 파일 구조의 계층(hierarchy) 또는 조직(organization)을 변경시킴으로써 생성되는 네이티브 파일 시스템의 변환일 수 있다.
호스트에 로컬 스토리지 디바이스에 의해 제공되어야 하는 파일 시스템을 필터링하는 방법이 본 명세서에서 추가로 개시된다. 방법은 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들을 판독하도록 제1 호스트를 동작시키는 단계, 제2 호스트를 위해(또는, 제2 호스트에 대한) 액세스 기준을 확립하는 단계, 및 필터링된 파일 시스템을 제공하도록 액세스 기준을 근거로 휘발성 메모리에서 섹터들의 논리적인 구조를 생성하는 단계를 포함한다. 방법은 네이티브 파일 시스템에 저장된 데이터의 적어도 일부분에 대한 제1 호스트 액세스를 허용하는 단계 및/또는 네이티브 파일 시스템에 저장된 데이터의 적어도 일부분에 대한 제2 호스트 액세스를 허용하는 단계 이전에, 인증을 요구하는 단계를 포함할 수 있다.
본 발명의 예제 실시예들은 첨부된 도면들을 참조하여 아래에서 상세하게 개시되며, 다음과 같이 간단히 개시된다.
본 발명은 추가된 청구범위들에서 아래에 설명된 바와 같으며, 이는 다음의 도면들을 포함하는 첨부된 개시를 고려하여 이해된다.
도 1A는 파일 시스템을 필터링하기 위한 디바이스의 예제 실시예를 나타낸다.
도 1B는 파일 시스템을 필터링하기 위한 방법의 예제 실시예를 나타내는 순서도를 나타내며, 방법은 도 1A의 필터에 의해 수행될 수 있다.
도 2A는 도 1A의 필터에 동작적으로 연결할 수 있는 스토리지 디바이스에 저장될 수 있는 네이티브 파일 시스템의 예제 디렉토리 테이블을 나타낸다.
도 2B 내지 도 2E는 필터링된 파일 시스템을 제공하기 위한 논리적인 구조를 생성하기 위한, 도 2A에 도시된 디렉토리 테이블의 예제 섹터들을 나타낸다.
도 3A 내지 도 3F는 도 1B에 나타낸 예제 실시예의 변화들을 나타내는 순서도들을 나타낸다.
도 4는 도 1B에 나타낸 실시예에 대한 대안적인 예제 실시예를 나타내는 순서도를 나타낸다.
도 5A 및 도 5B는 도 4에 나타낸 예제 실시예의 변화들을 나타내는 순서도들을 나타낸다.
아래의 청구범위들은 예제 실시예들의 본 발명의 상세한 개시를 참조함으로써 더 잘 이해될 것이다. 이러한 개시는 예제들을 제공하는 것 대신에 청구범위들의 범위를 제한하는 것으로 의도되진 않는다. 본 발명에 따른 필터의 예제 실시예가 우선 설명된다. 본 발명에 따른 필터링의 방법들의 다중 예제 실시예들이 그 다음에 설명된다.
도 1A는 파일 시스템을 필터링하기 위한 디바이스의 예제 실시예를 나타낸다. 디바이스인, 필터(20)는 로컬 스토리지 디바이스 인터페이스(22), 호스트 인터페이스(24), 및 컨트롤러(26)를 갖는다.
로컬 스토리지 디바이스 인터페이스(22)는 로컬 스토리지 디바이스(28)를 필터(20)에 동작적으로 연결한다. 본 개시의 문맥에서, 용어 "로컬 스토리지 디바이스(local storage device)"는 점대점 연결 그리고 호스트와 마스터/슬레이브 관계 (마스터인 호스트와 슬레이브인 로컬 스토리지 디바이스)를 갖는 스토리지 디바이스라 부른다. 용어 "주변 스토리지 디바이스(peripheral storage device)"는 용어 "로컬 스토리지 디바이스"와 호환성 있게 본 명세서에서 사용된다. 본 개시에 적용할 수 있는 로컬 스토리지 디바이스들은 ATA, SCSI, IEEE 1394, USB (대용량 스토리지 디바이스 클래스)와 같은 포맷들 중 임의의 것을 따르는 것을 포함할 뿐만 아니라 그러한 것으로 제한되지 않는다.
이전의 약어들은 다음과 같이 분야에서 알려져 있다. ATA는 디스크 드라이브 인터페이스 표준인 "Advanced Technology Attachment"를 나타낸다. SCSI는 컴퓨터와 지능형 디바이스들 (예를 들어, 하드 디스크, CD-ROM, 및 스캐너) 간의 인터페이싱을 위한 병렬 버스에 대한 프로세서-독립적인 표준인 "Small Computer System Interface"를 나타낸다. (IEEE는 전기적인 엔지니어링 관심들에 초점을 맞추는 전문적인 단체인, "Institute of Electrical and Electronics Engineers"를 나타낸다.) "IEEE 1394"는 고속 통신 및 등시성 실시간 데이터 서비스를 제공하는 직렬 버스 인터페이스 표준을 나타낸다. USB는 "Universal Serial Bus"을 나타내며, 이는 양방향 직렬 전송을 이용하는 케이블을 통해 컴퓨터와 외부 주변 장치들 사이의 통신을 수행하기 위한 외부적인 주변 장치 인터페이스 표준이다.
로컬 스토리지 디바이스(28)는 로컬 스토리지 디바이스(28)의 비휘발성 메모리에 저장된 네이티브 파일 시스템 ("제1" 파일 시스템)을 갖는다. 용어 "네이티브 파일 시스템(native file system)"은 스토리지 디바이스(28)의 물리적인 스토리지, 즉, 파일 시스템 정보 (예를 들어, 포맷과 조직에 관한), 메타데이터, 그리고 파일 콘텐츠 또는 데이터를 참조한다. 필터(20)를 위해 선택되는 로컬 스토리지 디바이스 인터페이스(22)는 USB 표준 (예를 들어, USB 로컬 스토리지 디바이스를 적용하기 위해)을 따르는 것일 수 있으며, 로컬 스토리지 디바이스 인터페이스(22)는 유선 또는 무선 인터페이스일 수 있다.
호스트 인터페이스(24)는 호스트(30)를 필터(20)에 동작적으로 연결한다. 용어 "호스트(host)")는 용어 "호스트 디바이스"와 호환성있게 사용된다. 예제 호스트들은 개인용 컴퓨터, 이동 전화기, 카메라, DVD 플레이어, 텔레비전, 및 네트워크-부가된 스토리지 서버를 포함한다. 따라서, 필터(20)는 호스트(30)와 로컬 스토리지 디바이스(28) 사이에 인터페이스로서 동작한다. 호스트(30)와 로컬 스토리지 디바이스(28)는 진부하게 서로에 직접 연결될 수 있다. 필터(20)를 위해 선택되는 호스트 인터페이스(24)는 USB 표준을 따르는 것일 수 있으며, 호스트 인터페이스(24)는 유선 또는 무선 인터페이스일 수 있다.
컨트롤러(26)는 로컬 스토리지 디바이스 인터페이스(22)와 호스트 인터페이스(24)에 동작적으로 연결된다. 아래에서 더욱 상세하게 논의되는 것처럼, 컨트롤러(26)는 로컬 스토리지 디바이스(28)의 네이티브 파일 시스템의 섹터들을 판독하고, 호스트(30)를 위해 액세스 기준을 확립하고, 그리고 제2 파일 시스템에 제공하기 위한 액세스 기준을 근거로 휘발성 메모리에서 섹터들의 논리적인 구조를 생성한다.
제2 파일 시스템은 임의의 물리적인 실시예를 가질 필요가 없고, 따라서 네이티브 파일 시스템과는 완전히 다르다. 제2 파일 시스템은 다른 또는 다르게 조직된 네이티브 파일 시스템을 가질 수 있는, 애플리케이션들, 디바이스들 등 사이의 상호작용을 허용하거나 용이하게 하기 위해서, 네이티브 파일 시스템이 하는 것보다 다르게 파일들을 제공하고 및/또는 조직한다. 예를 들어, 제2 파일 시스템은 로컬 스토리지 디바이스에서 이용할 수 있거나 나타낼 수 있는 것처럼 네이티브 파일 시스템 (특정한 기준을 근거로 선택됨)의 특정한 파일들만을 보여주는, 네이티브 파일 시스템의 파일들을 "필터"할 수 있다. 이러한 개시의 문맥에서, 제2 파일 시스템은 그 이후에 필터링된 파일 시스템이라 부를 수 있다.
제2 파일 시스템은 제2 파일 시스템의 파일들 (또는 그들의 표시/조직)과 네이티브 파일 시스템의 파일들 (또는 그들의 표시/조직) 사이의 관계의 사양, 예를 들어, 제2 파일 시스템의 구조 내에서 지정된 논리적인 어드레스와 네이티브 파일 시스템의 구조 내에서 지정된 논리적인 어드레스 사이의 매핑을 포함한다.
네이티브 파일 시스템과 제2 파일 시스템은 동일한 형식일 필요는 없다. 비제한된 예제로서, 하나의 파일 시스템은 JFFS2 이고, 다른 파일 시스템은 FAT일 수 있었다. 각각의 네이티브 파일 시스템과 제2 파일 시스템은 분야에서 당업자에 의해 이해될 수 있는 바와 같이, 이동가능한 스토리지(removable storage)에 적당한 다른 형식의 파일 시스템일 수 있다.
컨트롤러(26)에 의해 섹터들의 논리적인 구조가 생성되는 휘발성 메모리는 도 1A에 도시된 바와 같이, 컨트롤러(26) 내에 임베디드된 RAM(32)일 수 있다. 대안적인 실시예들에서, 휘발성 메모리는 필터(20) 내의 플래시 메모리 일 수 있으며, 하지만 컨트롤러(26)로부터 분리한다. 또 다른 실시예들에서, 휘발성 메모리는 로컬 스토리지 디바이스(28)에 있을 수 있다.
추가로, 필터(20)는 컨트롤러(26)를 위해 외부 소스 (예를 들어, 호스트(30) 또는 로컬 스토리지 디바이스(28))로부터 신호들을 수신하기 위한 무선 수신기(34)를 가질 수 있다. 다른 예제 실시예에서, 필터(20)는 호스트(30)에 대한 유선 연결이 있을 것이며, 컨트롤러(26)는 예를 들어, 필터(20)의 덮개 상에 위치된 명령어 버튼들 (도시되지 않음)의 사용에 의해 중재되는 유선 연결을 통해 외부의 신호들을 수신할 수 있다. (눌려질 때, 명령어 버튼들은 컨트롤러(26)에 신호들을 전달할 것이다.) 이러한 장치(arrangement)는 컨트롤러(26)가 신호들을 수신하기 위해 무선 수신기(34)를 포함하는 장치 대신에 (또는 그러한 장치에 추가하여) 사용될 수 있다.
예를 들어, (액세스 기준을 확립하기 위해 사용되는) 호스트 형식 또는 호스트 속성들에 관한 정보를 제공하거나, 사용자를 인증하거나, 특정한 메타데이터 문자들을 갖는 모든 파일들을 숨기기 위해 (즉, 파일-레벨 조건에 따라 필터링을 구현하기 위해) 그러한 외부 신호들이 적용되는 다양한 사용들이 본 명세서의 적절한 문단에서 후술될 것이다.
로컬 스토리지 디바이스(28)와 필터(20)가 함께 로컬 스토리지 조립체(36)를 구성한다. 본 개시의 문맥에서, 용어 "로컬 스토리지 조립체(local storage assembly)"는 필터와 로컬 스토리지 디바이스의 결합을 나타낸다. 조립체(36)는 다중 호스트들을 위해 휴대 가능한 스토리지로 기능할 수 있으며, 여기서 조립체(36)의 필터(20)는 각각의 호스트를 위해 적당한 제2 (필터링된) 파일 시스템을 각각의 다중 호스트들을 위해 생성하도록 설계될 수 있다. (필터(20)는 다중 여러 가지 필터들로서 효과적으로 동작할 수 있으며, 하지만 다중 물리적인 디바이스들로 형성될 필요는 없다.) 이런 방식으로, 각각의 다중 호스트들은 로컬 스토리지 조립체(36)의 파일 시스템이 각각의 호스트를 위해 동일한 방식으로 제공되는 것 (예를 들어, 동일한 필터링된 파일 시스템을 제공하는 것)보다 더 효율적으로 동작할 수 있다.
당업자에 의해 이해될 수 있는 바와 같이, 필터(20), 로컬 스토리지 디바이스 인터페이스(22), 호스트 인터페이스(24), 및 컨트롤러(26)는 분야에서 당업자에 의해 이해될 수 있는 것처럼, 하드웨어, 소프트웨어, 및/또는 펌웨어의 적당한 결합에 의해 구현될 수 있다.
도 1B에서 순서도(38)에 의해 나타내는, 본 발명의 다른 예제 실시예는 호스트에 대한 로컬 스토리지 디바이스에 의해 제공되는 파일 시스템을 필터링하기 위한 방법이다. 방법은 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들을 판독하는 단계 (단계 S1), 호스트를 위해 액세스 기준을 확립하는 단계 (단계 S2), 및 제2 (필터링된) 파일 시스템을 제공하기 위해 휘발성 메모리에 섹터들의 논리적인 구조를 생성하는 단계 (단계 S3)를 포함한다. 방법은 로컬 스토리지 디바이스(28)와 호스트(30)가 상호 작용하는 동안, 도 1A의 실시예의 필터(20)에 의해 수행될 수 있다.
단계 S1에 대해서는, 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들이 분야에서 당업자에게 알려진 임의의 수단들에 의해 판독될 수 있다. 예를 들어, 판독하는 단계는 USB 표준에 따라 통신하는 단계를 포함할 수 있다.
단계 S2에 대해서는, 호스트를 위한(또는, 호스트에 대한) 액세스 기준이 확립된다. 액세스 기준은 호스트 속성들을 근거로 확립된다. 호스트 속성들은 다음의 예제들의 형식으로 설명될 수 있다. (앞서 언급된 바와 같이, 예제 호스트들은 개인용 컴퓨터, 이동 전화기, 카메라, DVD 플레이어, 텔레비전, 및 네트워크-부가된 스토리지 서버 등을 포함한다.) 호스트 속성의 일 예제는 특정한 파일 형식들만을 처리하기 위한 능력일 수 있다. 예를 들어, 호스트는 DVD 포맷의 파일들만을 처리할 수 있는 DVD 플레이어일 수 있다. DVD 포맷의 파일들만을 보여주는 필터링된 (제2) 파일 시스템을 호스트에 제공하도록 필터(20)의 사용을 만듦으로써, DVD 플레이어는 그것의 제한된 리소스들 중 임의의 것을 지원되지 않은 파일들을 처리하기 위해 할당할 필요가 없다. 호스트 속성의 다른 예제는 호스트가 데이터를 랜더링할 수 있는 비트율일 수 있다. 호스트에 의해 지원되는 비트율들로 소비(예를 들어, 재생)에 적당할 수 있는 파일들만을 호스트에 나타나는 필터링된 (제2) 파일 시스템을 생성함으로써, 호스트는 지원되지 않은 파일들을 처리하기 위해 리소스들을 할당할 필요가 없다. 호스트 속성의 또 하나의 예제는 호스트의 네이티브 운영 시스템을 근거로 (또는 호스트의 네이티브 운영 시스템과 호환하여) 그러한 파일 시스템들만을 판독할 수 있는 능력 (제약)이다. 이러한 호스트 속성은 개인용 컴퓨터와 같은 호스트에 의해 처리될 수 있었다. 호스트 속성들의 다른 예제들은 당업자들에 의해 이해될 것이다.
"호스트 속성들(host attributes)"이 무엇을 의미하는지를 이해해야함에 주목해야 하며, 용어 "액세스 기준(access criteria)"은 특별한 액세스 기준이 대응하는 호스트 속성들의 형식으로 효과적으로 정의되도록 생각될 수 있는 것으로, 이해될 수 있다. "액세스 기준"은 파일이 주어진 호스트 속성들과 호환할 수 있게 하는 파일에 대해 만족 (예를 들어, 파일이 소유해야만 하는 특징들) 해야하는 기준이다. 예를 들어, 호스트가 DVD 포맷의 파일들만을 처리할 수 있는 속성을 가지면, 대응하는 액세스 기준은 파일이 DVD 포맷이어야 한다. 이러한 기준을 만족하는 파일들만이 스토리지 디바이스에 의해 호스트에 제시될 수 있게 될 것이다.
액세스 기준은 판독 요청들이 처리될 때 사용하기 위해서, 필터 또는 스토리지 디바이스의 RAM에서와 같은, 휘발성 메모리에 저장될 수 있다. 대안적으로, 액세스 기준은 필터 또는 스토리지 디바이스에서 비휘발성 메모리에 저장될 수 있다.
도 1B의 순서도(38)로 되돌아와서, 단계 S3에서, 호스트의 액세스 기준을 근거로 섹터들의 논리적인 구조를 생성하기 위해서, 도 1A에서 필터(20)의 컨트롤러(26)와 같은, 프로세서는 필터(20)의 RAM(32)에서와 같은, 지정된 스토리지에 구조를 할당한다. 이러한 구조는 다음과 같이, 네이티브 파일 시스템으로부터의 대응하는 데이터가 선택적으로 채워지는(populated) 논리적인 구조이다.
프로세서는 액세스 기준을 근거로, 네이티브 파일 시스템에서 파일들이 그들의 오리지널 형태 (도 2B와 관련하여 아래 기술됨)로 호스트에 나타낼 수 있는지, 파일들이 일부 방식으로 변경 (예를 들어, 파일명 확장자를 변경시킴)(도 2C와 도 2D와 관련하여 아래 기술됨) 되어야하는지, 그리고 파일들이 모두 나타나지 않을 수 (도 2E와 관련하여 아래에 기술됨) 있는지를 결정한다. (용어 파일의 "변경(alteration)"은 파일 콘텐츠 및/또는 파일 메타데이터의 변경을 포함하는 것을 의미한다.) 그 다음에, 프로세서는 이에 따라 논리적인 구조를 네이티브 파일 시스템의 섹터들로 채운다. 즉, 그들의 오리지널 형태로 호스트에 나타낼 수 있는 디렉토리 엔트리들만을 포함하는 섹터들에 대해서, 프로세서는 스토리지 디바이스가 호스트로부터의 판독 요청들에 응답하여 대응하는 파일들의 수정되지 않은 콘텐츠들을 호스트에 리턴할 수 있도록 논리적인 구조에서 매핑을 생성한다. 그것의 오리지널 형태로부터 일부 방식으로 변경되어야만 하는 적어도 하나의 디렉토리 엔트리를 포함하는 섹터들에 대해서, 프로세서는 논리적인 구조에 대체 정보를 배치한다. 예를 들어, 파일명 확장자가 변경되게 되는 경우, 논리적인 구조는 대체 파일명 확장자를 호스트에 나타내게 될 것이다. 그러나, 만일 그러하지 않은 경우, 논리적인 구조에서 매핑에 따라, 스토리지 디바이스는 호스트로부터 판독 요청들에 응답하여 파일들의 수정되지 않은 콘텐츠들을 호스트에 리턴하게 될 것이다. 마지막으로, 전혀 호스트에 나타나지 않게 되는 적어도 하나의 디렉토리 엔트리를 포함하는 섹터들에 대해서, 프로세서는 논리적인 구조를 수정하고, 호스트에 나타낼 수 있는 디렉토리 엔트리들만을 포함하는 섹터들을 생성하여 이러한 섹터들을 호스트에 의해 요청되는 섹터들로 대체한다. 따라서, 대응하는 파일들이 논리적인 구조에 나타나지 않으며, 따라서 호스트가대응하는 파일을 요청할 것으로 예상되지 않으며, 스토리지 디바이스는 호스트에 그러한 파일을 리턴하지 않는다. 논리적인 구조가 이에 따라 생성된 상태로, 필터링된 파일 시스템이 즉시 호스트에 제공된다.
도 2A는 도 1A에서 로컬 스토리지 디바이스(28)와 같은, 스토리지 디바이스의 네이티브 파일 시스템의 예제 디렉토리 테이블(40)을 나타낸다. 디렉토리 테이블(40)은 파일명들과 확장자들이 각각 MYMOVIE.AVI, RANDOM.EXE, 및 ANOTHER.DVX인, 3개의 디렉토리 엔트리들(42, 44 및, 46)을 갖는다. "디렉토리 테이블(directory table)"은 디렉토리 (또한 폴더로 알려짐)를 나타내는 특별한 형식의 파일이다. 나타낸 디렉토리 내에 저장된 각각의 파일 또는 디렉토리는 테이블에서 32 바이트 엔트리로 나타낸다. 디렉토리 테이블(40)에서 각각의 엔트리는 파일들의 또는 디렉토리의 이름, 확장자, 속성들 (아카이브(archive), 디렉토리, 히든, 판독 전용, 시스템 및 볼륨 라벨)과 같은 데이터 세트, 파일/디렉토리의 생성 날짜 및 시간, 파일/디렉토리의 데이터의 제1 클러스터의 어드레스 및, 파일의 크기를 포함할 수 있거나 또는 그러한 것과 관련된다.
디렉토리 테이블(40)은 또한 "디렉토리 요소들(directory elements)"로 알려진, 다음의 예시적인 필드들을 포함한다. (디렉토리 테이블(40)의 각각의 필드에 할당되는 바이트 수는 제2 행(48)에 표시된다.) : (1) "파일명" (8 바이트), (2) 파일 확장자 (즉, "확장자", 3 바이트), (3) "속성들" (1 바이트), (4) "예약(Reserved)" (1 바이트), (5) "생성 날짜/시간" (5 바이트), (6) "마지막 액세스 날짜" (2 바이트), (7) "제1 클러스터" (하이 워드, 2 바이트), (8) "마지막 수정된 날짜/시간" (4 바이트), (9) "제1 클러스터" (로우 워드, 2 바이트), 및 (10) 파일 크기 (즉, "크기", 4 바이트). 디렉토리 테이블(40)에서의 숫자들은 16진수 포맷으로 나타낸다. (편의상, 나타낸 디렉토리 엔트리들은 실제 디렉토리 구조의 일부분의 표시만이다.) 이러한 엔트리 구조는 윈도우 XP 및 비스타에서 구현되는 바와 같이, FAT32 포맷 파일 시스템들에 대해 명확하게 유효하다. FAT16과 레거시 도스 포맷 파일 시스템들은 약간 다른 구조를 사용한다. 예를 들어, FAT 16 파일 시스템들은 제1 클러스터 숫자의 하이 워드를 포함하지 않는 구조를 사용하며, (파일들을 판독하기 위해 일부 DVD 플레이어들에 의해 사용되는) 레거시 도스 구조(legacy DOS structure)는 1 바이트 대신 10 바이트의 예약된 블록을 갖으며, 제1 클러스터의 숫자의 로우 워드가 뒤따른다. 본 명세서에서 논의되는 실시예들은 당업자에 의해 이해될 수 있는 바와 같이, 여기서 언급된 그러한 것들 이외의 파일 시스템 포맷들과 구현들을 사용할 수 있다.
도 2B 내지 도 2D는 도 2A의 디렉토리 테이블(40)의 각각의 디렉토리 엔트리들(42, 44, 46)의 수정된 구조들(42a, 44a, 및 46a)을 도시한다. 이러한 구조들(42a, 44a, 및 46a)은 필터링된 파일 시스템을 제공하기 위해, 필터(20)의 RAM(32)에서와 같은, 지정된 스토리지에 저장된다. 디렉토리 테이블(40)의 일부 필드들, 예를 들어, "예약" 및 타임스탬프 필드들 (디렉토리 테이블(40)의 필드 (4), (5), 및 (8))은, 본 논의에 관련되지 않으며 따라서 명료함을 위해 표시들에서 생략된다.
도 2B는 네이티브 파일 시스템 (도 2A에서 엔트리 42)에서 데이터 파일 MYMOVIE.AVI에 대응하는, 구조(42a)를 나타낸다. 호스트가 DVD 플레이어인 것으로 가정하면, 이에 따라 DVD 포맷 파일들만이 액세스 기준에 의해 호스트에 나타나게 되는 것이 허용되며, 네이티브 파일 시스템에서 데이터 파일 MYMOVIE.AVI는 그것의 오리지널 형태로 호스트에 나타낼 수 있으며, 따라서 구조(42a)는 도 2A에 도시된 네이티브 파일 시스템의 디렉토리 테이블(40)에서 디렉토리 엔트리(42)의 대응하는 필드들에 있는 것처럼, 제1 클러스터 및 크기의 하이 및 로우 워드의 동일한 값들을 호스트에 나타낸다. 구조(42a)에서 이러한 표시는 스토리지 디바이스가 파일 내의 섹터들에 대한 호스트 판독 요청에 응답하여 파일 MYMOVIE.AVI의 수정되지 않은 콘텐츠 (즉, 네이티브 파일 시스템에서 그러한 파일의 콘텐츠)를 호스트에 리턴할 수 있다.
도 2C는 네이티브 파일 시스템에서 실행가능한 파일 RANDOM.EXE (도 2A 에서 엔트리 44)에 대응하는, 구조(44a)를 나타낸다. 앞서와 같이, 호스트가 DVD 플레이어라 가정하면, 호스트가 실행가능한 파일을 처리할 수 없는 속성을 갖는 것으로 이해된다. 따라서, 필터는 파일 RANDOM.EXE 이 숨겨진 것을 호스트에 나타낸다.
따라서, 필터의 프로세서는 도 2C에서 52로 도시된, 속성값 "22"를 획득하기 위해서, 그러한 속성 (제1 오퍼랜드)과 값 "02" (제2 오퍼랜드 : 이 예제에서 파일이 숨겨지게 되는 것을 가리키는 속성 값 02) 사이의 OR 연산 (2개의 바이너리 오퍼랜드들 간의 논리적인 연산)을 실행함으로써 파일 file RANDOM.EXE 의 속성 "20" (즉, 도 2A에 도시된 디렉토리 엔트리(44)의 속성)을 수정한다. 호스트의 운영 시스템은 결과 값 "22"가 파일이 호스트의 사용자에 의해 선택을 위해 디스플레이되지 않는 표시인 것을 이해한다.
도 2D는 네이티브 파일 시스템에서 데이터 파일 ANOTHER.DVX (도 2A에서 엔트리 46)에 대응하는, 구조(46a)를 나타낸다. 앞서와 같이, 호스트가 DVD 플레이어라 가정한다. 이 경우에, 호스트가 파일의 이름이 "DVX" 확장자를 가지기 때문에 이러한 파일을 처리할 수 없는 속성을 갖는 것으로 이해되며, 하지만 파일명의 확장자가 대신 "AVI"이면 호스트가 파일을 처리할 수 있는 파일에서의 데이터이다. 따라서, 필터의 프로세서는 도 2D에서 54로 도시된 바와 같이, 확장자 "DVX"를 "AVI"로 변경하며, 그 다음에 호스트는 파일을 처리할 수 있다.
도 2E는 네이티브 파일 시스템에서 실행가능한 파일 RANDOM.EXE (도 2A에서 엔트리 44)에 대응하는, 구조(48a)를 나타낸다. 앞서와 같이, 호스트가 DVD 플레이어라 가정하면, 호스트가 실행가능한 파일을 처리할 수 없는 속성을 갖는 것으로 이해된다. 따라서, 필터는 파일 RANDOM.EXE 에 대응하는 디렉토리 엔트리를 제거한다. 즉, 파일 RANDOM.EXE 는 필터링된 파일 시스템에서 호스트에 나타나지 않게 된다. (도 2C와 달리, 여기서 파일은 숨김으로 표시되고, 도 2E의 경우에서 파일은 호스트에서 완전히 이용할 수 없다.) 따라서, 도 2E는 도 2C와 관련하여 논의된 호스트 속성을 갖는 호스트를 어드레싱하는 대안적인 방법을 나타낸다.
물론, 도 2A 내지 도 2E의 앞서 논의는 단일 예제의 호스트 형식, 호스트 속성 및 부수적인 액세스 기준만을 사용한다. 이 출원에 개시된 실시예들은 넓은 범위의 다른 호스트 형식들, 호스트 속성들 및 부수적인 액세스 기준에 적용할 수 있다. 본 명세서에서 개시된 실시예들에 따르면, 본 명세서에서 나타내지 않은 그러한 필드들을 포함하는 디렉토리 구조의 다른 필드들이 앞서 개시된 그것들과 유사한 방식으로 수정될 수 있는 것으로 또한 이해된다.
앞선 예제들이 도시한 것처럼, 필터링된 파일 시스템은 호스트 속성들에 관한 정보를 근거로 생성될 수 있다. 호스트의 속성들을 근거로 필터링된 파일 시스템을 생성하는 것에 추가하여 또는 대안적으로, 필터링된 파일 시스템은 하나 이상의 파일-레벨 조건들에 따른 네이티브 파일 시스템을 필터에 설계될 수 있다. 파일-레벨 조건에 따른 필터링의 예제는 메타데이터 (예를 들어, 파일 이름)가 특별한 정보 (예를 들어, 특별한 텍스트 스트링, 예를 들어, 텍스트 스트링 "비밀의(confidential)" 또는 "성인(adult)")를 포함하는 임의의 파일을 생략할 것이다. 파일-레벨 조건 필터링의 다른 예제는 도 2D의 논의에서 앞서 도시된 바와 같이, 주어진 호스트 (예를 들어, 호스트(30))에 의해 지원되지 않는 포맷에 대응하는 모든 파일 이름들을 주어진 호스트에 의해 지원되는 포맷에 대응하는 파일명들로 변환하는 것이다.
파일-레벨 조건 필터링의 또 다른 예제는 모든 파일 이름들에 의해 공유된 공통 접두사를 모든 파일 이름들로부터 제거하는 것이다. 이 경우에, 섹터들의 논리적인 구조를 생성하는 것은 (도 1B의 단계 3) 예를 들어, 로컬 스토리지 디바이스에 저장된 네이티브 파일 시스템의 파일들을 리네이밍하는 것을 포함할 수 있다. 파일들을 적절히 리네이밍하는 예제는 동일한 초기 문자들을 각각 갖는 파일명들의 세트에 대해, 각각의 파일 이름의 초기 문자들을 제거하는 것이다. 따라서, 로컬 스토리지 디바이스 상에서 파일들의 이름들이 "Fifties Favorite: Elvis Presley's 'All Shook Up,'" "Fifties Favorite: Elvis Presley's 'Love Me Tender,'" 및 "Fifties Favorite: Elvis Presley's 'Jailhouse Rock,'" 라면, 초기의 동일한 문자들은 제거될 것이며, 리네임된 파일들의 이름들은 "All Shook Up," "Love Me Tender," 및 "Jailhouse Rock."일 것이다. 리네임된 파일들의 리스트는 많은 MP3 플레이어들과 이동 전화기의 경우에서처럼, 제한된 크기의 디스플레이 스크린에 더 쉽게 맞춰질 것이다. 이는 디스플레이가 동일한 초기 문자들만을 보여주며 그로 인해 사용자가 디스플레이 상에서 파일 이름들의 리스팅을 바라봄으로써 여러 가지 파일들을 구분하게 못하게 되는 상황을 피할 수 있다.
필터링된 파일 시스템은 또한 평탄화함으로써 또는 만약 그렇지 않으면 네이티브 파일 시스템의 파일 구조의 계층 또는 조직을 변경시킴으로써 생성되는 네이티브 파일 시스템의 변환일 수 있다. 예를 들어, 필터링된 파일 시스템은 동일한 폴더 또는 디렉토리에 모두 있는 것처럼 네이티브 파일 시스템에서 여러 가지 폴더들 또는 디렉토리들로부터 파일들을 제공받을 수 있거나 또는, 필터링된 파일 시스템은 여러 가지 폴더들 (예를 들어, 그들의 접두사 또는 파일 형식에 따름) 내에 정렬되는 것처럼 네이티브 파일 시스템에서 비정렬된 파일들, 또는 다른 방식 등으로 정렬되는 것처럼 네이티브 파일 시스템에 정렬된 파일들을 제공받을 수 있다.
파일들을 폴더들에 재매핑(remapping)하는 것은, 만약 그렇지 않으면 호스트에 의해 파일 이름들의 절단 때문에 잃어버릴지도 모르는 파일 이름들에 원래 포함된 정보를 폴더들의 이름들에서, 계속 유지하기 위해 사용될 수 있다. 예를 들어, 파일들이 "my vacation Spain - week 1 -", "my vacation Spain - week 2 -", "my vacation Florida -", 및 "kids baseball games -"으로 시작하면, 생성된 파일 구조는 보통 파일들 사이의 접두사들을 근거로 아래와 같을지도 모른다. 사용자가 파일 이름들을 편집하거나 폴더 구조를 생성할 필요가 없다는 것에 주목해야 한다.
\my vacation
\Spain
\week 1
\week 2
\Florida
\kids baseball games
필터링된 파일 시스템은 네이티브 파일 시스템의 파일들의 일부 또는 전체의 포맷을 변환함으로써 생성되는 네이티브 파일 시스템의 변환일 수 있다. 예를 들어, 호스트(30)에 의해 지원할 수 없는 주어진 포맷의 모든 파일들은 호스트(30)에 의해 지원 가능한 포맷의 파일들로 변환될 수 있다. 필터링의 다른 방식들을 포함하는, 필터링된 파일 시스템을 생성하기 위한 다른 방식들과 다른 파일-레벨 조건들이 당업자에 의해 이해될 것이다. 따라서, 필터링된 파일 시스템은 사용자에게 편리한 방식으로, 예를 들어, 사용자가 사용하는 호스트 디바이스의 형식을 따르는 방식으로, 파일들을 나타내도록 설계될 수 있다.
도 1B에 도시된 방법의 변화에서, 파일 시스템을 필터링하는 방법은 앞서 논의된, 호스트의 속성들을 결정하는 단계 (단계 S4)를 포함한다. 이러한 변화의 예제 실시예들이 도 3A에서 순서도(56)와 도 3B에서 순서도(58)에 의해 나타난다. 필터(20)의 컨트롤러(26) (도 1A)는 예를 들어, 호스트로부터 호스트 형식 또는 호스트 속성들에 관한 정보를 수신함으로써; 외부 신호들을 통해 호스트 형식 또는 호스트 속성들에 관한 정보를 수신함으로써; 또는 통신 휴리스틱을 사용하여 결정된 바와 같은 호스트 형식으로부터 호스트 속성들을 추론함으로써와 같은, 여러 가지의 방식으로 호스트 속성들을 결정할 수 있다. 호스트 속성들을 결정하기 위한 일부 이러한 방식들의 복잡함이 지금 나타난다.
호스트 형식 또는 호스트 속성 정보를 전달하는 외부 신호들은 무선 수신기 (예를 들어, 도 1A의 무선 수신기(34))를 통해 또는 도 1A과 관련하여 앞서 논의된 것처럼, 명령어 버튼들을 통해 (이 경우 유선 디바이스) 수신될 수 있다.
호스트로부터 호스트의 형식 또는 속성들에 관한 정보를 수신하는 컨트롤러(26)에 대해서는, 호스트는 IEEE 1667 프로브 명령어(Probe command)를 따르는 메시지에 이러한 정보를 전달할 수 있다.
통신 휴리스틱을 근거로 호스트 형식을 검출함으로써 호스트 속성들을 결정하는 것은 호스트에 의해 전달되는 요청들을 분석하고, 이러한 분석을 근거로 추측에 따른 호스트 형식을 유추하고(inferring), 그리고 추론된 호스트 형식으로부터 호스트 속성들을 추론하는(deducing) 것을 의미한다. 일부 예제 시나리오들에서, 스토리지 디바이스가 호스트 (예를 들어, DVD 플레이어)에 동작적으로 연결되지마자, 호스트가 스토리지 디바이스의 파일 시스템을 판독하기 위한 시도를 시작하기 이전에, 호스트는 대략 25개 내지 30개의 초기 명령어들 (디바이스 형식을 결정하기 위한 쿼리 명령어들과 같음)을 스토리지 디바이스에 전달할 것이다. 명령어들의 타이밍, 그들의 순서, 및 유사한 변수들은 통신 패턴 또는 통신 시그너처로 알려진, 패턴의 파라미터들로 동작한다. 이러한 패턴은 변경하며, 즉, (적어도 일부 호스트들에 대해) 호스트 형식과 관련되며, 따라서 호스트의 특정한 형식을 가리키는 것으로 컨트롤러(26)에 의해 인식될 수 있다. 적어도 일부 호스트들에 대해, 주어진 형식의 호스트가 적어도 특정한 속성들을 갖는 것으로 알려져 있다. 따라서, 호스트 형식이 알려지면, 호스트 속성들이 그것으로부터 추론될 것이다. (실제로 필터(20)가 필터링된 파일 시스템을 제공하는 공정들을 시작하도록 필요하기 전에, 컨트롤러에 의해 통신 패턴의 인식이 수행될 수 있다.)
언급된 바와 같이, 호스트의 속성들을 결정하기 위한 다른 방식은 로컬 스토리지 디바이스와 호스트 모두의 외부에 있는 소스에서 비롯하는 신호를 수신하기 위한 것이다. 예를 들어, 이러한 신호는 원격 제어 송신기로부터 전송된다. 대안적으로, 신호는 로컬 스토리지 디바이스를 둘러싸는 박스 상에서 명령어 버튼들을 누름으로써, 도 1A에서 필터(20)의 컨트롤러(26)와 같은, 프로세서에 전달되며, 그로 인해 앞서 논의된 것처럼, 신호들이 컨트롤러(26)에 전달되게 된다.
호스트 속성들이 결정될 때, 호스트에 대한 액세스 기준이 앞서 (도 1B, 단계 S2) 설명된 것처럼, 결정된 호스트 속성들에 따라 확립될 수 있다. 따라서, 호스트 속성들을 결정하는 단계(S4)는 호스트의 액세스 기준을 확립하는 단계(S2) 이전에 완료되며, 이전 단계는 네이티브 파일 시스템을 판독하는 단계(S1) 이전에 실행되거나(도 3A) 또는 그 이후에 실행된다(도 3B). 다른 대안으로서, 호스트 속성들을 결정하는 단계(S4)는 네이티브 파일 시스템을 판독하는 단계(S1)의 실행과 동시에 실행될 수 있다.
호스트의 속성들에 대응하는 액세스 기준이 확립됐을 때, 컨트롤러(26)는 그러한 것을 근거로 한 제2 (필터링된) 파일 시스템을 생성할 수 있다. 호스트 액세스 기준을 근거로, 제2 (필터링된) 파일 시스템을 생성하는 것은 예를 들어, 도 2A 내지 도 2E와 관련하여, 앞서 개시되었다.
즉시 호스트 속성들을 결정하기 위한 대안(또는 추가)으로서, 도 1B에 도시된 방법의 다른 변화에서, 파일 시스템을 필터링하는 방법은 도 3C의 순서도(60)에서 단계(S5)에 의해 나타난 바와 같은 하나 이상의 특정한 호스트 형식들에 대해 로컬 스토리지 디바이스를 미리-설정하는 단계를 포함한다. 예를 들어, 도 1A의 스토리지 디바이스는 1667-컴플라이언트(compliant) 개인용 컴퓨터와 1667-컴플라이언트가 아닌 특정한 형식의 DVD 플레이어 모두를 위해 미리-설정될 수 있다. 특히, 1667-컴플라이언트 개인용 컴퓨터는 스토리지 디바이스에 그 자체를 확인시키며, 하지만 1667-컴플라이언트가 아닌 DVD 플레이어는 그렇게 하지 않는다. 스토리지 디바이스(28)는 1667-컴플라이언트 개인용 컴퓨터로 그 자체를 확인하지 않는 임의의 호스트가 특정한 형식의 DVD 플레이어인 것으로 추정하기 위해서 미리-설정될 수 있다. (1667-컴플라이언트 호스트는 그 자체를 디바이스에 확인한다.) 따라서, 스토리지 디바이스(28)는 자체에 연결되는 호스트의 형식에 관해 결정할 수 있을 것이며, 필터(20)는 결정된 호스트 형식에 따라 스토리지 디바이스(28)의 네이티브 파일 시스템을 적응시킬 것이다. 도 3C의 방법의 나머지는 도 1B의 방법의 나머지와 동일하다.
도 1B에 도시된 방법의 또 다른 변화에서, 파일 시스템을 필터링하는 방법은 도 3D의 순서도(62)에서 단계(S6)로 나타낸 바와 같은 유선 또는 무선 인터페이스를 통해 호스트에 필터링된 파일 시스템을 제공하는 단계를 포함한다. 단계(S6)를 실행하기 위한 적당한 인터페이스들은 USB, SD (Secure Digital™), 또는 MMC (Multimedia Card) 표준들을 따르는 그러한 것들을 포함하며, 하지만 그러한 것들에 한정되지 않는다. 이전 단계들 (단계들 S1 내지 S3)은 도 1B의 방법의 단계들과 동일하다.
로컬 스토리지 디바이스의 콘텐츠들이 시간에 따라 변할 수 있다는 사실을 수용하기 위해서, 도 1B의 실시예의 다른 변화는 그러한 변화들을 반영하도록 필터링된 파일 시스템을 업데이트한다. 도 3E의 순서도(64)에 의해 나타낸 바와 같이, 네이티브 파일 시스템의 섹터들이 판독 (단계 S1)된 이후에, 호스트를 위한 액세스 기준이 확립되고 (단계 S2), 휘발성 메모리에서 섹터들의 논리적인 구조가 제2 (필터링된) 파일 시스템을 제공하기 위해 생성되고 (단계 S3), 그 다음의 추가적인 단계들이 필터링된 파일 시스템을 업데이트하기 위해 실행된다. 방법은 네이티브 파일 시스템의 섹터들을 다시 판독하는 단계 (단계 S7)와, 업데이트된 필터링된 파일 시스템을 생산하기 위해서 휘발성 메모리에서 섹터들의 논리적인 구조를 업데이트하는 단계 (단계 S8)를 계속한다. 따라서 네이티브 파일 시스템에서 일어났던 변화들이 단계(S7)에서 검출되며, 섹터들은 단계(S8)에서 이에 따라 변경된다. 업데이트의 예제는 새로운 파일이 즉시 스토리지 디바이스에 존재하는 것을 호스트에 가리키리 위해서 필터의 RAM에 추가되는 도 2B에 도시된 새로운 디렉토리 엔트리의 형식일 수 있다.
도 3F는 도 1B에 도시된 방법의 또 하나의 변화를 나타낸다. 이러한 변화에 따르면, 파일 시스템을 필터링하는 방법은 필터링된 파일 시스템에서 데이터의 적어도 일부분에 대한 호스트 액세스를 허용하는 단계 이전에, 인증을 요구하는 단계를 포함한다. 인증은 분야에서 알려진 다양한 방법들 중 임의의 것에 의해 제공될 수 있다. 예를 들어, 호스트가 IEEE 1667-컴플라이언트 디바이스라면, 인증은 IEEE 1667 인증 사일로(Authentication Silo)에 의해 제공될 것이다.
이러한 방법 (도 3F의 순서도(66))에 따르면, 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들을 판독하는 단계 (단계 S1) 이전에, 호스트가 인증되는지를 결정하기 위해, 조회가 필터의 컨트롤러에 의해 행해진다(단계 S9). (앞서 언급된 바와 같이, 컨트롤러는 이러한 결정을 하기 위해서 수신된 외부의 신호들을 사용할 것이다.) 결정이 호스트가 인증되도록 만들어지면, 호스트는 필터링된 파일 시스템에서 데이터의 일부 또는 전부에 대한 액세스를 허용하게 될 것이다 (단계 S10). 결정이 호스트가 인증되지 않도록 만들어지면, 호스트는 데이터의 일부에 대한 액세스를 거부하게 될 것이다 (단계 S11). 방법은 도 1B에서와 같이 단계들 (S1 내지 S3)을 계속한다. 대안적인 실시예들에서, 부정 응답을 따르는 단계(S9)는 호스트가 로컬 스토리지 디바이스에서 데이터의 전부에 대한 액세스를 거부하게 되는 원인이 되며, 따라서 공정은 단계(S11)로 끝날 수 있다; 즉, 단계들(S1 내지 S3)이 실행되지 않을 것이다. 또 다른 대안적인 실시예들에서, 단계들(S9 내지 S11)은 단계(S1) 이후 그리고 단계(S2) 이전에 실행될 수 있다. 또 다른 대안적인 실시예들에서, 단계들(S9 내지 S11)은 단계(S1)의 실행과 동시에 실행될 수 있다.
도 4에서 순서도(68)는 다른 예제 실시예를 나타낸다. 파일 시스템을 필터링하는 이러한 방법은 2개의 호스트를 포함한다. 특히, 필터와 로컬 스토리지 디바이스를 포함하는, 로컬 스토리지 조립체 (예를 들어, 도 1A의 로컬 스토리지 조립체(36))는 제2 호스트와 함께 사용을 위해 제1 호스트에 의해 준비될 수 있다. 예를 들어, 사용자는 DVD 플레이어 (제2 호스트) 상에서 이후 사용을 위해 개인용 컴퓨터 (제1 호스트) 상에서 로컬 스토리지 조립체를 준비할 수 있다.
도 4의 방법에 따르면, 초기에, 도 1A의 실시예의 필터(20)와 같은, 필터는 로컬 스토리지 디바이스에 그리고 제1 호스트에 연결된다.
그 다음에 제1 호스트는 도 1B의 단계(S1)와 같이, 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들을 판독하도록 동작한다 (단계 S1).
그 다음에, 액세스 기준이 확립된다 (단계 S2). 도 1B의 예제 실시예의 단계(S2)에서와 달리, 하지만 액세스 기준은 제1 호스트 대신 제2 호스트의 그것이다. 제1 호스트는 사용자로부터 또는 내부 데이터베이스 등으로부터 입력을 수신함으로써 제2 호스트의 액세스 기준을 획득할 것이다. 다른 점들에서와 달리, 액세스 기준은 도 1B의 예제 실시예의 단계(S2)에서와 같은 동일한 방식으로 확립되고 저장될 것이다.
다음 단계는 제2 호스트의 액세스 기준을 근거로 섹터들의 논리적인 구조를 생성하는 단계이다 (단계 S3). 이 단계는 도 1B의 예제 실시예의 단계(S3)와 같은 동일한 방식으로 수행될 수 있다.
도 4에 도시된 방법의 변화에서, 파일 시스템을 필터링하는 방법은 파일 시스템에서 데이터의 적어도 일부분에 대한 제1 호스트 액세스를 허용하는 단계 이전에, 인증을 요구하는 단계를 포함한다. 이러한 예제 실시예는 도 5A의 순서도(70)에 나타나있다. 제1 호스트가 로컬 스토리지 디바이스의 네이티브 파일 시스템을 판독하도록 허용되기 (단계 S1) 이전에, 조회는 제1 호스트가 인증되었는지를 결정하기 위해 만들어진다 (단계 S13). 응답이 긍정적이면, 제1 호스트는 파일 시스템에 대한 액세스를 허용하게 된다 (단계 S14). 공정은 도 4와 관련하여 개시된 것처럼 단계들(S1 내지 S3)을 계속한다. 응답이 부정적이면, 제1 호스트는 모든 데이터에 대한 액세스를 거부하게 되며 (단계 S15), 따라서 제2 호스트를 위해 필터링된 파일 시스템을 생성할 수 없다.
도 4에 도시된 방법의 다른 변화에서, 파일 시스템을 필터링하는 방법은 파일 시스템에서 데이터의 적어도 일부분에 대한 제2 호스트 액세스를 허용하는 단계 이전에, 인증을 요구하는 단계를 포함한다. 이러한 예제 실시예는 도 5B의 순서도(72)에 나타나있다. 단계들(S1 내지 S3)은 도 4를 참조로 설명된 바와 같다. 논리적인 구조를 필터링된 파일 시스템 내에 지도로 나타내는 섹터들이 생성된 (단계 S3) 이후에, 달리, 조회는 제2 호스트가 인증되었는지를 결정하기 위해 만들어진다 (단계 S16). 응답이 긍정적이면, 제2 호스트는 필터링된 파일 시스템에서 데이터의 일부 또는 전부에 대한 액세스를 허용하게 된다 (단계 S17). 응답이 부정적이면, 제2 호스트는 모든 데이터에 대한 액세스를 거부하게 된다 (단계 S18).
또한, 앞서 설명된 방식들로 제1 및 제2 호스트들 모두의 인증을 요구하기 위해서 도 5A와 도 5B에 나타낸 실시예들을 결합할 수 있다.
따라서, 예시적인 실시예들을 상세하게 설명하고, 다양한 변경들, 수정들, 및 개선들이 당업자에게 빠르게 일어날 수 있다는 것이 분명해질 것이다. 비록 특별히 앞서 개시되지 않았더라도, 개시된 실시예들의 변경들, 수정들, 및 개선들은 그럼에도 사상 및 청구범위들의 범위 내에 있는 것으로 의도되고 의미된다. 따라서, 앞서 말한 논의는 예시적인 것으로만 의도되며, 본 발명은 다음의 청구범위들과 그들의 동등물들에 의해서만 제한되고 정의된다.

Claims (25)

  1. 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들을 판독하는 단계;
    호스트를 위한 액세스 기준을 확립하는 단계; 및
    필터링된 파일 시스템을 제공하도록 상기 액세스 기준을 근거로 휘발성 메모리에서 섹터들의 논리적인 구조를 생성하는 단계를 포함하는 것을 특징으로 하는 호스트에 로컬 스토리지 디바이스에 의해 제공되는 파일 시스템을 필터링하는 방법.
  2. 제1항에 있어서,
    호스트의 속성들을 결정하는 단계를 더 포함하며, 상기 호스트를 위한 액세스 기준은 상기 호스트의 속성들에 따라서 확립되는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 호스트의 속성들을 결정하는 단계는, 상기 호스트로부터 상기 속성들에 대한 정보를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 호스트로부터 상기 속성들에 대한 상기 정보는, IEEE 1667 프로브 명령어(Probe command)를 따르는 메시지에서 수신되는 것을 특징으로 하는 방법.
  5. 제2항에 있어서,
    상기 호스트의 속성들을 결정하는 단계는, 통신 휴리스틱(communication heuristics)을 근거로 상기 호스트의 형식을 검출하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제2항에 있어서,
    상기 호스트의 속성들을 결정하는 단계는, 상기 로컬 스토리지 디바이스와 상기 호스트의 외부에 있는 신호를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    적어도 하나의 특정한 형식의 호스트에 대한 상기 로컬 스토리지 디바이스를 미리-설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 호스트를 위한 액세스 기준은 파일-레벨 조건에 따라 확립되는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 네이티브 파일 시스템의 섹터들을 판독하는 단계는, USB 표준에 따라 통신하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    유선 또는 무선 인터페이스를 통해 호스트에 상기 필터링된 파일 시스템을 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 휘발성 메모리에서 상기 섹터들의 논리적인 구조를 생성하는 단계 이후에 다시 상기 네이티브 파일 시스템의 상기 섹터들을 판독하는 단계와, 그로 인해 상기 휘발성 메모리에서 상기 섹터들의 논리적인 구조를 생성하는 단계 이후에 상기 네이티브 파일 시스템에서 일어났던 변화들을 검출하는 단계; 및
    업데이트된 필터링된 파일 시스템을 생성하도록 상기 휘발성 메모리에서 상기 섹터들의 논리적인 구조를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    상기 섹터들의 논리적인 구조를 생성하는 단계는, 상기 로컬 스토리지 디바이스에 저장된 상기 네이티브 파일 시스템의 파일들을 리네이밍하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    상기 필터링된 파일 시스템은,
    상기 네이티브 파일 시스템의 파일 구조의 계층(hierarchy) 또는 조직(organization)을 변경시킴으로써 생성되는 상기 네이티브 파일 시스템의 변환인 것을 특징으로 하는 방법.
  14. 제1항에 있어서,
    상기 네이티브 파일 시스템에 저장된 데이터의 적어도 일부분에 대한 호스트 액세스를 허용하는 단계 이전에 인증을 요구하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 로컬 스토리지 디바이스의 네이티브 파일 시스템의 섹터들을 판독하도록 제1 호스트를 동작시키는 단계;
    제2 호스트를 위한 액세스 기준을 확립하는 단계; 및
    필터링된 파일 시스템을 제공하도록 상기 액세스 기준을 근거로 휘발성 메모리에서 섹터들의 논리적인 구조를 생성하는 단계를 포함하는 것을 특징으로 하는 호스트에 로컬 스토리지 디바이스에 의해 제공되는 파일 시스템을 필터링하는 방법.
  16. 제15항에 있어서,
    (i) 상기 네이티브 파일 시스템에 저장된 데이터의 적어도 일부에 대한 상기 제1 호스트 액세스를 허용하는 단계 및/또는
    (ii) 상기 네이티브 파일 시스템에 저장된 데이터의 적어도 일부에 대한 상기 제2 호스트 액세스를 허용하는 단계 이전에, 인증을 요구하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 로컬 스토리지 디바이스와 통신하기 위한 로컬 스토리지 디바이스 인터페이스와, 상기 로컬 스토리지 디바이스는 네이티브 파일 시스템을 갖으며;
    호스트와 통신하기 위한 호스트 인터페이스; 및
    상기 로컬 스토리지 디바이스 인터페이스와 상기 호스트 인터페이스에 동작적으로 연결된 컨트롤러를 포함하며, 상기 컨트롤러는 상기 로컬 스토리지 디바이스의 상기 네이티브 파일 시스템을 판독하고, 상기 호스트를 위한 액세스 기준을 확립하고, 그리고 필터링된 파일 시스템을 제공하도록 상기 액세스 기준을 근거로 휘발성 메모리에서 섹터들의 논리적인 구조를 생성하도록 동작하는 것을 특징으로 하는 로컬 스토리지 디바이스의 파일 시스템을 필터링하는 디바이스.
  18. 제17항에 있어서,
    상기 컨트롤러는, 호스트 속성들을 근거로 상기 필터링된 파일 시스템을 생성하는 것을 특징으로 하는 디바이스.
  19. 제17항에 있어서,
    상기 섹터들의 논리적인 구조가 생성되는 상기 휘발성 메모리를 더 포함하는 것을 특징으로 하는 방법.
  20. 제17항에 있어서,
    상기 컨트롤러에 신호들을 제공하도록 동작하는 무선 수신기를 더 포함하는 것을 특징으로 하는 디바이스.
  21. 제17항에 있어서,
    상기 필터링된 파일 시스템은,
    하나 이상의 파일-레벨 조건들에 따라 상기 네이티브 파일 시스템을 필터링하는 것을 특징으로 하는 디바이스.
  22. 제17항에 있어서,
    상기 로컬 스토리지 디바이스 인터페이스는, USB 표준을 따르는 것을 특징으로 하는 디바이스.
  23. 제17항에 있어서,
    상기 호스트 인터페이스는, 유선 또는 무선 인터페이스인 것을 특징으로 하는 디바이스.
  24. 제23항에 있어서,
    상기 유선 또는 무선 인터페이스는, USB 표준을 따르는 것을 특징으로 하는 디바이스.
  25. 네이티브 파일 시스템을 갖는 로컬 스토리지 디바이스; 및
    청구항 제17항의 디바이스를 포함하는 것을 특징으로 하는 로컬 스토리지 조립체.
KR1020117012516A 2008-12-26 2009-11-04 파일 시스템을 필터링하는 디바이스 및 방법 KR20110099095A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/344,389 US20100169395A1 (en) 2008-12-26 2008-12-26 Device and method for filtering a file system
US12/344,389 2008-12-26

Publications (1)

Publication Number Publication Date
KR20110099095A true KR20110099095A (ko) 2011-09-06

Family

ID=41508039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117012516A KR20110099095A (ko) 2008-12-26 2009-11-04 파일 시스템을 필터링하는 디바이스 및 방법

Country Status (6)

Country Link
US (1) US20100169395A1 (ko)
EP (1) EP2374072A1 (ko)
KR (1) KR20110099095A (ko)
CN (1) CN102227728B (ko)
TW (1) TW201025050A (ko)
WO (1) WO2010074818A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4228767B2 (ja) * 2003-04-25 2009-02-25 ソニー株式会社 再生装置、再生方法、再生プログラムおよび記録媒体
US8943409B2 (en) * 2008-12-26 2015-01-27 Sandisk Il Ltd. Storage device managing playable content
US8239395B2 (en) 2008-12-26 2012-08-07 Sandisk Il Ltd. Storage device presenting to hosts only files compatible with a defined host capability
US8930655B2 (en) 2009-01-19 2015-01-06 Microsoft Corporation Transient storage device configuration silo
JP5538789B2 (ja) * 2009-09-17 2014-07-02 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
US10496608B2 (en) * 2009-10-28 2019-12-03 Sandisk Il Ltd. Synchronizing changes in a file system which are initiated by a storage device and a host device
US8886597B2 (en) * 2009-10-28 2014-11-11 Sandisk Il Ltd. Synchronizing changes in a file system which are initiated by a storage device and a host device
CN103324638A (zh) * 2012-03-22 2013-09-25 腾讯科技(深圳)有限公司 文件名显示方法及系统
US10645073B1 (en) * 2017-06-12 2020-05-05 Ca, Inc. Systems and methods for authenticating applications installed on computing devices
CN112800005B (zh) * 2021-01-22 2023-01-03 中孚安全技术有限公司 一种文件系统深度检查方法、系统、终端及存储介质
CN113220953B (zh) * 2021-05-24 2022-08-23 北京安盟信息技术股份有限公司 一种数据过滤方法及装置

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956715A (en) * 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US6405315B1 (en) * 1997-09-11 2002-06-11 International Business Machines Corporation Decentralized remotely encrypted file system
US5931947A (en) * 1997-09-11 1999-08-03 International Business Machines Corporation Secure array of remotely encrypted storage devices
US6377958B1 (en) * 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
JP2001142764A (ja) * 1999-11-12 2001-05-25 Japan Science & Technology Corp ログ・ファイル保護システム
US20030120858A1 (en) * 2000-09-15 2003-06-26 Matrix Semiconductor, Inc. Memory devices and methods for use therewith
WO2002035359A2 (en) * 2000-10-26 2002-05-02 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
EP1368736A2 (en) * 2001-01-11 2003-12-10 Z-Force Communications, Inc. File switch and switched file system
US7440980B2 (en) * 2001-04-03 2008-10-21 Qnx Software Systems Gmbh & Co. Kg Computer file management system
JP4089171B2 (ja) * 2001-04-24 2008-05-28 株式会社日立製作所 計算機システム
US20020184227A1 (en) * 2001-04-25 2002-12-05 Eitan Tobi Extendable data scheme
US6922759B1 (en) * 2001-10-04 2005-07-26 Silicon Motion, Inc. Method, system and apparatus for playing songs directly from a hard drive
US7457532B2 (en) * 2002-03-22 2008-11-25 Microsoft Corporation Systems and methods for retrieving, viewing and navigating DVD-based content
AU2003217514A1 (en) * 2002-04-16 2003-11-03 Samsung Electronics Co., Ltd. Information storage medium for recording interactive contents version information, recording and reproducing method thereof
JP2004013726A (ja) * 2002-06-10 2004-01-15 Sumitomo Electric Ind Ltd キーワード抽出装置および情報検索装置
US7143288B2 (en) * 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
US8015584B2 (en) * 2002-10-18 2011-09-06 Seachange International, Inc. Delivering interactive content to a remote subscriber
US20040133797A1 (en) * 2003-01-06 2004-07-08 International Business Machines Corporation Rights management enhanced storage
TWM240054U (en) * 2003-06-13 2004-08-01 Aviquest Technology Co Ltd Multimedia playback interface control device
US8301809B2 (en) * 2003-07-02 2012-10-30 Infortrend Technology, Inc. Storage virtualization computer system and external controller thereof
US20050033721A1 (en) * 2003-08-08 2005-02-10 International Business Machines Corporation Location switch hard drive shim
US7272606B2 (en) * 2003-11-26 2007-09-18 Veritas Operating Corporation System and method for detecting and storing file content access information within a file system
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
JP4241485B2 (ja) * 2004-04-15 2009-03-18 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラムおよび記録媒体
CN1702651A (zh) * 2004-05-24 2005-11-30 富士通株式会社 特定类型信息文件的识别方法和装置
US7555532B2 (en) * 2004-09-23 2009-06-30 Orbital Data Corporation Advanced content and data distribution techniques
US7184264B2 (en) * 2004-09-23 2007-02-27 Imation Corp. Connectable memory devices to provide expandable memory
JP2006133882A (ja) * 2004-11-02 2006-05-25 Canon Inc 情報処理装置及び方法
TWI284837B (en) * 2004-11-05 2007-08-01 Mitac Technology Corp Computer booting method, storage medium and computer device employing the same
US8490204B2 (en) * 2004-11-12 2013-07-16 Sandisk Il Ltd. Selective protection of files on portable memory devices
FR2880444B1 (fr) * 2005-01-06 2007-03-09 Gemplus Sa Dispositif de stockage de donnees
US7493462B2 (en) * 2005-01-20 2009-02-17 International Business Machines Corporation Apparatus, system, and method for validating logical volume configuration
JP4671332B2 (ja) * 2005-03-10 2011-04-13 株式会社日立製作所 ユーザ識別情報を変換するファイルサーバ
JP4324803B2 (ja) * 2005-07-14 2009-09-02 ソニー株式会社 遠隔操作の送信機
US8447781B2 (en) * 2005-07-29 2013-05-21 International Business Machines Corporation Content-based file system security
US7647329B1 (en) * 2005-12-29 2010-01-12 Amazon Technologies, Inc. Keymap service architecture for a distributed storage system
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US20070169204A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation System and method for dynamic security access
CN100580642C (zh) * 2006-02-28 2010-01-13 国际商业机器公司 通用串行总线存储设备及其访问控制方法
US8577940B2 (en) * 2006-03-20 2013-11-05 Parallels IP Holdings GmbH Managing computer file system using file system trees
US7506102B2 (en) * 2006-03-28 2009-03-17 Cisco Technology, Inc. Method and apparatus for local access authorization of cached resources
US7913252B2 (en) * 2006-04-11 2011-03-22 Installfree, Inc. Portable platform for executing software applications in a virtual environment
US8120707B2 (en) * 2006-04-20 2012-02-21 Sandisk Il Ltd. UFD-accomodating multimedia system
US20070250193A1 (en) * 2006-04-20 2007-10-25 Sandisk Il Ltd. Dongle-based multimedia player
US7685375B2 (en) * 2006-06-06 2010-03-23 International Business Machines Corporation Protecting confidential information on portable storage media
US7698480B2 (en) * 2006-07-06 2010-04-13 Sandisk Il Ltd. Portable storage device with updatable access permission
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
JP5087088B2 (ja) * 2006-10-04 2012-11-28 トレック・2000・インターナショナル・リミテッド 外部記憶装置の認証の方法、装置およびシステム
JP2008107965A (ja) * 2006-10-24 2008-05-08 Sony Corp 情報処理装置、情報処理方法、プログラム、プログラム記録媒体
US20080154921A1 (en) * 2006-12-20 2008-06-26 International Business Machines Corporation File system representation for accelerated navigation
US8560724B2 (en) * 2007-03-01 2013-10-15 Blackberry Limited System and method for transformation of syndicated content for mobile delivery
US7778983B2 (en) * 2007-03-06 2010-08-17 Microsoft Corporation Application migration file scanning and conversion
US8001083B1 (en) * 2007-05-09 2011-08-16 Vmware, Inc. Repository including version management
EP1998270A1 (en) * 2007-05-31 2008-12-03 NTT DoCoMo, Inc. External storage device
JP4996348B2 (ja) * 2007-05-31 2012-08-08 株式会社東芝 映像処理装置及び映像処理方法
JP5333229B2 (ja) * 2007-10-23 2013-11-06 ソニー株式会社 再生装置及び再生方法、並びにコンピュータ・プログラム
EP2234109B8 (en) * 2007-12-17 2016-06-01 Panasonic Intellectual Property Corporation of America Individual sales oriented recording medium, recording device, reproducing device and method for them
US7870282B2 (en) * 2008-11-24 2011-01-11 Cisco Technology, Inc. Media sharing network
US8943409B2 (en) * 2008-12-26 2015-01-27 Sandisk Il Ltd. Storage device managing playable content
US8239395B2 (en) * 2008-12-26 2012-08-07 Sandisk Il Ltd. Storage device presenting to hosts only files compatible with a defined host capability
US8166067B2 (en) * 2008-12-26 2012-04-24 Sandisk Il Ltd. Method and apparatus for providing access to files based on user identity

Also Published As

Publication number Publication date
US20100169395A1 (en) 2010-07-01
CN102227728B (zh) 2013-06-05
TW201025050A (en) 2010-07-01
CN102227728A (zh) 2011-10-26
EP2374072A1 (en) 2011-10-12
WO2010074818A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
KR20110099095A (ko) 파일 시스템을 필터링하는 디바이스 및 방법
JP5301764B2 (ja) ポータブルアプリケーション
CN101248414B (zh) 用户数据配置文件名字空间
US8868628B2 (en) Sharing computer data among computers
US20140324873A1 (en) Method, device and recording medium for managing application icon
EP2249254A2 (en) Storage device having direct user access
US20060253620A1 (en) Data structure of flash memory having system area with variable size in which data can be updated, USB memory device having the flash memory, and method of controlling the system area
JP2022538081A (ja) 画面共有処理方法、装置、機器及び記憶媒体
US20060004822A1 (en) Method and apparatus for moving multi-media file and storage medium storing program for executing the method
US20100138514A1 (en) Method and device for data management in a distributed environment
US20070106630A1 (en) Method of enabling an application to access files stored on a removable storage medium
CN104636079A (zh) 文件存取方法及其系统
JP4342326B2 (ja) データベース制御装置
KR101551731B1 (ko) 접속된 호스트 장비의 플랫폼에 의존하여 자체-적응 서비스들을 제공하기 위한 전자 디바이스
US9928309B2 (en) Handling content associated with content identifiers
JP4718151B2 (ja) 情報処理装置、情報処理方法およびプログラム
AU2020432487B2 (en) Dynamically producing a compatibility of file systems in real time
KR20040100495A (ko) 매스 스토리지 클래스 인터페이스 규격의 대용량 저장장치 기능과 컨텐츠 보호 기능을 지원하는 휴대용 응용기기, 이를 구비한 매스 스토리지 클래스 인터페이스시스템, 및 그 방법
JP4789298B2 (ja) コンピュータシステム及びキーボードの使用方法
JP2017120569A (ja) 情報処理装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid