KR20100010914A - 하나의 디렉토리로부터 또 다른 디렉토리로의 파일 복사 - Google Patents

하나의 디렉토리로부터 또 다른 디렉토리로의 파일 복사 Download PDF

Info

Publication number
KR20100010914A
KR20100010914A KR1020090067005A KR20090067005A KR20100010914A KR 20100010914 A KR20100010914 A KR 20100010914A KR 1020090067005 A KR1020090067005 A KR 1020090067005A KR 20090067005 A KR20090067005 A KR 20090067005A KR 20100010914 A KR20100010914 A KR 20100010914A
Authority
KR
South Korea
Prior art keywords
files
name
file
directory
unique identifier
Prior art date
Application number
KR1020090067005A
Other languages
English (en)
Other versions
KR101099802B1 (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 KR20100010914A publication Critical patent/KR20100010914A/ko
Application granted granted Critical
Publication of KR101099802B1 publication Critical patent/KR101099802B1/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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 양태는 소스 디렉토리의 파일들을 목표 디렉토리에 저장한다. 실시예에서, 파일들 각각에 대해 고유한 식별자가 생성되며, 파일에 대해 새로운 위치 및 새로운 이름이 생성된다. 새로운 위치는, 파일이 저장되는 목표의 특정 서브 디렉토리를 나타낸다. 파일은 새로운 이름으로 새로운 위치에 저장된다. 그러한, 새로운 이름으로 새로운 위치에 저장하는 것은 대응하는 환경들에서의 다양한 문제들을 대처하도록 이용된다. 일 실시예에서, 목표 디렉토리는, 한정된 자원들을 갖는 임베드형 시스템에 저장되며, 소스 디렉토리는 (특정 파일을 검색하기 위해 실질적인 자원들을 요할 수 있는) 실질적으로 겹치는 이름들을 갖는 여러 파일들을 포함한다. 고유한 식별자들이, 파일들/디렉토리들 등 각각에 대한 고유한 식별자를 생성하는 MTP(media transfer protocol)에 따라 생성될 수 있다.
MTP, 소스 디렉토리, 목표 디렉토리, 고유한 식별자, 부모 식별자

Description

하나의 디렉토리로부터 또 다른 디렉토리로의 파일 복사{COPYING FILES FROM ONE DIRECTORY TO ANOTHER}
본 발명은 디지털 처리 시스템에 파일들을 저장하는 것에 관한 것이며, 더욱 구체적으로는, 하나의 디렉토리로부터 또 다른 디렉토리로 파일들을 복사하는 것에 관한 것이다.
파일은 일반적으로 메모리에 저장된 데이터 구성요소들의 집합체를 지칭한다. 보편적인 시나리오에서, 원해지는 콘텐츠(예를 들어, 노래, 워드 프로세서에 의해 편집된 텍스트, 등)는 비휘발성 메모리에 바이트들의 논리적 시퀀스로서 저장된다. 2차 저장소가, 파일들을 액세스하는 디지털 처리 시스템 내에 때때로 제공되며, (예를 들어, 또 다른 일반적인 디지털 처리 시스템 또는 특화된 파일 서버들, 등의) 그외의 시스템들에서는 종종 외부적으로 제공된다.
파일들은 때로는 계층으로 조직화된 디렉토리들의 형식으로 조직화된다. 계층은, 통상적으로 이름에 의해 식별되는 각각의 디렉토리를 갖는 다수의 레벨들을 의미한다. 하위 레벨에서의 디렉토리는 종종 서브-디렉토리(sub-directory)로서 지칭되며, 바로 상위 레벨에서의 디렉토리는 부모-디렉토리(parent directory)로서 지칭된다. 최상위 레벨은, 루트 레벨로서 지칭될 수 있으며, 루트로부터 시작하는 파일들/디렉토리들을 갖는다. 파일들은 계층의 임의의 레벨에 배치될 수 있다.
때때로 파일들을 하나의 디렉토리로부터 또 다른 디렉토리로 복사할 필요가 존재한다. 예를 들어, 하나의 시스템의 하나의 디렉토리에 저장된 노래들을 또 다른 시스템으로 복사하는 것이 바람직할 수 있다. 그 환경에 특정한 다양한 요건들을 만족시키면서 노래들/파일들을 복사하는 것이 바람직할 수 있다.
1. 개요
본 발명의 양태는 소스 디렉토리의 파일들을 목표 디렉토리에 저장한다. 실시예에서, 파일들 각각에 대해 고유한 식별자가 생성되고 새로운 위치 및 새로운 이름이 파일에 대해 생성된다. 새로운 위치는, 파일이 저장되는 목표의 특정한 서브-디렉토리를 나타낸다. 파일은 새로운 위치에 새로운 이름으로 저장된다. 그러한 새로운 위치에 새로운 이름으로 저장하는 것은 대응하는 환경들에서의 다양한 문제들을 대처하는데 이용될 수 있다는 장점을 갖는다.
일 실시예에서, 목표 디렉토리는 한정된 자원들을 갖는, 임베드형 시스템에 저장되며, 소스 디렉토리는 (특정 파일을 검색하기 위해 실질적인 자원들을 요구할수 있는) 실질적인 겹치는 이름들을 갖는 여러 파일들을 포함한다. 고유한 식별자들이, 파일들/디렉토리들 등의 각각에 대해 객체 식별자를 생성하는 MTP(media transfer protocol)에 따라 생성된다. 파일 이름 및 위치는 고유한 식별자로서 객 체 식별자를 이용하여 생성된다. 이하에 설명된 실시예들에서의 결과로서, 강화된 보안성 및 처리 성능이 획득된다.
본 발명의 여러 양태들이 설명을 위한 예들을 참조하여 이하에 설명된다. 그러나, 관련 기술분야의 당업자는, 본 발명이 특정 세부사항들 중 하나 이상이 없이 실시될 수 있거나, 그외의 방법들, 구성요소들, 재료들을 이용하여 실시될 수 있음을 인식할 것이다. 그외의 예들에서, 주지된 구조들, 재료들 또는 동작들은, 본 발명의 특징들을 모호하게 하지 않도록 상세하게 도시되지 않는다. 또한, 설명된 특징들/양태들은, 비록 본 명세서에서는 간결성을 위해서 결합들 중 오직 일부만이 설명되었으나, 다양한 결합들로 실시될 수 있다.
2. 예시적인 환경
도 1은 본 발명의 여러 양태들이 구현될 수 있는 예시적인 환경을 도시하는 블록도이다. 블록도는 소스 시스템(110) 및 목표 시스템(100)을 포함하는 것으로 도시된다. 소스 시스템(110)은 다수의 파일들을 소스 디렉토리에 저장한다. 목표 시스템(150)은 파일들이 복사되는 또 다른 시스템을 나타낸다. 2개의 시스템들은, (예를 들어, TCP/IP, LAN, ATM 등에 기반한) 네트워크들 및 점대점 커넥션들(예를 들어, 전화연결(dial-up))과 같은 기술들에 의해 연결될 수 있다(경로 115).
본 발명의 여러 양태들에 따라 파일들이 복사될 수 있는 방식이 예들을 이용하여 이하에 더욱 상세하게 설명된다. 설명을 위해, 파일들은 소스 시스템(110)의 (소스) 디렉토리로부터 목표 시스템(150)의 또 다른 (목표) 디렉토리로 복사된다고 가정한다. 그러나, 소스 및 목표 디렉토리들은 또한 동일한 시스템에 존재할 수 있다.
3. 파일들의 복사
도 2는 본 발명의 양태에 따라 파일들이 목표 디렉토리로 복사되는 방식을 도시하는 흐름도이다. 흐름도는 단지 설명을 위해 도 1과 관련하여 설명된다. 그러나, 본 명세서에서 제공된 개시내용을 읽음으로써 관련 기술분야의 당업자에게는 명백할 바와 같이, 본 발명의 다양한 양태들의 범주 및 사상을 벗어나지 않고 그외의 환경들에서 다양한 특징들이 또한 구현될 수 있다.
또한, 관련 기술분야의 당업자에게는 명백하듯이, 단계들 중 일부는 이하에 도시된 것과 상이한, 특정 환경에 적합한 순서로 수행될 수 있다. 그러한 구현들 중 다수는 본 발명의 여러 양태들에 의해 포함되는 것으로 고려된다. 흐름도는, 제어가 단계(210)로 즉시 넘어가는 단계(201)에서 시작한다.
단계(210)에서, 목표 시스템(150)은 목표 디렉토리로 복사되는 파일을 수신한다. 일반적으로, 파일은 이름 및 (통상적으로 바이트들의 시퀀스의 형식으로) 콘텐츠를 또한 갖는다. 파일은 소스 시스템(110) 상의 디렉토리의 제1 위치에 배치될 수 있다.
단계(220)에서, 목표 시스템(150)은 파일에 대한 고유한 식별자를 형성한다. 일반적으로, 복사되는 파일들 각각은 대응하는 고유한 식별자를 구비할 필요가 있다. 고유한 식별자들이, 특정 환경에 적합한, 다양한 방식들로 생성될 수 있다.
단계(240)에서, 목표 시스템(150)은 고유한 식별자에 기초하여 목표 디렉토리의 이름 및 위치를 결정한다. 이것은 이름 및 위치의 연산에 고유한 식별자가 (연산수(operand)로서) 이용된다는 것을 의미한다. 위치는, 파일이 저장되는 목표 디렉토리의 개별적인 서브 디렉토리를 특정한다.
단계(260)에서, 목표 시스템(150)은 목표 디렉토리 위치에, 그 이름으로 파일을 저장한다. 저장은, 파일들을 저장하는데 채택된 파일 시스템과 일치하는 (목표 디렉토리가 저장된) 메모리의 적절한 장소들에 파일의 콘텐츠를 복사하는 것을 수반한다.
단계(270)에서, 목표 시스템(150)은 복사될 추가의 파일들이 존재하는지를 조사한다. 파일들이 소스 디렉토리에 이미 존재한다고 가정하면, 모든 파일들이 목표 디렉토리로 복사되지는 않은 경우, 추가의 파일들이 존재할 것이다. 한편, 단계(210)에서 파일들이 동적으로 생성되고 수신되면, 그러한 추가적인 파일이 생성되는 경우, 복사할 추가적인 파일이 존재할 것이다.
추가의 파일들이 존재하는 경우, 제어는 단계(210)로 넘어가고, 그렇지 않으면 단계(299)로 넘어간다. 단계들(210 내지 270)의 루프는 복사될 파일들 각각에 대해 수행되며, 각각의 파일은 위의 단계(210)의 '하나의 파일'로서 처리된다. 모든 파일들이 복사되면, 흐름도는 단계(299)에서 종료한다.
도 2의 복사는, 대응하는 요건들을 충족하거나, 그 환경에 나타난 문제들을 대처하기 위해 다양한 환경들에 적용될 수 있다. 예시적인 문제들의 세트를 대처하기 위해 위의 다양한 특징들을 적용하는 것과 관련하여 설명이 계속된다.
4. 예시적인 문제들
일 실시예에서, 복사될 파일들은 소스 시스템(110) 상에 존재하며, 임베드형 시스템을 나타내는, 목표 시스템(150)으로 복사된다. 대안의 실시예들에서, 콘텐츠는 소정의 그외의 정보를 나타내지만, 각각의 파일은 노래를 나타낸다고 더 가정한다. 모든 파일들은 또한 단일 디렉토리에 존재한다고 가정한다.
각각의 파일은 실질적인 겹치는(또는 동일한 또는 공통적인) 부분을 갖는 긴 이름을 갖는 것으로 더 가정한다. 예를 들어, 제1 파일은 "영화 이름 아티스트 이름 노래 1"의 이름을 가질 수 있고, 제2 파일은 "영화 이름 아티스트 이름 노래 2"의 이름을 가질 수 있다. 이 예에서, "영화 이름 아티스트 이름 노래"라는 부분은 실질적인 겹치는 부분을 나타내며, 값들 1 및 2는 상이한 부분들을 나타낸다.
목표 시스템(150)은, 임베드형 시스템이므로, 한정된 자원들(예를 들어, 처리 전력)을 갖고, 향후 정보 보안이 또한 원해진다고 가정된다. 파일 이름에 기초하여 파일이 검색되는 경우, 검색은 실질적인 자원들을 소모할 수 있다. 예를 들어, 글자 단위의 비교가 채택된다고 가정하면, 일치하지 않는다는 결론은 실질적으로 겹치는 부분 모두와의 비교를 요할 수 있으며, 이것은 강화된 연산 요건들이 된다.
임의의 제3측의 침입자가 파일 이름을 보고 파일의 콘텐츠의 특성을 이해할 것이므로, 소스 디렉토리에서의 이름과 동일한 파일 이름을 이용한다는 점에서 또한 보안 노출이 있을 수 있다.
본 발명의 여러 양태들은, 예시적인 실시예에서 이하에 더욱 상세하게 설명되는 바와 같은 적어도 그러한 사안들을 대처한다. 실시예는 MTP(media transfer protocol)을 이용하므로, MTP의 간략한 설명이 우선 제공된다.
5. MTP(Media Transfer Protocol )
MTP(Media Transfer Protocol)은 매체 콘텐츠를 USB 또는 IP와 같은 전송 메커니즘들 중 임의의 것을 이용하여 임베드형 디바이스로 전달하기 위한 프로토콜 사양이다. 설명된 실시예들의 동작의 이해를 위해 적절하다고 믿어지는, MTP의 세부사항들만이 본 명세서에서 제공된다. MTP 사양의 보다 세부적인 사항들에 대해서, 독자는 Microsoft Corporation, Redmond, Washington으로부터 이용가능한, "Media Transfer Protocol Enhanced"라는 제목의, 2006년 8월 31일자 수정본 0.96을 참조할 수 있다.
MTP는 관심있는 각각의 엔티티를 객체로서 나타낸다. 모든 객체는 특성들의 소정의 세트와 연관되며, 선택적으로 소정의 데이터와 연관된다. 폴더들, 매체 파일들, 텍스트 파일들, 이진 파일들, 재생 리스트들과 같은 모든 엔티티들은 구별된 특성들의 세트를 갖는 객체들로서 취급된다. 따라서, MTP와 인터페이싱하는 외부 어플리케이션/디바이스는 (블록 레벨 대신에 - 블록은 관심있는 데이터를 최종적으로 저장하는 2차 저장소 상의 저장 단위를 나타냄 - )객체 레벨에서 동작한다. MTP는, MTP가 객체들, 특성들 및 관계들의 관점에서 가상 뷰(virtual view)를 가질 것이지만, 다양한 기본적 파일 시스템들에 의해 지원될 수 있다.
목표 디렉토리로 파일들을 복사하는데 MTP가 이용될 수 있는 방식이 설명을 위한 예들을 이용하여 이하에 설명된다.
6. 목표 디바이스
도 3은 본 발명의 실시예의 목표의 세부사항들을 도시하는 블록도이다. 목 표 시스템(150)은 MTP 인터페이스(310), 사용자 어플리케이션(320), MTP 어플리케이션(330), 메모리(340), 액세스 블록(350), 파일 시스템(370) 및 2차 저장소(390)를 포함하는 것으로 도시된다. 각각의 블록은 이하에 더욱 상세하게 설명된다.
사용자 어플리케이션 블록(320)은, 관심있는 어플리케이션을 함께 지원하는 명령들 및 하드웨어를 나타낸다. 예를 들어, 매체 재생기의 경우, 하드웨어는 재생, 정지, 되감기, 다음 곡 등과 같은 명령들을 제공하도록 눌려질 수 있는 다양한 물리적인 버튼들을 포함할 수 있다. 메모리(340)는 휘발성(임의로 액세스가능한) 유닛들 및 지속성을 갖는 유닛들(persistent units)을 모두 포함할 수 있으므로, 메모리(340)의 일부분은 2차 저장소(390) 내에 집적될 수 있다.
MTP 블록(330)은 전술한 MTP 프로토콜을 구현한다. 본 발명의 여러 양태들 및 임베드형 디바이스로서의 동작에 적절하므로, MTP 블록(330)은 저장되려는 (소스 파일 시스템과 관련된) 엔티티들 각각에 대한 고유한 (객체) 식별자를 생성한다. 또한, MTP 블록(330)은, 도 4와 관련하여 이하에 설명하는 바와 같이, 대응하는 정보를 메모리(340)의 테이블로서 (또한 지속성을 갖는 방식으로) 저장/유지한다.
MTP 블록(330)은 테이블의 정보를 이용하여 소스 디렉토리의 (소스) 이름을 갖는 파일의 객체 식별자를 결정한다. 파일이 액세스될 필요가 있다면, MTP 블록(330)은 액세스 요청을 결정된 객체 식별자와 함께 액세스 블록(350)으로 전달한다. 액세스 블록(350)은 액세스 요청의 성능을 용이하게 한다.
MTP 블록(330)은 또한 특정 엔티티들의 객체 식별자들에 대한 (인가된) 요청 들에 응답하거나, (부모와 같은) 그외의 요청된 정보를 제공할 수 있다. 간결성을 위해서 본 명세서에서는 설명되지 않았지만, MTP 블록(330)은, 전술한 MTP 사양에 설명된 다양한 그외의 특징들을 지원할 수 있다.
MTP 인터페이스(310)는, 경로(152) 상의 외부 디바이스들과 인터페이싱하는 경우, 다양한 물리적, 전기적 및 전송 프로토콜(예를 들어, USB, TCP/IP, LAN) 인터페이스들을 제공한다. 그러한 특징에 기초하여, MTP 인터페이스(310)는 (파일을 저장, 파일을 검색, 엔티티에 대응하는 객체 식별자를 제공하는 등의) 다양한 MTP 관련 트랜잭션 요청들을 수신한다고 가정될 수 있다.
MTP 인터페이스(310)는 사용자 어플리케이션(320)으로부터의 또는 경로(152) 상의 다양한 트랜잭션 요청들(파일을 저장, 파일을 검색)을 더 수신하고, 동일한 요청들을 MTP 어플리케이션(330)으로 전달한다. (일단 MTP 블록(330)으로부터 수신된)응답들은 요청이 수신되는 동일한 경로 상에서 되돌려 보내진다.
2차 저장소(390)는 파일들이 저장되는 비휘발성 메모리를 나타낸다. 비휘발성 메모리는, 자성 메모리(하드 디스크), 플래시 메모리 등과 같은 다양한 기술들을 이용하여 구현될 수 있다. 파일 시스템(370)은 각각의 파일이 2차 저장소에 저장되는 방식을 특정하고, 관련 기술분야에 주지된 다양한 접근법들을 이용하여 구현될 수 있다. 이하에 설명되는 실시예에서, 파일 시스템(370)은 또한 다양한 개인용 컴퓨터 시스템들 상에서 이용가능한 FAT 파일 시스템으로서 구현된다.
액세스 블록(350)은 저장될 파일들의 객체 식별자들을 수신하고, 파일들을 저장하기 위해 도 2와 관련하여 언급된 다양한 동작들을 수행한다. 따라서, 액세 스 블록(350)은 각각의 파일의 위치와 이름을 결정하고 나서, 파일 시스템(370)과 인터페이스하여 파일이 목표 디렉토리의 결정된 위치(서브 디렉토리)에 결정된 이름으로 저장되게 한다.
그리고 나서, 액세스 블록(350)은 파일들의 검색을 허용할 수 있다. 액세스 블록(350)은 전술한 단계(240)의 결정에 대응하는 역 논리(reverse-logic)를 수행함으로써, 고유한 객체 식별자에 기초하여 파일의 특정 위치 및 (목표) 이름을 결정한다. (대응하는 역 논리를 갖는) 다양한 논리들은 관련 기술분야의 당업자에게는 본 명세서에서 제공된 개시내용을 읽음으로써 명백해질 것이다. 일 실시예에서, 액세스 블록(350)의 동작을 설명하기 위해, 그러한 논리의 예를 이용하여 설명이 계속된다.
7. 예시적인 저장
도 4는 본 발명의 일 실시예에서 파일들이 저장되고 검색되는 방식을 도시한다. 설명을 위해, 소스 디렉토리는, 참조번호 410에서 일반적으로 도시되는 바와 같이, (소스 이름들을 갖는) 파일들 및 서브 디렉토리들을 포함한다고 가정한다. 따라서, 음악은 복사되는 소스 디렉토리의 이름을 나타내며, 서브 디렉토리들로서 '아티스트 1' 및 '아티스트 2'를 갖는다. 서브 디렉토리 '아티스트 1'은 1000개의 파일들/노래들을 갖는 것으로 도시된다.
이해될 수 있는 바와 같이, 모든 파일들은 각 이름들에서 실질적으로 겹치는 부분으로서 '테스트'를 가지며, 이것은 전술한 검색에 있어서 비효율성을 나타낼 수 있다. 이하에 설명하는 바와 같이, 파일들은 문제들 중 적어도 일부를 극복하 기 위해 목표 디렉토리로 복사된다.
전술한 바와 같이, MTP는 (MTP의 관점에서) '가상' 파일 시스템을 통해 저장되려는 엔티티 각각에 대해 고유한 객체 식별자를 할당한다. 테이블(420)은 메모리(340)에 저장된 대응하는 정보를 도시한다.
각각의 엔티티에 대응하는 정보는 대응하는 행에 저장되는 것으로 도시된다. 각각의 행은 객체 식별자(OID), 엔티티 이름, 부모 식별자(PID) 및 유형을 갖는다. OID들은, 비록 그외의 특성들을 갖는 숫자들/식별자들이 이용될 수 있으나, 순차적으로 할당되는 것으로 가정한다. 부모 식별자는 소스 디렉토리의 계층의 부모의 객체 식별자를 나타낸다. 따라서, MTP가 (객체 식별자들을 갖는) 단층 구조(flat structure)의 객체들의 뷰를 제공하지만, 정보는 소스 디렉토리의 계층의 재구성을 용이하게 한다.
테이블(420)에서 나타난 객체 식별자들 및 그외의 정보에 기초하여, 액세스 블록(350)은, 이하에 더욱 상세하게 설명되는 바와 같이, 본 발명의 여러 양태들에 따라 파일들의 저장 및 검색을 용이하게 할 수 있다.
액세스 블록(350)은 우선 목표 디렉토리에 이용되는 레벨들의 수 및 최하위 레벨에서의 각각의 서브 디렉토리에 저장되는 파일들의 수를 결정할 수 있다. 실시예에서, 그러한 결정을 위해 이하의 수학식이 이용된다.
16(X+Y) = M
여기서 X는 서브 디렉토리의 레벨을 나타내는데 이용된 니블들(각각은 4비트)의 수를 나타낸다.
Y는 최하위 레벨에서의 서브 디렉토리 당 파일들을 나타내는데 이용된 니블들의 수를 나타낸다.
M은 임베드형 디바이스에 의해 지원되는 MTP 객체들의 최대 수를 나타낸다.
M=64K(=164)라고 가정하면, (X+Y)는 4와 동일할 필요가 있다. 설명을 위해, X=3 및 Y=1이라 가정하면, 16개의 파일들이 최하위 레벨에서의 단일의 서브 디렉토리에 저장될 수 있음이 이해될 것이다.
이제 각각의 객체 식별자가 32비트를 갖도록 설계된다고 가정하면, LSB들 12-15는 서브 디렉토리의 제1 레벨을 명명하기 위해 이용될 수 있고, LSB들 8-11은 제2 레벨을, 그리고 LSB들 4-7은 제3 레벨을 명명하기 위해 이용될 수 있다. 16개의 파일들이 서브 디렉토리의 제3 레벨 각각에 저장될 수 있고 파일의 (목표) 이름은 LSB들 0-3에 기초할 수 있다. 위의 접근법을 이용하여 위의 니블들을 16진수 표기법으로 나타내면, 위치/파일이름은 "$MTPROOT / LSBs[12-15] / LSBs[8-11] / LSBs[4-7] / LSBs[0-3].dat이 될 것이다. 2차 저장소(390)에 저장된 파일들은 예시적인 파일들(430 및 440)로써 도시된다.
설명적인 예에서, 이것은 각각이 16개 이하의 객체들을 갖는, 4개 이하의 레벨들(모든 MTP 콘텐츠가 저장되는 3개의 서브 디렉토리들 + 1개의 루트 디렉토리)의 디렉토리 구조에 걸쳐서 64k의 객체들을 분산시킬 것이다. 예를 들어, 1 내지 16의 RID들을 갖는 16개의 파일들은 이하와 같이 분산된다.
"$MTPROOT / 0 / 0 / 0 / 1.dat
"$MTPROOT / 0 / 0 / 0 / 2.dat
.
.
"$MTPROOT / 0 / 0 / 0 / 15.dat
"$MTPROOT / 0 / 0 / 1 / 1.dat
그러나, 상이한 수의 서브 디렉토리들을 이용하고/하거나 또한 비-가지 서브 디렉토리들(non-leaf sub-directories)에 파일들을 저장하기 위해 대안의 접근법들이 선택될 수 있다. 또한, 위의 접근법/논리는 파일들이 새로운 목표 이름들로 저장되는 방식을 설명하지만, 원해지는 파일을 액세스하기 위해 동일한 논리가 채택될 수 있음이 이해되어야 한다. 사용자 어플리케이션(320)은 액세스되려 하는 파일의 객체 식별자를, 예를 들어, MTP 인터페이스와 인터페이싱함으로써 결정하였음을 우선 가정한다. 그리고 나서, 사용자 어플리케이션(320)은 객체 식별자를 제공함으로써 액세스 블록(350)에게 파일을 요청한다.
대안적으로, 사용자 어플리케이션(320)은 단지 소스 파일 이름만을 제공할 수 있으며, 액세스 블록은 메모리(340)에 저장된 테이블들의 정보에 기초하여 객체 식별자를 결정할 수 있다.
전술한 동일한 접근법을 이용하면, 액세스 블록(350)은 위치 및 목표 파일 이름에 객체 식별자를 맵핑할 수 있다. 그리고 나서, 파일은 결정된 위치 및 파일 이름을 이용하여 액세스된다.
사용자 어플리케이션이 매체 재생기이고, 파일들은 전술한 바와 같이 실질적으로 겹치는 이름들을 갖는 노래들이라 가정하면, 최대 16개 파일들의 이름들만이 비교될 필요가 있을 수 있으므로, 비교의 횟수는 최대 16으로 감소한다. 반대로, 도 4의 '음악/아티스트 1/테스트 1 mp3' 디렉토리의 모든 파일들이 동일한 디렉토리에 저장되었다면, 최악의 경우에 소정의 파일을 위치시키기 위해 1000번의 검색이 요구되었을 수 있다.
성능 비교를 위해서, 파일 시스템(370)은 섹터 크기 512바이트를 갖고, 각각의 섹터가 10개의 이름들을 저장하는 FAT 파일 시스템으로서 구현되며, 도 2에 따라 파일들이 저장되지 않은 경우, 약 100개의 섹터들이 액세스될 필요가 있을 수 있다. 한편, 도 2의 접근법을 이용하는 경우, 원해지는 파일을 액세스하기 전에 최대로 오직 2개의 섹터들만이 액세스될 필요가 있을 수 있다. 원해지는 파일들은 신속하게 배치되고 액세스될 수 있으며, 이에 의해 매체 재생기들의 사용자에 대한 대기 시간을 단축시킨다.
위의 접근법은, 특히 DRM(digital rights management)의 맥락에서 추가적인 보안성을 또한 제공한다. 이해될 수 있는 바와 같이, 파일에 대해 생성된 고유한 식별자에 의해 결정된다는 것 이외에도, 2차 저장소 상의 위치 및 목표 파일 이름이 소스 파일 이름과 상이하다. 따라서, 침입자는, 위의 예에서 저장된 .dat 파일들이 무엇을 나타내는지 신속하게 이해할 수 없을 수 있고, 이에 의해 추가적인 보안성을 제공한다.
단지 설명을 위해, 소스 시스템(110)의 디렉토리의 파일들이 목표 시스템(150)의 또 다른 디렉토리로 복사된다고 가정한다. 그러나, 파일들을 그외의 유형들의 시스템들로부터/시스템들로 그리고 단일 시스템 내에서 복사하는 경우에도 본 발명의 여러 특징들이 구현될 수 있다.
또한, 본 명세서에서 제공된 개시내용을 읽음으로써 관련 기술분야의 당업자에게는 명백할 바와 같이, 본 발명의 여러 특징들은 대응하는 상이한 요건들/문제들을 갖는 그외의 환경들에 대해 구성될 수 있으나, 전술한 문제들/해결책들은 단지 설명적일 뿐이다.
전술한 블록들/특징들은, 하드웨어, 컴퓨터 판독가능한 매체 상에 저장된 실행가능한 모듈들, 또는 양쪽의 결합에 의해 실현될 수 있음을 이해해야 한다. 그러한 특징들/블록들이 구현되는 예시적인 디지털 처리 시스템과 관련하여 설명이 계속된다.
8. 디지털 처리 시스템
도 5는 본 발명의 다양한 양태들이 적절한 소트프웨어 명령들의 실행에 의해 효과를 갖는 디지털 처리 시스템(500)의 세부사항들을 도시하는 블록도이다. 디지털 처리 시스템(500)은 목표 시스템(150)에 응답할 수 있다.
디지털 처리 시스템(500)은 CPU(central processing unit)(510), RAM(random access memory)(520), 2차 메모리(530), 그래픽 제어기(560), 디스플레이 유닛(570), 네트워크 인터페이스(580), 및 입력 인터페이스(590)와 같은 하나 이상의 처리기들을 포함할 수 있다. 디스플레이 유닛(570)을 제외한 모든 구성요소들은, 관련 기술분야에 주지된 바와 같이 여러 버스들을 포함할 수 있는 통신 경로(550)를 통해 서로 통신할 수 있다. 도 5의 구성요소들은 이하에 더욱 상세하게 설명된다.
CPU(510)은 RAM(520)에 저장된 명령들을 실행하여 본 발명의 여러 특징들을 제공할 수 있다. CPU(510)는 다수의 처리 유닛들을 포함할 수 있으며, 각각의 처리 유닛은 잠재적으로 특정 작업을 위해 설계된다. 대안적으로, CPU(510)는 오직 단일의 범용 처리 유닛을 포함할 수 있다. RAM(520)은 통신 경로(550)를 이용하여 2차 메모리(530)로부터 명령들을 수신할 수 있다.
그래픽 제어기(560)는 CPU(510)로부터 수신된 데이터/명령들에 기초하여 디스플레이 유닛(570)에 대해 (예를 들어, RGB 형식으로) 디스플레이 신호들을 생성한다. 디스플레이 유닛(570)은 디스플레이 신호들에 의해 정의된 화상들을 디스플레이하기 위한 디스플레이 화면을 포함한다. 입력 인터페이스(590)는 키보드 및 포인팅 디바이스(예를 들어, 터치 패드, 마우스)에 대응할 수 있으며, (예를 들어, 매체 재생기의 경우에 노래를 재생/정지하는) 입력들을 제공하는데 이용될 수 있다. 네트워크 인터페이스(580)는 (예를 들어, 인터넷 프로토콜을 이용하여) 네트워크로의 접속가능성을 제공하며, 그외의 연결된 시스템들과 통신하는데 이용될 수 있다.
2차 메모리(530)는 하드 드라이브(535), 플래시 메모리(536), 및 착탈식 저장 드라이브(537)를 포함할 수 있다. 2차 메모리(530)는, 디지털 처리 시스템(500)이 본 발명에 따라 여러 특징들을 제공하도록 하는 데이터 및 소프트웨어 명령들을 저장할 수 있다.
데이터 및 명령들 중 일부 또는 전부가 착탈식 저장 유닛(540)에 제공될 수 있으며, 데이터 및 명령들은 착탈식 저장 드라이브(537)에 의해 판독되고 CPU(510)로 제공될 수 있다. 플로피 드라이브, 자기 테이프 드라이브, CD-ROM 드라이브, DVD 드라이브, 플래시 메모리, 착탈식 메모리 칩(PCMCIA 카드, EPROM)은 그러한 착탈식 저장 드라이브(537)의 예들이다.
착탈식 저장 유닛(540)은, 착탈식 저장 드라이브(537)가 데이터 및 명령들을 판독할 수 있도록, 착탈식 저장 드라이브(537)와 호환되는 매체 및 저장 형식을 이용하여 구현될 수 있다. 따라서, 착탈식 저장 유닛(540)은 컴퓨터 소프트웨어 및/또는 데이터를 저장한 컴퓨터 판독가능한 (저장) 매체를 포함한다. 그러나, 컴퓨터 (또는 일반적으로 머신) 판독가능한 매체는 그외의 형태들(예를 들어, 비휘발성, 랜덤 액세스 등)일 수 있다.
이 문서에서, "컴퓨터 프로그램 제품"이라는 용어는 일반적으로 착탈식 저장 유닛(540) 또는 하드 드라이브(535)에 설치된 하드 디스크를 지칭하는데 이용된다. 이들 컴퓨터 프로그램 제품들은 디지털 처리 시스템(500)에 소프트웨어를 제공하는 수단이다. CPU(510)는 소프트웨어 명령들을 검색하고, 전술한 본 발명의 다양한 특징들을 제공하기 위해 명령들을 실행한다.
본 발명의 완전한 이해를 제공하기 위해, 다수의 특정한 세부사항들, 관계들, 및 방법들이 개시되고 있음을 이해해야 한다. 예를 들어, 이 명세서에서 설명된 기능 유닛들 중 다수는 그들의 구현 독립성을 더욱 구체적으로 강조하기 위해 모듈들/블록들로서 명기되었다.
모듈/블록은 맞춤형 VLSI(very large scale integrated) 회로들 또는 게이트 어레이들, 로직 칩들과 같은 기성품 반도체들, 트랜지스터들 또는 그외의 개별 구성요소들을 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈/블록은 또한, FPGA(field programmable gate arrays), PAL(programmable array logic), PLD(programmable logic devices) 등과 같은 프로그램가능한 하드웨어 디바이스들로 구현될 수 있다.
모듈들/블록들은 또한 다양한 유형들의 처리기들에 의한 실행을 위한 소프트웨어로 구현될 수 있다. 예를 들어, 실행가능한 코드의 식별된 모듈은, 예를 들어, 객체, 프로시져, 또는 함수로서 조직화될 수 있는 컴퓨터 명령들의 하나 이상의 물리적 또는 논리적 블록들을 포함할 수 있다. 그럼에도 불구하고, 식별된 모듈 중 실행가능한 것들은 물리적으로 함께 위치될 필요는 없지만, 논리적으로 함께 결합되는 경우, 모듈/블록을 구성하며, 그 모듈/블록에 대해 언급된 목적을 달성하는, 상이한 위치들에 저장된 공통점이 없는 명령들을 포함할 수 있다.
실행가능한 코드의 모듈/블록은 단일 명령, 또는 다수의 명령들일 수 있으며, 심지어 여러 메모리 디바이스들에 걸쳐서, 상이한 프로그램들 중에서, 여러 코드 세그먼트들에 대해 분산될 수도 있음이 이해될 수 있을 것이다. 또한, 단일 모듈/블록에 관하여 설명된 기능성은 다수의 모듈들/블록들에 걸쳐서 나누어질 수 있거나, 대안적으로, 다수의 모듈들/블록들과 관련하여 설명된 기능성은, 본 명세서에서 제공된 개시 내용에 기초하여 당업자에게는 명백할 바와 같이, 하나로 결합 (또는 블록들의 그외의 결합으로)될 수 있다.
마찬가지로, 동작 데이터는 식별될 수 있고 본 명세서에서는 모듈들 내에 도시되며, 임의의 적절한 형식으로 구현될 수 있으며, 임의의 적절한 유형의 데이터 구조 내에서 조직화된다. 동작 데이터는 단일 데이터 세트로서 수집될 수 있거나, 상이한 멤버 디스크들에 걸쳐서 분산되는 것을 포함하여 상이한 위치들에 걸쳐 분산될 수 있고, 적어도 부분적으로는, 시스템 또는 네트워크 상의 전자 신호들로서만 존재할 수 있다.
이 명세서 전체에 걸쳐서 "일 실시예", "실시예", 또는 유사한 언어에 대한 참조는, 실시예와 관련하여 설명된 특정한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 이 명세서 전체에 걸쳐서 구절들의 외양이 "일 실시예에서", "실시예에서" 및 유사한 언어는, 반드시는 아니지만, 모두 동일한 실시예를 지칭한다.
또한, 본 발명의 설명된 특징들, 구조들 또는 특성들은 하나 이상의 실시예들에서 임의의 적절한 방식으로 결합될 수 있다. 이하의 설명에서, 다수의 특정한 세부사항들이 프로그래밍, 소프트웨어 모듈들, 사용자 선택들, 네트워크 트랜잭션들, 데이터베이스 질의들, 데이터베이스 구조들, 하드웨어 모듈들, 하드웨어 회로들, 하드웨어 칩들 등의 예들과 같이 제공되어 본 발명의 실시예들의 완전한 이해를 제공할 수 있다.
9. 결론
본 발명의 다양한 실시예들이 전술되었으나, 그것들은 한정하는 것이 아니 라, 오직 예시로서 나타내었을 뿐임을 이해해야 한다. 따라서, 본 발명의 범위 및 범주는 전술한 예시적인 실시예들 중 임의의 것에 의해 한정되어선 아니 되며, 이하의 특허청구범위 및 그 등가물들에 따라서만 정의되어야 한다.
이하에 간단히 설명된 첨부하는 도면들을 참조하여, 본 발명의 예시적인 실시예들이 설명될 것이다.
도 1은 본 발명의 여러 특징들이 구현될 수 있는 예시적인 환경을 도시하는 블록도이다.
도 2는 본 발명의 실시예에서 소스 디렉토리의 파일들이 목표 디렉토리로 복사될 수 있는 방식을 도시하는 흐름도이다.
도 3은 본 발명의 실시예에서의 디지털 처리 시스템의 구현을 도시하는 블록도이다.
도 4는 실시예에서 각각의 파일에 대해 위치 및 이름이 결정되는 방식을 도시하는 블록도이다.
도 5는 소프트웨어 명령들의 실행에 따라 본 발명의 여러 특징들이 효과를 갖는 예시적인 실시예를 도시하는 블록도이다.
도면들에서, 유사한 숫자들은 일반적으로 동일한, 기능적으로 유사한 및/또는 구조적으로 유사한 구성요소들을 나타낸다. 구성요소가 처음으로 나타나는 도면은 대응하는 참조 번호의 가장 좌측 자리수(들)에 의해 나타내어진다.
<도면의 주요 부분에 대한 부호의 설명>
320: 사용자 어플리케이션
310: MTP 인터페이스
330: MTP 어플리케이션
340: 메모리
350: 액세스 블록
370: 파일 시스템

Claims (20)

  1. 제1 계층을 갖는 제1 디렉토리에 저장된 복수의 파일을 복사하는 방법으로서,
    상기 복수의 파일에 포함된 제1 파일에 대한 고유한 식별자를 형성하는 단계 - 상기 제1 파일은 제1 이름을 갖고, 상기 제1 계층의 제1 위치에 존재함 - ;
    상기 고유한 식별자에 기초하여 제2 계층에서의 제2 이름 및 제2 위치를 결정하는 단계 - 상기 제2 계층은 제2 복수의 레벨을 포함하고, 상기 제2 계층은 상기 제1 계층과 동일하지 않음 - ; 및
    상기 제2 계층의 상기 제2 위치에서 상기 제1 파일을 상기 제2 이름으로 저장하는 단계
    를 포함하는 파일 복사 방법.
  2. 제1항에 있어서,
    상기 복수의 파일 모두가 상기 제2 계층을 갖는 제2 디렉토리에 복사되도록, 상기 복수의 파일 각각을 상기 제1 파일로서 취급하는 동안, 상기 형성하는 단계, 결정하는 단계 및 저장하는 단계를 반복하는 단계를 더 포함하는 파일 복사 방법.
  3. 제2항에 있어서,
    상기 형성하는 단계는,
    상기 복수의 파일 각각을 위해 상기 대응하는 고유한 식별자를 생성하도록 설계된 프로토콜 어플리케이션으로 상기 제1 이름 및 상기 제1 위치를 전송하는 단계; 및
    상기 제1 이름 및 상기 제1 위치에 응답하여 상기 대응하는 고유한 식별자를 수신하는 단계
    를 포함하고,
    상기 결정하는 단계 및 상기 저장하는 단계는 상기 대응하는 고유한 식별자를 수신한 후에 수행되는 파일 복사 방법.
  4. 제3항에 있어서,
    상기 제2 레벨들의 수는, 상기 복수의 파일이 상기 제1 디렉토리에 저장되는 레벨들의 수보다 많은 파일 복사 방법.
  5. 제4항에 있어서,
    상기 복수의 파일 각각에 대하여 상기 대응하는 고유한 식별자를 나타내는 테이블을 유지하는 단계를 더 포함하는 파일 복사 방법.
  6. 제5항에 있어서,
    상기 프로토콜 어플리케이션은 디렉토리들의 이름들과 파일들의 이름들을 수신하고, 상기 디렉토리들의 이름들과 파일들의 이름들 각각에 대하여 상기 대응하 는 고유한 식별자를 제공하도록 설계되며, 상기 유지하는 단계는 상기 테이블의 복수의 행 각각에 유형, 상기 대응하는 고유한 식별자 및 이름을 포함하는 파일 복사 방법.
  7. 제6항에 있어서,
    상기 복수의 파일 각각은 노래를 포함하고, 각각의 노래의 상기 제1 이름은 실질적인 겹치는 부분을 갖고, 상기 복수의 파일 모두는 상기 제1 서브 디렉토리의 단일의 서브 디렉토리에 저장되며, 상기 노래들은 상기 제2 디렉토리의 다수의 서브 디렉토리에 저장되는 파일 복사 방법.
  8. 시스템이 파일들을 저장하고 검색하도록 하는 명령들의 하나 이상의 시퀀스들을 저장하는 컴퓨터 판독가능한 매체로서, 하나 이상의 처리기들에 의한, 상기 명령들의 하나 이상의 시퀀스들의 실행은,
    복수의 파일에 포함된 제1 파일에 대한 고유한 식별자를 형성하는 단계 - 상기 제1 파일은 제1 이름을 갖고, 상기 제1 계층의 제1 위치에 존재함 - ;
    상기 고유한 식별자에 기초하여 제2 계층에서의 제2 이름 및 제2 위치를 결정하는 단계 - 상기 제2 계층은 제2 복수의 레벨을 포함하고, 상기 제2 계층은 상기 제1 계층과 동일하지 않음 - ; 및
    상기 제2 계층의 상기 제2 위치에서 상기 제1 파일을 상기 제2 이름으로 저장하는 단계
    를 시스템이 수행하도록 하는 컴퓨터 판독가능한 매체.
  9. 제8항에 있어서,
    상기 복수의 파일 모두가 상기 제2 계층을 갖는 제2 디렉토리에 복사되도록, 상기 복수의 파일 각각을 상기 제1 파일로서 취급하는 동안, 상기 형성하는 단계, 결정하는 단계 및 저장하는 단계를 반복하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.
  10. 제9항에 있어서,
    상기 형성하는 단계는,
    상기 복수의 파일 각각을 위해 상기 대응하는 고유한 식별자를 생성하도록 설계된 프로토콜 어플리케이션으로 상기 제1 이름 및 상기 제1 위치를 전송하는 단계; 및
    상기 제1 이름 및 상기 제1 위치에 응답하여 상기 대응하는 고유한 식별자를 수신하는 단계
    를 포함하고,
    상기 결정하는 단계 및 상기 저장하는 단계는 상기 대응하는 고유한 식별자를 수신한 후에 수행되는 컴퓨터 판독가능한 매체.
  11. 제10항에 있어서,
    상기 제2 레벨들의 수는, 상기 복수의 파일이 상기 제1 디렉토리에 저장되는 레벨들의 수보다 많은 컴퓨터 판독가능한 매체.
  12. 제11항에 있어서,
    상기 복수의 파일 각각에 대한 상기 대응하는 고유한 식별자를 나타내는 테이블을 유지하는 단계를 더 포함하는 컴퓨터 판독가능한 매체.
  13. 제12항에 있어서,
    상기 프로토콜 어플리케이션은 디렉토리들의 이름들과 파일들의 이름들을 수신하고, 상기 디렉토리들의 이름들과 파일들의 이름들 각각에 대하여 상기 대응하는 고유한 식별자를 제공하도록 설계되며, 상기 유지하는 단계는 상기 테이블의 복수의 행 각각에 유형, 상기 대응하는 고유한 식별자 및 이름을 포함하는 컴퓨터 판독가능한 매체.
  14. 제13항에 있어서,
    상기 복수의 파일 각각은 노래를 포함하고, 각각의 노래의 상기 제1 이름은 실질적으로 겹치는 부분을 갖고, 상기 복수의 파일 모두는 상기 제1 서브 디렉토리의 단일의 서브 디렉토리에 저장되는 컴퓨터 판독가능한 매체.
  15. 디지털 처리 시스템으로서,
    각각이 대응하는 소스 이름 및 대응하는 소스 위치와 연관되는 복수의 파일을 수신하는 인터페이스 - 상기 소스 위치는 상기 파일이 상기 소스 이름으로 저장되는 소스 디렉토리의 서브 디렉토리를 나타냄 - ;
    상기 복수의 파일 각각에 대하여 대응하는 고유한 식별자를 생성하는 제1 어플리케이션 블록;
    상기 복수의 파일 각각에 대해 목표 디렉토리의 대응하는 목표 이름 및 대응하는 목표 위치를 생성하는 액세스 블록 - 상기 목표 위치는 상기 목표 디렉토리의 서브 디렉토리를 식별하고, 상기 액세스 블록은 2차 저장소 상의 대응하는 목표 위치에서 대응하는 목표 이름으로 각각의 파일을 저장함 - ;
    상기 소스 디렉토리의 서브 디렉토리들의 계층은 상기 목표 디렉토리의 서브 디렉토리들의 계층과 동일하지 않은 디지털 처리 시스템.
  16. 제15항에 있어서,
    상기 복수의 파일을 상기 목표 디렉토리에 저장하는 서브 디렉토리들의 수는, 상기 복수의 파일을 상기 제1 디렉토리에 저장하는 서브 디렉토리들의 수보다 많은 디지털 처리 시스템.
  17. 제15항에 있어서,
    상기 제1 어플리케이션 블록은 상기 서브 디렉토리들 및 파일들 각각에 대하여 객체 식별자를 제공하도록 설계되며, 상기 객체 식별자는 상기 대응하는 파일에 대한 고유한 식별자로서 이용되는 디지털 처리 시스템.
  18. 제17항에 있어서,
    상기 목표 위치는 서브 디렉토리들의 세트를 포함하고, 상기 서브 디렉토리들의 세트 각각은 상기 객체 식별자 중 대응하는 것에 의해 결정되며, 상기 목표 이름은 상기 객체 식별자를 포함하는 디지털 처리 시스템.
  19. 제18항에 있어서,
    상기 제1 어플리케이션은 MTP(Media Transfer Protocol)을 구현하도록 설계되는 디지털 처리 시스템.
  20. 제15항에 있어서,
    매체 재생기를 구현하는 사용자 어플리케이션 블록 및 대응하는 노래를 포함하는 상기 복수의 파일 각각을 더 포함하는 디지털 처리 시스템.
KR1020090067005A 2008-07-23 2009-07-22 하나의 디렉토리로부터 또 다른 디렉토리로의 파일 복사 KR101099802B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/178,593 US8738580B2 (en) 2008-07-23 2008-07-23 Copying files from one directory to another
US12/178,593 2008-07-23

Publications (2)

Publication Number Publication Date
KR20100010914A true KR20100010914A (ko) 2010-02-02
KR101099802B1 KR101099802B1 (ko) 2011-12-27

Family

ID=41569579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090067005A KR101099802B1 (ko) 2008-07-23 2009-07-22 하나의 디렉토리로부터 또 다른 디렉토리로의 파일 복사

Country Status (4)

Country Link
US (1) US8738580B2 (ko)
JP (1) JP5062909B2 (ko)
KR (1) KR101099802B1 (ko)
TW (1) TWI528194B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077378A (zh) * 2014-06-23 2014-10-01 广东新支点技术服务有限公司 Mtp文件系统优化方法和装置
JP6327028B2 (ja) * 2014-07-14 2018-05-23 日本電気株式会社 オブジェクトストレージシステムおよびその制御方法およびその制御プログラム
CN104199894A (zh) * 2014-08-25 2014-12-10 百度在线网络技术(北京)有限公司 一种文件扫描方法及装置
US20200192872A1 (en) * 2018-12-13 2020-06-18 Zoox, Inc. Device message framework
CN113127419B (zh) * 2019-12-30 2023-09-22 腾讯科技(深圳)有限公司 文件检出方法、装置、计算机设备及存储介质
CN111666257B (zh) * 2020-06-03 2024-03-19 中国建设银行股份有限公司 一种文件分片存储的方法、装置、设备和存储介质
CN111984300B (zh) * 2020-09-08 2024-01-23 网易(杭州)网络有限公司 代码复制方法及装置、电子设备和计算机可读存储介质
CN114172897B (zh) * 2021-12-09 2023-08-25 西安邮电大学 一种PC端和Android端文件传输方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295261A (en) * 1990-07-27 1994-03-15 Pacific Bell Corporation Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure
CA2110243C (en) * 1992-12-31 1998-08-11 Philip Steven Winterbottom Apparatus and methods for making a portion of a first name space available as a portion of a second name space
JP2000207264A (ja) 1999-01-19 2000-07-28 Canon Inc バックアップ方法およびリストア方法
JP2001346135A (ja) 2000-06-01 2001-12-14 Nikon Gijutsu Kobo:Kk デジタルプリントの注文・作成方法及び装置、並びに画像データの管理方法
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
JP2002268931A (ja) 2001-03-13 2002-09-20 Casio Comput Co Ltd ファイル管理装置及びそのプログラム
US7062490B2 (en) 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
JP2003016250A (ja) * 2001-06-28 2003-01-17 Pioneer Electronic Corp 顧客検索装置及びシステム並びに方法
GB0225789D0 (en) * 2002-03-25 2002-12-11 Makemyphone Ltd Method and apparatus for creating image production file for a custom imprinted article
JP3789842B2 (ja) 2002-03-28 2006-06-28 エヌ・ティ・ティ・コムウェア株式会社 コンテンツのセキュリティ機能付き管理方法およびセキュリティ機能付きコンテンツ管理装置
JP4777651B2 (ja) 2002-08-23 2011-09-21 イグジット−キューブ,インク. コンピュータシステム及びデータ保存方法
US7587422B2 (en) * 2003-04-24 2009-09-08 Neopath Networks, Inc. Transparent file replication using namespace replication
US7403769B2 (en) * 2004-03-23 2008-07-22 Nokia Corporation System and method for music synchronization in a mobile device
US7984372B2 (en) * 2004-04-28 2011-07-19 Research In Motion Limited Markup language element to provide label for stored URI
US7774326B2 (en) * 2004-06-25 2010-08-10 Apple Inc. Methods and systems for managing data
JP2006260176A (ja) 2005-03-17 2006-09-28 Ex's Annex:Kk 機密文書管理方法及び機密文書管理システム
JP2007079685A (ja) 2005-09-12 2007-03-29 Hitachi Software Eng Co Ltd ファイル共用管理システム
JP2007148739A (ja) 2005-10-25 2007-06-14 Mitsubishi Materials Corp ファイル管理システム及びそのプログラム
US7827208B2 (en) * 2006-08-11 2010-11-02 Facebook, Inc. Generating a feed of stories personalized for members of a social network
JP2007310603A (ja) 2006-05-18 2007-11-29 Fuji Xerox Co Ltd 文書処理装置及び文書処理プログラム
TWI361625B (en) 2006-10-04 2012-04-01 Mediatek Inc Multimedia management and playback apparatus
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites

Also Published As

Publication number Publication date
US8738580B2 (en) 2014-05-27
KR101099802B1 (ko) 2011-12-27
JP2010044753A (ja) 2010-02-25
TWI528194B (zh) 2016-04-01
TW201022970A (en) 2010-06-16
JP5062909B2 (ja) 2012-10-31
US20100023563A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
KR101099802B1 (ko) 하나의 디렉토리로부터 또 다른 디렉토리로의 파일 복사
US9785370B2 (en) Method and system for automatically preserving persistent storage
US8335890B1 (en) Associating an identifier with a content unit
JP4648723B2 (ja) データ価値に基づく階層型ストレージ管理の為の方法と装置
JP5886447B2 (ja) ロケーション非依存のファイル
JP2004310621A (ja) 記憶装置システムにおけるファイルアクセス方法及びファイルアクセスのためのプログラム
US20080109908A1 (en) Reverse Name Mappings In Restricted Namespace Environments
JP2005502096A5 (ko)
MX2008011916A (es) Descripcion y consulta de regiones separadas de almacenamiento flash.
US20020184184A1 (en) Virtual file system for dynamically-generated web pages
US20170220586A1 (en) Assign placement policy to segment set
CN104778192A (zh) 表示可内容寻址存储系统的目录结构
AU2018318401A1 (en) Thin provisioning virtual desktop infrastructure virtual machines in cloud environments without thin clone support
JP2012531688A (ja) メタデータに従ってファイルシステムのファイルにアクセスする方法、およびその方法を実装する装置
US9177034B2 (en) Searchable data in an object storage system
US8478755B2 (en) Sorting large data sets
JP2011215835A (ja) 全文検索機能を備えるストレージ装置
US20080027870A1 (en) Method and apparatus for managing license
CN111480155A (zh) 在文件系统中处理字母大小写的技术
US8375071B2 (en) File management information storage apparatus and method and program for controlling the same
US11379408B2 (en) Pointer-based dynamic data structures in key-value stores
US20090210617A1 (en) Multi-level volume table of contents
US20200019539A1 (en) Efficient and light-weight indexing for massive blob/objects
US8909875B1 (en) Methods and apparatus for storing a new version of an object on a content addressable storage system
US7412450B1 (en) Method and apparatus for identifying tampering of data in a file system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171211

Year of fee payment: 7