KR20100096160A - 서술 논리 파일 시스템을 갖는 정보를 저장하기 위한 방법, 시스템 및 컴퓨터 프로그램 - Google Patents

서술 논리 파일 시스템을 갖는 정보를 저장하기 위한 방법, 시스템 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20100096160A
KR20100096160A KR1020107012824A KR20107012824A KR20100096160A KR 20100096160 A KR20100096160 A KR 20100096160A KR 1020107012824 A KR1020107012824 A KR 1020107012824A KR 20107012824 A KR20107012824 A KR 20107012824A KR 20100096160 A KR20100096160 A KR 20100096160A
Authority
KR
South Korea
Prior art keywords
file
virtual
knowledge
concept
file system
Prior art date
Application number
KR1020107012824A
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 KR20100096160A publication Critical patent/KR20100096160A/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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

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

Abstract

데이터 프로세싱 시스템 내에 정보를 저장하기 위한 솔루션이 제안된다. 대응하는 방법은 파일 시스템 관리자에 대해 지식 기반을 제공하는 단계(A1-A2)로부터 시작한다(이는 데이터 프로세싱 시스템의 대용량 메모리 상의 복수의 실제 파일을 조직하도록 적응된다). 지식 기반은 개념 세트, 개념 간의 관계의 세트, 및 (사전정의된 온톨로지에 따라서) 적어도 하나의 개념의 인스턴스로서 각각의 실제 파일을 기술하는 포함 관계의 세트를 포함하는 지식의 집합을 정의한다. 명령어는 선택된 인스턴스 세트에 액세스하기 위하여 (예를 들면, 대응하는 가상 폴더 및 파일의 그랙픽적 표현을 통하여) 파일 시스템 관리자로 제공된다(A5-A6). 방법은 (지식에 따라서) 선택된 인스턴스에 의해 기술되는, 선택된 실제 파일 세트를 식별하는 단계(A7-A11)에 의해 계속된다. 선택된 실제 파일은 대용량 메모리 상에서 액세스된다(A13).

Description

서술 논리 파일 시스템을 갖는 정보를 저장하기 위한 방법, 시스템 및 컴퓨터 프로그램{METHOD, SYSTEM AND COMPUTER PROGRAM FOR STORING INFORMATION WITH A DESCRIPTION LOGIC FILE SYSTEM}
본 발명은 정보 기술 분야에 관한 것이다. 보다 구체적으로, 본 발명은 데이터 프로세싱 시스템에서의 정보 저장에 관한 것이다.
(컴퓨터와 같은) 데이터 프로세싱 시스템은 일반적으로 많은 양의 정보를 저장하기 위해 사용된다. 일반적으로, 정보는 파일로 배열되는데, 각각의 파일은 컴퓨터의 대용량 메모리 상에 저장된 정보 블록을 포함하고, 정보 블록은 그들의 사용자에 의해 개별적으로 액세스될 수 있다.
파일은 파일 시스템에서 조직되고, 이는 컴퓨터의 운영 체제에 의해 제어된다. 실질적으로 기존에 알려진 모든 파일 시스템은 계층적 구조를 갖는다. 특히, 파일은 (일반적으로 폴더 또는 디렉토리로 지칭되는) 저장소 내에 포함되고, 폴더는 트리 내에 링크되며, 컴퓨터의 (물리적 또는 논리적) 장치를 정의하는 루트 폴더로부터 시작한다.
파일 시스템은 컴퓨터 상의 파일의 논리적인 관리를 가능하게 한다. 사실, 무엇보다도 각각의 파일의 이름은 파일의 특징에 대한 일종의 정보를 제공한다. 게다가, 동일한 폴더 내의 모든 파일은 대응하는 카테고리를 정의하는 공통적인 특징을 공유할 수 있는데, 폴더의 이름에 의해 식별되는 소정의 방법에서, 파일에 대한 상이한 레벨의 카테고리는 또한 폴더의 계층에 의해 정의될 수 있다. 예를 들면, 모든 고객에 대한 폴더를 가지면서 특정 고객에 대하여 의존하는(depending) 추가적인 폴더를 갖는 것이 가능하며, 각각은 대응하는 고객과 관련된 (고객과의 특정 커뮤니케이션을 저장하는 각각의 파일을 포함하는) 모든 파일을 포함한다.
그러나, 이러한 방법에서, 파일의 특징은 오직 (파일 및 폴더의 이름에 따라서) 완전히 비정형적인 방식에 의해서 정의될 수 있다. 그러므로, 일반적으로 이러한 정보는 소프트웨어 애플리케이션에 의해 영향을 받을 수 없다.
게다가, (특정 계층이 선택되게 되면) 폴더 내에서의 파일 조직은 꽤 견고해서 변경하기 어렵다. 특히, 각각의 파일은 단일 폴더에 속한다. 동일한 파일에 대해 다른 폴더로 링크를 생성하는 것 또한 가능하지만, 이는 오직 (다른 폴더의 이름에 따라서) 파일에 추가적인 특징을 추가하게 할 뿐이다. 그러나, 이는 파일의 고유성 개념(the concept of uniqueness of the files)을 깨는 것이며 파일의 조직을 관리하기 매우 어렵게 만든다. 어떠한 경우에도, 폴더는 (폴더 내의 파일이 포함됨으로써 정의되는 기본적인 관계와 거리가 먼) 파일 간의 관계를 표현하는 것을 허용하지 않는다.
이와 다른 방법이 (모든 개시 사항이 본 명세서에 참조로 포함되는) 미국 특허 제7,149,729B호에 개시된다. 이 문서는 액세스를 용이하게 하기 위하여 파일과 연관된 (파일을 기술할 목적인) 메타데이터를 이용한다. 이 목적을 위하여, 파일의 다른 관점을 드러내기 위해 가상 폴더가 제공되고, 이는 (물리적인) 폴더 내의 파일의 실제 조직 대신에 그 메타데이터에 기초한다. 보다 구체적으로, 모든 파일의 메타데이터는 데이터베이스에 저장된다. 각각의 가상 폴더는 필터링된 기준에 의해 정의되며, 이는 (파일의 대응 카테고리를 정의하는) 필터링된 기준에 부합하는 파일을 검색하기 위하여 데이터베이스에 질의하도록 사용된다. 가상 폴더 내의 파일은 (복사, 이동, 삭제 등과 같은) 표준 명령어로 조정될 수 있고, 따라서 이는 관련 메타데이터에 영향을 줌으로써 구현된다. 예를 들면, 파일이 가상 폴더에 추가될 때 해당 메타데이터가 자동으로 업데이트된다. 반대로, 파일이 삭제될 때 사용자는 대용량 메모리로부터 물리적으로 삭제할지 또는 (단순히 대응 메타데이터의 업데이트를 수반하여) 오직 가상 폴더로부터 논리적으로 제거할지를 선택할 수 있다.
그러나, 위에 기술된 솔루션은 완벽히 만족스러운 것은 아니다. 특히, 파일은 오직 메타데이터에서 명백히(expressly) 정의된 명시적 특성(explicit characteristics)에 따라 (가상 폴더 내에서) 필터링될 수 있다.
더구나, 상이한 가상 폴더 내의 파일 특징의 임의의 논리적 일관성을 강제할 수 없다. 예를 들면, 어떤 것도, 락 음악을 저장하는 파일의 메타데이터에 이 곡의 저자를 (정확하게) 락 밴드로, 그 분류를 (부정확하게) 클래식 음악으로 지정하는 것을 막지 못한다. 이런 경우, 파일은 (대응하는 필터링 기준에 기초한 질의의 결과로서) 클래식 음악의 가상 폴더 내에 잘못 포함될 것이다.
일반적인 용어로, 본 제안은 온톨로지(ontology)를 파일 시스템에 적용한다는 아이디어에 기초한다.
특히, 본 발명의 서로 다른 특징은 독립 청구항에 제시된 바와 같은 솔루션을 제공한다. 본 발명의 유리한 실시예는 종속항에 제시되어 있다.
보다 구체적으로, 본 발명의 특징은 데이터 프로세싱 시스템 내의 정보를 저장하기 위한 방법을 제안한다. 방법은 파일 시스템 관리자에 대한 지식 기반을 제공하는 단계에서 시작한다(이는 데이터 프로세싱 시스템의 대용량 메모리 상의 복수의 실제 파일을 조직하도록 구성된다). 지식 기반은 개념 세트, 개념 간의 관계의 세트, 및 (사전정의된 온톨로지에 따라서) 적어도 하나의 개념의 인스턴스로서 각각의 실제 파일을 기술하는 포함 관계의 세트를 포함하는 지식의 집합을 정의한다. 명령어는 선택된 인스턴스 세트에 액세스하기 위하여 (예를 들면, 대응하는 가상 폴더 및 파일의 그랙픽적 표현을 통하여) 파일 시스템 관리자로 제공된다. 방법은 (지식에 따라서) 선택된 인스턴스에 의해 기술되는, 선택된 실제 파일 세트를 식별하는 단계에 의해 계속된다. 선택된 실제 파일은 대용량 메모리에서 액세스된다.
바람직하게, 실제 파일은 또한 추가적인 지식에 따라서 액세스되고, 이는 사전정의된 논리적 추론 규칙을 적용하여 지식으로부터 추론된다.
게다가, (지식에 대해 대응하는 업데이트를 수반하는) 선택된 인스턴스를 처리하기 위하여 추가적인 명령어를 제공하는 것이 또한 가능하다.
예를 들면, 선택된 인스턴스가 타겟 개념에 추가될 때, 타겟 개념 내의 각각의 선택된 인스턴스의 포함의 관계가 주장된다.
(각각의 대응하는 관계의 삭제만을 수반하는) 추가적인 타겟 개념으로부터의 선택된 인스턴스의 약한 삭제(weak deletion)가 또한 지원된다.
추가적인 명령어는 또한 (위에서 식별된 것과 같이 지식에 따라서 선택된 인스턴스에 의해 기술된 것만큼) 선택된 실제 파일의 변경을 수반할 수 있다.
예를 들면, 선택된 인스턴스를 또 다른 타겟 개념으로부터 강하게 삭제하는(strongly delete) 것이 가능하며, 각각의 선택된 인스턴스 및 각각의 관계의 삭제 및 대용량 메모리로부터 각각의 대응하는 실제 파일의 삭제가 이에 수반된다.
추가적인 향상으로서, 제안된 솔루션은 또한 지식에 요구되는 임의의 업데이트의 논리적 일관성을 검증한다.
바람직하게는, (요구되는 업데이트를 강제하도록 하기 위하여) 지식을 이에 따라 교정하는 것이 가능하다.
제안된 구현에서, 파일 시스템의 표현을 표시하기 위하여 가상 폴더 및 가상 파일은 개념 및 인스턴스와 각각 연관된다.
일반적으로, 파일 시스템 관리자에 제공되는 명령어는 {예를 들면, 후킹(hooking) 기술에 의해} 인터셉트되어, 추론 엔진(inference engine)으로 전달된다.
특정한 구현에서, 개념은 계층적 분류에 따른다.
유리하게, 지식은 서술 논리 언어(Description Logic language)로 표현된다.
제시된 구현에서, 지식 기반은 실제 파일에 독립적으로 저장된다.
본 발명의 또 다른 특징은 위에 기술된 방법을 수행하기 위한 컴퓨터 프로그램을 제안한다.
특히, 컴퓨터 프로그램은 가상 파일 시스템 관리자에 포함될 수 있다.
게다가, 가상 파일 시스템 관리자는 운영 체제 내에 내재될(embedded) 수 있다.
본 발명의 상이한 특징은 대응하는 시스템을 제안한다.
본 발명은, 추가적인 특징 및 그 이점과 더불어, 순수하게 제한적이지 않은 표현을 통해서 첨부된 도면과 함께 다음의 상세한 설명을 참조하여 가장 잘 이해될 것이다.
도 1은 본 발명의 실시예에 따른 솔루션을 실시하도록 사용될 수 있는 컴퓨터의 예시적인 블록도.
도 2a-2b는 본 발명의 실시예에 따른 솔루션의 애플리케이션의 예를 도시하는 도면.
도 3a-3e는 본 발명의 실시예에 따른 솔루션의 애플리케이션의 추가적인 예를 도시하는 도면.
도 4a-4b는 본 발명의 실시예에 따른 솔루션의 애플리케이션의 또 다른 예를 도시하는 도면.
도 5는 본 발명의 실시예에 따른 솔루션을 구현하도록 사용될 수 있는 상이한 소프트웨어 컴포넌트의 역할을 나타내는 협업도.
도 1을 특별히 참조하면, (예를 들면, PC와 같은) 컴퓨터(100)의 예시적인 블록도가 도시된다. 컴퓨터(100)는 시스템 버스(105)에 병렬적으로 연결된 여러 유닛으로 형성된다. 세부적으로, 하나 이상의 마이크로프로세서(μP; 110)는 컴퓨터(100)의 작업을 조정하고, 램(115)은 마이크로프로세서(110)에 의해 워킹 메모리(working memory)로 바로 사용되며, 롬(120)은 컴퓨터(100)의 부트스트랩에 대한 기본 코드를 저장한다. 여러 주변 유닛은 (각각의 인터페이스에 의해) 로컬 버스(125) 주위로 클러스터링된다. 특히, 대용량 메모리는 하나 이상의 하드 디스크(130) 및 CD-ROM(140)을 판독하기 위한 드라이브(135)를 포함한다. 게다가, 컴퓨터(100)는 (예를 들면, 키보드 및 마우스와 같은) 입력 유닛(145) 및 (예를 들면, 모니터 및 프린터와 같은) 출력 유닛(150)을 포함한다. 어댑터(155)는 컴퓨터(100)를 (도면에 도시되지 않은) 네트워크로 연결하도록 사용된다. 브릿지 유닛(160)은 시스템 버스(105)를 로컬 버스(125)와 인터페이싱한다. 각각의 마이크로프로세서(110) 및 브릿지 유닛(160)은 정보를 전송하기 위하여 시스템 버스(105)로의 액세스를 요청하는 마스터 에이전트로 동작할 수 있다. 중재자(165)는 시스템 버스(105)로의 상호 배제와 더불어 액세스를 허용하는 것을 관리한다.
컴퓨터(100)는 파일 시스템을 구현하고, 이는 {컴퓨터(100)의 사용자에 의해 액세스되기 위하여} 대용량 메모리(130 및 140) 상에 저장되는 파일을 조직하도록 사용된다. 본 발명의 실시예에 따른 솔루션에서, 다음에 상세히 기술되는 바와 같이, 파일 시스템은 온톨로지(ontology)에 기초한다.
온톨로지는 관심 영역의 일반적 개체에 대한 시맨틱을 (즉, 그들의 의미를 모호하지 않은 방법으로) 기술하기 위한 정형화된 명세(formal specification)이다. 온톨로지에 따라서 기술될 수 있는 개체는 도메인의 담화(discourse)의 세계(universe)를 정의한다. 일반적으로, 온톨로지는 일종의 개념화(conceptualization)에 기초하고, 이는 (개체들 중에서 동일한 종류의 공통성을 캡처링하기 위하여 그들의 세부사항을 무시함으로써 단순화되는) 개체의 추상적인 관점을 제공하며, 개체는 온톨로지를 따르는 구체적인 데이터 구조로 기술될 수 있다.
대부분의 온톨로지는 인스턴스, 개념(concepts), 특성(attributes), 및 관계를 정의한다. 인스턴스는 (실체적이거나 비실체적인) 구체적인 것을 포함하고, 이는 임의의 온톨로지의 최종 목표로서 기술된다{예를 들면, 특정 자동차의 인스턴스 "내자동차(MyCar)"}. 개념은 인스턴스의 추상적인 집합이다{예를 들면, 모든 차에 대한 개념 "자동차(Car)"}. 특성은 (일반적으로 이름/값의 쌍의 형태인) 정보의 조각이고, 이는 그들이 적용되는 인스턴스 또는 개념을 특정하기 위해 사용된다(예를 들면, 인스턴스 "내자동차"에 대한 특성 "색=빨강" 또는 개념 "자동차"에 대한 특성 "바퀴수=4"). 마지막으로, 관계는 하나 이상의 소스 용어를 하나 이상의 타겟 용어로 연관시킨다. 관계의 가장 중요한 유형은 "~는 ~이다" 관계이고, 이는 소스 인스턴스/개념이 타겟 개념 내에 포함된다는 것을 특정한다. "~는 ~이다" 관계는 (분류학으로 알려진) 특정 온톨로지를 정의하게 하고, 이는 인스턴스를, 대응 개념에 의해 정의되는 카테고리로 분류하는 데 사용된다. 일반적으로, 분류학은 계층적 구조를 갖고, 개념은 "~는 ~이다"의 관계에 의한 트리 구조로 조직되며, (대응 인스턴스를 포함하는) 아이 개념은 부모 개념에서 트리의 루트 개념까지에 포함된다(예를 들면, 개념 "자전거" 및 "자동차"는 개념 "운송수단"에 포함됨).
특정 개념의 정의 또는 (온톨로지에 따라서 실제 개체를 기술하는) 특정 관계에 대한 주장을 포함하는 사실(즉, 언제나 진실인 구절)은 영역 상의 지식을 정의하고, 이는 지식 기반으로(in a knowledge base) 수집된다. 지식 기반은, 이러한 경우 논리적 추론에 추리에 의해 기존의 지식으로부터 추가적인 지식이 유도될 수 있기 때문에, 표준 데이터베이스와 다르다. 논리적 추론은 논리적 추론 법칙을 적용함으로써 이용가능한 사실로부터 새로운 사실을 얻어내는 과정이다(이는 새로운 사실을 얻기 위해 이용가능한 사실이 어떻게 혼합될 것인지를 정의한다).
지식 기반은 (온톨로지에 따라서) 서로 다른 정형화된 언어에 의해 표현될 수 있다. 일반적인 예는 서술 논리(Description Logic; DL) 언어이고, 이는 논리 기반의 시맨틱의 애플리케이션으로부터 그 이름을 얻은 것이다. 각각의 DL 언어의 문법은 인스턴스 이름, 개념 이름, 역할 이름, 특성 이름, 생성자(constructors), 내포적 주장, 및 외포적 주장을 포함하는 용어에 의해 정의된다. 인스턴트 이름은 인스턴트를 나타내고, 개념 이름은 (표준 개념 "상(Top)"은 모든 인스턴스로 구성되고, 표준 개념 "하(Bottom)"는 인스턴스가 없음을 의미하는) 개념을 나타내며, 역할 이름은 관계를 나타내고, 특성 이름은 특성을 나타낸다. (교집합, 합집합, 부정, 역 등과 같은) 생성자는 더 단순한 용어(개념 이름 또는 역할 이름)를 더 복잡한 용어로 혼합하도록 사용된다. 예를 들면, 생성자 "자동차∩∃접히는지붕을가짐"은 (개념 "자동차"에 포함되는) 접히는 지붕을 갖는(주장된 특성 "접히는지붕을가짐") 자동차로서 "컨버터블자동차"의 개념을 정의한다. 내포적 주장(intensional assertions)은 개념들의 관계를 표현하고, 예를 들면, 내포적 주장 "자동차 ⊆ 운송수단"은 개념 "자동차"가 개념 "운송수단"에 포함된다는 것을 특정한다. 마지막으로, 외포적 주장(extensional assertions)은 인스턴스와 다른 인스턴스, 개념, 또는 역할과의 관계를 표현한다. 예를 들면, 외포적 주장 "내자동차(MyCar)는 내사람(MyPerson)에게 속한다"는 인스턴스 "내자동차"가 인스턴스 "내사람"에 의해 사용되는 것을 특정하고, 외포적 주장 "내자동차는 자동차이다"는 인스턴스 "내자동차"가 개념 "자동차"의 개념에 포함된다는 것을 특정한다. 일반적으로, DL 언어는 술어 박스(Terminological Box; TBox)와 주장 박스(Assertional Box; ABox)를 구분한다. TBox는 실질적으로 바람직한 개체의 개념화(즉, 일종의 데이터 방식)를 표현한다. 이러한 목적을 위하여, TBox는 개념, 역할, 특성, 및 내포적 주장을 포함한다. 반면, ABox는 이러한 개념화를 실제로 명확히 하는 개체를 실질적으로 표현한다(즉, 데이터 그 자체). 이러한 목적에서, ABox는 인스턴스와 외포적 주장을 포함한다. 구분은 중요하지 않지만, 이는 DL 언어로 표현되는 지식 기반의 정의 및 관리를 이용한다.
본 발명의 실시예에 따른 솔루션에서, 파일 시스템은 사전정의된 온톨로지를 따르는 지식의 집합을 정의하는 지식 기반으로 기술된다. 보다 구체적으로, 지식은 개념, 개념들의 관계, 및 하나 이상의 개념의 인스턴스로서 각각의 파일을 기술하는 포함의 관계를 포함한다. 선택된 인스턴스 세트로 액세스하기 위해 파일 시스템 관리자로 제공되는 각각의 명령어에 대하여, 선택된 인스턴스에 의해 기술되는 대응 선택된 파일은 지식에 따라서 식별되고, 이러한 선택된 파일은 대용량 메모리 상에서 액세스될 수 있다.
제안된 솔루션은 파일의 시맨틱을 정형화된 방식으로 그리고 (온톨로지에 따라서) 모호하지 않게 정의하게 한다. 게다가, 이는 파일 시스템 상에서 정교한 시맨틱 추리를 구현하게 한다.
바람직한 솔루션은 파일 시스템 자체에 내재되고(embedded), 곧바로 지적인 행동을 나타낸다는 것을 주의해야한다.
파일 시스템의 이러한 능력은 사용자에 의해 활용될 수 있다(이는 개념에 따라서 파일의 자동 분류되고 대응하는 인스턴스가 포함되는 이점을 제공함). 게다가, 동일한 능력은 또한 소프트웨어 애플리케이션 out-of-the-box에 의해 영향을 받을 수 있다.
도 2a를 참조하면, 본 발명의 바람직한 실시예에서, 지식 기반은 DL 언어로 표현된다. 특정 DL 언어의 선택은 (제안된 솔루션이 임의의 특정 DL 언어에 전혀 제약받지 않는다고 하더라도) 서술 능력 및 추리의 복잡성이라는 상반된 요구 사이에서 양호한 트레이드오프를 허용할 수 있다.
특히, TBox는 표준 개념 "상" 및 "하"와 개념 "표준파일"을 모든 파일에 대하여 포함한다. 사용자는 (개념 "표준파일"에 포함된) 추가적인 고객 개념, 역할, 특성, 및 내포적 주장을 정의할 수 있다. 사용자는 ABox를, 컴퓨터의 대용량 메모리 상에 저장된 각각의 파일을 하나 이상의 개념의 인스턴스로 (적어도 개념 "표준파일"의 인스턴스로 항상 기술되는 모든 파일과 함께) 기술하는 외포적 주장으로 다함께 임의의 바람직한 대응 관계를 가진 채로 정의할 수 있다.
예를 들면, 도면에 도시된 바와 같이, 지식 기반은 계층적 분류학을 정의할 수 있고, 이는 트리(200)로 자세히 표현된다. 보다 구체적으로, 각각의 개념은 가상 폴더(205)로 표현되고, 각각의 인스턴스는 가상 파일(210)로 표현된다. 이하에서는, 간결성을 위하여, 각각의 가상 폴더(205) 및 각각의 가상 파일(210)은 각각 대응 개념 및 인스턴스와 동일한 이름으로 나타날 것이다. 위에서 지적된 바와 같이, 각각의 가상 파일(210)은 컴퓨터의 대용량 메모리 상에 저장되는 (실제) 파일을 기술한다. 실제 파일은 {예를 들면, 보편적 유일 식별자(Universally Unique Identifier; UUID)를 포함하는} 대응 식별자에 의해 모호하지 않게 식별된다. 대신, 가상 폴더(205)는 (어떤 것도 지식 기반에 추가되는 실제 파일 각각의 제1 인스턴스에 대해 대응하는 실제 폴더를 사용하는 것을 막지 못한다고 하더라도) 컴퓨터의 대용량 메모리 상에서 실제 파일을 조직하도록 사용될 수 있는 임의의 실제 폴더와 완전히 독립적이다.
트리(200)는 (모든 실제 파일에 대하여) (루트) 가상 폴더 "표준파일"로부터 시작한다. 사용자는 회사 보관소의 조직을, "운송수단 ⊆ 표준파일"로 주장되는 모든 운송수단에 대하여 개념 "운송수단"으로, "자전거 ⊆ 운송수단"으로 주장되는 자전거에 대하여 개념 "자전거"로, "자동차 ⊆ 운송수단"으로 주장되는 모든 자동차에 대하여 개념 "자동차"로, "프로젝트 ⊆ 표준파일"로 주장되는 모든 프로젝트에 대하여 개념 "프로젝트"로, "사람 ⊆ 표준파일"로 주장되는 모든 사람에 대하여 개념 "사람"로 정의했다. 사용자는 "자동차∩자전거 = 하"라고 또한 주장한다.(즉, 어떠한 자동차도 자전거가 될 수 없고, 어떠한 자전거도 어떠한 자동차가 될 수 없다)
이러한 점에서, 사용자는 개념 "자전거"의 인스턴스 "내자전거1(MyBike1)" ("내자전거1는 자전거이다" 주장), 개념 "자동차"의 두 개의 인스턴스 "내자동차1" 및 "내자동차2" (주장 "내자동차1은 자동차이다" 및 "내자동차2는 자동차이다"), 개념 "프로젝트"의 두 개의 인스턴스 " 내프로젝트1(MyProject1)" 및 "내프로젝트2" (주장 "내프로젝트1은 프로젝트이다" 및 "내프로젝트2는 프로젝트이다"), 개념 "사람"의 세 개의 인스턴스 "내사람1", "내사람2", 및 "내사람3" (주장 "내사람1은 사람이다", "내사람2는 사람이다", 및 "내사람3은 사람이다")를 정의했다. 인스턴스 "내자전거1", "내자동차1" 및 "내자동차2"는 (등록 번호, 기계적 특징, 나이 등과 같은) 대응 자전거 및 차에 대한 정보를 저장하는 실제 파일을 기술할 수 있고, 인스턴스 "내프로젝트1" 및 "내프로젝트2"는 (스케줄링, 상태 등과 같은) 대응 프로젝트 대한 정보를 저장하는 실제 파일을 표현할 수 있으며, 인스턴스 "내사람1", "내사람2", 및 "내사람3"은 (이름, 전화번호 등과 같은) 대응하는 사람에 대한 정보를 저장하는 실제 파일을 기술할 수 있다. 사용자는 또한 인스턴스들 간의 임의의 바람직한 관계를 주장할 수 있다. 예를 들면, "내자전거1은 내사람1에게 속해있다", "내자동차2은 내사람3에게 속해있다", "내프로젝트1은 내사람2에게 속해있다", 및 "내프로젝트2는 내사람3에게 속해있다" 라고 주장하는 것이 가능하다.
결과적인(resulting) 지식 기반이 가상 폴더 "표준파일"을 그 루트로 갖는 트리(200)에 표현된다. 가상 폴더 "운송수단", "프로젝트", 및 "사람"은 가상 폴더 "표준파일"에 추가되고, 가상 폴더 "자전거" 및 "자동차"는 가상 폴더 "운송수단"에 추가된다. 가상 파일 "내자전거1", 가상 파일 "내차1" 및 "내차2", 가상 파일 "내프로젝트1" 및 "내프로젝트2", 및 가상 파일 "내사람1", "내사람2", 및 "내사람3"은 가상 폴더 "자전거, "자동차", "프로젝트", 및 "사람"에 각각 추가된다.
제안된 파일 시스템 내의 가상 폴더(205) 및 가상 파일(210)의 관리는 표준 파일 시스템에 의해 일반적으로 지원되는 것에게 유사하게 가능한 명령어로 행해진다. 이러한 방법에서, 고안된 솔루션은 그것에 영향을 주지 못하는 사용자 및 소프트웨어 애플리케이션에게 완전히 불투명하다. 그러나, 추가적인 명령어는, 지식 기반에 기초하는 파일 시스템의 제안된 조직에 특별히 맞춰진 추가적인 작업을 구현하는 것을 가능하게 하는데에 이용가능하다.
특히, 사용자는 언제나처럼 가상 파일이 추가된 일반 가상 폴더(205)로부터 가상 파일(210)에까지 도달하는 임의의 경로로 각각의 가상 파일(210)(및 컴퓨터의 대용량 메모리 상의 대응하는 실제 파일)에 액세스할 수 있다. 예를 들면,
"표준파일/운송수단/자동차/내자동차1",
"운송수단/자동차/내자동차1",
"자동차/내자동차1", 및
"내자동차1"
는 (해당 UUID에 의해 식별되는) 가상 파일 "내자동차1"에 대한 모든 유효한 경로이다.
그러나, 사용자는 또한 (논리적 추론 규칙을 적용함으로써) 지식 기반으로부터 추론되는 추가적 지식에 따라서 가상 파일(210)에 액세스할 수 있다. 예를 들면, 도 2b에 도시된 바와 같이, 사용자는 사람에 의해 사용되는 운송수단에 대한 새로운 개념 "이익(Benefit)"을 추가한다("이익 ⊆ 운송수단 AND 운송수단은 사람에 속한다"). 이 경우, (인스턴스 "내사람1"에 의해 사용되는) 인스턴스 "내자전거1" 및 (인스턴스 "내사람3"에 의해 사용되는) 인스턴스 "내자동차2"가 개념 "이익"에 포함된다고 추론할 수 있다. 이는 트리(200)에서 가상 폴더 "이익"이 가상 폴더 "표준파일"에 추가되고, 가상 파일 "내자전거1" 및 "내자동차2"이 가상 폴더 "이익"에 추가되는 것으로 표현된다. 이러한 결과는 인스턴스 "내자전거1" 및 "내자동차2"가 개념 "이익"에 포함된다는 것을 명백히 주장할 필요 없이, 지식 기반에 추리를 적용함으로써 자동으로 달성됨을 주의해야 한다.
이러한 방법으로, 인스턴스들 (및 대응하는 실제 파일들) 간의 암시된 관계를 발견하는 것이 가능하다. 게다가, 이는 파일 시스템 상에서 시맨틱 질의를 수행하게 한다.
가상 폴더(205) 및 가상 파일(210)은 또한 (복사, 이동, 삭제 등과 같은) 표준 명령어로 처리될 수 있고, 이는 (만약 필요하다면) 자동으로 지식 기반 및 실제 파일에 대한 대응 업데이트(corresponding updates)로 번역된다.
예를 들면, 도 3a는 (대응하는 가상 파일 "내자전거1", "내자동차1", 및 "내자동차2"를 갖는 가상 폴더 "표준파일", "운송수단", "자전거", 및 "자동차"로 제한된) 도 2a에서와 같이 동일한 트리(200)의 일부를 도시한다. 이 경우, 사용자는 (회사에 의해 대여된 모든 물품에 대하여) 개념 "대여물품"을 위한 새로운 가상 폴더(205)를 생성한다. 사용자는 대응하는 자동차가 대여되었다는 것을 나타내기 위하여, 가상 파일 "내자동차2"를 가상 폴더 "대여물품"으로 복사한다(예를 들면, 도면에 화살표로 표시된 바와 같이, 마우스로 드래그-앤-드롭함으로써).
도 3b를 참조하면, 결과적으로 새로운 주장 "내자동차2는 대여물품이다"는 지식 기반에 자동으로 추가된다. 이는 트리(200)에서 추가적인 가상 파일 "내자동차2"가 가상 폴더 "대여물품"에 추가됨으로써 표현된다. 사용자는 회사에 의해 대여된 PC에 대한 정보를 저장하는 새로운 실제 파일을 생성하고, 이를 동일한 가상 폴더 "대여물품"에 추가되는 새로운 가상 파일 "내PC1"로 표현한다. 위와 같이, 주장 "내PC1은 대여물품이다"을 포함하는 새로운 대응 인스턴스 "내PC1"은 자동으로 지식 기반에 추가된다.
도 3c를 참조하면, 사용자는 (도면에 X표로 표시된 바와 같이) 가상 폴더 "대여물품"으로부터 가상 파일 "내자동차2"를 삭제할 것을 결정한다. 삭제 작업은 약한 모드(weak mode)에서 또는 강한 모드(strong mode)에서 수행될 수 있다(예를 들면, 사용자가 마우스의 오른쪽 버튼을 눌러 임의의 가상 파일(210)을 클릭할 때 열리는 팝업 메뉴 내의 대응 명령어를 선택함으로써).
약한 삭제의 경우, 도 3d에 도시된 바와 같이, 오직 대응하는 주장 "내자동차2는 대여물품이다"가 지식 기반으로부터 제거된다. 이는 트리(200)에서 가상 파일 "내자동차2"가 가상 폴더 "대여물품"으로부터 삭제되는 것으로 표현된다. 그러나, 작업은 인스턴스 "내자동차2"와 관련된 지식기반의 다른 용어에 영향을 미치지 않는다. 그러므로, 문제의 예에서, 도면에 가상 파일 "내자동차2"가 가상 폴더 "자동차"에 여전히 추가된 것으로 도시되는 바와 같이, 개념 "자동차"의 인스턴스 "내자동차2" (주장 "내자동차2는 자동차이다")는 남는다. 예를 들면, 이러한 작업은 대응하는 자동차가 회사에 의해 더 이상 대여되지 않지만 구매된 경우 수행될 수 있다.
반면, 강한 삭제의 경우, 도 3e에 도시된 바와 같이, 인스턴스 "내자동차2"는 모든 대응 주장을 갖는 지식 기반으로부터 완전히 제거된다. 논의가 되는 특정 경우에 있어서, 이는 인스턴스 "내자동차2", 주장 "내자동차2는 대여물품이다", 및 주장 "내자동차2는 자동차이다"의 삭제를 수반한다. 지식 기반으로부터 인스턴스 "내자동차2"의 삭제는 또한 컴퓨터의 대용량 메모리로부터, 대응하는 실제 파일의 실제 삭제를 수반한다. 이는 트리(200)에서 가상 파일 "내자동차2"를, 가상 폴더 "대여물품" 및 가상 폴더 "내자동차"로부터 삭제하는 것으로 표현된다. 예를 들면, 이 작업은 회사가 대응하는 자동차를 더 이상 소유하지 않는 경우 수행될 수 있다.
게다가, 사용자에 의하여 가상 폴더 및/또는 파일에 제공되는 임의의 명령어의 논리적 일관성을 강제하는 것 또한 가능하다. 이러한 목적을 위하여, 도 2a에 도시된 동일한 트리(200)가 도 4a에서 참조된다. 사용자가 가상 파일 "내자동차2"를 가상 폴더 "자전거"로 복사하려고 한다는 것을 가정한다 (도면에 화살표에 의해 표현된 바와 같이, 다시 마우스로 드래그-앤-드롭함). 그러나, 이 경우 작업은 개념 "자동차"의 어떤 인스턴스도 또한 개념 "자전거"의 인스턴스가 될 수 없다는 것(및 그 반대)에서 시작한, 주장 "자동차∩자전거=하"와 양립불가능하다. 그러므로, 사용자는 작업이 허용되지 않는다고 경고받는다. 그것에 대응해서, 사용자는 (예를 들면, 그/그녀는 이것이 실수로 요청된 것이라고 이해했기 때문에) 작업을 중단할 수 있다.
도 4b를 참조하면, 이와 달리 사용자는 그 대신 작업을 강제하기로 결정할 수 있다. 예를 들면, 이는 에러가 이전에 발생했다고 사용자가 이해할 때 - 가상 파일 "내자동차2"가 실수로 가상 폴더 "자동차"에 추가될 때 - 일어날 수 있다. 이런 경우, 인스턴스 "내자동차2"는 개념 "자동차"에 포함되며, 지식 기반에 새로운 주장 "내자동차2는 자전거이다"가 추가된다. 동시에, 이 새로운 주장과 양립불가능한 지식 기반 내의 모든 주장이 제거된다. 논의가 되는 특정 경우에 있어서, 이는 주장 "내자동차2는 자동차이다"를 삭제하는 것을 수반한다. 이는 트리(200)에서 가상 파일 "내자동차2"가 가상 폴더 "자동차"로부터 가상 폴더 "자전거"로 이동되는 것으로 표현된다.
이러한 방법에서, 지식 기반이 언제나 논리적으로 일관된 조건 내에 존재한는 것이 보장된다. 특히, 제안된 특징은 사용자가 파일 시스템 상에서 임의의 잘못된 작업을 수행하는 것을 방지한다.
도 5를 참조하면, 본 발명의 실시예에 따른 솔루션을 구현하는데 사용될 수 있는 주요 소프트웨어 구성요소는 총괄하여 참조 번호 500으로 표시된다. 정보(프로그램 및 데이터)는 일반적으로 하드 디스크 상에 저장되고, 프로그램이 실행될 때 컴퓨터의 워킹 메모리로 (적어도 일부가) 로딩된다. 프로그램은 초기에, 예를 들면 CD-ROM으로부터, 하드 디스크 상에 설치된다. 부분적으로, 도면은 (대응하는 구성요소를 사용하여) 시스템의 정적 구조(static structure)를 기술하고, {각각, 심볼 "A"가 앞에 기재되어 있는 시퀀스 숫자로 표시되고, 대응하는 동작을 표현하는 일련의 교환 메시지(exchanged messages)를 사용하여} 그 동적 행동(dynamic behavior)을 기술한다.
보다 구체적으로, (예를 들면, 리눅스와 같은) 운영 체제(505)는, 대응하는 구성요소를 통해 컴퓨터의 기본 함수를 구현하는 소프트웨어 플랫폼을 제공한다. 특히, 현재 논의와 관련된 운영 체제(505)의 구성요소는 (컴퓨터의 대용량 메모리 상의 실제 파일의 조직을 제어하는) 네이티브 파일 시스템 관리자(510) 및 (그래픽 요소의 조정을 통해 사용자와 컴퓨터의 상호작용을 제어하는) 그래픽 사용자 인터페이스, 또는 GUI(515)를 포함한다. (도면에 도시된 오직 하나의) 소프트웨어 애플리케이션(520)은 운영체제(505)의 상부에서 실행된다. 애플리케이션(520)은 특정 서비스를 구현하는 소프트웨어 프로그램 또는 사용자에 의해 운영체제(505)에 접속하기 위한 간단한 콘솔을 포함할 수 있다.
본 발명의 실시예에 따른 솔루션에서, 가상 파일 시스템 관리자(525)는 네이티브 파일 시스템 관리자(510)를 포함한다(wraps). 특히, 가상 파일 시스템 관리자(525)는 (도면에 도시되지 않은 해당 TBox 및 ABox를 갖는) 지식 기반(530)을 포함하고, 이는 파일 시스템을 사전정의된 온톨로지에 따르도록 기술한다. 바람직하게는, 지식 기반이 (예를 들면, 데이터베이스와 같이) 실제 파일에 독립적인 구조의 컴퓨터의 대용량 메모리 상에 저장된다. 이러한 방법에서, 지식 기반(530)은 네이티브 파일 시스템 관리자(510)와 분리되고, 따라서 이는 임의의 이용가능한 네이티브 파일 시스템 관리자(510)를 확장하도록 사용될 수 있다.
인터페이스(535)는 지식 기반(530)의 TBox를 편집하도록 사용된다. 이 목적을 위하여, 인터페이스(535)는 대응하는 라이브러리 내의 API 세트를 노출시킨다. 이러한 API는 지식 기반(530) 내의 개념, 역할, 특성, 및 내포적 주장을 추가하거나, 제거하거나, 또는 업데이트하기 위한 명령어를 제공하게 한다(동작 "A1.Edit"). 이에 대응해서, 지식 기반(530)은 해당 논리적 일관성의 관점에 따라서 업데이트된다(동작 "A2.Update").
렌더링 모듈(540)은 지식 기반(530)에 액세스한다. 렌더링 모듈(540)은 지식 기반(530)의 개념 및 인스턴스를 대응하는 가상 폴더 및 가상 파일와 연관시키고, 이는 대응하는 주장에 따라서 연결된다(동작 "A3.Associate"). 렌더링 모듈(540)은 GUI(515)가 결과 구조(resulting structure)의 그래픽적 표현을 표시하도록 한다(동작 "A4.Display").
API 층(545)은 {예를 들면, 자바 확장(Java Extension)으로 구현된} 가상 폴더 및 파일을 관리하기 위해 API 세트를 노출한다. API 층(545)은 네이티브 파일 시스템(510)의 모든 명령어와 가상 파일 시스템(525)에 특정된 함수에 대한 추가적인 명령어를 지원한다. 애플리케이션(520)은, API 층(545)에 의해 노출되는 대응 API를 호출함으로써 임의의 바람직한 명령어를 가상 파일 시스템(525)으로 제공할 수 있다(동작 "A5.Submit"). 예를 들면, 명령어는 가상 폴더 및 파일의 그래픽적 표현에서 동작함으로써 제공될 수 있고, 이와 달리 명령어는 대응하는 지시와 함께 제공될 수 있다.
임의의 경우, 각각의 명령어는 {예를 들면, 운영체제(505)의 커널 확장을 활용함으로써} 후커(hooker; 550)에 의해 가로막힌다. 이에 대응해서, 후커(550)는 지식 기반(530)을 위해 추론 엔진(또는 추론기; 555)으로 명령어를 전달한다(동작 "A6.Forward"). {DL 언어로 표현되는 지식 기반(530)에 대한} 종래의 이용가능한 추론 엔진의 예는 Fact++, KAON, 및 Pellet이다. 이에 대응해서, 처음에 추론 엔진(555)은 명령어에 의해 지식 기반(530) 상에 요청된 작업이 논리적으로 해당 콘텐츠와 일관되는지를 검증한다(동작 "A7.Verify"). 이러한 검증의 결과가 부정적일 때, 추론 엔진(555)은 GUI(515)를 통해 사용자에게 (예를 들면, 팝업 창으로) 경고 메시지를 제공한다(동작 "A8.Warn"). 그럼에도 불구하고, 만약 사용자가 작업을 강요하기로 결정한다면, 추론 엔진(555)은 모순을 제거하기 위하여 지식 기반(530)을 교정한다(동작 "A9.Correct"). 임의의 경우, 지식 기반(530)은 요청된 작업에 따라서 업데이트된다(동작 "A10.Exec"). 작업의 실행이 임의의 액세스 및/또는 (직접적으로 또는 선택된 가상 폴더를 통해서) 선택된 가상 파일에 의해 기술되는 선택된 실제 파일의 변경을 수반한다면, 이러한 실제 파일은 그들의 UUID에 따라서 변환기(560)에 의해 식별된다(동작 "A11.Identify"). 만약 작업이 (그들의 삭제와 같은) 선택된 실제 파일의 임의의 변경을 포함한다면, 변환기(560)는 네이티브 파일 시스템 관리자(510) 상의 작업을 강제할 수 있다(동작 "A12.Enforce"). 반면, 작업이 (그들을 여는 것과 같은) 선택된 실제 파일로의 액세스를 포함한다면, 변환기(560)는 네이티브 파일 시스템 관리자(510)를 통해 애플리케이션(520)으로, 선택된 실제 파일을 반환한다(동작 "A13.Access").
물론, 국부적인 특정 요구(local and specific requirements)를 충족시키기 위하여, 당업자는 위에 기술된 솔루션을 많은 논리적 및/또는 물리적 수정 및 변형에 적용할 수 있다. 보다 구체적으로, 본 발명이 바람직한 실시예를 참조하여 특정 수준의 자세한 사항들로 기술되었지만, 다른 실시예뿐만 아니라 형태 및 세부사항에서의 다양한 생략, 대체, 및 변경이 가능하다고 이해되어야 한다. 특히, 제안된 솔루션은, 더 전반적인 이해를 제공하기 위한 전술된 기재에서 출발된 (숫자로 구성된 예와 같은) 특정 세부사항이 없어도 실행될 수 있다. 반면, 잘 알려진 특징은 불필요한 사항들로 기재를 모호하게 하지 않게 하기 위해 생략되거나 간결화되었을 수 있다. 게다가, 본 발명의 임의의 개시된 실시예와 연결되어 기술된 특정 요소 및/또는 방법 단계는 일반적인 설계 선택의 문제로서 임의의 다른 실시예에 포함될 수 있다고 명백히 의도된다.
특히, 제안된 솔루션은 그 자체를 (유사한 단계를 사용하거나, 불필요한 소정의 단계를 제거하거나, 선택적인 단계를 더 추가함으로써) 동등한 방법으로 구현되도록 제공한다. 게다가, 단계는 상이한 순서로 동시에 또는 (적어도 일부분이) 번갈아 수행될 수 있다.
임의의 경우, 동일한 솔루션은 (예를 들면, 이메일, 멀티미디어 데이터 등을 저장하는) 임의의 다른 유형의 파일을 조직하도록 사용될 수 있다.
게다가, 지식 기반은 어떤 온톨로지에라도 일관되는 또 다른 방법으로 정의될 수 있다. 임의의 경우, 위에서 언급된 개념, 인스턴스, 및 관계는 단순히 예시적인 것이며, 그들은 한정적인 방식으로 해석되어서는 안 된다.
이와 달리, 임의의 다른 추론 규칙 - 또는 추리 - 은 (예를 들면, 더 높은 차원의 로직에 기초하여) 이용가능한 지식으로부터 추가적인 지식을 유도하도록 사용될 수 있다.
파일 시스템의 표현 상에서 제공될 수 있는 위에서 기술된 명령어의 예가 완전한 것은 아니다(are not exhaustive). 예를 들면, 유사한 고려가 이동 명령어 등(또는 복사 명령어 및 삭제 명령어)에 적용된다. 게다가, 동일한 명령어(예를 들면, 액세스, 복사, 이동, 삭제 등)는 또한 필요한 변경을 가하여 복수의 가상 파일 또는 하나 이상의 가상 폴더에(직접적으로 또는 간접적으로, 그들의 애플리케이션을 위해 그 폴더에 추가된 모든 가상 파일에) 적용될 수 있다.
임의의 경우, 기본 구현은 오직 약한 명령어 또는 오직 강한 명령어를 지원할 가능성을 배제하지 않는다.
만약 지식 기반의 일관성이 임의의 다른 방법(예를 들면, 무비판적인 환경 및/또는 작업에 대한 요구사항을 완화시킬 가능성)으로 검증된다면, 유사한 고려가 적용된다.
게다가, 어떤 것도 모순된 작업을 (사용자가 그들을 강제시키는 가능성을 제외하고) 항상 중단시키는 것을 방지하지 못한다. 이러한 경우, 사용자가 수동으로 모순성을 제거하고 동일한 명령어를 재제공하는 것이 필요할 것이다.
파일 시스템의 제안된 그래픽적 표현은 한정의 목적이 아니다. 임의의 경우, 동일한 명령어가 또한 심지어 코맨드 라인 인터페이스(Command Line Interface; CLI)를 통해서라도 임의의 상이한 방법으로 제공될 수 있다.
이와 달리, 다른 기술로 파일 시스템 관리자로의 각각의 명령어의 제공을 가로막는 것이 (예를 들면, 파일 시스템 관리자를 스텁 라이브러리(stub libraries)에 포함시킴으로써) 가능하다. 임의의 경우, 어떤 것도 네이티브 파일 시스템 관리자에 의해 직접적으로, 제안된 솔루션을 구현하는 것을 막지 못한다.
물론, 개념은 방향성 비순환 그래프(directed acyclic graph; DAG)와 같은 임의의 다른 구조에서 (트리에 기초하지 않더라도) 조직될 수 있다.
DL 언어에 관한 참조는 한정적인 방법으로 해석될 필요는 없으며, 제안된 솔루션은 그 자체를 실행할 수 있게 제공하며 심지어 지식 기반을 (Prolog와 같은) 다른 언어로 표현할 수 있게 한다.
어떤 것도 임의의 다른 유형으로 지식 기반을 저장하는 것을 막지 못한다. 예를 들면, (근본적인 네이티브 파일 시스템 관리자에 기초한) 본 발명의 상이한 실시예에서, 대응하는 정보는 실제 폴더 및 파일의 메타데이터 내에 저장될 수 있다.
만약 (본 발명의 실시예 각각을 구현하기 위해 사용될 수 있는) 프로그램이 다른 방법으로 조직화된다면, 또는 추가적인 모듈 또는 기능이 제공된다면, 유사한 고려가 적용된다. 이와 같이, 메모리 구조는 다른 유형이 되거나, (필수적으로 물리적 저장 매체를 포함할 필요 없는) 동등한 개체로 대체될 수 있다. 임의의 경우, 프로그램은 (예를 들면, 컴파일링되거나 해석될 오브젝트 코드 또는 소스 코드 내의) 외부 또는 상주 소프트웨어, 펌웨어, 또는 마이크로코드와 같은 임의의 데이터 프로세싱 시스템에 의해 또는 이와 연결하도록 사용되는 데 적합한 임의의 형태를 가질 수 있다. 게다가, 임의의 컴퓨터-이용가능 매체 상의 프로그램을 제공하는 것이 가능하다. 매체는 프로그램을 포함하거나, 저장하거나, 통신하거나, 전파하거나, 전송하기에 적합한 임의의 요소일 수 있다. 예를 들면, 매체는 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 유형이 될 수 있다. 이러한 매체의 예는 (프로그램이 사전 로딩될 수 있는) 고정용 디스크, 이동식 디스크, 테이프, 카드, 와이어, 파이버, 무선 연결, 네트워크, 방송파 등이다. 임의의 경우, 본 발명의 실시예에 따른 솔루션은 그 자체로 (예를 들면, 반도체 소자 칩에 집적된) 하드웨어 구조로 구현되거나, 또는 소프트웨어 및 하드웨어의 조합으로 구현될 수 있게 한다. (인터넷에서와 같이) 네트워크를 통해서 액세스되는 서비스로서 동일한 솔루션을 배치하는 것이 또한 가능하다는 것이 용이하게 이해된다.
본 발명의 실시예에서, 가상 파일 시스템은 운영체제의 레벨에서 직접 구현될 수 있다. 그러나, 어떤 것도 플러그 인으로, 또는 임의의 다른 형태로 동일한 솔루션을 제공하는 것을 막지 못한다.
게다가, 제안된 솔루션이 오직 독립형 파일 시스템을 참조하여 기술되었다고 할지라도, 분산된 파일 시스템에 대하여 해당 애플리케이션이 배제되는 것은 아니다. 시맨틱 레벨에서 (원격 컴퓨터 상의) 상이한 파일 시스템을 통합하는 것 역시 가능하고, 조화의 과정은 그들 모두가 약속한(commit) 공통 온톨로지에 기초한다.
제안된 방법은, 상이한 아키텍처를 갖거나 (예를 들면, 로컬 네트워크에 기반한) 동등한 유닛을 포함하는 시스템 상에서 수행될 수 있다. 게다가, 각각의 컴퓨터는 (프로그램 또는 그 일부를 일시적으로 저장하는 캐시 메모리와 같은) 유사한 요소를 포함할 수 있다. 임의의 경우, 컴퓨터를 (PDA, 휴대폰 등과 같은) 임의의 코드 실행 개체 또는 (멀티-티어 서버 구조, 그리드 컴퓨팅 인프라스트럭처 등과 같은) 그 조합으로 대체하는 것이 가능하다.

Claims (10)

  1. 데이터 프로세싱 시스템에서 정보를 저장하기 위한 방법(A1-A13)으로서,
    상기 데이터 프로세싱 시스템의 대용량 메모리 상의 복수의 실제 파일을 조직하도록 구성된 파일 시스템 관리자에 대하여 지식 기반을 제공하는 단계(A1-A2) - 상기 지식 기반은 개념(concepts)의 세트, 개념 간의 관계의 세트, 및 사전정의된 온톨로지(ontology)에 따라서 적어도 하나의 개념의 인스턴스로서 각각의 실제 파일을 기술하는 포함 관계의 세트를 포함하는 지식의 집합을 정의함 - ;
    선택된 인스턴스 세트에 액세스하기 위하여 상기 파일 시스템 관리자에게 명령어를 제공하는 단계(A5-A6);
    상기 지식에 따라서 상기 선택된 인스턴스에 의해 기술되는 선택된 실제 파일 세트를 식별하는 단계(A7-A11); 및
    상기 대용량 메모리 상의 상기 선택된 실제 파일에 액세스하는 단계(A13)
    를 포함하는 방법.
  2. 제1항에 있어서,
    사전정의된 논리적 추론 규칙을 적용함으로써 상기 지식으로부터 추가적인 지식을 추론하는 단계(A10)
    를 더 포함하고, 상기 선택된 파일은 상기 추가적인 지식에 따라서 더 식별되는, 방법.
  3. 제1항 또는 제2항에 있어서,
    추가적으로 선택된 인스턴스 세트를 처리하기 위해 상기 파일 시스템 관리자에게 추가적인 명령어를 제공하는 단계(A5-A6); 및
    상기 추가적인 명령어에 따라서 상기 지식을 업데이트하는 단계(A7-A10)
    를 더 포함하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    가상 폴더를 각각의 개념과 연관시키고 가상 파일을 각각의 인스턴스와 연관시키는 단계(A3); 및
    상기 관계에 따라서 조직된 상기 가상 폴더 및 상기 가상 파일을 포함하는 파일 시스템의 표현을 표시하는 단계(A4)
    를 더 포함하고, 상기 명령어 및/또는 상기 추가적인 명령어는 상기 파일 시스템의 상기 표현 상에 제공되는(A5-A6), 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 명령어 및/또는 상기 추가적인 명령어를 제공하는 단계(A5-A6)는,
    상기 명령어 및/또는 상기 추가적인 명령어를 인터셉팅하는 단계(A5); 및
    상기 명령어 및/또는 상기 추가적인 명령어를 상기 지식 기반에 대한 추론 엔진(inference engine)으로 전송하는 단계(A6)
    를 포함하는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 개념은 계층적 분류학(hierarchical taxonomy)에 따르고, 상기 개념은 모든 실제 파일에 대한 상기 개념 중 하나인 루트로부터 시작되는 트리 내의 상기 관계에 의해 조직되는, 방법.
  7. 데이터 프로세싱 시스템(100) 상에서 실행될 때 제1항 내지 제6항 중 어느 한 항의 방법(A1-A13)을 수행하기 위한 컴퓨터 프로그램(525).
  8. 데이터 프로세싱 시스템(100)에 대한 가상 파일 시스템 관리자(525)로서,
    제7항의 컴퓨터 프로그램(525)을 포함하는 가상 파일 시스템 관리자.
  9. 데이터 프로세싱 시스템(100)을 위한 운영체제(505)로서, 제8항의 가상 파일 시스템 관리자(525)를 포함하는 운영체제.
  10. 제1항 내지 제6항 중 어느 한 항에 따른 방법(A1-A13)의 단계를 수행하기 위한 수단(525)을 포함하는 시스템(100).
KR1020107012824A 2007-11-19 2008-10-20 서술 논리 파일 시스템을 갖는 정보를 저장하기 위한 방법, 시스템 및 컴퓨터 프로그램 KR20100096160A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07120957.1 2007-11-19
EP07120957 2007-11-19

Publications (1)

Publication Number Publication Date
KR20100096160A true KR20100096160A (ko) 2010-09-01

Family

ID=40370138

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107012824A KR20100096160A (ko) 2007-11-19 2008-10-20 서술 논리 파일 시스템을 갖는 정보를 저장하기 위한 방법, 시스템 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US8209295B2 (ko)
EP (1) EP2212808A1 (ko)
JP (1) JP5490010B2 (ko)
KR (1) KR20100096160A (ko)
WO (1) WO2009065682A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833559B (zh) * 2009-11-05 2012-07-04 北京炬力北方微电子有限公司 一种读取fat磁盘文件的方法和装置
JP5641797B2 (ja) * 2010-07-07 2014-12-17 キヤノン株式会社 文書管理システム、文書管理サーバ装置、および文書管理方法
US20120084732A1 (en) * 2010-10-01 2012-04-05 Vasily Filippov Methods and apparatus for organizing applications and widgets on a mobile device interface
CN102065104A (zh) * 2011-01-10 2011-05-18 深信服网络科技(深圳)有限公司 一种异地文件访问方法、装置及***
CN103970437B (zh) * 2013-01-30 2018-01-26 广州三星通信技术研究有限公司 操作便携式终端的方法及装置
USD802609S1 (en) 2013-06-04 2017-11-14 Abbyy Production Llc Display screen with graphical user interface
USD805535S1 (en) 2013-06-04 2017-12-19 Abbyy Production Llc Display screen or portion thereof with a transitional graphical user interface
CN103744919B (zh) * 2013-12-26 2017-02-08 广州供电局有限公司 电网知识库的自学习方法和***
RU2665239C2 (ru) 2014-01-15 2018-08-28 Общество с ограниченной ответственностью "Аби Продакшн" Автоматическое извлечение именованных сущностей из текста
RU2592396C1 (ru) 2015-02-03 2016-07-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Способ и система для машинного извлечения и интерпретации текстовой информации
RU2610241C2 (ru) 2015-03-19 2017-02-08 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Способ и система синтеза текста на основе извлеченной информации в виде rdf-графа с использованием шаблонов

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3457487B2 (ja) * 1996-11-19 2003-10-20 日本電気株式会社 知識ファイリング装置
US6266682B1 (en) 1998-08-31 2001-07-24 Xerox Corporation Tagging related files in a document management system
EP1041499A1 (en) * 1999-03-31 2000-10-04 International Business Machines Corporation File or database manager and systems based thereon
US6745206B2 (en) 2000-06-05 2004-06-01 International Business Machines Corporation File system with access and retrieval of XML documents
US7043472B2 (en) 2000-06-05 2006-05-09 International Business Machines Corporation File system with access and retrieval of XML documents
AU2003211000A1 (en) * 2002-02-12 2003-09-04 Sandpiper Software, Inc. Ontology frame-based knowledge representation in the unified modeling language (uml)
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7587411B2 (en) * 2003-03-27 2009-09-08 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7555497B2 (en) * 2003-08-21 2009-06-30 Microsoft Corporation Systems and methods for separating units of information manageable by a hardware/software interface system from their physical organization
US20050144162A1 (en) * 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent
US7823123B2 (en) * 2004-07-13 2010-10-26 The Mitre Corporation Semantic system for integrating software components
US7505989B2 (en) * 2004-09-03 2009-03-17 Biowisdom Limited System and method for creating customized ontologies
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
JP4735030B2 (ja) * 2005-05-12 2011-07-27 株式会社日立製作所 情報管理システム
US7739218B2 (en) * 2005-08-16 2010-06-15 International Business Machines Corporation Systems and methods for building and implementing ontology-based information resources

Also Published As

Publication number Publication date
WO2009065682A1 (en) 2009-05-28
JP5490010B2 (ja) 2014-05-14
EP2212808A1 (en) 2010-08-04
US20090132604A1 (en) 2009-05-21
US8209295B2 (en) 2012-06-26
JP2011503734A (ja) 2011-01-27

Similar Documents

Publication Publication Date Title
KR20100096160A (ko) 서술 논리 파일 시스템을 갖는 정보를 저장하기 위한 방법, 시스템 및 컴퓨터 프로그램
Stellato et al. VocBench 3: A collaborative Semantic Web editor for ontologies, thesauri and lexicons
US8972872B2 (en) Building computing applications based upon metadata
US9412071B2 (en) Rules execution platform system and method
JP5192805B2 (ja) メタデータのナビゲーションおよび割当てのためのプロパティツリー
US8392472B1 (en) Auto-classification of PDF forms by dynamically defining a taxonomy and vocabulary from PDF form fields
US10417586B2 (en) Attaching ownership to data
US20070250478A1 (en) Visual search experience editor
US7908665B2 (en) Cloaked data objects in an electronic content management security system
US20120124547A1 (en) Development artifact searching in an integrated development environment
US20100005074A1 (en) System and method for accessing data
US8495510B2 (en) System and method for managing browser extensions
US10706033B2 (en) Content management system and method for managing ad-hoc collections of content
US20150127688A1 (en) Facilitating discovery and re-use of information constructs
JP2007012080A (ja) 複合ドキュメント・フレームワーク
US7254589B2 (en) Apparatus and method for managing and inferencing contextural relationships accessed by the context engine to answer queries received from the application program interface, wherein ontology manager is operationally coupled with a working memory
US9262506B2 (en) Generating mappings between a plurality of taxonomies
US9646013B2 (en) System and method for file management
US8538980B1 (en) Accessing forms using a metadata registry
Žumer et al. IFLA LRM-finally here
US8180814B1 (en) System and method for file management
Karger Haystack: Per-user information environments based on semistructured data
US20170134484A1 (en) Cost-effective reuse of digital assets
US20140129934A1 (en) Dynamic model-based management tooling
EP2917829A1 (en) Packaging, storing and distributing guidance packages

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application