[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20060053169A - 정적 및 동적 데이타 세트들의 인터랙션 - Google Patents

정적 및 동적 데이타 세트들의 인터랙션 Download PDF

Info

Publication number
KR20060053169A
KR20060053169A KR1020050076206A KR20050076206A KR20060053169A KR 20060053169 A KR20060053169 A KR 20060053169A KR 1020050076206 A KR1020050076206 A KR 1020050076206A KR 20050076206 A KR20050076206 A KR 20050076206A KR 20060053169 A KR20060053169 A KR 20060053169A
Authority
KR
South Korea
Prior art keywords
component
data
components
query
rule
Prior art date
Application number
KR1020050076206A
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
Priority claimed from US10/962,287 external-priority patent/US20060080288A1/en
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060053169A publication Critical patent/KR20060053169A/ko

Links

Images

Classifications

    • 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
    • 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/13File access structures, e.g. distributed indices

Landscapes

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

Abstract

새 컨테이너(container) 유형들과 연관하여 연계(associations), 포인터, 및/또는 링크를 사용하는 데이타 조직화(organization) 시스템이 제공된다. 폴더와 같이, "리스트"는 항목들의 컨테이너이지만, 파일이나 다른 데이타 컴포넌트가 복수 개의 리스트들을 통해 액세스될 수 있는 점에서 다르다(한편, 항목은 정확히 한 개의 폴더에 나타나야 함). 또한, 리스트들은 관계들(relationships)의 임의의 복잡한 그래프에 배치될 수 있다. 리스트의 항목들은 사용자에 의해(또는 소프트웨어 프로그램에 의해) 임의로 선택될 수 있고 공통으로 임의의 특성들을 가질 필요는 없다. "동적 리스트(dynamic list)"는 시스템에 의해 자동으로 구성되고 관리될 수 있는 파일 식별자들의 집합이다. 동적 리스트의 중추는 쿼리(query)이다. 동작에서, 시스템은 리스트를 생성하거나 수정하기 위해 파일 저장소 또는 다른 데이타 저장소에 대해 쿼리를 실행할 수 있다. 따라서, 결과적 파일들을 참조하는 연계들이 동적 리스트에 추가되거나 또는 수정된다.
데이타 조직화 시스템, 동적 리스트, 연계 식별자, 규칙-기반 메카니즘, 인공지능-기반 메카니즘

Description

정적 및 동적 데이타 세트들의 인터랙션{INTERACTION OF STATIC AND DYNAMIC DATA SETS}
도 1은 본 발명의 일 양태에 따라 연계(associations)를 생성하는 시스템의 일반 컴포넌트 블럭도를 도시한다.
도 2는 개시된 양태에 따라 연계를 생성하는 과정들의 흐름도의 예를 도시한다.
도 3은 본 발명의 일 양태에 따라 리스트들과 파일들 간의 연계의 일 예를 설명하는 일반 블럭도를 도시한다.
도 4는 본 발명의 일 양태에 따라 리스트들, 파일들, 및 폴더들 간의 연계의 일 예를 도시하는 일반 블럭도를 도시한다.
도 5는 본 발명의 일 양태에 따라 쿼리(query) 컴포넌트를 사용하여 연계를 생성하는 시스템의 일반 컴포넌트 블럭도를 도시한다.
도 6은 본 발명의 일 양태에 따라 쿼리 및 분석기 컴포넌트를 사용하여 연계를 생성하고 관리하는 시스템의 일반 컴포넌트 블럭도를 도시한다.
도 7은 본 발명의 일 양태를 용이하게 하는 사용자 인터페이스의 예를 도시한다.
도 8은 본 발명의 다른 양태에 따라 동적 리스트(dynamic list) 및 쿼리 컴 포넌트의 예를 설명하는 통신망 구조도를 도시한다.
도 9는 본 발명의 일 양태에 따라 규칙-기반(rule-based) 메카니즘들을 포함하는 쿼리 컴포넌트를 도시한다.
도 10은 본 발명의 일 양태에 따라 인공지능-기반(artificial intelligence-based) 메카니즘들을 포함하는 쿼리 컴포넌트를 도시한다.
도 11은 본 발명의 일 양태에 따라 규칙-기반 메카니즘들을 포함하는 분석기 컴포넌트를 도시한다.
도 12는 본 발명의 일 양태에 따라 인공지능-기반 메카니즘들을 포함하는 분석기 컴포넌트를 도시한다.
도 13은 개시된 일 양태에 따라 연계를 생성하고 관리하는 과정들의 흐름도의 예가 도시된다.
도 14는 본 발명의 일 양태에 따라 컴퓨팅 환경의 예의 컴포넌트도를 도시한다.
도 15는 개시된 구조를 실행하기 위해 동작가능한 컴퓨터의 블럭도를 도시한다.
도 16은 본 발명에 따라 컴퓨팅 환경의 예의 간략한 블럭도를 도시한다.
<도면의 주요 부분에 대한 부호의 설명>
102 연계 저장소 컴포넌트
104 링크 컴포넌트
502 연계 관리자 컴포넌트
504 쿼리 컴포넌트
602 분석기 컴포넌트
108 데이타-세트 컴포넌트
110 데이타 컴포넌트
본 출원서는 본 명세서에 그 전체 내용이 참조로서 병합되는, 2004년 10월 9일에 출원된 "정적 및 동적 데이타 세트들의 인터랙션(Interaction of Static and Dynamic Data Sets)"의 표제의 미국특허가출원번호 제60/617,488호로부터 35 U.S.C.
Figure 112005045698674-PAT00001
119(e) 하의 권리를 청구한다.
본 발명은 컴퓨터 시스템들에 관한 것이고, 더 구체적으로는, 데이타 저장소 또는 파일 시스템 내에 보유된 파일들이나 다른 유형들의 데이타로의 연계들을 동적으로 생성하고 및/또는 관리하여 효율적이고 포괄적으로 데이타를 조직화하기 위한 시스템 및 방법에 관한 것이다.
컴퓨팅 시스템들에서 더 구체적으로는 파일 관리 시스템들에 관련된 데이타의 조직화에서의 기술 진보로, 데이타를 동적으로 조직화하고 및/또는 관리하는 포 괄적 메카니즘들을 구현하기 위한 필요성이 계속해서 증가하고 있다. 더욱이, 운영 시스템 환경 내의 데이타로의 연계 식별자들을 동적으로 채택하는 새롭고 혁신적 기술들에 대한 계속되고 증가하는 필요성이 존재한다. 이들 기술은 운영 및 저장 시스템들의 포괄성과 효율성을 증가시킬 수 있다.
현대적 데스크톱 컴퓨터 시스템들은 기본 조직화 메카니즘으로서 계층적(hierarchical) 및 네스티드형(nested) 컨테이너들의 구조(예를 들어, 디렉토리 또는 폴더)를 채택한다. 계층적 컨테이너들은 데이타 컴포넌트(들)(예를 들어, 파일(들))가 특정한 컨테이너와 연관하여 물리적으로 저장되도록 구조화된다. 결과적으로, 복수 개의 컨테이너들을 통해 동일 파일을 보유하거나 액세스하는 것은 불가능하다. 의미있는 범주화를 위해 이들 컨테이너들이 사용되는 것이 바람직한 만큼, 복수 개의 컨테이너들에 있는 한 항목을 액세스할 수 없기 때문에 복수 개의 적절한 범주화들을 갖는 한 항목을 정확하게 파일링하는 것은 불가능하다. 사용자들은 통상적으로 파일링될 항목의 복사본들을 만들어서 원하는 대로 추가적 컨테이너들에 그 복사본들을 저장하여 이 한계를 모면한다. 이 기술에는 2개의 명백한 문제가 존재한다. 첫번째, 파일들이 그들의 파일명과 그들의 위치로 식별되므로, 한 개의 컨테이너의 파일을 업데이트하거나 수정하는 것은 해당 파일의 복사본을 가진 모든 컨테이너들에서 그 파일을 동적으로 업데이트하고 및/또는 수정하지 않는다. 두번째, 동일 파일의 복수 개의 복사본들의 보유는 값비싼 메모리 및/또는 저장 공간을 소모한다.
이와 비교하여, 웹 페이지들은 URL(uniform resource locator)에 의해 정의 된다. 더 구체적으로는, URL은 웹 또는 임의의 다른 통신망 설비의 파일로의 경로를 정의하는(즉, 포인팅하는) 주소이다. 웹 페이지를 액세스하기 위해, 브라우져를 사용할 수 있는데, 사용자는 브라우져에 원하는 URL을 입력하여 적절한 페이지를 내비게이트할 수 있다. 또한, URL들은 웹 페이지들 내에 임베딩되어 다른 페이지들로의 하이퍼텍스트 링크를 제공할 수 있다.
URL은 프로토콜 프리픽스(prefix), 포트 번호, 도메인 이름, 서브디렉토리 이름들, 및 파일 이름을 포함할 수 있다. 포트 주소들은 일반적으로 디폴트들이고, 거의 특정화되지 않는다. 웹 사이트의 홈 페이지를 액세스하기 위해서는, 단지 프로토콜과 도메인 이름이 요구된다. 예를 들어, http://www.abccompany.com은 ABC 사의 웹사이트의 홈 페이지를 검색할 수 있다. 이 예에서, "http"는 웹 프로토콜이고, www.abccompany.com는 도메인 이름이다.
페이지가 다른 디렉토리에 저장되면, 또는 홈 페이지 외의 페이지가 요구되면, 이름들을 분리하기 위해 슬래쉬(slash)들이 사용된다. 일반 운영 시스템의 경로명들과 같이, 서브디렉토리들은 여러 레벨들의 깊이일 수 있다. 예를 들어, 다음 가상적 URL의 컴포넌트들이 아래 기재된다:
http://www.abccompany.com/clothes/shirts/formal.html. 이 예에서, "clothes/"는 제1 레벨 서브디렉토리 이름이다. 유사하게, "shirts/"는 제2 레벨 서브디렉토리 이름이고, "formal.html"은 문서 이름 또는 타겟 웹 페이지 이름이다.
일반 데이타 파일들과 같이, 웹 페이지들은 그들로의 액세스가 그들의 위치 에 따르기 때문에 결함이 있다. 더 구체적으로, 웹 페이지가 한 위치에서 다른 위치로 이동되면, 그것은 동작불능으로 되어질 것이다. 더욱이, 종래 운영 시스템들은 웹 페이지의 구조에 대한 특정 지식을 보유하거나 액세스할 수 있지 않다. 이 웹 페이지 구조에 대한 지식을 회복하기 위한 시도들이 되었지만, 웹 페이지들이 임의로 구조화될 수 있고 맞춤 코드들을 포함할 수 있으므로 시도들은 오류를 발생시키기 쉽고 비성공적이었다. 그러므로, 모든 링크들이 회복될 수 있는 것은 아니다.
그러므로, 연계, 포인터, 및/또는 링크에 기초하여 조직화 기술을 제공하는 시스템 및/또는 방법을 제공하기 위한 실질적으로 만족스럽지 못한 필요성이 존재한다. 리스트 구조를 결정하는 것과 연관하여 탐색 프로세스가 중요하지 않게 되는 방식으로 리스트들을 구성하기 위한 핵심 구성이 제공될 수 있다. 유사하게, 세만틱(semantics)을 상기 메카니즘에 구축할 수 있다. 또한, 연계, 포인터, 및/또는 링크를 동적으로 업데이트하여 데이타를 조직화하는 더 포괄적이고 다용도의 메카니즘을 제공하는 시스템에 대한 만족되지 않은 필요성이 존재한다.
다음은 본 발명의 일부 양태들의 기본 이해를 제공하기 위해 본 발명의 단순화된 개요를 제공한다. 이 개요는 본 발명의 확장적 개관이 아니다. 본 발명의 키/중요 소자들을 식별하거나 또는 본 발명의 범위를 제한하려고 의도되지는 않는다. 그것의 단 한 가지 목적은 나중에 제공되는 더 상세한 설명의 서두로서 단순화된 형태로 본 발명의 일부 개념들을 제공하는 것이다.
현대적 운영 시스템들은, 사용자들이 그들의 파일들을 네스티드형 컨테이너들의 계층체계(hierarchy of nested container)로 조직화하도록 하는, 폴더 또는 디렉토리 메카니즘을 제공한다. 본 발명은, 그것의 다양한 양태들에서, "리스트" 및 "동적 리스트" 컨테이너 유형들을 포함하는 새 파일 시스템 및/또는 데이타 조직화의 방법에 관한 것이다. 본 발명의 양태들에 대해, 이들 2개의 추가적 컨테이너 유형들은 새 기능을 가지고 도입된다.
본 발명에 따라, "리스트"는, 폴더와 유사한, 항목들의 컨테이너이지만, 파일이나 다른 데이타 컴포넌트가 임의의 수의 리스트들에 나타날 수 있다는 점에서 다르다(한편, 한 개의 항목은 정확히 한 개의 폴더에 나타나야함). 결과적으로, 리스트들은 관계들의 임의의 복잡한 그래프에 배치될 수 있다. 리스트의 항목들은 사용자에 의해(또는 소프트웨어 프로그램에 의해) 임의로 선택될 수 있지만, 공통으로 임의의 특성들을 가질 필요는 없다. "동적 리스트"는 사용자를 위해 시스템에 의해 자동으로 구성되고 관리될 수 있는 파일들 또는 데이타 컴포넌트들의 집합이다. 동적 리스트의 중추(backbone)는 쿼리이다. 동작에서, 시스템은 파일 저장소에 대해 쿼리를 실행할 수 있고, 결과적 파일들을 참조하는 연계들은 동적 리스트에 추가된다. 파일이 변경되어 그것이 더 이상 쿼리와 매치하지 않으면, 그것은 동적 리스트로부터 제거된다. 각 컨테이너 유형이 독특한 기능 역할을 가지며, 그렇지 않으면 그들이 상호동작가능하므로, 폴더들만을 사용하는 저장 시스템에서 가능한 것보다 더 유연하고 강력한 조직화를 생성하기 위해 사용자들은 그들을 조합할 수 있다.
본 명세서에 개시되고 청구되는 본 발명은, 그것의 일 양태에서, 데이타를 조직화하는 것을 용이하게 하는 새 시스템에 관한 것이다. 시스템은 임의의 수의 연계 컴포넌트들을 포함하는 연계 저장 컴포넌트를 포함한다. 연계 컴포넌트들은 한 개 이상의 데이타 컴포넌트들과 관련이 있다. 시스템은 데이타 컴포넌트들의 특성(예를 들어, 위치)에 기초하여 관계들을 동적으로 관리하는 연계 관리자(association manager)를 더 포함한다.
다른 양태에서, 시스템은 데이타 컴포넌트들의 특성(예를 들어, 조건, 상태)을 결정하는 것과 연관하여 쿼리를 생성하는 쿼리 컴포넌트를 가진 연계 관리자를 포함할 수 있다. 그것에 따라, 연계 관리자 컴포넌트는 결정된 특성에 기초하여 연계 컴포넌트들을 업데이트할 수 있다. 쿼리 컴포넌트는 특성의 기능으로서 조건에 기초하여 데이타 컴포넌트들을 질의(interrogation)하는 것과 연관하여 채택될 수 있다.
질의를 용이하게 하기 위해, 쿼리 컴포넌트는 규칙-기반 메카니즘들을 포함할 수 있다. 더 구체적으로, 미리 정의된 기준들을 구현하기 위해 규칙을 자동으로 실체화하는 규칙 엔진 컴포넌트가 포함될 수 있다. 더욱이, 한 개 이상의 연계 컴포넌트들을 업데이트하기 위해 한 개 이상의 데이타 컴포넌트들에 대해 규칙을 적용하는 규칙 평가 컴포넌트가 제공될 수 있다. 규칙-기반 메카니즘들에 추가하여, 또는 대체하여, 쿼리 컴포넌트는 기준의 이력 및/또는 통계의 함수로서 사용자 의도를 자동으로 추론 및/또는 예측하는 인공지능(AI) 메카니즘들을 채택할 수 있다.
다른 양태에서, 분석기 컴포넌트는 관계의 무결성(integrity)을 확인하여 연계 관계들을 관리하는 것을 용이하게 하기 위해 제공될 수 있다. 분석기 컴포넌트는 연계(들)의 무결성을 검사하는 동안 규칙 및 AI-기반 의사결정(decision making) 메카니즘들을 포함하는, 하지만 이에 제한되지는 않는, 이 분야에서 공지된 임의의 의사결정 기술을 채택할 수 있다. 또한, 분석기 컴포넌트는 연계에 대해 데이타 컴포넌트의 무결성에서의 변경을 사용자에게 경고(alert)하기 위해 프롬프트(prompt)를 생성할 수 있다.
전술되고 관련된 목적들을 성취하기 위해, 본 발명의 특정한 설명적 양태들이 본 명세서에 다음 설명과 연결된 도면들과 연관하여 기재된다. 그러나, 이들 양태들은 본 발명의 원칙들이 채택될 수 있는 다양한 방식들 중의 몇 개만을 지시하지만, 본 발명은 모든 그런 양태들과 그들의 동등물들을 포함하려고 의도된다. 본 발명의 다른 이점들과 새 특징들은 도면들과 연관하여 고려될 때 본 발명의 다음 상세한 설명으로부터 명백해질 것이다.
본 발명은 이제 도면들을 참조하여 기재되고, 유사 참조 부호들은 도면 전반에서 유사 소자들을 참조하기 위해 사용된다. 다음 설명에서, 설명 목적으로, 다수의 특정 세부사항들은 본 발명의 철저한 이해를 제공하기 위해 기재된다. 그러나, 본 발명은 이들 특정 세부사항들이 없이 실시될 수 있음이 명백할 것이다. 다른 예들에서, 잘 공지된 구조들과 디바이스들은 본 발명을 설명하는 것을 용이하게 하기 위해 블럭도 형태로 도시된다.
이 출원서에 사용되는 바와 같이, "컴포넌트" 및 "시스템"이라는 용어들은, 하드웨어, 소프트웨어, 하드웨어와 소프트웨어의 조합, 또는 실행의 소프트웨어인, 컴퓨터-관련 개체를 일컬으려고 의도된다. 예를 들어, 컴포넌트는 프로세서 상에 실행하는 프로세스, 프로세서, 객체, 실행파일, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이에 제한되지는 않는다. 설명의 방식으로서, 서버에서 실행하는 응용 프로그램 및 서버 모두가 컴포넌트일 수 있다. 한 개 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 존재할 수 있고, 컴포넌트는 한 개의 컴퓨터에 위치될 수 있고, 및/또는 2개 이상의 컴퓨터들 간에 분산될 수 있다.
본 명세서에 사용되는 바와 같이, "추론하다(infer)" 또는 "추론(inference)"이라는 용어는 일반적으로 이벤트들 및/또는 데이타를 통해 포획된(captured) 바와 같이 관찰 세트로부터 시스템, 환경, 및/또는 사용자의 상태들에 대해 추론하는 프로세스를 일컫는다. 추론은, 예를 들어, 특정 컨텍스트 또는 액션을 식별하기 위해 채택될 수 있거나, 또는 상태들에 대해 확률 분포를 생성할 수 있다. 추론은 확률적, 즉, 데이타 및 이벤트들의 고려에 기초하여 관심 상태들에 대한 확률 분포의 계산일 수 있다. 추론은 또한 이벤트들 및/또는 데이타의 세트로부터 더 높은 레벨의 이벤트들을 구성하기 위해 채택되는 기술들을 일컬을 수 있다. 이벤트들이 가까운 근접 시간에 상관하는지에 무관하게, 그리고 이벤트들과 데이타가 한 개 또는 여러 개 이벤트 및 데이타 소스들로부터 오는지에 무관하게, 그런 추론은 관찰된 이벤트들 및/또는 저장된 이벤트 데이타의 세트로부터 새 이벤트들이나 액션들을 구성하는 결과를 가져온다.
위에 논의된 바와 같이, 잘 공지된 운영 시스템들은 네스트형 컨테이너들의 계층체계로 파일들을 사용자들이 조직화하고 액세스하도록 하는 폴더나 디렉토리 기술을 채택한다. 부연하면, 폴더와 디렉토리 메카니즘들은 데이타가 계층적, 네스트형, 및/또는 트리-유사한 구조로 물리적으로 배치되는 기술들에 관한 것이다. 이와 비교하여, 본 발명은 매핑 및 다른 연계 기술들에 기초하여 새 컨테이너 유형들(예를 들어, 리스트 및 동적 리스트)을 도입한다.
"리스트"는 식별자들(즉, 연계들)을 매핑하는 컨테이너일 수 있다. 폴더와 비교하여, 한 개의 파일이 임의의 수의 리스트들에서 참조되거나 액세스될 수 있다. 또한, 리스트들은 관계들의 임의의 복잡한 그래프에 배치될 수 있다. 리스트의 항목들(예를 들어, 식별자들)은 사용자 또는 다른 응용 프로그램(즉, 소프트웨어 프로그램)에 의해 임의로 선택될 수 있고, 공통으로 임의의 특성들을 가질 필요는 없다.
"동적 리스트"는 사용자를 위해 시스템에 의해 자동으로 구성되고 관리되는 파일들의 집합일 수 있다. 동적 리스트들은 쿼리들에 기초할 수 있다. 부연하면, 시스템은 파일 저장소에 대해 쿼리를 실행하여, 결과적 파일들과 연관된 식별자들이 동적 리스트에 추가되도록 할 수 있다. 쿼리 동작에 따르면, 데이타 컴포넌트의 특성이 변경되면, 그런 데이타 컴포넌트와의 연계는 동적 리스트로부터 업데이트되거나, 수정되거나, 또는 제거될 수 있다. 예로써, 데이타 컴포넌트가 변경하여 그것이 더 이상 쿼리의 결과들과 매치하지 않으면, 시스템은 그 변경들을 반영하기 위해 리스트를 동적으로 및/또는 자동으로 업데이트할 수 있다. "리스트" 및 "동적 리스트"에 관한 본 발명의 양태들은 아래 더 상세히 논의된다.
"리스트" 및 "동적 리스트"의 일반 기능에 추가하여, 본 발명은 , 그것의 다양한 양태들에서, 컨테이너 유형들의 조합들을 가능하게 하는 시스템 및/또는 방법을 제공한다. 예로써, 리스트는 폴더들과 동적 리스트들에 대응하는 식별자들을 포함할 수 있다. 다른 경우, 폴더는 리스트들 및 동적 리스트들을 포함할 수 있다. 더욱이, 동적 리스트는 폴더들과 리스트들로의 식별자들을 포함할 수 있다. 본 발명이 리스트 및/또는 동적 리스트와 전자 데이타 컴포넌트들의 연계에 관한 것이지만, 리스트들과 동적 리스트들은 이 분야에서 알려진, 임의의 유형의 데이타 컴포넌트들, 또는 그들의 조합, 로의 연계들을 포함할 수 있음을 이해해야 한다.
각 컨테이너 유형(예를 들어, 리스트, 동적 리스트, 폴더, 디렉토리)이 독특한 기능 역할을 갖고, 그렇지 않으면 그들이 상호동작가능하므로, 본 발명은 단지 폴더들과 디렉토리들만을 채택하는 저장 시스템에서 가능한 것보다 더 유연하고 강력한 조직화를 생성하기 위해 사용자들이 컨테이너 유형들을 조합하도록 허용한다. 본 발명에 따라, 개별 데이타 컴포넌트는 복수 개의 컨테이너들을 통해(예를 들어, 리스트들) 참조될 수 있다. 예로써, 한 개의 "프로젝트 예산" 파일은 복수 개의 리스트들에 나타날 수 있다: 하나는 참조되는 프로젝트에 대응하고, 다른 하나는 모든 최신 예산들로 구성된다. 동일 데이타 컴포넌트는 또한 "최근 2일 동안 변경된 모든 예산들"의 동적 리스트에 나타날 수 있다. 이 동적 리스트는 사용자가 시간에 걸쳐 파일들을 조작함으로써 자동으로 업데이트될 수 있다. 모든 3개의 시나리오의 예들에서, 프로젝트 예산의 단지 한 개의 복사본이 파일 저장소에서 관리됨 을 이해할 것이다.
본 발명의 양태들에 따라, 연계 컨테이너들(예를 들어, 리스트들)이 수립될 수 있어서, 컨테이너는 가상적 연계 컴포넌트들의 세트(예를 들어, 식별자들)로 표현될 수 있다. 각 연계 컴포넌트는 정의된 데이타 컴포넌트에 링크되고 및/또는 포인트될 수 있다. 데이타 컴포넌트는 임의의 위치에서 데이타-세트 컴포넌트 또는 파일 시스템에 저장될 수 있다. 한 개의 데이타-세트 컴포넌트가 개시된 양태들과 연관하여 논의되지만, 임의의 한 개의 리스트에 참조되는 데이타 컴포넌트들은 분리된 데이타-세트들, 파일 시스템들, 또는 불연속 저장 위치들에 저장될 수 있음을 이해할 것이다.
이제 도 1의 참조에서, 본 발명에 따라 데이타 세트들의 조직화 및/또는 인터랙션을 용이하게 하는 시스템(100)의 일 양태의 간략한 표현이 도시된다. 일반적으로, 시스템(100)은 연계 컴포넌트들(104)을 가진 연계 저장소 컴포넌트(102)를 포함할 수 있다. 더욱이, 시스템(100)은 연계 관리자 컴포넌트(106) 및 데이타 컴포넌트들(110)을 가진 데이타-세트 컴포넌트(108)를 포함할 수 있다.
연계 저장소 컴포넌트(102)는 연계 컴포넌트들 1로부터 M까지를 포함할 수 있고, 여기서, M은 정수이다. 연계 컴포넌트들 1로부터 M까지는 도시된 바와 같이 연계 컴포넌트들(104)로서 집합적으로 또는 개별적으로 참조될 수 있다. 본 발명의 양태들에 따라, 연계 컴포넌트(104)는 이 분야에서 알려진 임의의 데이타 연계 기술을 채택할 수 있다. 예로써, 연계 컴포넌트(들)(104)는 링크, 하이퍼링크, 드라이브 매핑, 포인터, 또는 기타등등을 포함할 수 있지만, 이에 제한하려고 의도되 지는 않는다.
데이타-세트 컴포넌트(108)는 데이타 컴포넌트들 1로부터 N까지를 포함할 수 있고, 여기서, N은 정수이다. 데이타 컴포넌트들 1로부터 N까지는 도시된 바와 같이 데이타 컴포넌트들(110)로서 집합적으로 또는 개별적으로 참조될 수 있다. 본 발명의 양태들에 따라, 데이타 컴포넌트들(110)은 임의의 유형의 전자 항목, 레코드, 파일, 문서, 링크, 컨테이너, 또는 기타등등을 포함할 수 있다. 또한, 데이타 컴포넌트들(110)은 개별 데이타 소자들의 임의의 그룹 또는 연계들(예를 들어, 컨테이너)을 포함할 수 있다. 예로써, 데이타 컴포넌트(110)는 문서 편집 문서를 나타내는 파일일 수 있다. 다른 실시예에서, 데이타 컴포넌트(110)는 원격으로 저장된 데이타 파일을 포인트하거나 링크하는 링크 또는 하이퍼링크일 수 있다. 다른 양태에서, 데이타 컴포넌트(110)는 연계 또는 연계들의 그룹(예를 들어, 리스트), 또는 데이타 소자들의 편찬(compilation)(예를 들어, 폴더)을 표현할 수 있다. 당업자들은 데이타-세트 컴포넌트(108)가 임의의 수의 동일하거나 다른 유형들의 데이타 컴포넌트들(110)을 포함할 수 있음을 이해할 것이다.
연계 관리자 컴포넌트(106)는 연계 컴포넌트들(104)과 데이타 컴포넌트들(110) 간의 관계들에 영향을 주고 관리할 수 있다. 예로써, 연계 관리자 컴포넌트(106)는 관계의 무결성을 확인할 수 있고, 적절하면, 특정 연계 컴포넌트(104)와 데이타 컴포넌트(110) 간의 관계를 동적으로 관리할 수 있다. 적절하면, 연계 관리자 컴포넌트(106)는 관계(들)의 변경을 반영하기 위해 연계 컴포넌트(104)를 업데이트하고, 수정하고, 및/또는 삭제할 수 있다. 다른 양태들에서 그리고 추가 예 로써, 연계 관리자 컴포넌트(106)는 규칙 엔진의 형태로 의사결정 메카니즘으로 구성될 수 있어서, 규칙은 연계 컴포넌트(104)에 적용되어 데이타 컴포넌트(들)(110)와의 관계(들)의 질의에 영향을 줄 수 있다. 다른 실시예에서, 인공지능 컴포넌트는 연계 컴포넌트(들)(104)에 대해 사용자 의도의 추론에 기초하여 질의에 영향주기 위해 개별적으로 또는 다른 평가 스킴들과 조합하여 채택될 수 있다. 이들 다른 양태들은 아래 도 9 내지 도 12에 대해 더 상세히 기재될 것이다.
도 2의 참조에서, 본 발명의 일 양태에 따라 흐름도가 도시된다. 설명의 단순성을 위해, 본 명세서에, 예를 들어, 흐름도의 형태로, 도시된 한 개 이상의 방법들이 일련의 동작들로 도시되고 기재되는 한편, 본 발명에 따라, 일부 동작들이 본 명세서에 도시되고 기재되는 것과 다른 동작들과 다른 순서들로 및/또는 동시에 발생할 수 있으므로, 본 발명은 동작들의 순서에 제한되지 않음을 이해해야 한다. 예를 들어, 당업자들은, 방법이 다른 경우에, 상태도와 같은, 일련의 상호관련된 상태들이나 이벤트들로서 표현될 수 있음을 이해할 것이다. 더욱이, 모든 도시된 동작들이 본 발명에 따라 방법을 구현하기 위해 요구되는 것은 아니다.
다시 도 2를 참조하여 (202)로 진행하면, 파일 시스템 또는 데이타 저장소가 선택된다. (204)에서, 원하는 데이타 컴포넌트들은 연계의 수립을 시작하기 위해 선택될 수 있다. 일단 선택되면, (206)에서, 선택된 데이타 컴포넌트는 대응하는 연계 컴포넌트를 생성하기 위해 관련된 데이타(예를 들어, 위치)를 결정하기 위해 매핑된다. (208)에서, 선택된 데이타 컴포넌트와 관련된 연계 컴포넌트가 생성된다. (210)에서, 시스템은 다른 데이타 컴포넌트가 연계 리스트에 추가되는 것이 원해지는지를 판정하기 위해 프롬프트할 수 있다. 만약 그렇다면, 시스템은 (202)로 리턴하여, 추가 데이타 컴포넌트가 선택될 수 있다. 도시된 바와 같이, 시스템은 (202)로 리턴하여 추가 데이타 컴포넌트(들)을 위한 다른 파일 시스템 위치를 사용자가 선택하도록 할 수 있음이 고려된다. 부연하면, 본 발명의 시스템/방법에 따라, 리스트는 복수 개의 위치들(예를 들어, 분리된 파일 시스템들)에 존재하는 데이타 컴포넌트들을 포함할 수 있다. (210)에서, 다른 데이타 컴포넌트가 원해지지 않으면, 방법은 종료한다.
도 3은 리스트들과 전자 파일들 간의 관계의 예를 도시한다. 이 양태의 예는 정의된 수와 유형의 데이타 컴포넌트들 및/또는 컨테이너들을 나타내는 한편, 임의의 수의 데이타 컴포넌트들 및/또는 유형들의 컨테이너들은 본 발명의 범위 및 기능을 벗어나지 않고 채택될 수 있음을 이해할 것이다. 도 3의 참조에서, 2개의 분리된 리스트들이 도시된다: LIST 1(302) 및 LIST 2(304). 위에 논의된 바와 같이, 리스트가 효과적으로 데이타 컴포넌트로의 링크 및/또는 포인터를 포함하므로, 한 개의 데이타 컴포넌트가 참조되는 것은 가능하고, 그러므로, 복수 개의 리스트들을 통해 액세스가능하다. 예로써, 도 3의 참조에서, FILE 1(306)은 LIST 1(302)를 통해서만 액세스가능하다. 그러나, 도시된 바와 같이, FILE 2(308)는 LIST 1(302) 및 LIST 2(304) 모두를 통해 액세스가능하다. 더욱이, 이전에 논의된 바와 같이, LIST 1(302)은 개별 리스트 멤버로서 LIST 2(304)로의 연계를 포함한다. 부연하면, FILE 3(310)이 LIST 1(302)를 통해 직접 액세스가능하지 않지만, 도시된 바와 같이, 그것이 LIST 1(302)에 연계된 LIST 2(304)에 나타나므로 액세스될 수 있다.
도 4는 리스트, 전자 파일, 및 폴더 간의 다른 관계의 예를 도시한다. 도시된 바와 같이, LIST 1(402)은 FILE 1(404), FILE 2(406), 및 FOLDER 1(408)로의 참조를 포함할 수 있다. 전술한 바와 같이, FOLDER 1(408)이 FILE 1(404)의 복사본을 포함하지만, 파일의 추가 복사본은 본 발명의 시스템에 따라 보유되지 않는다. 위에 논의된 바와 같이, 의 LIST 1(402) 내에 포함된 연계에 따라, 시스템은 FILE 1(404)의 위치를 매핑하여 FOLDER 1(408)인 것으로서 그것의 위치를 결정한다. 이 이유에서, 단지 한 개의 복사본만이 복수 개의 소스들을 통해 액세스가 실행될 수 있는 동안 보유되어야 할 것이다: LIST 1(402) 및 FOLDER 1(408). 종래 시스템들은 데이타 컴포넌트의 한 개의 복사본이 복수 개의 폴더들에 존재하도록 허용하지 않음을 이해할 것이다. 그 보다는, 종래 시스템들은 데이타 컴포넌트의 복사본이 생성되어 분리된 위치에 후속적으로 저장되도록 요구한다. 도 4의 참조에서, FILE 1(404)은 FOLDER 1(408) 및 FOLDER 2(410)에 동시에 존재할 수 없다. 이 금지는 도 4에 "X"로 표시된다.
이제 도 5의 참조에서, 본 발명에 따라 데이타 세트들의 조직화 및/또는 인터랙션을 용이하게 하는 시스템(500)의 다른 양태의 간략한 표현이 도시된다. 일반적으로, 시스템(500)은 연계 컴포넌트들(104)을 가진 연계 저장소 컴포넌트(102)를 포함할 수 있다. 더욱이, 시스템(500)은 연계 관리자 컴포넌트(502) 및 데이타 컴포넌트들(110)을 가진 데이타-세트 컴포넌트(108)를 포함할 수 있다. 연계 저장소 컴포넌트(102) 및 데이타-세트 컴포넌트(108)는 위의 도 1의 참조에서 기재된 것과 같음을 이해할 것이다.
도 1의 참조로 기재된 바와 같이, 연계 저장소 컴포넌트(102)는 연계 컴포넌트들 1로부터 M까지를 포함할 수 있고, 여기서, M은 정수이다. 연계 컴포넌트들 1로부터 M까지는 연계 컴포넌트들(104)로서 집합적으로 또는 개별적으로 참조될 수 있다. 본 발명의 양태들에 따라, 연계 컴포넌트(104)는 이 분야에서 알려진 임의의 데이타 연계 기술을 채택할 수 있다. 예로써, 연계 컴포넌트(들)(104)는 링크, 하이퍼링크, 드라이브 매핑, 포인터, 또는 기타등등을 포함할 수 있지만, 이에 제한하려는 의도는 아니다.
더욱이, 데이타-세트 컴포넌트(108)는 데이타 컴포넌트들 1로부터 N까지를 포함할 수 있고, 여기서 N은 정수이다. 데이타 컴포넌트들 1로부터 N까지는 도시된 바와 같이 데이타 컴포넌트들(110)로서 집합적으로 또는 개별적으로 참조될 수 있다. 본 발명의 양태들에 따라, 데이타 컴포넌트(들)(110)는 임의의 유형의 전자 항목, 레코드, 파일, 문서, 링크, 또는 기타등등을 포함할 수 있다. 또한, 데이타 컴포넌트들(110)은 개별 데이타 소자들의 임의의 그룹 또는 연계들(예를 들어, 컨테이너들)을 포함할 수 있다. 예로써, 데이타 컴포넌트(110)는 문서 편집 문서를 나타내는 파일일 수 있다. 다른 일 실시예에서, 데이타 컴포넌트(110)는 원격으로 저장된 데이타 파일을 포인트하거나 링크하는 링크 또는 하이퍼링크일 수 있다. 다른 양태에서, 데이타 컴포넌트(110)는 연계, 연계들의 그룹(예를 들어, 리스트), 또는 데이타 소자들의 편찬물(compilation)(예를 들어, 폴더)을 나타낼 수 있다. 당업자들은 데이타-세트 컴포넌트(108)가 임의의 수의 동일하거나 다른 유형들의 데이타 컴포넌트들(110)을 포함할 수 있음을 이해할 것이다.
위의 논의와 유사하게, 연계 관리자 컴포넌트(502)는 연계 컴포넌트들(104)과 데이타 컴포넌트들(110) 간의 관계들을 수립하고 관리하기 위해 채택될 수 있다. 예로써, 연계 관리자 컴포넌트(502)는 현재 관계의 무결성을 확인할 수 있고, 적절하면, 특정 연계 컴포넌트(104)와 데이타 컴포넌트(110) 간의 관계를 동적으로 관리할 수 있다. 적절하면, 연계 관리자 컴포넌트(502)는 관계(들)에 변경을 반영하기 위해 연계 컴포넌트(104)를 업데이트하고, 수정하고, 및/또는 삭제할 수 있다.
"동적 리스트" 양태의 일 예에 따라 그리고 도 5의 참조에서, 연계 관리자 컴포넌트(502)는 연계들의 수립과 업데이트를 돕는 쿼리 컴포넌트(504)를 포함할 수 있음이 도시된다. 동작에서, 쿼리 컴포넌트(504)는 현재 연계의 상태를 결정하기 위해 채택될 수 있다. 예를 들어, 쿼리 컴포넌트(504)는 특정 타겟 데이타 컴포넌트가 여전히 이용가능한지를 판정하기 위해 채택될 수 있다. 타겟 컴포넌트가 여전히 이용가능하다고 쿼리 컴포넌트(504)가 판정하면, 연계들에 아무런 변경이 되지 않는다. 그러나, 타겟 컴포넌트가 이용가능하지 않으면, 연계 관리자 컴포넌트(502)는 그런 이용성의 부재를 반영하기 위해 연계 저장소 컴포넌트(102)를 수정 및/또는 업데이트할 수 있다(즉, 연계 컴포넌트(104)를 삭제하거나 변경함).
다른 양태에서, 쿼리 컴포넌트(504)를 통해, 연계 관리자 컴포넌트(502)는 연계 컴포넌트들(104)을 수립하기 위한 질문을 채택하기 위해 설정될 수 있다. 예로써, 사용자가 특정 시간 기간 동안 생성된 이미지 파일들을 액세스하는 것에 관 심이 있다고 가정한다. 이 상황의 예에서, "동적 리스트"가 생성될 수 있어서, 쿼리 컴포넌트(502)는 데이타-세트 컴포넌트(108)를 액세스하고 미리 정의된 기준들 또는 쿼리를 만족시키는 특정 데이타 컴포넌트들(110)을 식별하기 위해 채택될 수 있다(즉, 특정 시간 기간 동안 생성된 이미지 파일들).
도 1의 참조로 논의된 바와 같이, 다른 양태들 및 추가 예를 통해, 연계 관리자 컴포넌트(502) 및 쿼리 컴포넌트(504)는 규칙 엔진의 형태로 의사결정(decision-making) 메카니즘으로 구성될 수 있어서, 규칙이 적용되어 데이타 컴포넌트(들)(110)와 관계(들)에 대한 질의를 실행시킬 수 있다. 또한, 그런 의사결정 메카니즘들은 데이타-세트 컴포넌트의 쿼리를 생성하기 위해 채택될 수 있다. 다른 실시예에서, AI 컴포넌트는 연계 컴포넌트(들)(104)에 대해 사용자 의도의 추론에 기초하여 질의를 실행하기 위해 개별적으로 또는 다른 평가 스킴들과 조합하여 채택될 수 있다. 이들 다른 양태들은 아래 도 9 내지 도 12에 대해 더 상세히 논의될 것이다.
도 6은 본 발명의 다른 양태를 도시한다. 일반적으로, 시스템(600)은 연계 저장소 컴포넌트(102), 연계 관리자 컴포넌트(502), 및 데이타-세트 컴포넌트(108)를 포함할 수 있다. 이들 컴포넌트들(102, 502, 108)은 도 5의 참조에서 기재된 바와 같이 동일 또는 유사한 기능을 가진다. 추가로, 시스템(600)은 분석기 컴포넌트(602)를 포함한다. 분석기 컴포넌트(602)는 연계 컴포넌트들(104)의 무결성을 확인하기 위해 채택될 수 있다. 부연하면, 분석기 컴포넌트(602)는 연계 컴포넌트들(104)과 대응하는 데이타 컴포넌트(들)(110) 간의 관계의 무결성의 입증 및/또는 확인을 용이하게 할 수 있다. 그것에 따라, 분석기 컴포넌트(602)가 연계의 무결성의 변경을 탐지하면, 연계 관리자 컴포넌트(502)는 그에 따라 해당 연계 컴포넌트(104)를 업데이트, 수정, 또는 삭제할 수 있다. 연계(들)의 무결성에서의 변경이 분석기 컴포넌트(602)에 의해 탐지되지 않으면, 대응하는 연계 컴포넌트(들)(104)는 변경되지 않고 남아 있는다.
도 7은 본 발명의 일 양태를 채택하는 것을 용이하게 하는 UI(700)의 예를 도시한다. 도시된 바와 같이, 일람되는(viewed) 컨테이너의 포개짐과 표제를 식별하는 표제(702)가 도시된다. 헤더(704)는 UI 내의 내비게이션 차원을 제공한다. 예로써, 시간적 정렬이 도시된 바와 같이 제공될 수 있다(즉, Date를 통해). 다른 내비게이션 차원들이 유형, 폴더, 작업공간, 사람들, 그룹없슴, 또는 기타등등을 포함하여 제공될 수 있지만, 이에 제한되지는 않는다.
원하는 데이타 컴포넌트들의 선택은 임의의 방식으로(즉, 수동으로 또는 자동으로) 실행될 수 있다. 도면부호(706)에 지시된 바와 같이, 컨테이너들에서 복수 개의 항목들의 선택이 본 발명에 따라 실행될 수 있음을 이해할 것이다. 도 7의 GUI는 현재 헤더 선택에 의해 동적으로 생성되는 컨테이너들(308)의 썸네일이나 다른 표현을 제공할 수 있음을 주목해야 한다. 또한, 현재 선택과 관련된 컨테이너들과 작업들(710)이 표현들은 GUI(700)에 의해 제공될 수 있다.
또한, 현재 선택에 기초한 특별 컨테이너(712)가 제공될 수 있다. 본 발명에 따라 컨테이너들(즉, 708, 712)의 표현은 임의의 원하는 방식으로 배열될 수 있음을 이해해야 한다. 예를 들어, 도 7에 도시된 바와 같이, 특별 컨테이너 표현 (712)은 스택의 최상위에 디스플레이되는 가장 최신 문서를 가진 데이타 소자들의 스택을 나타내는 썸네일의 형태로 제공될 수 있다. 임의의 표현이 청구된 발명의 범위 및 기능을 벗어나지 않고 사용될 수 있음을 이해해야 한다. 일단 지속적이면, 컨테이너(들)의 썸네일 이미지들은 컨테이너(들)를 위한 저장 지역의 표현일 수 있는 선반(shelf)(714)에 디스플레이될 수 있다.
도 6의 참조에서 이전에 기재된 바와 같이, "동적 리스트"는 연계들을 식별하기 위해 쿼리를 채택할 수 있다. 동적 리스트 메카니즘에 추가 컨텍스트를 제공하기 위해, 도 8은 데이타 컴포넌트들을 식별하고 연계하는 쿼리 컴포넌트를 채택하는 양태의 일 예를 도시한다. 이제 도 8의 참조에서, 동적 리스트 컴포넌트(802)는 쿼리 컴포넌트(804)를 포함할 수 있다. 이 양태에서 그리고 정의된 파라미터 또는 파라미터들의 세트에 기초하여, 동적 리스트(802)는 해당 쿼리와 매치하는 데이타 컴포넌트 또는 데이타 컴포넌트들의 세트를 식별하기 위해 쿼리 컴포넌트(804)를 채택할 수 있다. 동작에서, 쿼리 컴포넌트(804)를 통해, 동적 리스트 컴포넌트(802)는 정의된 파라미터들의 세트에 따라 데이타베이스(806)를 질의할 수 있다. 그것에 응답하여, 해당 쿼리와 매치하는 데이타 컴포넌트들 또는 파일들(즉, 808, 810, 812)이 식별될 수 있다. 다음, 동적 리스트 컴포넌트는 매핑하여, 식별된 데이타 컴포넌트들(즉, 808, 810, 812)을 액세스하기 위해 연계 컴포넌트들(도시 안됨)을 수립할 수 있다.
추가 예로써, 이전에 논의된 바와 같이, 사용자가 "지난 2일 동안 수정된 모든 예산들"을 액세스하는 것에 관심이 있다고 가정한다. 쿼리 컴포넌트(804)는 데 이타베이스(806)를 액세스하여, 그런 쿼리와 매치하는 파일들(즉, 804, 808, 810)을 리턴하기 위해 채택될 수 있다. 이전에 논의된 바와 같이, 쿼리 컴포넌트(804) 및/또는 분석기 컴포넌트(도 6)는 다른 의사결정 기술들을 채택할 수 있다. 더 구체적으로, 규칙 및/또는 AI-기반 기술들은 쿼리 및/또는 분석기 컴포넌트들의 양태들을 자동화하는 것과 연관하여 사용될 수 있다. 이들 다른 양태들은 도 9 내지 도 12의 참조로 더 상세히 논의된다.
이제 도 9의 참조에서, 쿼리 컴포넌트(502)(도 5)의 다른 양태가 도시된다. 더 구체적으로, 쿼리 컴포넌트(502)는 일반적으로 규칙 엔진 컴포넌트(902) 및 규칙 평가 컴포넌트(904)를 포함한다. 이 다른 양태에 따라, 구현 스킴(즉, 규칙)은 쿼리를 정의하고 및/또는 구현하기 위해 적용될 수 있다. 규칙-기반 구현은 데이타 저장소의 쿼리를 자동으로 및/또는 동적으로 정의하고 구현할 수 있음을 이해할 것이다. 그것에 응답하여, 규칙-기반 구현은 임의의 원하는 기준들(예를 들어, 파일 유형, 파일 크기, 하드웨어 특성들)에 기초하여 미리 정의되고 및/또는 프로그램된 규칙(들)을 채택하여 결과(들) 내에 포함된 데이타 컴포넌트(들)를 선택할 수 있다.
예로써, 사용자는 선호되는 유형의 파일(예를 들어, 음악)의 쿼리를 구현할 수 있는 규칙을 수립할 수 있다. 이 양태의 예에서, 규칙은 타겟된 데이타 저장소 또는 소스 위치로부터 모든 음악 파일들을 선택하기 위해 구성될 수 있다. 따라서, 데이타 컴포넌트들의 결과 세트는 원하는 대로 얻어지고, 예비일람(preview)되고, 및/또는 조작될 수 있다. 일단 최종화되면, 컨테이너(예를 들어, 동적 리스 트)는 원하는 위치 및/또는 디바이스에 생성되고 저장될 수 있다. 본 발명에 따라 사용되는 명세들 중의 임의의 것은 규칙-기반 프로그램 스킴으로 구현될 수 있음을 이해할 것이다.
도 9의 양태의 예에서, 규칙 엔진 컴포넌트(902)는 사용자-정의된 선호에 따라 프로그램되거나 구성될 수 있다. 또한, 규칙은 특정 하드웨어 구성에 따라 또는 소프트웨어 응용 프로그램에 따라 수립될 수 있다. 예를 들어, 규칙은 디바이스의 특정 메모리 용량 및/또는 디스플레이에 따라 구성될 수 있다. 부연하면, 이전에 논의된 바와 같이, 규칙은 하드웨어 디바이스(예를 들어, 디스플레이 메카니즘)의 특정한 한계들을 고려하여 수립될 수 있다. 그러므로, 일 양태에서, 특정 핸드헬드 디바이스가 낮은 메모리 용량을 가지면, 규칙은 미리 정의된 크기 임계치를 초과하는 파일들을 무시하여 연계하지 않기 위해 생성될 수 있다.
규칙 평가 컴포넌트(904)는 규칙의 적용을 용이하게 한다. 규칙 평가 컴포넌트(904)의 출력에 기초하여, 쿼리 컴포넌트(502)는 결과들을 리턴하여, 위에 논의한 바와 같이 동적 리스트 컴포넌트에 의해 적절한 연계들의 수립을 하게 할 수 있다.
쿼리 컴포넌트(502)의 다른 양태의 간략한 다이어그램이 도 10에 도시된다. 도 9의 참조에서 기재된 규칙-기반 컴포넌트들에 추가하거나 대체하여, 쿼리 컴포넌트(502)는 인공지능(AI) 엔진 컴포넌트(1002) 및 AI 평가 컴포넌트(1004)를 포함할 수 있다.
이 양태에 따라, 선택적 AI 엔진 및 평가 컴포넌트들(1002, 1004)은 쿼리 컴 포넌트(502)의 다양한 양태들을 자동으로 구성하고 및/또는 구현하는 것을 용이하게 할 수 있다. AI 컴포넌트들(1002, 1004)은 주어진 시간과 상태에 수행되는 의도된 액션들을 추론하는 것을 용이하게 하기 위해, 부분적으로, 추론 기반 스킴들을 사용하여 AI 컴포넌트들의 자동화된 양태들을 더 개선할 수 있는 추론 컴포넌트(도시 안됨)를 선택적으로 포함할 수 있다. 본 발명의 AI-기반 양태들은 임의의 적절한 기계학습(machine-learning)-기반 기술 및/또는 통계-기반 기술들 및/또는 확률-기반 기술들을 통해 완수될 수 있다.
다른 양태에서, 도 10에 더 도시된 바와 같이, 해당 쿼리 컴포넌트(502)(즉, 파라미터들을 정의하고 결과들을 필터링하는 것과 연관하여)는 다양한 양태들을 자동으로 수행하는 다양한 인공지능 기반 스킴들을 선택적으로 채택할 수 있다. 특정하게, 인공지능 엔진 및 평가 컴포넌트들(1002, 1004)은 인공지능 프로세스들(예를 들어, 신뢰도(confidence), 추론(inference))에 기초하여 본 발명의 양태들을 구현하기 위해 선택적으로 제공될 수 있다. 예를 들어, 데이타 저장소 컨텐츠와 타겟 디바이스 유형에 기초하여 동적 리스트의 멤버들(즉, 데이타 컴포넌트(들))을 결정하는 프로세스는 자동 분류기 시스템 및 프로세스를 통해 용이하게 될 수 있다. 더욱이, 선택적 인공지능 엔진 및 평가 컴포넌트들(1002, 1004)은 하드웨어 명세들에 따라 쿼링하는 자동 프로세스를 용이하게 하기 위해 채택되어, 특정 유형에 대응하는 데이타 파일들은 특정 파라미터들이 만족되는 한 특정 컨테이너(예를 들어, 리스트)와 연계될 수 있다.
분류기는 입력 속성 벡터, x = (x1, x2, x3, x4, xn), 를 입력이 한 클래스 에 속하는 신뢰도와 매핑하는 함수이다, 즉, f(x) = confidence(class). 그런 분류는 사용자가 자동으로 수행되기를 바라는 액션을 예측하거나 추론하기 위해 확률 및/또는 통계-기반 분석(즉, 분석 유틸리티들과 비용들을 감안하여)을 채택할 수 있다. 데이타 컴포넌트 연계의 경우, 예를 들어, 속성들은 파일 유형들 및/또는 컨텐츠로부터 도출된 파일 유형들 또는 다른 데이타-특정한 속성들일 수 있고, 클래스들은 관심 범주들 또는 분야들일 수 있다.
SVM(support vector machine)은 채택될 수 있는 분류기의 예이다. SVM은 가능한 입력들의 공간에서 초표면(hypersurface)을 발견하여 동작하고, 여기서, 초표면은 논트리거링(non-triggering) 이벤트들로부터 트리거링(triggering) 기준들을 분리하려고 시도한다. 직관적으로, 이것은 훈련 데이타에 근접하지만 동일하지는 않는 테스트 데이타에 대한 분류를 정확하게 한다. 예를 들어, 나이브 베이즈(Naive Bayes), 베이즈 통신망(Bayesian Network), 결정 트리(decision tree), 및 독립성의 상이한 패턴들을 제공하는 확률적 분류 모델들을 포함하는 다른 방향성(directed) 및 비방향성(undirected) 모델 분류 접근법들이 채택될 수 있다. 본 명세서에 사용되는 바와 같이 분류 또한 우선순위의 모델들을 개발하기 위해 사용되는 통계적 리그레션(statistical regression)을 포함한다.
본 명세서에서 쉽게 이해할 수 있을 것처럼, 본 발명은 명백하게(explicitly) 훈련되고(즉, 일반적 훈련 데이타를 통해) 또한 함축적(implicitly)으로 훈련되는(즉, 사용자 행위를 관찰하고 외부 정보를 수신하는 것을 통해) 분류기들을 채택할 수 있다. 예를 들어, SVM은 분류기 구성자(constructor) 및 특징 선택 모듈 내의 학습 또는 훈련 단계를 통해 구성될 수 있다. 부연하면, 전문가 시스템(expert system), 퍼지 로직(fuzzy logic), SVM, 그리디 탐색 알고리즘(greedy search algorithm), 규칙-기반 시스템, 베이즈 모델(예를 들어, 베이즈 통신망(Bayesian networks)), 신경망, 다른 비선형 훈련 기술들, 데이타 퓨젼(data fusion), 유틸리티-기반 분석 시스템, 베이즈 모델을 채택하는 시스템 등의 사용이 고려되고, 여기에 첨부된 청구범위의 범위 내에 속하려고 의도된다.
AI의 다른 구현들은 다른 양태들을 포함하여, 학습되거나 예측된 사용자 의도에 기초하여, 시스템은 연계 저장소에 추가적 포함을 위해 프롬프트(prompt)할 수 있다. 유사하게, 선택적 AI 컴포넌트는 집합(예를 들어, 동적 리스트)으로부터 한 항목을 삭제하도록 사용자를 프롬프트할 수 있다. 더욱이, AI는 파일들이나 다른 데이타 컴포넌트들의 공통성을 탐색하기 위해 사용될 수 있다.
도 11 및 도 12는 분석기 메카니즘에 적용되는 대로 위에 논의된 바와 같이 유사한 규칙-기반 및 AI-기반 컴포넌트들을 도시한다. 다른 분석기 컴포넌트(602)는 규칙 엔진 컴포넌트(1102) 및 규칙 평가 컴포넌트(1104)를 채택한다. 유사하게, 도 12는 AI-결정 기반 메카니즘들(1202, 1204)을 채택하는 분석기 컴포넌트(602)의 다른 양태를 도시한다. 더 구체적으로, 도 12는 분석기 컴포넌트(602) 내에 포함된 AI 엔진 및 평가 컴포넌트들을 도시한다. 도 11과 도 12의 분석기 컴포넌트를 자동화하는 것과 연관하여 도시된 규칙-기반 및 AI-기반 의사결정 메카니즘들은 도 9 및 도 10의 참조에서 위에 기재된 것들과 같이 동일한 및/또는 유사한 기능을 가짐을 이해해야 한다.
이제 도 13의 참조에서, 본 발명의 일 양태에 따른 흐름도가 도시된다. 더 구체적으로, 흐름도는 동적 리스트를 생성하고 및/또는 관리하는(예를 들어, 업데이트, 수정) 것과 연관하여 쿼리와 분석기 프로세스들의 방법 예를 도시한다. (1302)에서, 특정 리스트 컴포넌트가 선택된다. 방법의 예는 기존 리스트가 더 이른 시간에 생성되었슴을 가정함을 이해해야 한다. 다음 (1304)에서, 쿼리는 타겟 파일 시스템 또는 데이타 저장소에 실행된다. 더 이른 시간에 기재된 바와 같이, 쿼리는 사용자 정의된 기준들 및/또는, 다른 경우에, 규칙 및/또는 AI-기반 기준들에 기초할 수 있다.
(1306)에서, 쿼리의 결과들은 (1308)에서 원래 리스트(즉, 연계들)에 대해 리턴되고 매치된다. (1308)에서, 리턴된 결과들이 원래 리스트와 매치하지 않는다는 판정이 되면, 리스트는 쿼리 결과들에 따라 리스트에 임의의 업데이트, 수정, 및/또는 삭제를 반영하기 위해 (1310)에서 업데이트된다. 다른 한편, 결과들이 원래 쿼리와 매치하면, 리스트는 도 13에 도시된 바와 같이 업데이트되지 않는다.
도 14의 참조에서, 컴퓨팅 환경의 예의 간략한 블럭도는 본 발명의 일 양태에 따라 도시된다. 구체적으로, 도시된 시스템(1400)은 포함된 연계 컴포넌트들(104)을 가진 연계 저장소 컴포넌트(102)를 포함한다. 더욱이, 시스템(1400)은 연계 관리자 컴포넌트(106) 및 데이타 컴포넌트들(110)을 가진 데이타-세트 컴포넌트(108)를 포함한다. 이들 컴포넌트들은 도 1의 참조에서 위에 상세히 논의된 바와 같이 동일 기능을 가질 수 있다. 또한, 도시된 시스템(1400)은 통신 프레임워크(1402)를 채택하여, 연계 저장소 컴포넌트(102) 및/또는 연계 관리자 컴포넌트 (106)는 타겟 데이타(즉, 데이타-세트 컴포넌트(108))로부터 멀리 있을 수 있다.
예를 들어, 휴대용 디바이스(예를 들어, MP3-호환성 플레이어)가 연계 컴포넌트들(102, 104, 106)을 포함한다고 가정한다. 리스트는 휴대용 디바이스에 지속적일 수 있어서, 실제 데이타(즉, 데이타-세트 컴포넌트(108))는 유선이나 무선 메카니즘들(즉, 통신 프레임워크(1402))을 통해 액세스될 수 있음을 이해할 것이다. 통신 프레임워크(1402)는 이 분야에서 알려진 임의의 통신 기술(유선 및/또는 무선)을 채택할 수 있다. 예를 들어, 통신 프레임워크(1402)는 Bluetooth™, 적외선(IR), Wi-Fi, 이써넷(Ethernet), 또는 기타등등을 포함할 수 있지만, 이에 제한되지는 않는다.
이제 도 15의 참조에서, 개시된 구조를 실행하기 위해 동작가능한 컴퓨터의 블럭도가 도시된다. 본 발명의 다양한 양태들을 위한 추가적 컨텍스트를 제공하기 위해, 도 15 및 다음 논의는 본 발명의 다양한 양태들이 구현될 수 있는 적절한 컴퓨팅 환경(1500)의 간략하고 일반적 설명을 제공하려고 의도된다. 본 발명이 한 개 이상의 컴퓨터들 상에서 실행할 수 있는 컴퓨터-실행가능 명령어들의 일반 컨텍스트로 위에 기재되는 한편, 당업자들은 본 발명이 또한 다른 프로그램 모듈들의 조합으로 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있음을 인식할 것이다.
일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정 추상 데이타 유형들을 구현하는 루틴, 프로그램, 컴포넌트, 데이타 구조 등을 포함한다. 더욱이, 당업자들은 본 발명의 방법들이 싱글 프로세서나 멀티 프로세서 컴퓨터 시스 템, 미니컴퓨터, 메인프레임 컴퓨터, 개인용 컴퓨터, 핸드헬드 컴퓨팅 디바이스, 마이크로프로세서-기반이나 프로그램가능한 소비자 전자제품 등을 포함하는 다른 컴퓨터 시스템 구성들과 실시될 수 있고, 이들의 각각은 한 개 이상의 연계 디바이스들에 동작적으로 결합될 수 있음을 이해할 것이다.
본 발명의 설명된 양태들은 또한 특정 작업들이 통신망을 통해 링크된 원격 프로세싱 디바이스들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 디바이스들에 모두 위치될 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터-판독가능 매체를 포함한다. 컴퓨터-판독가능 매체는 컴퓨터에 의해 액세스될 수 있고 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 모두를 포함하는 임의의 이용가능한 매체일 수 있다. 예로써, 컴퓨터-판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 제한되지는 않는다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이타 구조, 프로그램 모듈, 또는 기타 데이타와 같은 정보 저장을 위해 임의의 방법이나 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체 모두를 포함한다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래쉬 메모리나 기타 메모리 기술, CD-ROM, DVD(digital video disk)나 다른 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치나 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되지는 않는다.
통신 매체는 통상적으로 캄퓨터-판독가능 명령, 데이타 구조, 프로그램 모듈, 또는 반송파나 다른 전송 메카니즘과 같은 변조 데이타 신호의 다른 데이타를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조 데이타 신호"라는 용어는 신호에 정보를 인코딩하는 방식으로 그것의 하나 이상의 특성들을 설정하거나 변경하는 신호를 의미한다. 예로써, 통신 매체는 유선 통신망이나 직접-유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상술한 것들 중의 임의의 것의 조합들은 또한 컴퓨터-판독가능 매체의 범위 내에 포함되어야 한다.
다시 도 15의 참조에서. 컴퓨터(1502)를 포함하는 본 발명의 다양한 양태들을 구현하는 환경(1500)의 예가 도시되고, 컴퓨터(1502)는 프로세싱 유닛(1504), 시스템 메모리(1506), 및 시스템 버스(1508)를 포함한다. 시스템 버스(1508)는 프로세싱 유닛(1504)으로 시스템 메모리(1506)를 포함하는, 하지만 이에 제한되지는 않는, 시스템 컴포넌트들을 결합한다. 프로세싱 유닛(1504)은 다양하게 상업적으로 이용가능한 프로세서들 중의 임의의 것일 수 있다. 듀얼(dual) 마이크로프로세서들 및 다른 멀티프로세서 구조들은 또한 프로세싱 유닛(1504)으로서 채택될 수 있다.
시스템 버스(1508)는 메모리 버스(메모리 컨트롤러를 갖거나 갖지 않음), 주변기기 버스, 및 다양하게 상업적으로 이용가능한 버스 구조들 중의 임의의 것을 사용하는 로컬 버스에 더 상호연결할 수 있는 여러 유형들의 버스 구조들 중의 임의의 것일 수 있다. 시스템 메모리(1506)는 ROM(1510) 및 RAM(1512)을 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM과 같은 비휘발성 메모리(1510)에 저장되고, 여기서, BIOS는 스타트업 동안 같은 때에, 컴퓨터(1502) 내의 소자들 간에 정보 전송을 돕는 기본 루틴들을 포함한다. RAM(1512)은 또한 데이타를 캐슁(caching)하는 정적(static) RAM과 같은 고속 RAM을 포함할 수 있다.
컴퓨터(1502)는 적절한 격자(도시 안됨)에 외부 사용을 위해 또한 구성될 수 있는 내부 하드 디스크 드라이브((HDD;1514)(예를 들어, EIDA, SATA), 자기 플로피 디스크 드라이브(FDD;1516)(즉, 분리형 디스켓(1518)에 읽고 쓰는), 및 광 디스크 드라이브(1520)(즉, CD-ROM 디스크(1522)를 읽거나, DVD와 같은 다른 고용량 광 매체에 읽고 쓰기 위해)를 더 포함한다. 하드 디스크 드라이브(1514), 자기 디스크 드라이브(1516), 및 광 디스크 드라이브(1520)는 하드 디스크 드라이브 인터페이스(1524), 자기 디스크 드라이브 인터페이스(1526), 및 광 드라이브 인터페이스(1528) 각각에 의해 시스템 버스(1508)에 접속될 수 있다. 외부 드라이브 구현들을 위한 인터페이스(1524)는 USB(universal serial bus) 및 IEEE 1394 인터페이스 기술들 중의 적어도 하나 또는 둘다를 포함한다.
드라이브들과 그들의 연관된 컴퓨터-판독가능 매체는 데이타, 데이타 구조, 컴퓨터-실행가능 명령 등의 비휘발성 저장을 제공한다. 컴퓨터(1502)에 대해, 드라이브들과 매체들은 적절한 디지탈 포맷으로 임의의 데이타의 저장을 포함한다. 위의 컴퓨터-판독가능 매체의 설명이 HDD, 분리형 자기 디스켓, 및 CD 또는 DVD와 같은 분리형 광 매체를 참조하지만, 당업자들은 집(zip) 드라이브, 자기 카세트, 플래쉬 메모리 카드, 카트리지 등과 같은 컴퓨터에 의해 판독가능한 다른 유형들의 매체들이 또한 운영 환경의 예에서 사용될 수 있음, 및 또한, 임의의 그런 매체들이 본 발명의 방법들을 수행하는 컴퓨터-실행가능 명령들을 포함할 수 있음을 이해해야 한다.
다수의 프로그램 모듈들이, 운영 시스템(1530), 한 개 이상의 응용 프로그램들(1532), 다른 프로그램 모듈들(1534), 및 프로그램 데이타(1536)를 포함하는, 드라이브들과 RAM(1512)에서 저장될 수 있다. 운영 시스템, 응용 프로그램, 모듈, 및/또는 데이타의 전부 또는 일부들은 또한 RAM(1512)에 캐쉬될 수 있다. 본 발명은 다양하게 상업적으로 이용가능한 운영 시스템들 또는 운영 시스템들의 조합들로 구현될 수 있음을 이해할 것이다.
사용자는, 예를 들어, 키보드(1538) 및, 마우스(1540)와 같은, 포인팅 디바이스와 같은, 한 개 이상의 유선/무선 입력 디바이스들을 통해 컴퓨터(1502)로 커맨드들과 정보를 입력할 수 있다. 다른 입력 디바이스들(도시 안됨)은 마이크로폰, IR 원격 제어, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린 등을 포함할 수 있다. 이들과 다른 입력 디바이스들은 종종 시스템 버스(1508)에 결합된 입력 디바이스 인터페이스(1542)를 통해 프로세싱 유닛(1504)으로 접속되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같은, 다른 인터페이스들에 의해 접속될 수 있다.
모니터(1544) 또는 다른 유형의 디스플레이 디바이스는 또한, 비디오 어댑터(1546)와 같은, 인터페이스를 통해 시스템 버스(1508)에 접속될 수 있다. 모니터(1544)에 추가하여, 컴퓨터는 통상적으로, 스피커, 프린터 등과 같은, 다른 주변 출력 디바이스들(도시 안됨)을 포함한다.
컴퓨터(1502)는, 원격 컴퓨터(들)(1548)와 같은, 한 개 이상의 원격 컴퓨터들에 유선 및/또는 무선 통신을 통해 논리 접속들을 사용하여 통신망 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1548)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락기기, 피어 디바이스, 또는 다른 일반 통신망 노드일 수 있고, 단순성을 위해, 단지 메모리 저장 디바이스(1550)만이 도시되지만, 통상적으로 컴퓨터(1502)에 대해 기재된 소자들의 다수나 전부를 포함한다. 도시된 논리 접속들은 LAN(local area network;1552) 및/또는 더 큰 통신망들, 예를 들어, WAN(wide area network;1554), 로의 유선/무선 접속을 포함한다. 그런 LAN 및 WAN 통신망 환경들은 사무실 및 회사에서 일반적이고, 인트라넷(intranet)과 같은, 기업-전반 컴퓨터 통신망들을 용이하도록 하고, 이들 전부는, 예를 들어, 인터넷과 같은, 글로벌 통신 통신망에 접속될 수 있다.
LAN 통신망 환경에서 사용될 때, 컴퓨터(1502)는 유선 및/또는 무선 통신망 인터페이스 또는 어댑터(1556)를 통해 로컬 통신망(1552)에 접속된다. 어댑터(1556)는, 또한 무선 어댑터(1556)와 통신하기 위해 배치된 무선 액세스 포인트를 포함할 수 있는, LAN(1552)으로 유선 또는 무선 통신을 용이하게 할 것이다. WAN 통신망 환경에서 사용될 때, 컴퓨터(1502)는 모뎀(1558)을 포함할 수 있거나, 또는 WAN(1554)에서 통신 서버에 접속되거나, 또는, 인터넷을 통해서와 같이, WAN(1554)을 통해 통신을 개설하는 다른 수단을 가진다. 내장이나 외장이고 유선이나 무선 디바이스일 수 있는 모뎀(1558)이 직렬 포트 인터페이스(1542)를 통해 시스템 버스 (1508)에 접속된다. 통신망 환경에서, 컴퓨터(1502), 또는 그것의 일부, 에 관련되어 도시된 프로그램 모듈들은 원격 메모리/저장 디바이스(1550)에 저장될 수 있다. 도시된 통신망 접속들이 예일 뿐이고 컴퓨터들 간에 통신 링크를 개설하는 다른 수단이 사용될 수 있음을 이해할 것이다.
컴퓨터(1502)는, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, 개인 정보 단말기(PDA), 통신 위성, 무선으로 탐지가능한 태그(tag)와 연관된 기구나 위치의 임의의 부분(예를 들어, 키오스크(kiosk), 뉴스 가판대, 화장실), 및 전화와 같은, 무선 통신에서 동작가능하게 배치된 임의의 무선 디바이스들이나 개체들과 통신하기 위해 동작가능하다. 이것은 적어도 Wi-Fi 및 Bluetooth™ 무선 기술들을 포함한다. 그러므로, 통신은 종래 통신망과 같이 미리 정의된 구조이거나 또는 단순히 적어도 2개의 디바이스들 간의 특별 통신일 수 있다.
Wi-Fi(wireless fidelity)는 무선으로 집의 소파, 호텔 방의 침대, 또는 직장의 회의실로부터 인터넷으로 접속을 하도록 한다. Wi-Fi는, 예를 들어, 컴퓨터들과 같은, 그런 디바이스들이 기지국의 범위 내에 어느 곳이든, 집안이나 집밖에 데이터를 전송하고 수신하도록 하는 셀폰과 같은 무선 기술이다. Wi-Fi 통신망들은 안전하고, 신뢰할만한, 빠른 무선 접속을 제공하기 위해 IEEE 802.11(a, b, g 등)이라고 불리우는 무선 기술들을 사용한다. Wi-Fi 통신망은 컴퓨터들을 서로간에, 인터넷에, 및 유선 통신망들(IEEE 802.3 또는 이써넷을 사용하는)에 접속하기 위해 사용될 수 있다. Wi-Fi 통신망들은, 예를 들어, 11Mbps(802.11a) 또는 54Mbps(802.11b) 데이타 레이트에, 무허가 2.4 및 5GHz 무선 밴드들에서, 또는 양 쪽 밴드 모두(듀얼 밴드)를 포함하는 제품들과 동작하여, 통신망들은 다수의 사무실들에서 사용되는 기본 10BaseT 유선 이써넷 통신망들에 유사한 실시간 성능을 제공할 수 있다.
이제 도 6의 참조에서, 본 발명에 따라 컴퓨팅 환경(1600)의 예의 간략한 블럭도가 도시된다. 시스템(1600)은 한 개 이상의 클라이언트(들)(1602)를 포함한다. 클라이언트(들)(1602)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 디바이스)일 수 있다. 클라이언트(들)(1602)는, 예를 들어, 본 발명을 채택하여 쿠키(들) 및/또는 연계된 컨텍스트 정보를 포함할 수 있다. 시스템(1600)은 또한 한 개 이상의 서버(들)(1604)를 포함한다. 서버(들)(1604)는 또한 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 디바이스)일 수 있다. 서버들(1604)은, 예를 들어, 본 발명을 채택하여 변환(transformations)을 수행하는 스레드들을 포함할 수 있다. 클라이언트(1602)와 서버(1604) 간의 한 가지 가능한 통신은 2개 이상의 컴퓨터 프로세스들 간에 전송되도록 적응된 데이타 패킷의 형태일 수 있다. 데이타 패킷은, 예를 들어, 쿠키 및/또는 연계된 컨텍스트 정보를 포함할 수 있다. 시스템(1600)은 클라이언트(들)(1602)과 서버(들)(1604) 간의 통신을 용이하게 하기 위해 채택될 수 있는 통신 프레임워크(1606)(즉, 인터넷과 같은 글로벌 통신망)를 포함한다.
통신은 유선(광섬유를 포함함) 및/또는 무선 기술을 통해 용이하게 될 수 있다. 클라이언트(들)(1602)는 클라이언트(들)(1602)에 로컬 정보(즉, 쿠키(들) 및/또는 연계된 컨텍스트 정보)를 저장하기 위해 채택될 수 있는 한 개 이상의 클라이 언트 데이타 저장소(들)(1608)에 동작적으로 접속된다. 유사하게, 서버(들)(1604)는 서버들(1604)에 로컬 정보를 저장하기 위해 채택될 수 있는 한 개 이상의 서버 데이타 저장소(들)(1610)에 동작적으로 접속된다.
상술된 것들은 본 발명의 예들을 포함한다. 물론, 본 발명을 설명하는 목적으로 컴포넌트들과 방법들의 모든 가능한 조합을 기재하는 것은 불가능하지만, 보통 숙련의 당업자는 본 발명의 다수의 추가 조합들과 순열들이 가능함을 인식할 것이다. 따라서, 본 발명은 첨부된 청구범위의 취지 및 범위 내에 속하는 모든 그런 변경, 수정, 및 변이를 포함하려고 의도된다. 더욱이, "포함한다(includes)"라는 용어가 상세한 설명이나 청구범위에 사용되는 정도까지, 그런 용어는 "포함하는(comprising)"이 청구범위에서 과도적(transitional) 단어로서 채택될 때 해석되는 바와 같이 "포함하는(comprising)"이라는 용어에 유사 방식으로 포괄적이려고 의도된다.
본 발명은 사용자들이 "리스트" 및 "동적 리스트" 컨테이너 유형들을 사용하여 폴더 또는 디렉토리 메카니즘을 네스트형 컨테이너들의 계층체계로 조직화하는 데이타 조직화 시스템을 개시한다. 시스템은 파일 저장소에 대해 쿼리를 실행하여, 결과적 파일들을 참조하는 연계들을 동적 리스트에 추가 또는 수정할 수 있다. 쿼리 컴포넌트는 미리 정의된 기준들에 따라 규칙을 자동으로 실체화하는 규칙 엔진을 포함하는 규칙-기반 메카니즘과 기준의 이력 및/또는 통계의 함수로서 사용자 의도를 자동으로 추론 및/또는 예측하는 AI-기반 메카니즘들을 채택할 수 있다.

Claims (45)

  1. 데이타를 조직화하는 것을 용이하게 하는 시스템으로서,
    한 개 이상의 연계(association) 컴포넌트들을 가진 연계 저장소 컴포넌트 -상기 한 개 이상의 연계 컴포넌트들은 한 개 이상의 데이타 컴포넌트들과 관계(relationship)를 가짐-; 및
    상기 한 개 이상의 데이타 컴포넌트들의 특성에 기초하여 상기 관계를 동적으로 관리하는 연계 관리자 컴포넌트
    를 포함하는 시스템.
  2. 제1항에 있어서, 상기 특성은 관련된 한 개 이상의 데이타 컴포넌트들의 위치인 시스템.
  3. 제1항에 있어서, 상기 연계 관리자 컴포넌트는 상기 한 개 이상의 데이타 컴포넌트들의 특성을 결정하는 것과 연관하여 채택되는 쿼리(query)를 생성하는 쿼리 컴포넌트를 포함하는 시스템.
  4. 제3항에 있어서, 상기 연계 관리자 컴포넌트는 결정된 특성에 기초하여 상기 한 개 이상의 연계 컴포넌트들을 업데이트하는 시스템.
  5. 제3항의 시스템을 채택하는 사용자 인터페이스.
  6. 제3항에 있어서, 상기 쿼리 컴포넌트는,
    미리 정의된 기준들을 구현하는 규칙을 자동으로 실체화하는 규칙 엔진 컴포넌트; 및
    상기 한 개 이상의 연계 컴포넌트들을 업데이트하기 위해 상기 한 개 이상의 데이타 컴포넌트들에 대해 상기 규칙을 적용하는 규칙 평가 컴포넌트
    를 포함하는 시스템.
  7. 제3항에 있어서, 상기 쿼리 컴포넌트는 사용자 기준들의 이력의 함수로서 사용자 의도를 예측하는 인공지능 컴포넌트를 포함하는 시스템.
  8. 제7항에 있어서, 상기 인공지능 컴포넌트는 특성에 대해 상기 예측된 사용자 의도의 함수로서 상기 한 개 이상의 데이타 컴포넌트들의 자동 업데이트를 용이하게 하는 추론 컴포넌트를 포함하는 시스템.
  9. 제7항에 있어서, 상기 추론 컴포넌트는 상기 자동 업데이트의 수행에서 유틸리티-기반 분석들을 채택하는 시스템.
  10. 제3항에 있어서, 상기 한 개 이상의 연계 컴포넌트들의 무결성(integrity)을 확인하는 분석기 컴포넌트를 더 포함하는 시스템.
  11. 제10항에 있어서, 상기 분석기 컴포넌트는 상기 한 개 이상의 데이타 컴포넌트의 특성의 변경을 경고(alert)하는 프롬프트(prompt)를 생성하는 시스템.
  12. 제11항에 있어서, 상기 분석기 컴포넌트는,
    미리 정의된 기준들을 구현하는 규칙을 자동으로 실체화하는 규칙 엔진 컴포넌트; 및
    상기 한 개 이상의 연계 컴포넌트들을 질의하기 위한 상기 한 개 이상의 데이타 컴포넌트들에 대해 상기 규칙을 적용하는 규칙 평가 컴포넌트
    를 포함하는 시스템.
  13. 제12항에 있어서, 상기 분석기 컴포넌트는 사용자 기준들의 이력의 함수로서 사용자 의도를 예측하는 인공지능 컴포넌트를 포함하는 시스템.
  14. 제13항에 있어서, 상기 인공지능 컴포넌트는 특성에 대해 상기 예측된 사용자 의도의 함수로서 상기 한 개 이상의 데이타 컴포넌트들을 질의하는 것을 용이하게 하는 추론 컴포넌트를 포함하는 시스템.
  15. 제14항에 있어서, 상기 추론 컴포넌트는 상기 자동 업데이트의 수행에서 유 틸리티-기반 분석들을 채택하는 시스템.
  16. 제15항에 있어서, 상기 추론 컴포넌트는 사용자가 자동으로 수행되기를 원하는 액션(action)을 추론하기 위해 통계-기반 분석을 채택하는 시스템.
  17. 제10항에 있어서, 상기 연계 관리자 컴포넌트는 상기 한 개 이상의 데이타 컴포넌트로부터 원격으로 위치되는 시스템.
  18. 제1항의 시스템을 채택하는 데스크톱 컴퓨팅 시스템.
  19. 제1항의 시스템을 채택하는 휴대용 컴퓨팅 디바이스.
  20. 제1항의 컴포넌트들을 저장한 컴퓨터 판독가능 매체.
  21. 제1항에 있어서, 상기 한 개 이상의 데이타 컴포넌트들 중의 적어도 하나가 전자 파일인 시스템.
  22. 제1항에 있어서, 상기 한 개 이상의 컴포넌트들 중의 적어도 하나는 동적 리스트(dynamic list)인 시스템.
  23. 제1항에 있어서, 상기 한 개 이상의 데이타 컴포넌트들 중의 적어도 하나가 폴더인 시스템.
  24. 데이타를 조직화하는 방법으로서,
    데이타 컴포넌트에 연계 컴포넌트를 관련시키는 단계; 및
    상기 데이타 컴포넌트의 특성에 기초하여 상기 관계를 동적으로 관리하는 단계
    를 포함하는 방법.
  25. 제24항에 있어서, 상기 특성은 위치인 방법.
  26. 제24항에 있어서, 상기 데이타 컴포넌트의 특성을 결정하기 위해 채택되는 쿼리를 생성하는 단계를 더 포함하는 방법.
  27. 제26항에 있어서, 상기 결정된 특성에 기초하여 상기 연계 컴포넌트를 업데이트하는 단계를 더 포함하는 방법.
  28. 제27항에 있어서, 상기 연계 컴포넌트의 업데이트를 결정하는 규칙을 적용하는 단계를 더 포함하는 방법.
  29. 제27항에 있어서, 상기 연계 컴포넌트의 업데이트를 결정하는 사용자 의도를 예측하는 단계를 더 포함하는 방법.
  30. 제26항에 있어서, 상기 특성의 함수로서 상기 특성에 기초하여 상기 데이타 컴포넌트를 질의하는 단계를 더 포함하는 방법.
  31. 제26항에 있어서, 상기 연계 컴포넌트의 무결성을 확인하는 단계를 더 포함하는 방법.
  32. 제31항에 있어서, 상기 데이타 컴포넌트의 특성의 변경을 프롬프트하는 단계를 더 포함하는 방법.
  33. 제31항에 있어서, 상기 데이타 컴포넌트의 특성의 상기 변경을 결정하는 규칙을 적용하는 단계를 더 포함하는 방법.
  34. 제31항에 있어서, 상기 데이타 컴포넌트의 특성의 상기 변경을 결정하는 사용자 의도를 예측하는 단계를 더 포함하는 방법.
  35. 제24항에 있어서, 상기 데이타 컴포넌트는 데이타 파일인 방법.
  36. 제24항에 있어서, 상기 데이타 컴포넌트는 관계인 방법.
  37. 제24항의 방법을 수행하는 컴퓨터 실행가능 명령들을 저장한 컴퓨터 판독가능 매체.
  38. 데이타를 조직화하는 것을 용이하게 하는 시스템으로서,
    데이타 컴포넌트에 연계 컴포넌트를 관련시키는 수단; 및
    상기 연계를 동적으로 관리하는 수단
    을 포함하는 시스템.
  39. 제38항에 있어서, 상기 관계의 특성을 결정하고 상기 특성에 따라 상기 연계 컴포넌트를 자동으로 업데이트하는 수단을 더 포함하는 시스템.
  40. 제39항에 있어서, 상기 관계를 분석하고 상기 특성의 변경에 따라 프롬프트를 생성하는 수단을 더 포함하는 시스템.
  41. 제38항에 있어서, 상기 관련시키는 수단은 규칙-기반 동작인 시스템.
  42. 제38항에 있어서, 상기 관련시키는 수단은 인공지능 동작인 시스템.
  43. 데이타 조직화 시스템에 있어서,
    데이타 저장소를 탐색하고 쿼리를 만족시키는 한 개 이상의 데이타 컴포넌트들을 탐지하는 쿼리 컴포넌트;
    복수 개의 식별자들을 가진 리스트 컴포넌트 -상기 식별자들은 상기 한 개 이상의 데이타 컴포넌트들을 참조함-; 및
    상기 쿼리에 따라 상기 식별자들을 동적으로 관리하는 연계 관리자 컴포넌트
    를 포함하는 시스템.
  44. 제43항에 있어서, 상기 쿼리 컴포넌트는 쿼리 동작을 자동화하는 규칙-기반 메카니즘을 더 포함하는 시스템.
  45. 제43항에 있어서, 상기 쿼리 컴포넌트는 추론에 기초하여 쿼리 동작을 자동화하는 AI-기반 메카니즘을 더 포함하는 시스템.
KR1020050076206A 2004-10-09 2005-08-19 정적 및 동적 데이타 세트들의 인터랙션 KR20060053169A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US61748804P 2004-10-09 2004-10-09
US60/617,488 2004-10-09
US10/962,287 2004-10-11
US10/962,287 US20060080288A1 (en) 2004-10-11 2004-10-11 Interaction of static and dynamic data sets

Publications (1)

Publication Number Publication Date
KR20060053169A true KR20060053169A (ko) 2006-05-19

Family

ID=35169918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050076206A KR20060053169A (ko) 2004-10-09 2005-08-19 정적 및 동적 데이타 세트들의 인터랙션

Country Status (4)

Country Link
EP (1) EP1645978A1 (ko)
JP (1) JP2006114033A (ko)
KR (1) KR20060053169A (ko)
CN (1) CN1758251B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772861B1 (ko) * 2005-09-23 2007-11-02 삼성전자주식회사 원격 사용자 인터페이스를 제공하는 장치 및 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2468417B (en) * 2006-09-27 2011-03-16 Yisia Young Suk Lee Data object management apparatus and method
CN100576209C (zh) * 2007-12-07 2009-12-30 彭海杰 关联数据索引、检索、存储和呈现控制信息系统构建方法
JP5598089B2 (ja) 2010-05-28 2014-10-01 富士通株式会社 プログラム、情報処理装置及び情報処理方法
US8983954B2 (en) * 2012-04-10 2015-03-17 Microsoft Technology Licensing, Llc Finding data in connected corpuses using examples
CN111936966B (zh) * 2018-08-10 2024-01-26 谷歌有限责任公司 用于创建图形内容的设计系统
CN116361272B (zh) * 2023-05-17 2023-12-01 广东广宇科技发展有限公司 一种双态数据链接库的关联调整方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08506911A (ja) * 1992-11-23 1996-07-23 パラゴン、コンセプツ、インコーポレーテッド ファイル・アクセスを行うためにユーザーがカテゴリを選択するコンピュータ・ファイリング・システム
US7797446B2 (en) * 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772861B1 (ko) * 2005-09-23 2007-11-02 삼성전자주식회사 원격 사용자 인터페이스를 제공하는 장치 및 방법
US8260843B2 (en) 2005-09-23 2012-09-04 Samsung Electronics Co., Ltd. Apparatus and method for providing remote user interface

Also Published As

Publication number Publication date
JP2006114033A (ja) 2006-04-27
CN1758251B (zh) 2010-09-29
EP1645978A1 (en) 2006-04-12
CN1758251A (zh) 2006-04-12

Similar Documents

Publication Publication Date Title
JP4896541B2 (ja) 階層的に安全なストレージシステム内の発見可能性および列挙の機構
US7680835B2 (en) Online storage with metadata-based retrieval
US7836056B2 (en) Location management of off-premise resources
KR101219856B1 (ko) 데이터 프로세싱을 자동화하기 위한 방법 및 시스템
JP5710851B2 (ja) 影響分析のためのシステムおよび方法
JP4876734B2 (ja) 文書利用管理システム及び方法、文書管理サーバ及びそのプログラム
KR20200093556A (ko) 클라이언트 동기화 서비스에 대한 로컬 트리의 업데이트
US9665588B2 (en) Query-based notification architecture
US8775426B2 (en) Interface to navigate and search a concept hierarchy
EP3754517A1 (en) Cross-acl multi-master replication
US8615477B2 (en) Monitoring relationships between digital items on a computing apparatus
US7328407B2 (en) Automatic view selection
JP4837934B2 (ja) フラット化された階層構造における分かりやすい名前の生成
US20060080288A1 (en) Interaction of static and dynamic data sets
KR20060053169A (ko) 정적 및 동적 데이타 세트들의 인터랙션
US7861154B2 (en) Integration of annotations to dynamic data sets
US20060206524A1 (en) Intelligent collection management
Banks et al. The ePerson snippet manager: a semantic web application
JP5082455B2 (ja) 文書管理サーバ及びプログラム
US20060074928A1 (en) Selection based container listing

Legal Events

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