KR102438329B1 - 가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체 - Google Patents

가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체 Download PDF

Info

Publication number
KR102438329B1
KR102438329B1 KR1020200098381A KR20200098381A KR102438329B1 KR 102438329 B1 KR102438329 B1 KR 102438329B1 KR 1020200098381 A KR1020200098381 A KR 1020200098381A KR 20200098381 A KR20200098381 A KR 20200098381A KR 102438329 B1 KR102438329 B1 KR 102438329B1
Authority
KR
South Korea
Prior art keywords
identifier
virtual
file
user
folder
Prior art date
Application number
KR1020200098381A
Other languages
English (en)
Other versions
KR20220018186A (ko
Inventor
조정현
오정문
이병주
Original Assignee
주식회사 파수
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 파수 filed Critical 주식회사 파수
Priority to KR1020200098381A priority Critical patent/KR102438329B1/ko
Priority to US17/370,891 priority patent/US11625365B2/en
Publication of KR20220018186A publication Critical patent/KR20220018186A/ko
Application granted granted Critical
Publication of KR102438329B1 publication Critical patent/KR102438329B1/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/18File system types
    • G06F16/188Virtual file systems
    • G06F16/192Implementing virtual folder structures
    • 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/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • 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/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/178Techniques for file synchronisation in file systems
    • 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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

본 개시는, 가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체로, 객체를 구분하는 객체 식별자를 획득하는 단계, 상기 객체는 가상 파일 또는 가상 폴더 중 적어도 하나를 포함함; 및 상기 획득한 객체 식별자를 기초로, 상기 객체를 획득하는 객체 획득 단계를 포함할 수 있다.

Description

가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체 {METHOD FOR MANAGING VIRTUAL FILE, APPARATUS FOR THE SAME, COMPUTER PROGRAM FOR THE SAME, AND RECORDING MEDIUM STORING COMPUTER PROGRAM THEREOF}
본 개시는 적어도 하나의 가상 파일을 보여주는 가상 폴더 화면을 생성하고, 상기 적어도 하나의 가상 파일 중 상기 생성된 가상 폴더 화면을 기초로 수정 요청된 가상 파일을 수정하는 가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체에 대한 것이다.
종래에는, 사용자(단말) 또는 서버가 실제 파일에 접근하기 위해서는, 서버 저장공간에 저장된 실제 파일에 접근하거나, 서버로부터 복사된 사용자(단말)의 저장공간에 실제 파일에 접근해야 했다.
전자의 경우, 다수의 사용자(단말)가 서버의 저장 공간을 이용할 경우 사용자(단말) 및 서버 사이에 충돌 문제가 발생할 수 있고, 서버의 과부하 문제도 발생할 수 있다.
후자의 경우, 각각의 사용자(단말)마다 새로운 저장공간을 할당해야 하므로 저장공간의 낭비가 초래되는 문제가 발생할 수 있고, 각각의 사용자(단말)의 파일과 서버의 파일을 일률적으로 관리할 수 없는 문제도 발생할 수 있다.
또한, 종래에는, 각각의 사용자(단말) 또는 서버가 실제 파일을 수정할 경우, 새로운 파일이 무분별하게 생성되어 저장공간의 낭비 및 관리가 어려운 문제가 발생할 수 있다.
이에 본 개시에서는 파일(실제 파일, 가상 파일)을 관리하기 위해서, 가상 폴더를 이용하여 데이터 저장 공간의 낭비를 줄이며, 가상 폴더 내 가상 파일 수정시 실제 파일이 수정되게 하여 파일을 일률적으로 관리하고자 한다.
또한, 가상 파일과 실제 파일이 하나의 파일 고유 식별자를 사용하므로, 수정 권한 있는 사용자(단말) 또는 서버에 의해 가상 파일 또는 실제 파일이 수정되는 경우, 동일한 파일 고유 식별자를 가지는 가상 파일 및 실제 파일 모두를 수정하여, 파일을 일률적 및 효율적으로 관리하고, 무분별한 파일 생성을 방지하고자 한다.
가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체는, 객체를 구분하는 객체 식별자를 획득하는 단계, 상기 객체는 가상 파일 또는 가상 폴더 중 적어도 하나를 포함함; 및 상기 획득한 객체 식별자를 기초로, 상기 객체를 획득하는 객체 획득 단계를 포함하고, 상기 객체 획득 단계는, 상기 객체의 객체 식별자와 상기 획득한 객체 식별자를 비교하여 수행되고, 및 상기 객체 식별자는, 상기 객체 식별자를 가지는 객체의 가상 경로일 수 있다.
가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 객체 식별자가 가지는 객체를 포함하는 상위 구조의 객체가 없는 경우, 상기 가상 경로는, 상기 객체 식별자가 가지는 객체의 명칭일 수 있다.
가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 객체 식별자가 가지는 객체를 포함하는 상위 구조의 객체가 있는 경우, 상기 가상 경로는, 상기 객체 식별자를 가지는 객체의 명칭, 상기 상위 구조의 객체의 명칭, 및 상기 객체 식별자를 가지는 객체 및 상기 상위 구조의 객체 간의 관계를 포함할 수 있다.
가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 획득한 객체를 기초로 가상 폴더 화면을 생성하는 화면 생성 단계; 및 상기 생성된 가상 폴더 화면을 기초로, 수정 요청된 가상 파일을 수정하는 가상 파일 수정 단계를 더 포함할 수 있다.
가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 가상 파일 수정 단계는, 상기 수정 요청된 가상 파일과 동일한 파일 고유 식별자를 가진 실제 파일 또는 가상 파일을 상기 수정 요청된 가상 파일과 동일하게 수정하는 것을 더 포함할 수 있다.
가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 가상 파일 수정 단계는, 상기 수정 요청된 가상 파일의 파일 고유 식별자를 상기 파일 고유 식별자와 다른 파일 고유 식별자로 변경하는 것을 더 포함할 수 있다.
가상 파일 관리 방법, 장치, 및 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 수정 요청된 가상 파일을 포함하는 가상 폴더를 수정하는 가상 폴더 수정 단계를 더 포함할 수 있다.
본 개시에서는 가상 폴더 및 가상 파일을 이용하여 다중 사용자간 문서 공유를 제공함으로써, 개별 사용자를 위한 공유 문서의 신규 생성이나 버전 관리 등의 부가적인 문서 관리 프로세스없이 문서 접근을 일률적으로 관리할 수 있다. 문서의 변경 내용은 실제 파일에 저장되고 사용자는 해당 변경 내용을 가상파일을 통해서도 실시간으로 확인할 수 있다.
본 개시에서는, 가상 폴더와 가상 파일을 개별 사용자의 사용 권한에 따라 제한적으로 인터페이스를 구성함으로써 권한이 없는 사용자의 접근을 원천적으로 봉쇄함과 동시에 실제 문서의 변경 시점을 사용자 식별자와 함께 보관함으로써 문서 보안 기능을 강화한다.
본 개시에서는 파일 고유 식별자를 포함한 가상 파일을 사용함으로써, 문서 공유 시 무분별한 실제 파일이 생성되는 것을 방지하고, 물리적 저장 공간을 효율적으로 관리할 수 있다.
도 1는 가상 폴더와 가상 폴더 객체 식별자의 제1 실시예를 나타낸 도면이다.
도 2는 가상 폴더와 가상 폴더 객체 식별자의 제2 실시예를 나타낸 도면이다.
도 3은 가상 폴더의 객체 식별자와 연결된 사용자 식별자 리스트에 대한 예를 도시한다.
도 4는 가상 파일의 객체 식별자와 연결된 사용자 식별자 리스트 및 실제 파일의 파일 고유 식별자와 연결된 사용자 식별자 리스트에 대한 예를 도시한다.
도 5는 가상 파일 관리 방법을 도시한 도면이다.
도 6은 가상 폴더 화면 생성 단계를 도시한 도면이다.
도 7는 가상 폴더들 간의 구조를 고려하여 생성되는 가상 폴더의 화면의 예를 도시한다.
도 8은 가상 폴더들 간의 구조를 고려하지 않고 생성되는 가상 폴더의 화면의 예를 도시한다.
도 9는 가상 파일 수정 단계를 도시한 도면이다.
도 10은 가상 폴더 수정 단계를 도시한 도면이다.
도 11은 가상 파일 관리 장치를 도시한 도면이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 개시의 실시예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙인다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계 뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들 간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시예에서의 제1 구성요소는 다른 실시예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시예에서의 제2 구성요소를 다른 실시예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위한 것이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시예도 본 개시의 범위에 포함된다. 또한, 다양한 실시예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시예도 본 개시의 범위에 포함된다.
1. 개념 정의
(1) 실제 파일, 가상 파일, 가상 폴더
실제 파일은, 실제 서버, 단말 또는 시스템 등의 저장공간의 물리적 위치에 저장된 파일을 포함할 수 있다.
가상 파일은, 실제 물리적 공간이 할당되지 않고, 가상 폴더에 저장되며 실제 파일과 연결된 파일일 수 있다. 상기 연결과 관련하여, 하나의 실제 파일은 하나 이상의 가상 파일과 연결될 수 있다.
가상 폴더는, 실제 물리적 공간이 할당되지 않고, 다른 가상 폴더(예, 하위 구조(또는 계층)의 가상 폴더) 또는 가상 파일을 포함하며, 가상 폴더 내 다른 가상 폴더 또는 가상 파일을 공유, 조작, 또는 검색 등 다양한 기능을 수행할 수 있는 공간일 수 있다.
(2) 파일 고유 식별자
파일 고유 식별자는 실체 파일을 구분하기 위한 식별자 일 수 있다. 또한, 파일 고유 식별자는 데이터베이스의 키 데이터가 될 수 있다. 즉, 파일 고유 식별자를 이용하여 데이터베이스로부터 해당 실제 파일에 관한 데이터(예, 사용자 식별자 리스트)들을 획득할 수 있다.
파일 고유 식별자는 파일에 저장되거나, 데이터베이스에 저장될 수 있다. 데이터베이스에 저장된 경우, 파일에는 파일 고유 식별자를 지시하는 정보를 저장할 수 있다. 이 경우, 파일 고유 식별자를 지시하는 정보를 이용하여, 데이터베이스로부터 파일 고유 식별자를 얻을 수 있다.
파일 고유 식별자는 실제 파일 생성시에 생성될 수 있다. 또한, 파일 고유 식별자는 실제 파일 또는 가상 파일의 복사, 이동, 또는 변경시 선택적으로 종전 파일 고유 식별자와 다르게 생성될 수 있다.
파일 고유 식별자는 실제 파일에 대한 다양한 정보(종류, 작성일자, 작성자 등)를 포함할 수 있다. 예를 들면, 파일 고유 식별자가 P20200714FASOO인 경우, P는 실제 파일의 종류가 PDF 파일인 것을, 20200714는 작성일자가 2020-07-14일 인 것을, 및 FASOO는 작성자가 FASOO인 것을 나타낼 수 있다. 이와 같이, 실제 파일의 파일 고유 식별자가 실제 파일의 정보를 포함하고 있는 경우, 상기 파일의 정보는 파일 고유 식별자로부터 직접 얻을 수 있으므로, 상기 파일의 정보를 얻기 위한 데이터베이스로부터 실제 파일에 대한 데이터를 불러오는 과정은 생략될 수 있다.
다만, 파일 고유 식별자가 실제 파일에 대한 다양한 정보를 포함하고 있는 경우, 보안상의 문제가 생길 수 있다. 따라서, 허용되지 않은 파일 고유 식별자에 대한 접근을 제어 또는 통제하거나, 허용되지 않은 파일 고유 식별자에 대한 접근이 있는 경우 파일 고유 식별자를 암호화하여, 상기 보안상의 문제를 보완할 수 있다.
일 예로, 파일 고유 식별자와 연결된 사용자 리스트에 포함되지 않은 사용자 식별자를 가지는 사용자(또는 단말)은 해당 파일 고유 식별자에 접근 권한이 없거나, 해당 파일 고유 식별자가 암호화된 상태로 표시될 수 있다.
(3) 객체 식별자
객체 식별자는, 객체를 구분하기 위한 식별자일 수 있다. 여기서, 객체는 가상 폴더 및 가상 파일을 포함할 수 있다. 객체 식별자는 데이터베이스의 키 데이터가 될 수 있다. 즉, 객체 식별자를 이용하여 데이터베이스로부터 해당 객체에 관한 데이터들을 획득할 수 있다.
객체 식별자는 객체에 저장되거나, 데이터베이스에 저장될 수 있다. 데이터베이스에 저장된 경우, 객체에는 객체 식별자를 지시하는 정보를 저장할 수 있다. 이 경우, 객체 식별자를 지시하는 정보를 이용하여, 데이터베이스로부터 객체 식별자를 얻을 수 있다.
객체 식별자는 객체 생성시에 생성될 수 있다. 또한, 객체 식별자는 객체의 복사, 이동, 또는 변경시 종전 객체 식별자와 다르게 생성될 수 있다.
도 1는 가상 폴더와 가상 폴더 객체 식별자의 제1 실시예를 나타낸 도면이다.
도 1(a)을 참조하면, 가상 폴더는 구조(또는 계층)를 가질 수 있다. 제1 계층에는 가상 폴더 'C'가 있고, 제2 계층에는 가상 폴더 'C'에 속하는 가상 폴더 'Temp' 및 '랩소디'가 있고, 제3 계층에는 제2 계층의 가상 폴더 'Temp'에 속하는 가상 폴더 '랩소디' 및 제2 계층의 가상 폴더 '랩소디'에 속하는 가상 폴더 'Temp'가 있을 수 있다.
제1 실시예에 있어서, 객체 식별자는 상기 객체 식별자를 구성하는 하나의 요소를 포함할 수 있다. 또한, 객체 식별자는 상기 객체 식별자를 구성하는 복수 개의 요소 및 상기 복수 개의 요소들 간의 관계를 포함할 수 있다. 여기서, 상기 요소는 상기 객체 식별자를 가지는 객체(제1 객체)의 명칭을 포함하고, 상기 객체 식별자를 구성하는 요소가 복수 개인 경우 추가로 상기 객체(제1 객체)를 포함하는 상위 구조(또는 계층)의 객체(제2 객체)의 명칭을 포함하며, 상기 관계는 상기 객체들(제1 객체 및 제2 객체)의 구조(또는 계층)를 기초로 결정될 수 있다. 여기서, 상위 구조의 범위는 바로 위 상위 구조 또는 모든 상위 구조 등을 포함할 수 있다.
도 1(b)를 참조하면, 제2 계층의 가상 폴더 'Temp'의 경우, 상기 가상 폴더의 객체 식별자를 구성하는 요소는, 상기 가상 폴더의 명칭 'Temp' 및 상기 가상 폴더를 포함하는 상위 계층의 가상 폴더의 명칭 'C'를 포함할 수 있다. 이때, 상기 구성 요소들 간의 관계는 가상 폴더 'C'와 가상 폴더 'Temp'의 관계(가상 폴더 'Temp'는 가상 폴더 'C'에 속하는 하위 계층)를 기초로 결정될 수 있다. 이에 따라, 제2 계층의 가상 폴더 'Temp'의 객체 식별자는 'Temp'가 될 수 있다.
이와 달리, 제3 계층의 가상 폴더 'Temp'의 경우, 상기 가상 폴더의 객체 식별자를 구성하는 요소는, 상기 가상 폴더의 명칭 'Temp' 및 상기 가상 폴더를 포함하는 상위 계층의 가상 폴더의 명칭 'C' 및 '랩소디'를 포함할 수 있다. 이때, 상기 구성 요소들 간의 관계는 가상 폴더 'C' 및 '랩소디'와 가상 폴더 'Temp'의 관계(가상 폴더 'Temp'는 제2 계층의 가상 폴더 '랩소디'에 속하는 하위 계층, 제2 계층의 가상 폴더 '랩소디'는 제1 계층의 가상 폴더 'C'에 속하는 하위 계층)를 기초로 결정될 수 있다. 이에 따라, 제3 계층의 가상 폴더 'Temp'의 객체 식별자는 'C\랩소디\Temp'가 될 수 있다.
도 2는 가상 폴더와 가상 폴더 객체 식별자의 제2 실시예를 나타낸 도면이다.
도 2(a)을 참조하면, 가상 폴더는 구조(또는 계층)를 가질 수 있다. 제1 계층에는 가상 폴더 'C'가 있고, 제2 계층에는 가상 폴더 'C'에 속하는 가상 폴더 'Temp' 및 'Work'가 있고, 제3 계층에는 제2 계층의 가상 폴더 'Temp'에 속하는 가상 폴더 '랩소디'가 있을 수 있다.
제2 실시예에 있어서, 객체 식별자는 상기 객체 식별자를 구성하는 하나의 요소를 포함할 수 있다. 여기서, 상기 요소는 상기 객체 식별자를 가지는 객체의 명칭을 포함할 수 있다. 여기서, 상기 객체의 명칭은 다른 객체의 명칭과 중복될 수 없다. 즉, 객체(가상 폴더 및 가상 파일)들의 각각의 명칭은 모두 상이하므로, 하나의 객체 식별자 구성 요소를 포함하는 객체 식별자를 이용하면, 각각의 객체들을 구분할 수 있다.
도 2(b)를 참조하면, 제2 계층의 가상 폴더 'Temp'의 경우, 상기 가상 폴더의 객체 식별자를 구성하는 요소는, 상기 가상 폴더의 명칭 'Temp'를 포함할 수 있다. 이때, 상기 구성 요소와 다른 구성 요소 간의 관계는 고려하지 않으므로, 제2 계층의 가상 폴더 'Temp'의 객체 식별자는 'C\Temp'가 될 수 있다.
제3 계층의 가상 폴더 '랩소디'의 경우, 상기 가상 폴더의 객체 식별자를 구성하는 요소는, 상기 가상 폴더의 명칭 '랩소디'를 포함할 수 있다. 이때, 상기 구성 요소와 다른 구성 요소 간의 관계는 고려하지 않으므로, 제3 계층의 가상 폴더 '랩소디'의 객체 식별자는 '랩소디'가 될 수 있다.
이하, 설명의 편의를 위해, 제1 실시예의 객체 식별자의 경우를 기준으로 설명한다. 다만, 이는 제2 실시예의 객체 식별자의 경우에도 적용될 수 있다.
(4) 파일 고유 식별자와 객체 식별자의 관계
객체 식별자는, 가상 폴더의 객체 식별자 및 가상 파일의 객체 식별자를 포함할 수 있다.
가상 파일의 객체 식별자는 데이터베이스를 통해 가상 파일에 대응되는 실제 파일의 파일 고유 식별자와 연결될 수 있다. 그 결과, 가상 파일은 실제 파일과 연결될 수 있다.
또한, 하나의 파일 고유 식별자는 데이터베이스를 통해 복수 개의 가상 파일의 객체 식별자와 연결될 수 있다. 그 결과, 하나의 실제 파일은 복수 개의 가상 파일에 연결될 수 있다.
그러므로, 가상 파일을 수정할 경우, 가상 파일과 파일 고유 식별자를 통해 연결된 다른 가상 파일 및 실제 파일이 수정될 수 있다. 이와 마찬가지로, 실제 파일을 수정할 경우, 실제 파일과 연결된 모든 가상 파일이 수정될 수 있다.
(5) 사용자 식별자
사용자(단말) 또는 서버를 구분하기 식별자일 수 있다. 또한, 사용자 식별자는 데이터베이스의 키 데이터가 될 수 있다. 즉, 사용자 식별자를 이용하여 데이터베이스로부터 해당 사용자(단말) 또는 서버에 관한 데이터들을 획득할 수 있다.
사용자 식별자는 사용자(단말) 또는 서버에 저장되거나, 데이터베이스에 저장될 수 있다. 데이터베이스에 저장된 경우, 사용자(단말) 또는 서버는 사용자 식별자를 지시하는 정보를 저장할 수 있다. 이 경우, 사용자 식별자를 지시하는 정보를 이용하여, 데이터베이스로부터 사용자 식별자를 얻을 수 있다.
사용자 식별자는 사용자(단말) 또는 서버 등록시에 생성될 수 있다
사용자 식별자는 사용자(단말) 또는 서버에 대한 다양한 정보(IP, 네트워크, 사용자 권한 등급 등)를 포함할 수 있다. 예를 들면, 사용자 식별자가 1-123123123123-A인 경우, 사용자(단말) 또는 서버는 제1 네트워크에 속하며, IP 123.123.123.123을 가지며, 사용자 권한 등급은 A인 것을 나타낼 수 있다. 이와 같이, 사용자(단말) 또는 서버의 사용자 식별자가 사용자(단말) 또는 서버의 정보를 포함하고 있는 경우, 상기 사용자(단말) 또는 서버에 대한 정보는 사용자 식별자로부터 직접 얻을 수 있으므로, 상기 사용자(단말) 또는 서버에 대한 정보를 얻기 위한 데이터베이스로부터 대한 데이터를 불러오는 과정은 생략될 수 있다.
다만, 사용자 식별자가 다양한 정보를 포함하고 있는 경우, 개인 정보 유출 등의 문제가 생길 수 있다. 따라서, 허용되지 않은 사용자 식별자에 대한 접근을 제어 또는 통제하거나, 허용되지 않은 사용자 식별자에 대한 접근이 있는 경우 사용자 식별자를 암호화하여, 상기 문제를 보완할 수 있다.
(6) 사용자 식별자 리스트
사용자 식별자 리스트는, 파일 고유 식별자 또는 객체 식별자에 연결될 수 있다.
상기 연결은, 파일 고유 식별자 또는 객체 식별자에 사용자 식별자 리스트가 직접 포함되어 연결되는 경우를 포함할 수 있다. 또한, 상기 연결은 파일 고유 식별자 또는 객체 식별자가 데이터베이스를 통해 사용자 식별자 리스트와 간접적으로 연결되는 경우를 포함할 수 있다.
파일 고유 식별자와 연결된 사용자 식별자 리스트는, 해당 사용자 식별자 리스트와 연결된 파일 고유 식별자를 가지는 실제 파일 또는 상기 파일 고유 식별자와 연결된 가상 파일의 읽기/쓰기 권한을 결정하는 요소가 될 수 있다.
객체 식별자와 연결된 사용자 식별자 리스트는, 해당 사용자 식별자 리스트와 연결된 객체 식별자를 가지는 객체의 읽기/쓰기 권한을 결정하는 요소가 될 수 있다.
또한, 사용자 식별자 리스트를 이용하면, 데이터베이스를 통해 사용자 식별자는 파일 고유 식별자 또는 객체 식별자와 연결될 수 있다. 예를 들어, 사용자 식별자가 A인 경우, 사용자 식별자 리스트는 파일 고유 식별자 또는 객체 식별자와 연결되어 있으므로, 사용자 식별자 A는 A를 포함하는 사용자 식별자 리스트를 가지는 파일 고유 식별자 또는 객체 식별자와 연결될 수 있다.
(7) 읽기/쓰기 권한
권한에는 읽기 권한, 쓰기 권한, 읽기 및 쓰기 권한이 있을 수 있다. 예를 들어, 읽기 권한을 가진 사용자(단말) 또는 서버는 권한 대상의 읽기만 가능하고, 쓰기 권한을 가진 사용자(단말) 또는 서버는 권한 대상의 쓰기만 가능하다.
본 개시에서는, 설명의 편의상, 읽기 또는 쓰기 중 적어도 하나를 포함하는 것을 '읽기/쓰기'로 표현한다. 이에 따라, 읽기/쓰기 권한은 읽기 또는 쓰기 중 적어도 하나의 권한을 가지는 것을 말할 수 있다.
읽기/쓰기 권한은 사용자 식별자 리스트에 의해 결정될 수 있다.
사용자(단말) 또는 서버의 사용자 식별자가 가상 폴더의 객체 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 상기 객체 식별자를 포함하는 가상 폴더에 대한 읽기/쓰기 권한을 가질 수 있다.
도 3은 가상 폴더의 객체 식별자와 연결된 사용자 식별자 리스트에 대한 예를 도시한다.
도 3를 참조하면, 가상 폴더 'C'의 객체 식별자는 'C'이고, 가상 폴더 'Temp'의 객체 식별자는 'C\Temp이고, 가상 폴더 '랩소디'의 객체 식별자는 'C\Temp\랩소디'일 수 있다. 또한, 객체 식별자 'C'의 사용자 식별자 리스트는 2개의 사용자 식별자 'A' 및 'B'를 가지고, 객체 식별자 'C\Temp'의 사용자 식별자 리스트는 2개의 사용자 식별자 'A' 및 'B'를 가지고, 객체 식별자 'C\Temp\랩소디'의 사용자 식별자 리스트는 2개의 사용자 식별자 'A' 및 'D'를 가질 수 있다.
제1 실시예는, 사용자(단말) 또는 서버는, 상기 사용자(단말) 또는 서버의 사용자 식별자가 객체 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 객체 식별자를 가지는 객체에 대한 읽기/쓰기 권한을 가질 수 있다.
도 3을 참조하면, 사용자 식별자 'A'를 가지는 사용자(단말) 또는 서버는, 객체 식별자 'C', 'C\Temp', 및 'C\Temp\랩소디'의 사용자 식별자 리스트에 사용자 식별자 'A'가 포함되어 있으므로, 상기 각각의 객체 식별자를 가지는 가상 폴더 'C', 'Temp', 및 '랩소디'에 대한 읽기/쓰기 권한을 가질 수 있다.
이와 달리, 사용자 식별자 'B'를 가지는 사용자(단말) 또는 서버는, 객체 식별자 'C' 및 'C\Temp'의 사용자 식별자 리스트에만 사용자 식별자 'B'가 포함되어 있으므로, 객체 식별자 'C'를 가지는 가상 폴더 'C' 및 객체 식별자 'C\Temp'를 가지는 가상 폴더 'Temp'에 대한 읽기/쓰기 권한은 가지나, 객체 식별자 'C\Temp\랩소디'를 가지는 가상 폴더 '랩소디'에 대한 읽기/쓰기 권한을 가지지는 않는다.
제2 실시예는, 사용자(단말) 또는 서버는, 상기 사용자(단말) 또는 서버의 사용자 식별자가 객체 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 객체 식별자를 가지는 객체 및 가상 경로 상에 있어서 상기 객체의 상위 구조(또는 계층)에 있는 객체에 대한 읽기/쓰기 권한을 가질 수 있다.
도 3을 참조하면, 사용자 식별자 'D'를 가지는 사용자(단말) 또는 서버는, 객체 식별자 'C\Temp\랩소디'를 가지는 가상 폴더 '랩소디'에 대한 읽기/쓰기 권한을 가짐은 물론, 가상 경로 상에 있어서 객체 식별자 'C\Temp\랩소디'를 가지는 객체의 상위 구조(또는 계층)에 있는 가상 폴더 'C' 및 'Temp'에 대한 읽기/쓰기 권한도 가질 수 있다.
제3 실시예는, 사용자(단말) 또는 서버는, 상기 사용자(단말) 또는 서버의 사용자 식별자가 제1 객체 식별자의 사용자 식별자 리스트에 포함되고, 가상 경로 상에 있어서 상기 제1 객체 식별자를 가지는 객체의 상위 구조(또는 계층)에 있는 가상 폴더가 가지는 제2 객체 식별자의 객체 식별자 리스트에 상기 사용자 식별자가 있는 경우만, 상기 제1 객체 식별자를 가지는 객체에 대한 읽기/쓰기 권한을 가질 수 있다. 여기서, 상위 구조의 범위는 바로 위 상위 구조 또는 모든 상위 구조 등을 포함할 수 있다.
도 3을 참조하면, 사용자 식별자 'D'를 가지는 사용자(단말) 또는 서버는, 객체 식별자 'C\Temp\랩소디'의 사용자 리스트에는 사용자 식별자 'D'가 있으나, 객체 식별자 'C\Temp\랩소디'를 가지는 가상 폴더 '랩소디'의 상위 구조(또는 계층)의 가상 폴더 'C' 및 'Temp'와 연결된 식별자 리스트에는 사용자 식별자 'D'가 없으므로, 객체 식별자 'C\Temp\랩소디'를 가지는 가상 폴더 '랩소디'에 대한 읽기/쓰기 권한을 가질 수 없다.
이와 달리, 사용자 식별자 'A'를 가지는 사용자(단말) 또는 서버는, 객체 식별자 'C\Temp\랩소디'의 사용자 리스트에는 사용자 식별자 'A'가 있고, 객체 식별자 'C\Temp\랩소디'를 가지는 가상 폴더 '랩소디'의 상위 구조(또는 계층)의 가상 폴더 'C' 및 'Temp'와 연결된 식별자 리스트에는 사용자 식별자 'A'가 있으므로, 객체 식별자 'C\Temp\랩소디'를 가지는 가상 폴더 '랩소디'에 대한 읽기/쓰기 권한을 가질 수 있다.
실제 파일에 대한 읽기/쓰기는, 실제 파일의 읽기/쓰기를 통해 수행될 수 있다. 또한, 상기 실제 파일에 대한 읽기/쓰기는, 상기 실제 파일과 같은 파일 고유 식별자가 연결된 가상 파일의 읽기/쓰기를 통해 수행될 수도 있다.
도 4는 가상 파일의 객체 식별자와 연결된 사용자 식별자 리스트 및 실제 파일의 파일 고유 식별자와 연결된 사용자 식별자 리스트에 대한 예를 도시한다.
사용자(단말) 또는 서버의 사용자 식별자가 파일 고유 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 상기 파일 고유 식별자를 가지는 실제 파일 또는 상기 파일 고유 식별자와 연결된 가상 파일에 대한 읽기/쓰기 권한을 가질 수 있다.
도 4를 참조하면, 실제 파일 'R1'에 대한 읽기/쓰기 권한은 사용자 식별자 'A', 'B', 및 'C'를 가지는 사용자(단말) 또는 서버가 가질 수 있다.
가상 파일에 대한 읽기/쓰기 권한은 이하 2가지의 실시예로 나눠질 수 있다.
제1 실시예는, 가상 파일과 연결된 실제 파일에 대한 읽기/쓰기 권한을 가지는 사용자(단말) 또는 서버는 가상 파일에 대한 읽기/쓰기 권한을 가질 수 있다.
도 4를 참조하면, 실제 파일 'R1'에 대한 읽기/쓰기 권한은 사용자 식별자 'A', 'B', 및 'C'를 가지는 사용자(단말) 또는 서버가 가지므로, 가상 파일 'V1'에 대한 읽기/쓰기 권한도 사용자 식별자 'A', 'B', 및 'C'를 가지는 사용자(단말) 또는 서버가 가질 수 있다.
제2 실시예는, 가상 파일과 연결된 실제 파일에 대한 읽기/쓰기 권한 및 가상 경로 상에 있어서 상기 가상 파일의 상위 구조인 가상 폴더의 읽기/쓰기 권한을 가지는 경우, 상기 가상 파일에 대한 읽기/쓰기 권한을 가질 수 있다. 여기서, 상위 구조의 범위는 바로 위 상위 구조 또는 모든 상위 구조 등을 포함할 수 있다.
도 4를 참조하면, 사용자 식별자 'A', 'B', 및 'C'를 가지는 사용자(단말) 또는 서버는 실제 파일 'R1'에 대한 읽기/쓰기 권한을 가질 수 있다. 다만, 사용자 식별자 'C'를 가지는 사용자(단말) 또는 서버는, 가상 파일 'V1'의 상위 구조인 가상 폴더 'C'의 객체 식별자 'C'와 연결된 사용자 식별자 리스트에 사용자 식별자 'C'가 없으므로, 가상 폴더 'V1'에 대한 읽기/쓰기 권한을 가질 수 없다. 이와 달리, 사용자 식별자 'A' 및 'B'를 가지는 사용자(단말) 또는 서버는, 가상 파일 'V1'의 상위 구조인 가상 폴더 'C'의 객체 식별자 'C'와 연결된 사용자 식별자 리스트에 사용자 식별자 'A' 및 'B'가 있으므로, 가상 폴더 'V1'에 대한 읽기/쓰기 권한을 가질 수 있다.
실제 파일의 전부 또는 일부는, 연결된 사용자 식별자 리스트가 없을 수 있다. 이 경우, 실제 파일의 읽기/쓰기 권한은 모든 사용자(단말) 또는 서버가 가질 수 있다. 즉, 읽기/쓰기 권한의 제한이 없을 수 있다. 이는 가상 파일, 및 가상 폴더의 경우에도 똑같이 적용될 수 있다.
서버는 실제 파일, 가상 파일, 또는 가상 폴더 중 적어도 하나에 대한 읽기/쓰기 권한을 사용자 식별자 리스트와 관계없이 가질 수 있다. 즉, 사용자 식별자 리스트에 서버의 사용자 식별자가 없더라도, 서버는 연결된 실제 파일, 가상 파일, 또는 가상 폴더 중 적어도 하나에 대한 읽기/쓰기 권한을 가질 수 있다. 이는 설정에 따라서, 특정 사용자(단말)의 경우에도 똑같이 적용될 수 있다.
(8) 가상 폴더의 화면(view)
가상 폴더가 보여지는 형태는 가상 폴더의 화면(view)일 수 있다. 가상 파일의 화면은, 화면의 설정에 따라 상이할 수 있다.
화면의 설정은, 가상 폴더 또는 가상 파일 중 적어도 하나의 개수 제한, 한 페이지에 표시되는 개수, 모양, 종류, 표시 형식(표시될 연결된 메타데이터 정보의 종류, 개수 등), 구조 등을 포함할 수 있다.
화면의 설정은, 사용자(단말) 또는 서버마다 상이할 수 있다.
화면의 설정은, 네트워크로 연결된 서버 및 사용자(단말)의 전부 또는 일부가 동일할 수 있다.
일 예로, 네트워크에 연결된 서버 및 사용자(단말)의 전부가 동일한 화면의 설정을 사용할 수 있다. 이때, 상기 화면의 설정 변경은, 서버에서만 가능한 경우, 권한 부여된 서버 또는 사용자(단말)에서만 가능한 경우, 및 모든 서버 또는 사용자(단말)에서 가능한 경우를 포함할 수 있다.
일 예로, 네트워크를 구분하여 구분된 네트워크 내 속하는 서버 및 사용자(단말)의 화면의 설정이 동일할 수 있다. 구체적으로, 네트워크가 제1 네트워크 및 제2 네트워크로 구분되는 경우, 제1 네트워크에 속하는 서버 및 사용자(단말)는 제1 화면의 설정을 가지며, 제2 네트워크에 속하는 서버 및 사용자(단말)은 제2 화면의 설정을 가질 수 있다.
2. 가상 파일 관리 방법
도 5는 가상 파일 관리 방법을 도시한 도면이다.
도 5를 참조하면, 가상 파일 관리 방법은 가상 폴더 화면 생성 단계(S501), 가상 파일 수정 단계(S502), 또는 가상 폴더 수정 단계(S503) 중 적어도 하나를 포함할 수 있다.
1) 가상 폴더 화면 생성 단계
도 6은 가상 폴더 화면 생성 단계를 도시한 도면이다.
도 6을 참조하면, 가상 폴더 화면 생성 단계(S501)는, 사용자 식별자 획득 단계(S5011), 객체 식별자 획득 단계(S5012), 객체 획득 단계(S5013), 또는 화면 생성 단계(S5014) 중 적어도 하나를 포함할 수 있다.
(1) 사용자 식별자 획득 단계
사용자 식별자 획득 단계(S5011)에서는, 사용자(단말) 또는 서버로부터 사용자 식별자 정보를 획득할 수 있다. 사용자 식별자 정보는, 사용자 식별자 또는 데이터베이스로부터 사용자 식별자를 획득하기 위한 정보일 수 있다. 후자의 경우, 사용자 식별자 정보 및 질의문을 이용하여 데이터베이스로부터 사용자 식별자를 획득할 수 있다.
(2) 객체 식별자 획득 단계
객체 식별자 획득 단계(S5012)에서는, 획득한 사용자 식별자 및 질의문을 이용하여, 데이터베이스로부터 객체 식별자를 획득할 수 있다. 구체적으로, 객체 식별자의 사용자 식별자 리스트에 포함된 사용자 식별자와 획득한 사용자 식별자를 비교하여 동일한 경우, 상기 객체 식별자를 획득할 수 있다.
예를 들면, 획득한 사용자 식별자는 A이고, 3개의 객체 식별자 'C\Temp', 'C\Temp\랩소디', 및 'C\Work'가 있고, 상기 객체 식별자들 중 'C\Temp' 및 'C\Temp\랩소디'의 사용자 식별자 리스트에만 사용자 식별자 'A'가 있는 경우를 가정할 수 있다. 이 경우, 각각의 객체 식별자의 사용자 식별자 리스트에 포함된 사용자 식별자와 획득한 사용자 식별자 'A'를 비교할 경우, 사용자 식별자 리스트에 사용자 식별자 'A'를 가지는 객체 식별자 'C\Temp' 및 'C\Temp\랩소디'가 획득될 수 있다. 객체 식별자 'C\Work'는 사용자 식별자 리스트에 사용자 식별자 'A'를 포함하고 있지 않으므로, 획득될 수 없다.
(3) 객체 획득 단계
객체(가상 폴더 또는 가상 파일) 획득 단계(S5013)에서는, 획득한 객체 식별자 및 질의문을 이용하여, 데이터베이스로부터 객체를 획득할 수 있다. 구체적으로, 객체(가상 폴더 또는 가상 파일)의 객체 식별자와 획득한 객체 식별자를 비교하여 일치하는 경우, 해당 가상 폴더 또는 가상 파일은 획득될 수 있다.
(4) 화면 생성 단계
화면 생성 단계(S5015)에서는, 획득한 적어도 하나의 객체(가상 폴더 또는 가상 파일)를 기초로, 화면의 설정에 따라, 가상 폴더의 화면이 생성될 수 있다.
가상 폴더의 화면은, 화면의 설정에 따라 상이할 수 있다.
화면의 설정은, 가상 폴더 또는 가상 파일 중 적어도 하나의 개수 제한, 한 페이지에 표시되는 개수, 모양, 종류, 표시 형식, 구조(또는 계층) 등을 포함할 수 있다.
가상 폴더의 화면은, 가상 폴더들 간의 구조(또는 계층)를 고려하여 생성되는 경우와 그렇지 않은 경우가 있을 수 있다.
도 7는 가상 폴더들 간의 구조를 고려하여 생성되는 가상 폴더의 화면의 예를 도시한다.
도 7(a)와 같이, 이하에서는, 가상 폴더 {A, B} 및 가상 파일 {a, b, d, e}는 객체 식별자 등을 통해 획득한 것이고, 가상 폴더 {C} 및 가상 파일 {c, f, g}는 객체 식별자 등을 통해 획득한 것이 아니고, 가상 폴더 {B, C}는 가상 폴더 A의 하위 구조에 속하는 가상 폴더인 경우를 가정하여, 가상 폴더 A에 대한 가상 폴더의 화면의 실시예를 설명한다.
제1 실시예는, 가상 폴더들 간의 구조를 고려하여 생성되는 경우이며, 해당 가상 폴더의 모든 하위 구조에 해당하는 가상 폴더 및 가상 파일이 표현되고, 표현되는 가상 폴더 및 가상 파일은 객체 식별자 등으로 획득한 가상 폴더 및 가상 파일로 제한되는 형태 일 수 있다. 도 7(b)를 참조하면, 가상 폴더 A의 화면에서, 가상 폴더 {B} 및 가상 파일 {a, b, d, e}는 객체 식별자 등으로 획득한 것이므로 표현되나, 가상 폴더 {C} 및 가상 파일 {c, f, g}는 객체 식별자 등으로 획득한 것이 아니므로 표현되지 않을 수 있다.
제2 실시예는, 가상 폴더들 간의 구조를 고려하여 생성되는 경우이며, 해당 가상 폴더의 바로 다음 하위 구조에 해당하는 가상 폴더 및 가상 파일이 표현되고, 표현되는 가상 폴더 및 가상 파일은 객체 식별자 등으로 획득한 가상 폴더 및 가상 파일로 제한되는 형태 일 수 있다. 도 7(c)를 참조하면, 가상 폴더 A의 화면에서, 가상 폴더 {B} 및 가상 파일 {a, b}는 가상 폴더 A의 바로 다음 하위 구조이고 객체 식별자 등으로 획득한 것으로 표현되나, 가상 폴더 {C} 및 가상 파일 {c, f, g}는 객체 식별자 등으로 획득한 것이 아니므로 표현되지 않고, 가상 파일 {d, e}는 가상 폴더 A의 바로 다음 하위 구조가 아니므로 표현되지 않을 수 있다.
제3 실시예는, 가상 폴더들 간의 구조를 고려하여 생성되는 경우이며, 해당 가상 폴더의 모든 하위 구조에 해당하는 가상 폴더 및 가상 파일이 표현되고, 표현되는 가상 폴더 및 가상 파일은 객체 식별자 등으로 획득한 가상 폴더 및 가상 파일로 제한되지 않는 형태(모든 가상 폴더 및 가상 파일이 표시되는 형태)일 수 있다. 이 경우, 가상 폴더 A의 화면은 도 7(a)와 같이 표현될 수 있다. 즉, 가상 폴더 A의 화면에서, 가상 폴더 {B, C} 및 가상 파일 {a, b, c, d, e, f, g}는 가상 폴더 A의 하위 구조이므로 표현될 수 있다
제4 실시예는, 가상 폴더들 간의 구조를 고려하여 생성되는 경우이며, 해당 가상 폴더의 바로 다음 하위 구조에 해당하는 가상 폴더 및 가상 파일이 표현되고, 표현되는 가상 폴더 및 가상 파일은 객체 식별자 등으로 획득한 가상 폴더 및 가상 파일로 제한되지 않는 형태(모든 가상 폴더 및 가상 파일이 표시되는 형태)일 수 있다. 도 7(d)를 참조하면, 가상 폴더 A의 화면에서, 가상 폴더 {B, C} 및 가상 파일 {a, b, c}는 가상 폴더 A의 바로 다음 하위 구조이므로 표현되나, 가상 파일 {d, e, f, g}는 가상 폴더 A의 바로 다음 하위 구조가 아니므로 표현되지 않을 수 있다.
도 8은 가상 폴더들 간의 구조를 고려하지 않고 생성되는 가상 폴더의 화면의 예를 도시한다.
가상 폴더들 간의 구조를 고려하지 않으므로, 가상 폴더의 화면에는 하위 가상 폴더가 표현되지 않고, 가상 파일만으로 표현될 수 있다.
제5 실시예는, 가상 폴더들 간의 구조를 고려하지 않고 생성되는 경우이며, 해당 가상 폴더에 포함된 가상 파일이 표현되고, 표현되는 가상 파일은 객체 식별자 등으로 획득한 가상 폴더 및 가상 파일로 제한되는 형태 일 수 있다. 도 8(a)를 참조하면, 가상 폴더 A의 화면에서, 가상 폴더의 구조를 고려하지 않으므로 가상 폴더 {B, C} 및 가상 폴더 B와 C의 가상 파일인 {c, d}는 표현되지 않고, 객체 식별자 등으로 획득한 것이 아닌 가상 파일 {c}는 표현되지 않고, 가상 파일 {a, b}만 표현될 수 있다.
제6 실시예는, 가상 폴더들 간의 구조를 고려하지 않고 생성되는 경우이며, 해당 가상 폴더에 포함된 가상 파일이 표현되고, 표현되는 가상 파일은 객체 식별자 등으로 획득한 가상 폴더 및 가상 파일로 제한되는 않는 형태(모든 가상 파일이 표시되는 형태)일 수 있다. 도 8(b)를 참조하면, 가상 폴더 A의 화면에서, 가상 폴더의 구조를 고려하지 않으므로 가상 폴더 {B, C} 및 가상 폴더 B와 C의 가상 파일인 {c, d}는 표현되지 않고, 가상 파일 {a, b, c}만 표현될 수 있다.
2) 가상 파일 수정 단계
도 9는 가상 파일 수정 단계를 도시한 도면이다.
도 9를 참조하면, 가상 파일 수정 단계(S502)는, 수정 내용 확인 단계(S5021), 수정 권한 확인 단계(S5022), 파일 고유 식별자 생성 단계(S5023), 또는 파일 수정 단계(S5024) 중 적어도 하나를 포함할 수 있다.
(1) 수정 내용 확인 단계
수정 내용 확인 단계(S5021)에서는, 사용자(단말) 또는 서버의 요청에 따라, 가상 파일의 수정 내용이 어떤 것인지 확인할 수 있다.
사용자(단말) 또는 서버의 가상 파일 수정 요청은, 가상 폴더 화면 생성 단계에 의해 생성된 가상 화면에 기초하여 수행될 수 있다. 예를 들어, 생성된 가상 화면에 가상 파일을 수정하는 명령어 입력 또는 마우스 클릭 등 다양한 형태의 입력을 통해 가상 파일의 수정 요청이 수행될 수 있다.
가상 파일의 수정 내용은, 가상 파일의 복사/삭제/이동/변경, 가상 파일의 내용 수정 등을 포함할 수 있다. 여기서, 가상 파일의 변경은, 가상 파일 명칭의 변경, 가상 파일에 연결된 객체 식별자, 사용자 식별자 또는 기타 데이터를 변경하는 것을 포함할 수 있다.
(2) 수정 권한 확인 단계
가상 파일의 수정은, 가상 파일 또는 가상 파일이 포함된 가상 폴더 중 적어도 하나의 읽기/쓰기 권한이 있는 사용자(단말) 또는 서버에 의해 수행될 수 있다. 따라서, 수정 권한 확인 단계(S5022)에서는, 사용자(단말) 또는 서버가 가상 파일 또는 가상 파일이 포함된 가상 폴더 중 적어도 하나의 읽기/쓰기 권한이 있는지 확인할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일 및 가상 파일의 상위 구조인 가상 폴더의 읽기/쓰기 권한이 있는 경우에 가상 파일의 읽기/쓰기를 수행할 수 있다. 여기서, 상위 구조의 범위는 바로 위 상위 구조 또는 모든 상위 구조 등을 포함할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일의 읽기/쓰기 권한이 있는 경우, 가상 파일의 가상 폴더의 읽기/쓰기 권한과 상관 없이, 가상 파일의 읽기/쓰기를 수행할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일 및 가상 파일의 상위 구조인 가상 폴더의 읽기/쓰기 권한의 제한이 없는 경우 가상 파일의 읽기/쓰기를 수행할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일의 읽기/쓰기 권한의 제한이 없는 경우 가상 파일의 읽기/쓰기를 수행할 수 있다.
일 예로, 서버 또는 특정 사용자(단말)은, 가상 파일 및 가상 파일의 상위 구조인 가상 폴더의 읽기/쓰기 권한과 관계없이, 항상 가상 파일의 읽기/쓰기를 수행할 수 있다. 이 경우, 수정 권한 확인 단계는 생략될 수 있다.
가상 폴더의 읽기/쓰기 권한은 객체 식별자의 사용자 식별자 리스트를 통해 수행될 수 있다. 사용자(단말) 또는 서버의 사용자 식별자가 가상 폴더의 객체 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 가상 폴더의 읽기/쓰기 권한을 가질 수 있다. 구체적인 내용은 전술한 바, 이하 생략한다.
가상 파일의 읽기/쓰기 권한은 파일 고유 식별자의 사용자 식별자 리스트를 통해 수행될 수 있다. 사용자(단말) 또는 서버의 사용자 식별자가 가상 파일의 파일 고유 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 가상 파일의 읽기/쓰기 권한을 가질 수 있다. 구체적인 내용은 전술한 바, 이하 생략한다.
(3) 파일 고유 식별자 생성 단계
파일 고유 식별자 생성 단계(S5023)에서는, 가상 파일의 수정 내용에 따라, 새로운 파일 고유 식별자 생성 여부를 확인하고, 확인 결과에 따라 새로운 파일 고유 식별자를 생성할 수 있다.
가상 파일의 수정 내용이 가상 파일의 삭제가 아니고, 가상 파일의 수정 권한이 있는 경우, 새로운 파일 고유 식별자 생성 여부를 확인할 수 있다.
가상 파일의 수정 내용이 가상 파일의 삭제인 경우에는, 파일 고유 식별자를 부여할 대상이 없으므로, 새로운 파일 고유 식별자 생성 여부를 확인할 필요가 없을 수 있다.
새로운 파일 고유 식별자 생성 여부를 확인한 결과, 새로운 파일 고유 식별자를 생성하는 경우, 종전 파일 고유 식별자와 다르게 새로운 파일 고유 식별자를 생성할 수 있다.
새로운 파일 고유 식별자 생성 여부를 확인한 결과, 새로운 파일 고유 식별자를 생성하지 않는 경우, 새로운 파일 고유 식별자를 생성하지 않을 수 있다.
(4) 파일 수정 단계
파일 수정 단계(S5024)에서는, 새로운 파일 고유 식별자가 생성된 경우, 종전 가상 파일은 그대로 두고, 새로운 파일 고유 식별자를 가지는 실제 파일을 생성할 수 있다.
이때, 기존 가상 파일도 새로운 파일 고유 식별자를 가지도록 수정할 수 있다. 기존 가상 파일이 새로운 파일 고유 식별자를 가지도록 수정되는 경우, 선택적으로 종전 파일 고유 식별자에 의해 연결된 다른 가상 파일도 새로운 파일 고유 식별자를 가지도록 수정할 수 있다.
새로운 파일 고유 식별자가 생성되지 않은 경우, 가상 파일은 수정 내용 대로 수정될 수 있다. 이 경우, 수정되는 가상 파일과 연결된 동일한 파일 고유 식별자를 가지는 실제 파일 또는 수정되는 가상 파일과 연결된 동일한 파일 고유 식별자와 연결된 다른 가상 파일 중 적어도 하나는 같이 수정될 수 있다.
3) 가상 폴더 수정 단계
도 10은 가상 폴더 수정 단계를 도시한 도면이다.
도 10을 참조하면, 가상 폴더 수정 단계(S503)는, 수정 내용 확인 단계(S5031), 수정 권한 확인 단계(S5032), 또는 폴더의 수정 단계(S5033) 중 적어도 하나를 포함할 수 있다.
(1) 수정 내용 확인 단계
수정 내용 확인 단계(S5031)에서는, 사용자(단말) 또는 서버의 요청에 따라, 가상 폴더의 수정 내용이 어떤 것인지 확인할 수 있다.
사용자(단말) 또는 서버의 가상 폴더 수정 요청은, 가상 폴더에 대한 수정 요청 및 가상 파일에 대한 수정 요청을 포함한다.
전자의 가상 폴더에 대한 수정 요청은, 가상 폴더 화면 생성 단계에 의해 생성된 가상 화면에 기초하여 수행될 수 있다. 예를 들어, 생성된 가상 화면에 가상 폴더를 수정하는 명령어 입력 또는 마우스 클릭 등 다양한 형태의 입력을 통해 가상 폴더 수정 요청이 수행될 수 있다.
후자의 가상 파일에 대한 수정 요청은, 전술한 가상 파일의 수정 요청이 있는 경우 해당 가상 파일을 포함하는 상위 구조의 가상 폴더의 수정 요청이 수반되는 경우를 말할 수 있다. 여기서, 상위 구조의 범위는 바로 위 상위 구조 또는 모든 상위 구조 등을 포함할 수 있다.
가상 폴더의 수정 내용은, 가상 폴더의 삭제/이동/복사/변경, 가상 폴더 내 가상파일의 수정 등을 포함할 수 있다. 여기서, 가상 폴더의 변경은, 가상 폴더 명칭의 변경, 가상 폴더에 연결된 객체 식별자, 사용자 식별자 또는 기타 데이터를 수정하는 것을 포함할 수 있다.
(2) 수정 권한 확인 단계
수정 권한 확인 단계(S5032)에서는, 가상 폴더의 수정은, 가상 폴더의 읽기/쓰기 권한이 있는 사용자(단말) 또는 서버에 의해 수행될 수 있다. 따라서, 사용자(단말) 또는 서버가 가상 폴더의 읽기/쓰기 권한이 있는지 확인할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 폴더의 읽기/쓰기 권한이 있는 경우, 가상 폴더의 읽기/쓰기를 수행할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 폴더의 읽기/쓰기 권한의 제한이 없는 경우, 가상 폴더의 읽기/쓰기 권한과 관계없이, 가상 폴더의 읽기/쓰기를 수행할 수 있다.
일 예로, 서버는, 가상 폴더의 읽기/쓰기 권한과 관계없이, 항상 가상 폴더의 읽기/쓰기를 수행할 수 있다. 이 경우, 수정 권한 확인 단계는 생략될 수 있다.
가상 폴더의 읽기/쓰기 권한은 객체 식별자의 사용자 식별자 리스트를 통해 수행될 수 있다. 사용자(단말) 또는 서버의 사용자 식별자가 가상 폴더의 객체 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 가상 폴더의 읽기/쓰기 권한을 가질 수 있다. 구체적인 내용은 전술한 바, 이하 생략한다.
(3) 폴더 수정 단계
폴더 수정 단계(S5033)에서는, 가상 폴더의 읽기/쓰기 수행할 수 있는 경우, 수정 내용에 따라 가상 폴더를 수정할 수 있다. 즉, 가상 폴더의 수정 내용에 따라 가상 폴더를 삭제/이동/복사/변경을 할 수 있다. 여기서, 가상 폴더의 변경은, 가상 폴더 명칭의 변경, 가상 폴더에 연결된 객체 식별자, 사용자 식별자 또는 기타 데이터를 변경하는 것을 포함할 수 있다.
3. 가상 파일 관리 장치
도 11은 가상 파일 관리 장치를 도시한 도면이다.
도 11을 참조하면, 가상 파일 관리 장치(1101)는, 가상 폴더 화면 생성부(11011), 가상 파일 수정부(11012), 가상 폴더 수정부(11013) 또는 데이터베이스(11014) 중 적어도 하나를 포함할 수 있다.
1) 가상 폴더 화면 생성부
가상 폴더 화면 생성부(11011)는, 사용자 식별자 획득부, 객체 식별자 획득부, 객체 획득부, 화면 생성부, 또는 데이터베이스 연결부 중 적어도 하나를 포함할 수 있다.
(1) 사용자 식별자 획득부
사용자 식별자 획득부는, 사용자(단말) 또는 서버로부터 사용자 식별자 정보를 입력 받아, 사용자 식별자를 획득할 수 있다. 사용자 식별자 정보는, 사용자 식별자 또는 데이터베이스로부터 사용자 식별자를 획득하기 위해 필요한 정보일 수 있다. 후자의 경우, 사용자 식별자 획득부는, 데이터베이스 연결부를 통해, 사용자 식별자 정보 및 질의문을 이용하여, 데이터베이스로부터 사용자 식별자를 획득할 수 있다.
(2) 객체 식별자 획득부
객체 식별자 획득부는, 사용자 식별자 획득부로부터 사용자 식별자를 입력 받아, 데이터베이스 연결부를 통해, 상기 사용자 식별자 및 질의문을 이용하여, 데이터베이스로부터 객체 식별자를 획득할 수 있다. 구체적으로, 객체 식별자의 사용자 식별자 리스트에 포함된 사용자 식별자와 획득한 사용자 식별자를 비교하여 동일한 경우, 상기 객체 식별자를 획득할 수 있다.
(3) 객체 획득부
객체(가상 폴더 또는 가상 파일) 획득부는, 객체 식별자 획득부로부터 객체 식별자를 입력 받아, 데이터베이스 연결부를 통해, 상기 객체 식별자 및 질의문을 이용하여, 데이터베이스로부터 객체를 획득할 수 있다. 구체적으로, 구체적으로, 객체(가상 폴더 또는 가상 파일)의 객체 식별자와 획득한 객체 식별자를 비교하여 일치하는 경우, 해당 가상 폴더 또는 가상 파일은 획득될 수 있다.
(4) 화면 생성부
화면 생성부는, 객체 획득부로부터 적어도 하나의 객체(가상 폴더 또는 가상 파일)를 입력 받아, 화면의 설정에 따라, 가상 폴더의 화면을 생성할 수 있다.
가상 폴더의 화면은, 화면의 설정에 따라 상이할 수 있다.
화면의 설정은, 가상 폴더 또는 가상 파일 중 적어도 하나의 개수 제한, 한 페이지에 표시되는 개수, 모양, 종류, 표시 형식, 구조(또는 계층) 등을 포함할 수 있다.
가상 폴더의 화면은, 가상 폴더들 간의 구조(또는 계층)를 고려하여 생성되는 경우와 그렇지 않은 경우가 있을 수 있다. 이에 대해서는 전술한 바, 생략한다.
(5) 데이터베이스 연결부
데이터베이스 연결부는, 가상 폴더 화면 생성부의 각 구성부와 데이터베이스를 연결할 수 있다. 따라서, 가상 폴더 화면 생성부의 각 구성부는 데이터베이스 연결부를 통해, 데이터베이스로부터 정보를 얻거나, 데이터베이스의 정보를 변경할 수 있다.
2) 가상 파일 수정부
가상 파일 수정부(11012)는, 수정 내용 확인부, 수정 권한 확인부, 파일 고유 식별자 생성부, 파일의 수정부, 또는 데이터베이스 연결부 중 적어도 하나를 포함할 수 있다.
(1) 수정 내용 확인부
수정 내용 확인부는, 사용자(단말) 또는 서버의 가상 파일 수정 요청을 입력 받고, 상기 수정 요청 내용이 어떤 것인지 확인할 수 있다.
사용자(단말) 또는 서버의 가상 파일 수정 요청은, 가상 폴더 화면 생성부에 의해 생성된 가상 화면에 기초하여 수행될 수 있다. 예를 들어, 생성된 가상 화면에 가상 파일을 수정하는 명령어 입력 또는 마우스 클릭 등 다양한 형태의 입력을 통해 가상 파일의 수정 요청이 수행될 수 있다.
가상 파일의 수정 내용은, 가상 파일의 복사/삭제/이동/변경, 가상 파일의 내용 수정 등을 포함할 수 있다. 여기서, 가상 파일의 변경은, 가상 파일 명칭의 변경, 가상 파일에 연결된 객체 식별자, 사용자 식별자 또는 기타 데이터를 변경하는 것을 포함할 수 있다.
(2) 수정 권한 확인부
가상 파일의 수정은, 가상 파일 또는 가상 파일이 포함된 가상 폴더 중 적어도 하나의 읽기/쓰기 권한이 있는 사용자(단말) 또는 서버에 의해 수행될 수 있다. 따라서, 수정 권한 확인부는, 사용자(단말) 또는 서버가 가상 파일 또는 가상 파일이 포함된 가상 폴더 중 적어도 하나의 읽기/쓰기 권한이 있는지 확인할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일 및 가상 파일의 상위 구조인 가상 폴더의 읽기/쓰기 권한이 있는 경우에 가상 파일의 읽기/쓰기를 수행할 수 있다. 여기서, 상위 구조의 범위는 바로 위 상위 구조 또는 모든 상위 구조 등을 포함할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일의 읽기/쓰기 권한이 있는 경우, 가상 파일의 가상 폴더의 읽기/쓰기 권한과 상관 없이, 가상 파일의 읽기/쓰기를 수행할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일 및 가상 파일의 상위 구조인 가상 폴더의 읽기/쓰기 권한의 제한이 없는 경우 가상 파일의 읽기/쓰기를 수행할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 파일의 읽기/쓰기 권한의 제한이 없는 경우 가상 파일의 읽기/쓰기를 수행할 수 있다.
일 예로, 서버 또는 특정 사용자(단말)은, 가상 파일 및 가상 파일의 상위 구조인 가상 폴더의 읽기/쓰기 권한과 관계없이, 항상 가상 파일의 읽기/쓰기를 수행할 수 있다. 이 경우, 수정 권한 확인 단계는 생략될 수 있다.
가상 폴더의 읽기/쓰기 권한은 객체 식별자의 사용자 식별자 리스트를 통해 수행될 수 있다. 사용자(단말) 또는 서버의 사용자 식별자가 가상 폴더의 객체 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 가상 폴더의 읽기/쓰기 권한을 가질 수 있다. 구체적인 내용은 전술한 바, 이하 생략한다.
가상 파일의 읽기/쓰기 권한은 파일 고유 식별자의 사용자 식별자 리스트를 통해 수행될 수 있다. 사용자(단말) 또는 서버의 사용자 식별자가 가상 파일의 파일 고유 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 가상 파일의 읽기/쓰기 권한을 가질 수 있다. 구체적인 내용은 전술한 바, 이하 생략한다.
(3) 파일 고유 식별자 생성부
파일 고유 식별자 생성부는, 수정 내용 및 수정 권한을 입력 받아, 수정 내용 및 수정 권한을 기초로, 새로운 파일 고유 식별자 생성 여부를 확인하고, 상기 새로운 파일 고유 식별자 생성 여부 확인 결과에 따라 선택적으로 새로운 파일 고유 식별자를 생성할 수 있다.
가상 파일의 수정 내용이, 가상 파일의 삭제가 아니고, 가상 파일의 수정 권한이 있는 경우, 새로운 파일 고유 식별자 생성 여부를 확인할 수 있다.
가상 파일의 수정 내용이 가상 파일의 삭제인 경우에는, 파일 고유 식별자를 부여할 대상이 없으므로, 새로운 파일 고유 식별자 생성 여부를 확인할 필요가 없을 수 있다.
새로운 파일 고유 식별자 생성 여부를 확인한 결과, 새로운 파일 고유 식별자를 생성하는 경우, 종전 파일 고유 식별자와 다르게 새로운 파일 고유 식별자를 생성할 수 있다.
새로운 파일 고유 식별자 생성 여부를 확인한 결과, 새로운 파일 고유 식별자를 생성하지 않는 경우, 새로운 파일 고유 식별자를 생성하지 않을 수 있다.
(4) 파일 수정부
파일 수정부는, 새로운 파일 고유 식별자가 생성된 경우, 종전 가상 파일은 그대로 두고, 새로운 파일 고유 식별자를 가지는 실제 파일 또는 가상 파일을 생성할 수 있다.
이때, 기존 가상 파일도 새로운 파일 고유 식별자를 가지도록 수정할 수 있다. 기존 가상 파일의 새로운 파일 고유 식별자를 가지도록 수정되는 경우, 선택적으로 종전 파일 고유 식별자에 의해 연결된 다른 가상 파일도 새로운 파일 고유 식별자를 가지도록 수정할 수 있다.
새로운 파일 고유 식별자가 생성되지 않은 경우, 가상 파일은 수정 내용 대로 수정될 수 있다. 이 경우, 수정되는 가상 파일과 연결된 동일한 파일 고유 식별자를 가지는 실제 파일 또는 수정되는 가상 파일과 연결된 동일한 파일 고유 식별자와 연결된 다른 가상 파일 중 적어도 하나는 같이 수정될 수 있다.
(5) 데이터베이스 연결부
데이터베이스 연결부는, 가상 파일 수정부의 각 구성부와 데이터베이스를 연결할 수 있다. 따라서, 가상 파일 수정부의 각 구성부는 데이터베이스 연결부를 통해, 데이터베이스로부터 정보를 얻거나, 데이터베이스의 정보를 변경할 수 있다.
파일 수정부는, 새로운 파일 고유 식별자가 생성되지 않은 경우, 가상 파일을 수정 내용 대로 수정할 수 있다. 이 경우, 수정되는 가상 파일과 같은 파일 고유 식별자를 가지는 파일도 같이 수정될 수 있다.
3) 가상 폴더 수정부
가상 폴더 수정부(11013)는, 수정 내용 확인부, 수정 권한 확인부, 폴더의 수정부, 또는 데이터베이스 연결부 중 적어도 하나를 포함할 수 있다.
(1) 수정 내용 확인부
수정 내용 확인부는, 사용자(단말) 또는 서버의 가상 폴더 수정 요청을 입력 받고, 상기 수정 요청 내용이 어떤 것인지 확인할 수 있다.
사용자(단말) 또는 서버의 가상 폴더 수정 요청은, 가상 폴더에 대한 수정 요청 및 가상 파일에 대한 수정 요청을 포함한다.
전자의 가상 폴더에 대한 수정 요청은, 가상 폴더 화면 생성부에 의해 생성된 가상 화면에 기초하여 수행될 수 있다. 예를 들어, 생성된 가상 화면에 가상 폴더를 수정하는 명령어 입력 또는 마우스 클릭 등 다양한 형태의 입력을 통해 가상 폴더 수정 요청이 수행될 수 있다.
후자의 가상 폴더에 대한 수정 요청은, 전술한 가상 파일의 수정 요청이 있는 경우 해당 가상 파일을 포함하는 상위 구조의 가상 폴더의 수정 요청이 수반되는 경우를 말할 수 있다. 여기서, 상위 구조의 범위는 바로 위 상위 구조 또는 모든 상위 구조 등을 포함할 수 있다.
가상 폴더의 수정 내용은, 가상 폴더의 삭제/이동/복사/변경, 가상 폴더 내 가상파일의 수정 등을 포함할 수 있다. 여기서, 가상 폴더의 변경은, 가상 폴더 명칭의 변경, 가상 폴더에 연결된 객체 식별자, 사용자 식별자 또는 기타 데이터를 수정하는 것을 포함할 수 있다.
(2) 수정 권한 확인부
가상 폴더의 수정은, 가상 폴더의 읽기/쓰기 권한이 있는 사용자(단말) 또는 서버에 의해 수행될 수 있다. 따라서, 수정 권한 확인부는, 사용자(단말) 또는 서버가 가상 폴더의 읽기/쓰기 권한이 있는지 확인할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 폴더의 읽기/쓰기 권한이 있는 경우, 가상 폴더의 읽기/쓰기를 수행할 수 있다.
일 예로, 사용자(단말) 또는 서버는, 가상 폴더의 읽기/쓰기 권한의 제한이 없는 경우, 가상 폴더의 읽기/쓰기 권한과 관계없이, 가상 폴더의 읽기/쓰기를 수행할 수 있다.
일 예로, 서버는, 가상 폴더의 읽기/쓰기 권한과 관계없이, 항상 가상 폴더의 읽기/쓰기를 수행할 수 있다. 이 경우, 수정 권한 확인 단계는 생략될 수 있다.
가상 폴더의 읽기/쓰기 권한은 객체 식별자의 사용자 식별자 리스트를 통해 수행될 수 있다. 사용자(단말) 또는 서버의 사용자 식별자가 가상 폴더의 객체 식별자의 사용자 식별자 리스트에 포함된 경우, 상기 사용자(단말) 또는 서버는 가상 폴더의 읽기/쓰기 권한을 가질 수 있다. 구체적인 내용은 전술한 바, 이하 생략한다.
(3) 폴더 수정부
폴더 수정부는, 가상 폴더의 읽기/쓰기 수행할 수 있는 경우, 수정 내용에 따라 가상 폴더를 수정할 수 있다. 즉, 가상 폴더의 수정 내용에 따라 가상 폴더를 삭제/이동/복사/변경을 할 수 있다. 여기서, 가상 폴더의 변경은, 가상 폴더 명칭의 변경, 가상 폴더에 연결된 객체 식별자, 사용자 식별자 또는 기타 데이터를 변경하는 것을 포함할 수 있다.
(4) 데이터베이스 연결부
데이터베이스 연결부는, 가상 폴더 수정부의 각 구성부와 데이터베이스를 연결할 수 있다. 따라서, 가상 폴더 수정부의 각 구성부는 데이터베이스 연결부를 통해, 데이터베이스로부터 정보를 얻거나, 데이터베이스의 정보를 변경할 수 있다.
4. 컴퓨터 판독 가능한 기록 매체
본 개시의 실시예에 따른 가상 파일 관리 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 기록 매체로 구현될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록 매체는 본 개시의 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 기록 매체는 프로그램 명령, 로컬 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상의 설명은 본 개시의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 개시의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 개시에 개시된 실시예들은 본 개시의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 개시의 기술 사상의 범위가 한정되는 것은 아니다. 따라서, 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (15)

  1. 가상 파일 관리 장치의 가상 파일 관리 방법에 있어서,
    상기 가상 파일 관리 장치의 사용자 식별자 획득부가 단말 또는 서버를 특정하는 제1 사용자 식별자를 획득하는 사용자 식별자 획득 단계;
    복수의 객체들 중 제1 객체를 특정하는 제1 객체 식별자의 사용자 식별자 리스트에 상기 제1 사용자 식별자와 동일한 사용자 식별자가 포함되는지 여부를 기초로, 상기 가상 파일 관리 장치의 객체 식별자 획득부가 상기 제1 객체 식별자를 획득하는 객체 식별자 획득 단계, 상기 복수의 객체들은 가상 파일 또는 가상 폴더 중 적어도 하나로 구성됨;
    상기 제1 사용자 식별자 및 상기 제1 객체 식별자를 기초로, 상기 가상 파일 관리 장치의 객체 획득부가 상기 제1 객체를 획득하는 객체 획득 단계; 및
    상기 제1 객체에 대한 수정 요청을 기초로, 상기 가상 파일 관리 장치의 객체 수정부가 상기 제1 객체를 수정하는 객체 수정 단계를 포함하되,
    상기 제1 객체 식별자는, 상기 제1 객체 식별자를 가지는 상기 제1 객체의 가상 경로이고,
    상기 객체 획득 단계에 있어서, 상기 제1 객체의 가상 경로 상에 상기 제1 객체를 포함하는 상위 구조의 제2 객체가 있는 경우, 상기 제1 객체는 상기 제2 객체의 제2 객체 식별자의 사용자 식별자 리스트에 상기 제1 사용자 식별자와 동일한 사용자 식별자가 있는지 여부를 더 고려하여 획득되고,
    상기 객체 수정 단계에 있어서, 상기 제1 객체의 가상 경로 상에 상기 제1 객체를 포함하는 상위 구조의 상기 제2 객체가 있는 경우, 상기 제1 객체는 상기 제1 객체의 수정 권한 및 상기 제2 객체의 수정 권한을 기초로 수정되는, 가상 파일 관리 방법.
  2. 제1항에 있어서,
    상기 제1 객체 식별자를 가지는 제1 객체를 포함하는 상기 상위 구조의 제2 객체가 없는 경우, 상기 가상 경로는, 상기 제1 객체 식별자를 가지는 제1 객체의 명칭인, 가상 파일 관리 방법.
  3. 제1항에 있어서,
    상기 제1 객체 식별자를 가지는 제1 객체를 포함하는 상기 상위 구조의 제2 객체가 있는 경우, 상기 가상 경로는, 상기 제1 객체 식별자를 가지는 제1 객체의 명칭, 상기 상위 구조의 제2 객체의 명칭, 및 상기 제1 객체 식별자를 가지는 제1 객체 및 상기 상위 구조의 제2 객체 간의 관계를 포함하는, 가상 파일 관리 방법.
  4. 제1항에 있어서,
    상기 가상 파일 관리 방법은, 상기 가상 파일 관리 가상 폴더 화면 생성부가 상기 제1 객체를 포함하는 가상 폴더 화면을 생성하는 화면 생성 단계를 더 포함하는, 가상 파일 관리 방법.
  5. 제1항에 있어서,
    상기 객체 수정 단계에 있어서, 상기 제1 객체에 대한 수정 요청이 상기 제1 객체 식별자와 연결되는 제1 실제 파일의 제1 파일 고유 식별자와 다른 제2 파일 고유 식별자를 생성하지 않는 경우, 상기 제1 객체는 상기 제1 객체에 대한 수정 요청에 따라 수정되고, 상기 제1 파일 고유 식별자와 연결된 제3 객체도 상기 제1 객체와 동일하게 수정되는, 가상 파일 관리 방법.
  6. 제1항에 있어서,
    상기 객체 수정 단계에 있어서, 상기 제1 객체에 대한 수정 요청이 상기 제1 객체 식별자와 연결되는 제1 실제 파일의 제1 파일 고유 식별자와 다른 제2 파일 고유 식별자를 생성하는 경우, 상기 제1 객체는 수정되지 않고, 상기 제2 파일 고유 식별자를 가지는 제2 실제 파일이 생성되는, 가상 파일 관리 방법.
  7. 삭제
  8. 가상 파일 관리 장치에 있어서,
    단말 또는 서버를 특정하는 제1 사용자 식별자를 획득하는 사용자 식별자 획득부;
    복수의 객체들 중 제1 객체를 특정하는 제1 객체 식별자의 사용자 식별자 리스트에 상기 제1 사용자 식별자와 동일한 사용자 식별자가 포함되는지 여부를 기초로, 상기 제1 객체 식별자를 획득하는 객체 식별자 획득부, 상기 복수의 객체들은 가상 파일 또는 가상 폴더 중 적어도 하나를 포함함;
    상기 제1 사용자 식별자 및 상기 제1 객체 식별자를 기초로, 상기 제1 객체를 획득하는 객체 획득부; 및
    상기 제1 객체에 대한 수정 요청을 기초로, 상기 제1 객체를 수정하는 객체 수정부를 포함하되,
    상기 제1 객체 식별자는, 상기 제1 객체 식별자를 가지는 상기 제1 객체의 가상 경로를 기초로 결정되고,
    상기 객체 획득부에 있어서, 상기 제1 객체의 가상 경로 상에 상기 제1 객체를 포함하는 상위 구조의 제2 객체가 있는 경우, 상기 제1 객체는 상기 제2 객체의 제2 객체 식별자의 사용자 식별자 리스트에 상기 제1 사용자 식별자와 동일한 사용자 식별자가 있는지 여부를 더 고려하여 획득되고,
    상기 객체 수정부에 있어서, 상기 제1 객체의 가상 경로 상에 상기 제1 객체를 포함하는 상위 구조의 상기 제2 객체가 있는 경우, 상기 제1 객체는 상기 제1 객체의 수정 권한 및 상기 제2 객체의 수정 권한을 기초로 수정되는, 가상 파일 관리 장치.
  9. 제8항에 있어서,
    상기 제1 객체 식별자를 가지는 제1 객체를 포함하는 상기 상위 구조의 제2 객체가 없는 경우, 상기 가상 경로는, 상기 제1 객체 식별자를 가지는 제1 객체의 명칭인, 가상 파일 관리 장치.
  10. 제8항에 있어서,
    상기 제1 객체 식별자를 가지는 제1 객체를 포함하는 상기 상위 구조의 제2 객체가 있는 경우, 상기 가상 경로는, 상기 제1 객체 식별자를 가지는 제1 객체의 명칭, 상기 상위 구조의 제2 객체의 명칭, 및 상기 제1 객체 식별자를 가지는 제1 객체 및 상기 상위 구조의 제2 객체 간의 관계를 포함하는, 가상 파일 관리 장치.
  11. 제8항에 있어서,
    상기 가상 파일 관리 장치는, 상기 제1 객체를 포함하는 가상 폴더 화면을 생성하는 화면 생성부를 더 포함하는, 가상 파일 관리 장치.
  12. 제8항에 있어서,
    상기 가상 파일 수정부에 있어서, 상기 제1 객체에 대한 수정 요청이 상기 제1 객체 식별자와 연결되는 제1 실제 파일의 제1 파일 고유 식별자와 다른 제2 파일 고유 식별자를 생성하지 않는 경우, 상기 제1 객체는 상기 제1 객체에 대한 수정 요청에 따라 수정되고, 상기 제1 파일 고유 식별자와 연결된 제3 객체도 상기 제1 객체와 동일하게 수정되는, 가상 파일 관리 장치.
  13. 제8항에 있어서,
    상기 가상 파일 수정부에 있어서, 상기 제1 객체에 대한 수정 요청이 상기 제1 객체 식별자와 연결되는 제1 실제 파일의 제1 파일 고유 식별자와 다른 제2 파일 고유 식별자를 생성하는 경우, 상기 제1 객체는 수정되지 않고, 상기 제2 파일 고유 식별자를 가지는 제2 실제 파일이 생성되는, 가상 파일 관리 장치.
  14. 삭제
  15. 제1항 내지 제6항 중의 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체.
KR1020200098381A 2020-08-06 2020-08-06 가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체 KR102438329B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200098381A KR102438329B1 (ko) 2020-08-06 2020-08-06 가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체
US17/370,891 US11625365B2 (en) 2020-08-06 2021-07-08 Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200098381A KR102438329B1 (ko) 2020-08-06 2020-08-06 가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20220018186A KR20220018186A (ko) 2022-02-15
KR102438329B1 true KR102438329B1 (ko) 2022-08-31

Family

ID=80115073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200098381A KR102438329B1 (ko) 2020-08-06 2020-08-06 가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체

Country Status (2)

Country Link
US (1) US11625365B2 (ko)
KR (1) KR102438329B1 (ko)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164597A (ja) 2005-12-15 2007-06-28 Hitachi Ltd ファイル管理装置及び方法並びに記憶システム
JP2007199763A (ja) 2006-01-23 2007-08-09 Hitachi Ltd 情報管理方法及び情報管理システム
JP2008181234A (ja) * 2007-01-23 2008-08-07 Kyocera Corp 情報処理装置および同装置における包括ファイルの検索方法
JP2008226137A (ja) 2007-03-15 2008-09-25 Funai Electric Co Ltd ファイル管理方法及びファイル管理システム
KR100996763B1 (ko) 2003-03-27 2010-11-25 마이크로소프트 코포레이션 가상 폴더들을 사용하는 시스템 및 방법
JP5132676B2 (ja) 2007-04-25 2013-01-30 パナソニック株式会社 情報再生方法及び情報再生装置
KR101460091B1 (ko) 2013-06-05 2014-11-10 주식회사 파수닷컴 보안 폴더의 아이콘 변경 장치 및 방법
JP6208860B2 (ja) 2013-07-02 2017-10-04 ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited 仮想化されたファイル・システムのマイグレーションのための方法および装置、仮想化されたファイル・システムのマイグレーションのためのデータ・ストレージ・システム、ならびにデータ・ストレージ・システム内で使用するためのファイル・サーバ
KR101828466B1 (ko) 2016-10-12 2018-02-14 임장식 파일시스템을 기반으로 하는 저장장치에서 객체기반 스토리지 인터페이스를 제공하는 방법 및 장치
KR101903817B1 (ko) 2011-04-26 2018-10-02 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 가상 디스크 스토리지 기술
JP2020095588A (ja) * 2018-12-14 2020-06-18 株式会社アール・アイ 仮想ファイル処理システム及び仮想ファイル処理プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769794B2 (en) * 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
KR20060007666A (ko) * 2004-07-20 2006-01-26 엘지전자 주식회사 가상파일을 이용한 멀티미디어파일 편집 방법과 장치 및그 구조
KR101140484B1 (ko) * 2010-08-24 2012-04-30 엔에이치엔비즈니스플랫폼 주식회사 수평적 구조의 파일 시스템을 이용하여 계층적 구조의 파일 시스템을 지원하는 파일 관리 시스템 및 파일 관리 방법
US9460111B2 (en) * 2013-07-02 2016-10-04 Hitachi Data Systems Engineering UK Limited Method and apparatus for virtualization of a file system, data storage system for virtualization of a file system, and file server for use in a data storage system
KR20180008770A (ko) 2015-05-21 2018-01-24 도요세이칸 그룹 홀딩스 가부시키가이샤 표면 처리 금속판 및 유기 수지 피복 표면 처리 금속판
KR102667438B1 (ko) * 2017-01-25 2024-05-20 삼성전자주식회사 전자 장치 및 전자 장치의 데이터 관리 방법
US20190370362A1 (en) * 2018-05-31 2019-12-05 Microsoft Technology Licensing, Llc Multi-protocol cloud storage for big data and analytics
US11360856B2 (en) * 2019-09-27 2022-06-14 Amazon Technologies, Inc. Manifest index for block-level snapshots
US11960773B2 (en) * 2020-07-31 2024-04-16 Hewlett Packard Enterprise Development Lp Modifying virtual persistent volumes based on analysis of performance metrics

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100996763B1 (ko) 2003-03-27 2010-11-25 마이크로소프트 코포레이션 가상 폴더들을 사용하는 시스템 및 방법
JP2007164597A (ja) 2005-12-15 2007-06-28 Hitachi Ltd ファイル管理装置及び方法並びに記憶システム
JP2007199763A (ja) 2006-01-23 2007-08-09 Hitachi Ltd 情報管理方法及び情報管理システム
JP2008181234A (ja) * 2007-01-23 2008-08-07 Kyocera Corp 情報処理装置および同装置における包括ファイルの検索方法
JP2008226137A (ja) 2007-03-15 2008-09-25 Funai Electric Co Ltd ファイル管理方法及びファイル管理システム
JP5132676B2 (ja) 2007-04-25 2013-01-30 パナソニック株式会社 情報再生方法及び情報再生装置
KR101903817B1 (ko) 2011-04-26 2018-10-02 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 가상 디스크 스토리지 기술
KR101460091B1 (ko) 2013-06-05 2014-11-10 주식회사 파수닷컴 보안 폴더의 아이콘 변경 장치 및 방법
JP6208860B2 (ja) 2013-07-02 2017-10-04 ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited 仮想化されたファイル・システムのマイグレーションのための方法および装置、仮想化されたファイル・システムのマイグレーションのためのデータ・ストレージ・システム、ならびにデータ・ストレージ・システム内で使用するためのファイル・サーバ
KR101828466B1 (ko) 2016-10-12 2018-02-14 임장식 파일시스템을 기반으로 하는 저장장치에서 객체기반 스토리지 인터페이스를 제공하는 방법 및 장치
JP2020095588A (ja) * 2018-12-14 2020-06-18 株式会社アール・アイ 仮想ファイル処理システム及び仮想ファイル処理プログラム

Also Published As

Publication number Publication date
US11625365B2 (en) 2023-04-11
US20220043783A1 (en) 2022-02-10
KR20220018186A (ko) 2022-02-15

Similar Documents

Publication Publication Date Title
US7080224B2 (en) Data processing method with restricted data arrangement, storage area management method, and data processing system
JP3956149B2 (ja) リソース・コンテンツのアクセス制御方法、システム、およびプログラム
US7539680B2 (en) Revision control for database of evolved design
US5251315A (en) Atomic check-in check-out document copy commands partitioned into document interchange architecture system operands
US9223999B2 (en) Management of Digital information
US8528099B2 (en) Policy based management of content rights in enterprise/cross enterprise collaboration
JP4275772B2 (ja) データベースシステム、データ管理方法及びデータ管理用ソフトウェアを記録した記録媒体
EP2059881B1 (en) Method for managing simultaneous modification of database objects during development
US20080141334A1 (en) Method and Apparatus for Dissociating Binding Information from Objects to Enable Proper Rights Management
JPH07111688B2 (ja) コピー装置及び方法、並びにデータ処理装置
US8452740B2 (en) Method and system for security of file input and output of application programs
US7233949B2 (en) System and method for controlling user authorities to access one or more databases
CN115630345A (zh) 一种业务管理系统
JP5119840B2 (ja) 情報処理装置、情報処理システム、及びプログラム
US9081977B2 (en) Method and apparatus for privilege control
KR102438329B1 (ko) 가상 파일 관리 방법, 장치, 컴퓨터 프로그램 및 기록 매체
Yanakieva et al. Access control conflict resolution in distributed file systems using crdts
JP4276717B2 (ja) データベースシステム
JP4723930B2 (ja) 複合的アクセス認可方法及び装置
JP2007233635A (ja) 情報管理システム及び情報管理方法、並びにコンピュータ・プログラム
JP2009104646A (ja) データベースシステム及びデータ管理方法
WO2010091607A1 (zh) 一种在文件系统中提供自定义存取控制方式的方法
WO2023225763A1 (en) System and method of in-place content management
Stipek et al. Object Oriented Role-Based Access Control
JPH04279941A (ja) データ処理方法及び装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right